@access-ci/ui 0.18.3 → 0.18.4
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/access-ci-ui.bundle.js +1 -1
- package/dist/access-ci-ui.js +1 -1
- package/dist/access-ci-ui.umd.cjs +1 -1
- package/dist/{access-qa-bot-CkQp81H2.js → access-qa-bot-0-eHPl7L.js} +3 -3
- package/dist/{icon-Doi5WQnO.js → icon-DkwvVlzC.js} +1 -1
- package/dist/{index-DJoeDimE.js → index-CYiW1U_C.js} +2 -2
- package/dist/{resource-group-detail-jjGPLM4V.js → resource-group-detail-CZ1YKaye.js} +2 -2
- package/dist/{resource-home-DhsApcfz.js → resource-home-B2yybzmX.js} +2 -2
- package/package.json +1 -1
|
@@ -127,7 +127,7 @@ Would you like to submit this security incident report?`},options:["Submit Secur
|
|
|
127
127
|
`.concat(le.join(`
|
|
128
128
|
`))}(Zt),de=Yt?"".concat(dn,`
|
|
129
129
|
|
|
130
|
-
`).concat(Yt):dn;return await _t.injectMessage(de),st?.({type:"chatbot_answer_received",queryId:ht,responseTimeMs:bn,success:!0,responseLength:un.length,hasMetadata:!!Yt}),nn=!0,setTimeout(async()=>{await _t.injectMessage("Feel free to ask another question.")},100),null}catch(ht){return _a("Error in Q&A flow:",ht),st?.({type:"chatbot_answer_error",queryId:yt??void 0,errorType:ht instanceof Error?ht.message:"unknown"}),"I apologize, but I'm having trouble processing your question. Please try again later."}},options:_t=>Te&&Te()||_t.userInput==="\u{1F44D} Helpful"||_t.userInput==="\u{1F44E} Not helpful"?[]:xe&&nn?["\u{1F44D} Helpful","\u{1F44E} Not helpful"]:[],renderMarkdown:["BOT"],chatDisabled:!1,path:"qa_loop"}}})({endpoint:i,ratingEndpoint:s,apiKey:o,sessionId:ee.current.getSessionId,isResetting:ee.current.isResetting,isLoggedIn:ue,allowAnonAccess:f,loginUrl:H||iy,trackEvent:ge});return Object.assign(Object.assign({start:{message:c,renderMarkdown:["BOT"],transition:{duration:0},path:"qa_loop"}},pe),W||{})},[o,i,s,c,ue,f,H,W,g,ge]),J=T.useMemo(()=>{return[()=>yC(se),b3(),()=>y3(pe)];var pe,se},[]);return T.useEffect(()=>{let pe=()=>{let be=document.querySelector(".rcb-chat-window");if(!be)return;let xe=be.querySelector(".rcb-send-button");xe&&(xe.hasAttribute("tabindex")||xe.setAttribute("tabindex","0"),xe.hasAttribute("data-keyboard-enabled")||(xe.setAttribute("data-keyboard-enabled","true"),xe.addEventListener("keydown",De=>{if(De.key==="Enter"||De.key===" "){De.preventDefault();let Ie=xe&&Object.keys(xe).find(We=>We.startsWith("__reactProps"));if(Ie){let We=xe[Ie],dt=We?.onMouseDown;if(dt&&typeof dt=="function")return void dt(De)}let Te=new MouseEvent("mousedown",{bubbles:!0,cancelable:!0,view:window});xe.dispatchEvent(Te)}})))},se=setInterval(pe,1e3);return pe(),()=>clearInterval(se)},[]),F3(),T.useEffect(()=>{if(!me){let pe=se=>{let be=se.data.newState;d?.(be);let xe=X.current;ge(be?{type:"chatbot_open"}:{type:"chatbot_close",messageCount:xe?mv(xe):0,durationMs:xe?_3(xe):0})};return window.addEventListener("rcb-toggle-chat-window",pe),()=>{window.removeEventListener("rcb-toggle-chat-window",pe)}}},[me,d,ge]),ke.createElement("div",{className:"qa-bot ".concat(!((n=ne.general)===null||n===void 0)&&n.embedded?"embedded-qa-bot":""),ref:F,role:"region","aria-label":v||oy},ke.createElement(T3,{getSessionId:()=>X.current,setSessionId:pe=>{let se=X.current;X.current=pe,ju("RESTORED","".concat(se?.slice(-12)," -> ").concat(pe.slice(-12)))},resetSession:()=>{let pe=X.current;Y.current=!0,X.current=ry(),ju("RESET","".concat(pe?.slice(-12)," -> ").concat(X.current.slice(-12)))},clearResettingFlag:()=>{Y.current=!1}},ke.createElement(R3,{trackEvent:ge},ke.createElement(Oy,null,ke.createElement("div",null,ke.createElement(N3,null),ke.createElement(fv,{ref:t,embedded:((r=ne.general)===null||r===void 0?void 0:r.embedded)||!1,currentOpen:u||!1,enabled:ue!==!1,onSetEnabled:pe=>ae(!!pe&&void 0)}),ke.createElement(nC,{key:"chatbot-".concat(V.current,"-").concat(ue),settings:ne,flow:_,plugins:J}),ke.createElement("div",{role:"status","aria-live":"polite","aria-label":"Bot response updates",className:"sr-only",id:"bot-live-region"}),ke.createElement("div",{id:"chat-input-help",className:"sr-only"},"Type your message and press Enter to send. Use arrow keys to navigate through response options."))))))});Wf.displayName="QABot";uy('.rcb-chat-window{height:800px!important;max-height:80vh!important;max-width:100%;width:550px!important}.rcb-chat-window .rcb-chat-header{align-items:center;display:flex;flex-direction:row;font-weight:700}.rcb-chat-window a{color:#000;font-weight:700;text-decoration:underline}.rcb-chat-window a:hover{color:var(--primaryColor,#107180)}.rcb-chat-window .rcb-bot-message a,.rcb-chat-window .rcb-bot-message a:link,.rcb-chat-window .rcb-bot-message a:visited{color:#fff!important;text-decoration:underline!important}.rcb-chat-window .rcb-bot-message a:hover{opacity:.85;text-decoration:underline!important}.rcb-chat-window .rcb-chat-input-textarea{overflow-y:auto}.rcb-chat-window .rcb-chat-footer-container{font-size:10px}.qa-bot .history-button,.qa-bot .user-login-icon{display:none!important}.qa-bot.bot-logged-in .history-button,.qa-bot.bot-logged-in .user-login-icon{display:flex!important;transform:scale(1.3) translateY(-2px)}.qa-bot.bot-logged-in .history-button:hover{opacity:.8}.qa-bot.bot-logged-in .history-button:focus{outline:2px solid #fff;outline-offset:2px}.embedded-qa-bot .rcb-chat-window{max-width:100%;width:100%!important}.qa-bot.hidden{display:none}.embedded-qa-bot .rcb-bot-message,.embedded-qa-bot .rcb-user-message{max-width:90%!important;word-break:break-word}.embedded-qa-bot .rcb-chat-input-textarea{width:100%!important}.qa-bot-container{max-width:100%;width:100%}@keyframes phone-ring{0%{transform:translateX(0) translateY(0) rotate(0deg)}2%{transform:translateX(0) translateY(-8px) rotate(-2deg)}4%{transform:translateX(0) translateY(-6px) rotate(2deg)}6%{transform:translateX(0) translateY(-8px) rotate(-1deg)}8%{transform:translateX(0) translateY(-6px) rotate(1deg)}10%{transform:translateX(0) translateY(-8px) rotate(-2deg)}12%{transform:translateX(0) translateY(-6px) rotate(2deg)}20%{transform:translateX(0) translateY(0) rotate(0deg)}30%{transform:translateX(0) translateY(0) rotate(0deg)}40%{transform:translateX(0) translateY(0) rotate(0deg)}49%{transform:translateX(0) translateY(0) rotate(0deg)}50%{transform:translateX(0) translateY(-8px) rotate(-2deg)}52%{transform:translateX(0) translateY(-6px) rotate(2deg)}54%{transform:translateX(0) translateY(-8px) rotate(-1deg)}56%{transform:translateX(0) translateY(-6px) rotate(1deg)}58%{transform:translateX(0) translateY(-8px) rotate(-2deg)}60%{transform:translateX(0) translateY(-6px) rotate(2deg)}70%{transform:translateX(0) translateY(0) rotate(0deg)}to{transform:translateX(0) translateY(0) rotate(0deg)}}@media (max-width:768px){.rcb-chat-window{max-height:calc(100vh - 100px)!important;max-width:calc(100vw - 40px)!important;width:550px!important}.embedded-chat-container.open{height:400px}.embedded-chat-closed{font-size:14px;height:40px}.embedded-chat-open-btn{font-size:12px;padding:3px 10px}.rcb-bot-message,.rcb-user-message{max-width:85%!important}.rcb-chat-input-textarea{font-size:16px!important;min-height:44px!important}.rcb-chat-header{padding:12px 16px!important}}@media (max-width:480px){.rcb-chat-window{bottom:10px!important;left:10px!important;max-height:calc(100vh - 80px)!important;max-width:calc(100vw - 20px)!important;right:10px!important;width:calc(100vw - 20px)!important}.embedded-chat-container.open{height:350px}.rcb-bot-message,.rcb-user-message{margin-bottom:8px!important;max-width:90%!important}.rcb-chat-header{font-size:14px!important;padding:8px 12px!important}.rcb-chat-button{bottom:20px!important;height:50px!important;right:20px!important;width:50px!important}.rcb-chat-footer-container{font-size:9px!important;padding:8px 12px!important}}@media (max-width:360px){.rcb-chat-window{left:5px!important;max-width:calc(100vw - 10px)!important;right:5px!important;width:calc(100vw - 10px)!important}.rcb-chat-header{font-size:13px!important;padding:6px 8px!important}}.rcb-checkbox-container{display:flex!important;flex-wrap:wrap!important;gap:8px!important;margin-left:16px!important;max-width:100%!important;padding-top:12px!important}.rcb-checkbox-row-container{align-items:center!important;background-color:#fff!important;border:1px solid #d0d0d0!important;border-radius:6px!important;box-sizing:border-box!important;color:var(--primaryColor,#107180)!important;cursor:pointer!important;display:flex!important;flex:0 0 auto!important;font-size:14px!important;font-weight:400!important;margin:0!important;max-height:auto!important;min-height:auto!important;padding:8px 12px!important;text-align:center!important;transition:all .2s ease!important;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:auto!important}.rcb-checkbox-row-container:hover{background-color:#e8f4f8!important;border-color:var(--primaryColor,#107180)!important;box-shadow:0 2px 4px #10718033!important;transform:translateY(-1px)!important}.rcb-checkbox-row-container[data-checked=true]{background-color:var(--primaryColor,#107180)!important;border-color:var(--primaryColor,#107180)!important;color:#fff!important}.rcb-checkbox-row{margin-left:0!important}.rcb-checkbox-mark{height:14px!important;margin-right:6px!important;width:14px!important}.rcb-checkbox-label{font-size:13px!important;margin:0!important;white-space:nowrap!important}.rcb-checkbox-next-button{align-items:center!important;background-color:#fff!important;border:1px solid #d0d0d0!important;border-radius:6px!important;box-sizing:border-box!important;color:var(--secondaryColor,#107180)!important;cursor:pointer!important;display:flex!important;flex:0 0 auto!important;font-size:14px!important;font-weight:400!important;justify-content:center!important;line-height:24px!important;margin:0!important;max-height:auto!important;min-height:auto!important;padding:8px 12px!important;text-align:center!important;transition:all .2s ease!important;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:auto!important}.rcb-checkbox-next-button:hover{background-color:#e8f4f8!important;border-color:var(--secondaryColor,#107180)!important;box-shadow:0 2px 4px #10718033!important;transform:translateY(-1px)!important}.sr-only{clip:rect(0,0,0,0)!important;border:0!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}.rcb-chat-input-send-button:focus,.rcb-chat-input-textarea:focus{outline:2px solid var(--primaryColor,#107180)!important;outline-offset:2px!important}.rcb-user-message{word-wrap:break-word!important;overflow:hidden!important;word-break:break-word!important}:focus-visible{outline:2px solid var(--primaryColor,#107180)!important;outline-offset:2px!important}.rcb-options-container{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;gap:8px!important;margin:16px!important;padding:0!important}.rcb-options{background-color:#fff!important;border:1px solid #d0d0d0!important;border-radius:6px!important;box-sizing:border-box!important;color:var(--secondaryColor,#107180)!important;cursor:pointer!important;flex:0 0 auto!important;font-size:14px!important;font-weight:400!important;outline:none!important;padding:8px 12px!important;text-align:center!important;transition:all .2s ease!important;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:auto!important}.rcb-options:hover{background-color:#e8f4f8!important;border-color:var(--secondaryColor,#107180)!important;box-shadow:0 2px 4px #10718033!important;transform:translateY(-1px)!important}.rcb-checkbox-next-button.keyboard-focused,.rcb-checkbox-next-button:focus,.rcb-checkbox-next-button:focus-visible,.rcb-checkbox-row-container.keyboard-focused,.rcb-checkbox-row-container:focus,.rcb-checkbox-row-container:focus-visible,.rcb-options.keyboard-focused,.rcb-options:focus,.rcb-options:focus-visible{background-color:#e8f4f8!important;border-color:var(--secondaryColor,#107180)!important;outline:none!important}.rcb-options:active{background-color:var(--secondaryColor,#107180)!important;border-color:var(--secondaryColor,#107180)!important;color:#fff!important;transform:translateY(0)!important}.keyboard-nav-hint{color:#666!important;font-size:12px!important;font-style:italic!important;margin-bottom:8px!important}@media (prefers-reduced-motion:reduce){.keyboard-nav-hint{display:none!important}}.rcb-options-container [role=button][tabindex="0"],.rcb-options-container button[tabindex="0"]{position:relative!important}.rcb-options-container [role=button][tabindex="0"]:after,.rcb-options-container button[tabindex="0"]:after{color:var(--secondaryColor,#107180)!important;content:"\u2190"!important;font-size:16px!important;opacity:0!important;position:absolute!important;right:12px!important;top:50%!important;transform:translateY(-50%)!important;transition:opacity .2s ease!important}.rcb-options-container [role=button][tabindex="0"]:focus:after,.rcb-options-container button[tabindex="0"]:focus:after{opacity:1!important}.rcb-chat-input-send-button{cursor:pointer!important;opacity:1!important;pointer-events:auto!important;visibility:visible!important}.rcb-chat-input-send-button:not([tabindex]){-webkit-user-select:none;-moz-user-select:none;user-select:none}.rcb-chat-input-container [onclick],.rcb-chat-input-container [role=button],.rcb-chat-input-container div[style*=cursor],.rcb-chat-input-container svg:last-child,.rcb-chat-input-container>div:last-child{tabindex:0!important;cursor:pointer!important}.rcb-chat-footer{margin-top:4px!important;padding-top:0!important}.rcb-chat-footer-container{align-items:center!important;display:flex!important;margin-top:4px!important;padding-top:4px!important}.rcb-chat-footer-container button{order:1!important}.rcb-chat-footer-container a[href*=qa-bot-core]{tab-index:0!important;order:2!important}.rcb-chat-footer-container a[href*=feedback]{tab-index:0!important;order:3!important}@media (prefers-contrast:high){.rcb-chat-window a{background-color:#fff!important;border:1px solid #000!important;color:#000!important}}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.rcb-chat-input-textarea{user-select:text!important}.rcb-chat-body-container,.rcb-chat-input-textarea,.rcb-chat-window{touch-action:pan-y!important}.embedded-qa-bot,.rcb-chat-window{-webkit-overflow-scrolling:touch!important}.embedded-qa-bot .rcb-chat-input-textarea{touch-action:pan-y!important;user-select:text!important}.embedded-qa-bot .rcb-chat-body-container,.embedded-qa-bot .rcb-chat-window{touch-action:pan-y!important}.rcb-chat-header-container{background:var(--primaryColor,#1a5b6e)!important;background:linear-gradient(135deg,var(--primaryColor,#1a5b6e) 0,var(--secondaryColor,#107180) 100%)!important}.rcb-toggle-button{align-items:center!important;background:var(--primaryColor,#1a5b6e)!important;display:flex!important;justify-content:center!important}.rcb-toggle-button svg{stroke:#fff!important;color:#fff!important}.rcb-toggle-button *,.rcb-toggle-button img,.rcb-toggle-button svg,.rcb-toggle-button>*{box-sizing:border-box!important;height:50px!important;left:0!important;margin:0 auto!important;max-height:50px!important;max-width:50px!important;min-height:50px!important;min-width:50px!important;padding:2px!important;position:relative!important;top:0!important;width:50px!important}.rcb-send-button{background-color:var(--primaryColor,#1a5b6e)!important}',{insertAt:"top"});K3=()=>{let[e,t]=T.useState(!1),n=()=>typeof navigator<"u"&&navigator.mediaDevices!==void 0&&typeof navigator.mediaDevices.getDisplayMedia=="function";return{captureScreenshot:async()=>{if(!n())throw new Error("Screen capture is not available in this environment");try{t(!0);let r=await navigator.mediaDevices.getDisplayMedia({video:{displaySurface:"browser",cursor:"always",width:{ideal:1920},height:{ideal:1080}},audio:!1}),o=document.createElement("video");o.srcObject=r,await new Promise(h=>{o.onloadedmetadata=()=>{o.play(),h()}});let i=document.createElement("canvas");i.width=o.videoWidth,i.height=o.videoHeight;let s=i.getContext("2d");if(!s)throw new Error("Could not get canvas context");s.drawImage(o,0,0,i.width,i.height);let c=await new Promise(h=>i.toBlob(h,"image/png"));if(!c)throw new Error("Could not create image blob");let u=new Date().toISOString().replace(/[:.]/g,"-"),d=new File([c],"screenshot-".concat(u,".png"),{type:"image/png"});return r.getTracks().forEach(h=>h.stop()),t(!1),d}catch(r){throw _a("Error capturing screenshot:",r),t(!1),r}},isCapturing:e,isScreenCaptureAvailable:n()}},G3=e=>ke.createElement(yv,e,ke.createElement("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),ke.createElement("polyline",{points:"17 8 12 3 7 8"}),ke.createElement("line",{x1:"12",y1:"3",x2:"12",y2:"15"})),X3=e=>new Promise((t,n)=>{let r=new FileReader;r.onload=()=>{if(typeof r.result!="string")return void n(new Error("Failed to read file ".concat(e.name)));let o=r.result.split(",")[1];t({fileName:e.name,contentType:e.type,size:e.size,fileData:o})},r.onerror=()=>n(new Error("Failed to read file ".concat(e.name))),r.readAsDataURL(e)}),J3=e=>Promise.all(e.map(X3)),Z3=e=>e<1024?"".concat(e," B"):e<1048576?"".concat((e/1024).toFixed(1)," KB"):"".concat((e/1048576).toFixed(1)," MB"),ed=e=>{let{onFileUpload:t,maxSizeMB:n=10,acceptedTypes:r="image/*,application/pdf,text/*,.doc,.docx",enableScreenshot:o=!1,className:i}=e,[s,c]=T.useState(!1),[u,d]=T.useState([]),[h,f]=T.useState(null),g=T.useRef(null),{captureScreenshot:m,isCapturing:y,isScreenCaptureAvailable:v}=K3(),k=R=>{let H=document.createElement("div");H.setAttribute("aria-live","assertive"),H.setAttribute("aria-atomic","true"),H.className="sr-only",H.textContent=R,document.body.appendChild(H),setTimeout(()=>document.body.removeChild(H),1e3)},E=R=>{if(!R||R.length===0)return void D3("FileUploadComponent: No valid files provided to handleFiles");let H;try{H=Array.from(R)}catch(X){return _a("FileUploadComponent: Error converting files to array:",X),void k("Error processing selected files. Please try again.")}let W=[...u,...H];d(W);let q=H.length,V=H.map(X=>X.name).join(", ");k("".concat(q," file").concat(q>1?"s":""," selected: ").concat(V)),setTimeout(()=>{let X=document.querySelector(".rcb-chat-content");X&&(X.scrollTop=X.scrollHeight)},100),t&&t(W)},M=R=>{R.preventDefault(),R.stopPropagation(),R.type==="dragenter"||R.type==="dragover"?c(!0):R.type==="dragleave"&&c(!1)},I=()=>{try{g.current&&g.current.click()}catch(R){_a("FileUploadComponent: Error in handleButtonClick:",R),k("Error opening file selection dialog. Please try again.")}},P=()=>{f(null)},j=o&&v;return ke.createElement("div",{className:"file-upload-container ".concat(i||""),style:{padding:"16px",margin:"8px 0"}},j&&ke.createElement("div",{style:{display:"flex",justifyContent:"center",marginBottom:"10px"}},ke.createElement("button",{onClick:R=>{R.preventDefault(),(async()=>{try{let H=await m();E([H]),k("Screenshot captured successfully")}catch{k("Error capturing screenshot. Please try again.")}})()},disabled:y,"aria-describedby":"screenshot-help","aria-label":y?"Taking screenshot, please wait":"Take a screenshot to attach",style:{display:"flex",alignItems:"center",gap:"8px",backgroundColor:"#107180",color:"white",border:"none",borderRadius:"5px",padding:"8px 12px",cursor:y?"not-allowed":"pointer",fontSize:"14px",fontWeight:"500",boxShadow:"0 1px 3px rgba(0,0,0,0.2)"}},ke.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},ke.createElement("path",{d:"M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z"}),ke.createElement("circle",{cx:"12",cy:"13",r:"4"})),y?"Taking screenshot...":"Take screenshot..."),ke.createElement("span",{id:"screenshot-help",className:"sr-only"},"Captures the current screen and adds it as an attachment")),ke.createElement("div",{className:"file-upload-dropzone ".concat(s?"active":""),onDragEnter:M,onDragLeave:M,onDragOver:M,onDrop:R=>{var H;R.preventDefault(),R.stopPropagation(),c(!1);try{!((H=R.dataTransfer)===null||H===void 0)&&H.files&&R.dataTransfer.files.length>0&&E(R.dataTransfer.files)}catch(W){_a("FileUploadComponent: Error in handleDrop:",W),k("Error processing dropped files. Please try again.")}},role:"button",tabIndex:0,"aria-label":"File upload area. Click to select files or drag and drop files here.","aria-describedby":"upload-instructions",onKeyDown:R=>{R.key!=="Enter"&&R.key!==" "||(R.preventDefault(),I())},style:{padding:"20px",border:"2px dashed #ccc",borderRadius:"8px",backgroundColor:s?"#f0f8ff":"#fafafa",transition:"all 0.3s ease"}},ke.createElement("input",{ref:g,type:"file",className:"file-input",onChange:R=>{var H;try{!((H=R.target)===null||H===void 0)&&H.files&&R.target.files.length>0&&E(R.target.files)}catch(W){_a("FileUploadComponent: Error in handleFileSelect:",W),k("Error processing selected files. Please try again.")}},multiple:!0,style:{display:"none"},"aria-label":"Select files to upload",accept:r}),ke.createElement("div",{className:"upload-content",onClick:I,style:{cursor:"pointer",flexDirection:"column",alignItems:"center",display:"flex",textAlign:"center",padding:"12px"}},ke.createElement("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",gap:"8px"}},ke.createElement("div",{style:{display:"flex",flexDirection:"row",alignItems:"center",gap:"10px"}},ke.createElement(G3,null),ke.createElement("p",{style:{margin:0,fontWeight:"bold"}},"Upload Files")),ke.createElement("p",{id:"upload-instructions",style:{margin:0,fontSize:"14px",color:"#666"}},"Drag and drop files here or click to select. (Max ",n,"MB each)")),u.length>0&&ke.createElement("div",{className:"selected-files",style:{display:"flex",flexWrap:"wrap",gap:"8px",marginTop:"12px",alignItems:"center"}},ke.createElement("span",{style:{fontWeight:400,color:"#888",fontSize:"13px",marginRight:"8px",alignSelf:"center"}},"Selected files:"),u.map((R,H)=>ke.createElement("span",{key:H,style:{background:"#fff",color:"#107180",borderRadius:"5px",padding:"4px 12px",fontSize:"14px",marginRight:"4px",marginBottom:"4px",border:"1px solid #ccc",display:"flex",alignItems:"center",gap:"6px",cursor:"pointer"},onClick:W=>{W.stopPropagation(),(q=>{f(q)})(R)}},ke.createElement("span",{onClick:W=>{W.stopPropagation(),(q=>{let V=u.filter((X,Y)=>Y!==q);d(V),t&&t(V)})(H)},style:{cursor:"pointer",color:"#888",fontWeight:"bold",fontSize:"15px",marginRight:"4px",userSelect:"none",lineHeight:1},title:"Remove file","aria-label":"Remove ".concat(R.name)},"\xD7"),R.name," (",Z3(R.size),")"))))),(()=>{if(!h)return null;let R=h.type.startsWith("image/"),H=h.type.startsWith("text/"),W=h.type==="application/pdf";return ke.createElement("div",{style:{position:"fixed",top:0,left:0,right:0,bottom:0,backgroundColor:"rgba(0, 0, 0, 0.7)",display:"flex",justifyContent:"center",alignItems:"center",zIndex:1e3},onClick:P},ke.createElement("div",{style:{backgroundColor:"white",padding:"20px",borderRadius:"8px",maxWidth:"90%",maxHeight:"90%",overflow:"auto",position:"relative"},onClick:q=>q.stopPropagation()},ke.createElement("button",{onClick:P,style:{position:"absolute",top:"10px",right:"10px",background:"none",border:"none",fontSize:"24px",cursor:"pointer",color:"#666"}},"\xD7"),ke.createElement("h3",{style:{marginTop:0,marginBottom:"16px"}},h.name),R&&ke.createElement("img",{src:URL.createObjectURL(h),alt:h.name,style:{maxWidth:"100%",maxHeight:"70vh"}}),H&&ke.createElement("pre",{style:{whiteSpace:"pre-wrap",wordWrap:"break-word",maxHeight:"70vh",overflow:"auto",padding:"16px",backgroundColor:"#f5f5f5",borderRadius:"4px"}},URL.createObjectURL(h)),W&&ke.createElement("iframe",{src:URL.createObjectURL(h),style:{width:"100%",height:"70vh",border:"none"},title:h.name}),!R&&!H&&!W&&ke.createElement("div",{style:{padding:"20px",textAlign:"center"}},"Preview not available for this file type")))})())};eP=ke.forwardRef((e,t)=>{let[n,r]=ke.useState(e.defaultOpen||!1),o=ke.useRef(null);return ke.useImperativeHandle(t,()=>({addMessage:i=>{var s;(s=o.current)===null||s===void 0||s.addMessage(i)},setBotEnabled:i=>{var s;(s=o.current)===null||s===void 0||s.setBotEnabled(i)},openChat:()=>{var i;r(!0),(i=o.current)===null||i===void 0||i.openChat()},closeChat:()=>{var i;r(!1),(i=o.current)===null||i===void 0||i.closeChat()},toggleChat:()=>{var i;r(s=>!s),(i=o.current)===null||i===void 0||i.toggleChat()}}),[]),ke.createElement(Wf,{ref:o,apiKey:e.apiKey,qaEndpoint:e.qaEndpoint,ratingEndpoint:e.ratingEndpoint,welcomeMessage:e.welcomeMessage,primaryColor:e.primaryColor,secondaryColor:e.secondaryColor,botName:e.botName,logo:e.logo,placeholder:e.placeholder,errorMessage:e.errorMessage,embedded:e.embedded,isLoggedIn:e.isLoggedIn,allowAnonAccess:e.allowAnonAccess,open:n,onOpenChange:r,footerText:e.footerText,footerLink:e.footerLink,tooltipText:e.tooltipText,onAnalyticsEvent:e.onAnalyticsEvent})});eP.displayName="ProgrammaticQABot";Ui={QA_ENDPOINT:"http://localhost:8000/api/v1/query",RATING_ENDPOINT:"http://localhost:8000/api/v1/rating",METRICS_API_ENDPOINT:"https://access-ai-grace1-external.ccs.uky.edu/access/xdmod/chat/api/",METRICS_RATING_ENDPOINT:"https://access-ai-grace1-external.ccs.uky.edu/access/xdmod/chat/rating/",METRICS_QUESTIONS_URL:"https://metrics.access-ci.org/qa_bot_faq",NETLIFY_BASE_URL:"https://access-jsm-api.netlify.app",DEFAULT_API_KEY:"demo-key"},ii={BOT_NAME:"ACCESS Q&A",LOGO:"https://support.access-ci.org/themes/contrib/asp-theme/images/icons/ACCESS-arrrow.svg",WELCOME_MESSAGE:"Hello! What can I help you with?",WELCOME_MESSAGE_LOGGED_OUT:"To ask questions, please log in.",LOGIN_URL:"/login",PRIMARY_COLOR:"#1a5b6e",SECONDARY_COLOR:"#107180",TOOLTIP:"Ask me about ACCESS! \u{1F60A}"},ay={SESSION_ID:"access-qa-bot-session-id"};If=null;_s={SUPPORT:17,LOGIN_ACCESS:30,LOGIN_PROVIDER:31,SECURITY:26};sP=[" C, C++","Abaqus","ACCESS","ACCESS-credits","ACCESS-website","Accounts","ACLS","Adding users","Affiliations","Affinity Groups","AI","Algorithms","Allocation extension","Allocation Management","Allocation proposal","Allocation Time","Allocation users","AMBER","AMIE","Anaconda","Analysis","API","Application Status","ARCGIS","Architecture","Archiving","Astrophysics","ATLAS","Authentication","AWS","AZURE","Backup","BASH","Batch Jobs","Benchmarking","Big Data","Bioinformatics","Biology","Ceph","CFD","cgroups","CHARMM","Checkpoint","cilogon","citation","Cloud","Cloud Computing","Cloud Lab","Cloud Storage","Cluster Management","Cluster Support","CMMC","Community Outreach","Compiling","Composible Systems","Computataional Chemistry","COMSOL","Conda","Condo","Containers","Core dump","Core hours","CP2K","CPU architecture","CPU bound","CUDA","Cybersecurity","CYVERSE","Data","Data Storage","Data-access-protocols","Data-analysis","Data-compliance","Data-lifecycle","Data-management","Data-management-software","Data-provenance","Data-reproducibility","Data-retention","Data-science","Data-sharing","Data-transfer","Data-wrangling","Database-update","Debugging","Debugging, Optimizatio and Profiling","Deep-learning","Dependencies","Deployment","DFT","Distributed-computing","DNS","Docker","Documentation","DOI","DTN","Easybuild","Email","Encryption","Environment-modules","Errors","Extension","FastX","Federated-authentication","File transfers","File-formats","File-limits","File-systems","File-transfer","Finite-element-analysis","Firewall","Fortran","Frameworks and IDE's","GAMESS","Gateways","GATK","Gaussian","GCC","Genomics","GIS","Git","Globus","GPFS","GPU","Gravitational-waves","Gridengine","GROMACS","Hadoop","Hardware","Image-processing","Infiniband","Interactive-mode","Interconnect","IO-Issue","ISILON","Java","Jekyll","Jetstream","Job-accounting","Job-array","Job-charging","Job-failure","Job-sizing","Job-submission","Julia","Jupyterhub","Key-management","Kubernetes","KyRIC","LAMMPS","Library-paths","License","Linear-programming","Linux","LMOD","login","LSF","Lustre","Machine-learning","Management","Materials-science","Mathematica","MATLAB","Memory","Metadata","Modules","Molecular-dynamics","Monte-carlo","MPI","NAMD","NetCDF","Networking","Neural-networks","NFS","NLP","NoMachine","Nvidia","Oceanography","OnDemnad","Open-science-grid","Open-storage-network","OpenCV","Openfoam","OpenMP","OpenMPI","OpenSHIFT","Openstack","Optimization","OS","OSG","Parallelization","Parameter-sweeps","Paraview","Particle-physics","password","PBS","Pegasus","Pending-jobs","Performance-tuning","Permissions","Physiology","PIP","PODMAN","Portals","Pre-emption","Professional and Workforce Development","Professional-development","Profile","Profiling","Programming","Programming Languages","Programming-best-practices","Project-management","Project-renewal","Provisioning","Pthreads","Publication-database","Putty","Python","Pytorch","Quantum-computing","Quantum-mechanics","Quota","R","RDP","React","Reporting","Research-facilitation","Research-grants","Resources","Rstudio-server","S3","Samba","SAS","Scaling","Schedulers","Scheduling","Science DMZ","Science Gateways","Scikit-learn","Scratch","screen","scripting","SDN","Secure Computing and Data","Secure-data-architecture","Serverless-hpc","setup","sftp","SGE","Shell Scripting","Shifter","Singularity","SLURM","SMB","Smrtanalysis","Software Installations","Software-carpentry","SPACK","SPARK","Spectrum-scale","SPSS","SQL","SSH","Stampede2","STATA","Storage","Supplement","Support","TCP","Technical-training-for-hpc","Tensorflow","Terminal-emulation-and-window-management","Tickets","Timing-issue","TMUX","Tools","Training","Transfer SUs","Trinity","Tuning","Unix-environment","Upgrading","Vectorization","Version-control","vim","VNC","VPN","Workflow","Workforce-development","X11","Xalt","XDMoD","XML","XSEDE","I don't see a relevant keyword"],lP=["ACES","Anvil","Bridges-2","DARWIN","Delta","DeltaAI","Derecho","Expanse","FASTER","Granite","Jetstream2","KyRIC","Launch","Neocortex","Ookami","Open Science Grid","Open Storage Network","Ranch","Stampede3"];uP={"Logging into ACCESS website":"access_login","Logging into a resource":"resource_login","Another question":"general_help"};Cn=[];for(let e=0;e<256;++e)Cn.push((e+256).toString(16).slice(1));AP=new Uint8Array(16);mP=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),sy={randomUUID:mP};ly="access-qa-bot-shadow-overrides",vP=`
|
|
130
|
+
`).concat(Yt):dn;return await _t.injectMessage(de),st?.({type:"chatbot_answer_received",queryId:ht,responseTimeMs:bn,success:!0,responseLength:un.length,hasMetadata:!!Yt}),nn=!0,setTimeout(async()=>{await _t.injectMessage("Feel free to ask another question.")},100),null}catch(ht){return _a("Error in Q&A flow:",ht),st?.({type:"chatbot_answer_error",queryId:yt??void 0,errorType:ht instanceof Error?ht.message:"unknown"}),"I apologize, but I'm having trouble processing your question. Please try again later."}},options:_t=>Te&&Te()||_t.userInput==="\u{1F44D} Helpful"||_t.userInput==="\u{1F44E} Not helpful"?[]:xe&&nn?["\u{1F44D} Helpful","\u{1F44E} Not helpful"]:[],renderMarkdown:["BOT"],chatDisabled:!1,path:"qa_loop"}}})({endpoint:i,ratingEndpoint:s,apiKey:o,sessionId:ee.current.getSessionId,isResetting:ee.current.isResetting,isLoggedIn:ue,allowAnonAccess:f,loginUrl:H||iy,trackEvent:ge});return Object.assign(Object.assign({start:{message:c,renderMarkdown:["BOT"],transition:{duration:0},path:"qa_loop"}},pe),W||{})},[o,i,s,c,ue,f,H,W,g,ge]),J=T.useMemo(()=>{return[()=>yC(se),b3(),()=>y3(pe)];var pe,se},[]);return T.useEffect(()=>{let pe=()=>{let be=document.querySelector(".rcb-chat-window");if(!be)return;let xe=be.querySelector(".rcb-send-button");xe&&(xe.hasAttribute("tabindex")||xe.setAttribute("tabindex","0"),xe.hasAttribute("data-keyboard-enabled")||(xe.setAttribute("data-keyboard-enabled","true"),xe.addEventListener("keydown",De=>{if(De.key==="Enter"||De.key===" "){De.preventDefault();let Ie=xe&&Object.keys(xe).find(We=>We.startsWith("__reactProps"));if(Ie){let We=xe[Ie],dt=We?.onMouseDown;if(dt&&typeof dt=="function")return void dt(De)}let Te=new MouseEvent("mousedown",{bubbles:!0,cancelable:!0,view:window});xe.dispatchEvent(Te)}})))},se=setInterval(pe,1e3);return pe(),()=>clearInterval(se)},[]),F3(),T.useEffect(()=>{if(!me){let pe=se=>{let be=se.data.newState;d?.(be);let xe=X.current;ge(be?{type:"chatbot_open"}:{type:"chatbot_close",messageCount:xe?mv(xe):0,durationMs:xe?_3(xe):0})};return window.addEventListener("rcb-toggle-chat-window",pe),()=>{window.removeEventListener("rcb-toggle-chat-window",pe)}}},[me,d,ge]),ke.createElement("div",{className:"qa-bot ".concat(!((n=ne.general)===null||n===void 0)&&n.embedded?"embedded-qa-bot":""),ref:F,role:"region","aria-label":v||oy},ke.createElement(T3,{getSessionId:()=>X.current,setSessionId:pe=>{let se=X.current;X.current=pe,ju("RESTORED","".concat(se?.slice(-12)," -> ").concat(pe.slice(-12)))},resetSession:()=>{let pe=X.current;Y.current=!0,X.current=ry(),ju("RESET","".concat(pe?.slice(-12)," -> ").concat(X.current.slice(-12)))},clearResettingFlag:()=>{Y.current=!1}},ke.createElement(R3,{trackEvent:ge},ke.createElement(Oy,null,ke.createElement("div",null,ke.createElement(N3,null),ke.createElement(fv,{ref:t,embedded:((r=ne.general)===null||r===void 0?void 0:r.embedded)||!1,currentOpen:u||!1,enabled:ue!==!1,onSetEnabled:pe=>ae(!!pe&&void 0)}),ke.createElement(nC,{key:"chatbot-".concat(V.current,"-").concat(ue),settings:ne,flow:_,plugins:J}),ke.createElement("div",{role:"status","aria-live":"polite","aria-label":"Bot response updates",className:"sr-only",id:"bot-live-region"}),ke.createElement("div",{id:"chat-input-help",className:"sr-only"},"Type your message and press Enter to send. Use arrow keys to navigate through response options."))))))});Wf.displayName="QABot";uy('.rcb-chat-window{height:800px!important;max-height:80vh!important;max-width:100%;width:550px!important}.rcb-chat-window .rcb-chat-header{align-items:center;display:flex;flex-direction:row;font-weight:700}.rcb-chat-window a{color:#000;font-weight:700;text-decoration:underline}.rcb-chat-window a:hover{color:var(--primaryColor,#107180)}.rcb-chat-window .rcb-bot-message a,.rcb-chat-window .rcb-bot-message a:link,.rcb-chat-window .rcb-bot-message a:visited{color:#fff!important;text-decoration:underline!important}.rcb-chat-window .rcb-bot-message a:hover{opacity:.85;text-decoration:underline!important}.rcb-chat-window .rcb-chat-input-textarea{overflow-y:auto}.rcb-chat-window .rcb-chat-footer-container{font-size:10px}.qa-bot .history-button,.qa-bot .user-login-icon{display:none!important}.qa-bot.bot-logged-in .history-button,.qa-bot.bot-logged-in .user-login-icon{display:flex!important;transform:scale(1.3) translateY(-2px)}.qa-bot.bot-logged-in .history-button:hover{opacity:.8}.qa-bot.bot-logged-in .history-button:focus{outline:2px solid #fff;outline-offset:2px}.embedded-qa-bot .rcb-chat-window{max-width:100%;width:100%!important}.qa-bot.hidden{display:none}.embedded-qa-bot .rcb-bot-message,.embedded-qa-bot .rcb-user-message{max-width:90%!important;word-break:break-word}.embedded-qa-bot .rcb-chat-input-textarea{width:100%!important}.qa-bot-container{max-width:100%;width:100%}@keyframes phone-ring{0%{transform:translateX(0) translateY(0) rotate(0deg)}2%{transform:translateX(0) translateY(-8px) rotate(-2deg)}4%{transform:translateX(0) translateY(-6px) rotate(2deg)}6%{transform:translateX(0) translateY(-8px) rotate(-1deg)}8%{transform:translateX(0) translateY(-6px) rotate(1deg)}10%{transform:translateX(0) translateY(-8px) rotate(-2deg)}12%{transform:translateX(0) translateY(-6px) rotate(2deg)}20%{transform:translateX(0) translateY(0) rotate(0deg)}30%{transform:translateX(0) translateY(0) rotate(0deg)}40%{transform:translateX(0) translateY(0) rotate(0deg)}49%{transform:translateX(0) translateY(0) rotate(0deg)}50%{transform:translateX(0) translateY(-8px) rotate(-2deg)}52%{transform:translateX(0) translateY(-6px) rotate(2deg)}54%{transform:translateX(0) translateY(-8px) rotate(-1deg)}56%{transform:translateX(0) translateY(-6px) rotate(1deg)}58%{transform:translateX(0) translateY(-8px) rotate(-2deg)}60%{transform:translateX(0) translateY(-6px) rotate(2deg)}70%{transform:translateX(0) translateY(0) rotate(0deg)}to{transform:translateX(0) translateY(0) rotate(0deg)}}@media (max-width:768px){.rcb-chat-window{max-height:calc(100vh - 100px)!important;max-width:calc(100vw - 40px)!important;width:550px!important}.embedded-chat-container.open{height:400px}.embedded-chat-closed{font-size:14px;height:40px}.embedded-chat-open-btn{font-size:12px;padding:3px 10px}.rcb-bot-message,.rcb-user-message{max-width:85%!important}.rcb-chat-input-textarea{font-size:16px!important;min-height:44px!important}.rcb-chat-header{padding:12px 16px!important}}@media (max-width:480px){.rcb-chat-window{bottom:10px!important;left:10px!important;max-height:calc(100vh - 80px)!important;max-width:calc(100vw - 20px)!important;right:10px!important;width:calc(100vw - 20px)!important}.embedded-chat-container.open{height:350px}.rcb-bot-message,.rcb-user-message{margin-bottom:8px!important;max-width:90%!important}.rcb-chat-header{font-size:14px!important;padding:8px 12px!important}.rcb-chat-button{bottom:20px!important;height:50px!important;right:20px!important;width:50px!important}.rcb-chat-footer-container{font-size:9px!important;padding:8px 12px!important}}@media (max-width:360px){.rcb-chat-window{left:5px!important;max-width:calc(100vw - 10px)!important;right:5px!important;width:calc(100vw - 10px)!important}.rcb-chat-header{font-size:13px!important;padding:6px 8px!important}}.rcb-checkbox-container{display:flex!important;flex-wrap:wrap!important;gap:8px!important;margin-left:16px!important;max-width:100%!important;padding-top:12px!important}.rcb-checkbox-row-container{align-items:center!important;background-color:#fff!important;border:1px solid #d0d0d0!important;border-radius:6px!important;box-sizing:border-box!important;color:var(--primaryColor,#107180)!important;cursor:pointer!important;display:flex!important;flex:0 0 auto!important;font-size:14px!important;font-weight:400!important;margin:0!important;max-height:auto!important;min-height:auto!important;padding:8px 12px!important;text-align:center!important;transition:all .2s ease!important;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:auto!important}.rcb-checkbox-row-container:hover{background-color:#e8f4f8!important;border-color:var(--primaryColor,#107180)!important;box-shadow:0 2px 4px #10718033!important;transform:translateY(-1px)!important}.rcb-checkbox-row-container[data-checked=true]{background-color:var(--primaryColor,#107180)!important;border-color:var(--primaryColor,#107180)!important;color:#fff!important}.rcb-checkbox-row{margin-left:0!important}.rcb-checkbox-mark{height:14px!important;margin-right:6px!important;width:14px!important}.rcb-checkbox-label{font-size:13px!important;margin:0!important;white-space:nowrap!important}.rcb-checkbox-next-button{align-items:center!important;background-color:#fff!important;border:1px solid #d0d0d0!important;border-radius:6px!important;box-sizing:border-box!important;color:var(--secondaryColor,#107180)!important;cursor:pointer!important;display:flex!important;flex:0 0 auto!important;font-size:14px!important;font-weight:400!important;justify-content:center!important;line-height:24px!important;margin:0!important;max-height:auto!important;min-height:auto!important;padding:8px 12px!important;text-align:center!important;transition:all .2s ease!important;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:auto!important}.rcb-checkbox-next-button:hover{background-color:#e8f4f8!important;border-color:var(--secondaryColor,#107180)!important;box-shadow:0 2px 4px #10718033!important;transform:translateY(-1px)!important}.sr-only{clip:rect(0,0,0,0)!important;border:0!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}.rcb-chat-input-send-button:focus,.rcb-chat-input-textarea:focus{outline:2px solid var(--primaryColor,#107180)!important;outline-offset:2px!important}.rcb-user-message{word-wrap:break-word!important;overflow:hidden!important;word-break:break-word!important}:focus-visible{outline:2px solid var(--primaryColor,#107180)!important;outline-offset:2px!important}.rcb-options-container{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;gap:8px!important;margin:16px!important;padding:0!important}.rcb-options{background-color:#fff!important;border:1px solid #d0d0d0!important;border-radius:6px!important;box-sizing:border-box!important;color:var(--secondaryColor,#107180)!important;cursor:pointer!important;flex:0 0 auto!important;font-size:14px!important;font-weight:400!important;outline:none!important;padding:8px 12px!important;text-align:center!important;transition:all .2s ease!important;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:auto!important}.rcb-options:hover{background-color:#e8f4f8!important;border-color:var(--secondaryColor,#107180)!important;box-shadow:0 2px 4px #10718033!important;transform:translateY(-1px)!important}.rcb-checkbox-next-button.keyboard-focused,.rcb-checkbox-next-button:focus,.rcb-checkbox-next-button:focus-visible,.rcb-checkbox-row-container.keyboard-focused,.rcb-checkbox-row-container:focus,.rcb-checkbox-row-container:focus-visible,.rcb-options.keyboard-focused,.rcb-options:focus,.rcb-options:focus-visible{background-color:#e8f4f8!important;border-color:var(--secondaryColor,#107180)!important;outline:none!important}.rcb-options:active{background-color:var(--secondaryColor,#107180)!important;border-color:var(--secondaryColor,#107180)!important;color:#fff!important;transform:translateY(0)!important}.keyboard-nav-hint{color:#666!important;font-size:12px!important;font-style:italic!important;margin-bottom:8px!important}@media (prefers-reduced-motion:reduce){.keyboard-nav-hint{display:none!important}}.rcb-options-container [role=button][tabindex="0"],.rcb-options-container button[tabindex="0"]{position:relative!important}.rcb-options-container [role=button][tabindex="0"]:after,.rcb-options-container button[tabindex="0"]:after{color:var(--secondaryColor,#107180)!important;content:"\u2190"!important;font-size:16px!important;opacity:0!important;position:absolute!important;right:12px!important;top:50%!important;transform:translateY(-50%)!important;transition:opacity .2s ease!important}.rcb-options-container [role=button][tabindex="0"]:focus:after,.rcb-options-container button[tabindex="0"]:focus:after{opacity:1!important}.rcb-chat-input-send-button{cursor:pointer!important;opacity:1!important;pointer-events:auto!important;visibility:visible!important}.rcb-chat-input-send-button:not([tabindex]){-webkit-user-select:none;-moz-user-select:none;user-select:none}.rcb-chat-input-container [onclick],.rcb-chat-input-container [role=button],.rcb-chat-input-container div[style*=cursor],.rcb-chat-input-container svg:last-child,.rcb-chat-input-container>div:last-child{tabindex:0!important;cursor:pointer!important}.rcb-chat-footer{margin-top:4px!important;padding-top:0!important}.rcb-chat-footer-container{align-items:center!important;display:flex!important;margin-top:4px!important;padding-top:4px!important}.rcb-chat-footer-container button{order:1!important}.rcb-chat-footer-container a[href*=qa-bot-core]{tab-index:0!important;order:2!important}.rcb-chat-footer-container a[href*=feedback]{tab-index:0!important;order:3!important}@media (prefers-contrast:high){.rcb-chat-window a{background-color:#fff!important;border:1px solid #000!important;color:#000!important}}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.rcb-chat-input-textarea{user-select:text!important}.rcb-chat-body-container,.rcb-chat-input-textarea,.rcb-chat-window{touch-action:pan-y!important}.embedded-qa-bot,.rcb-chat-window{-webkit-overflow-scrolling:touch!important}.embedded-qa-bot .rcb-chat-input-textarea{touch-action:pan-y!important;user-select:text!important}.embedded-qa-bot .rcb-chat-body-container,.embedded-qa-bot .rcb-chat-window{touch-action:pan-y!important}.rcb-chat-header-container{background:var(--primaryColor,#1a5b6e)!important;background:linear-gradient(135deg,var(--primaryColor,#1a5b6e) 0,var(--secondaryColor,#107180) 100%)!important}.rcb-toggle-button{align-items:center!important;background:var(--primaryColor,#1a5b6e)!important;display:flex!important;justify-content:center!important}.rcb-toggle-button svg{stroke:#fff!important;color:#fff!important}.rcb-toggle-button *,.rcb-toggle-button img,.rcb-toggle-button svg,.rcb-toggle-button>*{box-sizing:border-box!important;height:50px!important;left:0!important;margin:0 auto!important;max-height:50px!important;max-width:50px!important;min-height:50px!important;min-width:50px!important;padding:2px!important;position:relative!important;top:0!important;width:50px!important}.rcb-send-button{background-color:var(--primaryColor,#1a5b6e)!important}',{insertAt:"top"});K3=()=>{let[e,t]=T.useState(!1),n=()=>typeof navigator<"u"&&navigator.mediaDevices!==void 0&&typeof navigator.mediaDevices.getDisplayMedia=="function";return{captureScreenshot:async()=>{if(!n())throw new Error("Screen capture is not available in this environment");try{t(!0);let r=await navigator.mediaDevices.getDisplayMedia({video:{displaySurface:"browser",cursor:"always",width:{ideal:1920},height:{ideal:1080}},audio:!1}),o=document.createElement("video");o.srcObject=r,await new Promise(h=>{o.onloadedmetadata=()=>{o.play(),h()}});let i=document.createElement("canvas");i.width=o.videoWidth,i.height=o.videoHeight;let s=i.getContext("2d");if(!s)throw new Error("Could not get canvas context");s.drawImage(o,0,0,i.width,i.height);let c=await new Promise(h=>i.toBlob(h,"image/png"));if(!c)throw new Error("Could not create image blob");let u=new Date().toISOString().replace(/[:.]/g,"-"),d=new File([c],"screenshot-".concat(u,".png"),{type:"image/png"});return r.getTracks().forEach(h=>h.stop()),t(!1),d}catch(r){throw _a("Error capturing screenshot:",r),t(!1),r}},isCapturing:e,isScreenCaptureAvailable:n()}},G3=e=>ke.createElement(yv,e,ke.createElement("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),ke.createElement("polyline",{points:"17 8 12 3 7 8"}),ke.createElement("line",{x1:"12",y1:"3",x2:"12",y2:"15"})),X3=e=>new Promise((t,n)=>{let r=new FileReader;r.onload=()=>{if(typeof r.result!="string")return void n(new Error("Failed to read file ".concat(e.name)));let o=r.result.split(",")[1];t({fileName:e.name,contentType:e.type,size:e.size,fileData:o})},r.onerror=()=>n(new Error("Failed to read file ".concat(e.name))),r.readAsDataURL(e)}),J3=e=>Promise.all(e.map(X3)),Z3=e=>e<1024?"".concat(e," B"):e<1048576?"".concat((e/1024).toFixed(1)," KB"):"".concat((e/1048576).toFixed(1)," MB"),ed=e=>{let{onFileUpload:t,maxSizeMB:n=10,acceptedTypes:r="image/*,application/pdf,text/*,.doc,.docx",enableScreenshot:o=!1,className:i}=e,[s,c]=T.useState(!1),[u,d]=T.useState([]),[h,f]=T.useState(null),g=T.useRef(null),{captureScreenshot:m,isCapturing:y,isScreenCaptureAvailable:v}=K3(),k=R=>{let H=document.createElement("div");H.setAttribute("aria-live","assertive"),H.setAttribute("aria-atomic","true"),H.className="sr-only",H.textContent=R,document.body.appendChild(H),setTimeout(()=>document.body.removeChild(H),1e3)},E=R=>{if(!R||R.length===0)return void D3("FileUploadComponent: No valid files provided to handleFiles");let H;try{H=Array.from(R)}catch(X){return _a("FileUploadComponent: Error converting files to array:",X),void k("Error processing selected files. Please try again.")}let W=[...u,...H];d(W);let q=H.length,V=H.map(X=>X.name).join(", ");k("".concat(q," file").concat(q>1?"s":""," selected: ").concat(V)),setTimeout(()=>{let X=document.querySelector(".rcb-chat-content");X&&(X.scrollTop=X.scrollHeight)},100),t&&t(W)},M=R=>{R.preventDefault(),R.stopPropagation(),R.type==="dragenter"||R.type==="dragover"?c(!0):R.type==="dragleave"&&c(!1)},I=()=>{try{g.current&&g.current.click()}catch(R){_a("FileUploadComponent: Error in handleButtonClick:",R),k("Error opening file selection dialog. Please try again.")}},P=()=>{f(null)},j=o&&v;return ke.createElement("div",{className:"file-upload-container ".concat(i||""),style:{padding:"16px",margin:"8px 0"}},j&&ke.createElement("div",{style:{display:"flex",justifyContent:"center",marginBottom:"10px"}},ke.createElement("button",{onClick:R=>{R.preventDefault(),(async()=>{try{let H=await m();E([H]),k("Screenshot captured successfully")}catch{k("Error capturing screenshot. Please try again.")}})()},disabled:y,"aria-describedby":"screenshot-help","aria-label":y?"Taking screenshot, please wait":"Take a screenshot to attach",style:{display:"flex",alignItems:"center",gap:"8px",backgroundColor:"#107180",color:"white",border:"none",borderRadius:"5px",padding:"8px 12px",cursor:y?"not-allowed":"pointer",fontSize:"14px",fontWeight:"500",boxShadow:"0 1px 3px rgba(0,0,0,0.2)"}},ke.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},ke.createElement("path",{d:"M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z"}),ke.createElement("circle",{cx:"12",cy:"13",r:"4"})),y?"Taking screenshot...":"Take screenshot..."),ke.createElement("span",{id:"screenshot-help",className:"sr-only"},"Captures the current screen and adds it as an attachment")),ke.createElement("div",{className:"file-upload-dropzone ".concat(s?"active":""),onDragEnter:M,onDragLeave:M,onDragOver:M,onDrop:R=>{var H;R.preventDefault(),R.stopPropagation(),c(!1);try{!((H=R.dataTransfer)===null||H===void 0)&&H.files&&R.dataTransfer.files.length>0&&E(R.dataTransfer.files)}catch(W){_a("FileUploadComponent: Error in handleDrop:",W),k("Error processing dropped files. Please try again.")}},role:"button",tabIndex:0,"aria-label":"File upload area. Click to select files or drag and drop files here.","aria-describedby":"upload-instructions",onKeyDown:R=>{R.key!=="Enter"&&R.key!==" "||(R.preventDefault(),I())},style:{padding:"20px",border:"2px dashed #ccc",borderRadius:"8px",backgroundColor:s?"#f0f8ff":"#fafafa",transition:"all 0.3s ease"}},ke.createElement("input",{ref:g,type:"file",className:"file-input",onChange:R=>{var H;try{!((H=R.target)===null||H===void 0)&&H.files&&R.target.files.length>0&&E(R.target.files)}catch(W){_a("FileUploadComponent: Error in handleFileSelect:",W),k("Error processing selected files. Please try again.")}},multiple:!0,style:{display:"none"},"aria-label":"Select files to upload",accept:r}),ke.createElement("div",{className:"upload-content",onClick:I,style:{cursor:"pointer",flexDirection:"column",alignItems:"center",display:"flex",textAlign:"center",padding:"12px"}},ke.createElement("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",gap:"8px"}},ke.createElement("div",{style:{display:"flex",flexDirection:"row",alignItems:"center",gap:"10px"}},ke.createElement(G3,null),ke.createElement("p",{style:{margin:0,fontWeight:"bold"}},"Upload Files")),ke.createElement("p",{id:"upload-instructions",style:{margin:0,fontSize:"14px",color:"#666"}},"Drag and drop files here or click to select. (Max ",n,"MB each)")),u.length>0&&ke.createElement("div",{className:"selected-files",style:{display:"flex",flexWrap:"wrap",gap:"8px",marginTop:"12px",alignItems:"center"}},ke.createElement("span",{style:{fontWeight:400,color:"#888",fontSize:"13px",marginRight:"8px",alignSelf:"center"}},"Selected files:"),u.map((R,H)=>ke.createElement("span",{key:H,style:{background:"#fff",color:"#107180",borderRadius:"5px",padding:"4px 12px",fontSize:"14px",marginRight:"4px",marginBottom:"4px",border:"1px solid #ccc",display:"flex",alignItems:"center",gap:"6px",cursor:"pointer"},onClick:W=>{W.stopPropagation(),(q=>{f(q)})(R)}},ke.createElement("span",{onClick:W=>{W.stopPropagation(),(q=>{let V=u.filter((X,Y)=>Y!==q);d(V),t&&t(V)})(H)},style:{cursor:"pointer",color:"#888",fontWeight:"bold",fontSize:"15px",marginRight:"4px",userSelect:"none",lineHeight:1},title:"Remove file","aria-label":"Remove ".concat(R.name)},"\xD7"),R.name," (",Z3(R.size),")"))))),(()=>{if(!h)return null;let R=h.type.startsWith("image/"),H=h.type.startsWith("text/"),W=h.type==="application/pdf";return ke.createElement("div",{style:{position:"fixed",top:0,left:0,right:0,bottom:0,backgroundColor:"rgba(0, 0, 0, 0.7)",display:"flex",justifyContent:"center",alignItems:"center",zIndex:1e3},onClick:P},ke.createElement("div",{style:{backgroundColor:"white",padding:"20px",borderRadius:"8px",maxWidth:"90%",maxHeight:"90%",overflow:"auto",position:"relative"},onClick:q=>q.stopPropagation()},ke.createElement("button",{onClick:P,style:{position:"absolute",top:"10px",right:"10px",background:"none",border:"none",fontSize:"24px",cursor:"pointer",color:"#666"}},"\xD7"),ke.createElement("h3",{style:{marginTop:0,marginBottom:"16px"}},h.name),R&&ke.createElement("img",{src:URL.createObjectURL(h),alt:h.name,style:{maxWidth:"100%",maxHeight:"70vh"}}),H&&ke.createElement("pre",{style:{whiteSpace:"pre-wrap",wordWrap:"break-word",maxHeight:"70vh",overflow:"auto",padding:"16px",backgroundColor:"#f5f5f5",borderRadius:"4px"}},URL.createObjectURL(h)),W&&ke.createElement("iframe",{src:URL.createObjectURL(h),style:{width:"100%",height:"70vh",border:"none"},title:h.name}),!R&&!H&&!W&&ke.createElement("div",{style:{padding:"20px",textAlign:"center"}},"Preview not available for this file type")))})())};eP=ke.forwardRef((e,t)=>{let[n,r]=ke.useState(e.defaultOpen||!1),o=ke.useRef(null);return ke.useImperativeHandle(t,()=>({addMessage:i=>{var s;(s=o.current)===null||s===void 0||s.addMessage(i)},setBotEnabled:i=>{var s;(s=o.current)===null||s===void 0||s.setBotEnabled(i)},openChat:()=>{var i;r(!0),(i=o.current)===null||i===void 0||i.openChat()},closeChat:()=>{var i;r(!1),(i=o.current)===null||i===void 0||i.closeChat()},toggleChat:()=>{var i;r(s=>!s),(i=o.current)===null||i===void 0||i.toggleChat()}}),[]),ke.createElement(Wf,{ref:o,apiKey:e.apiKey,qaEndpoint:e.qaEndpoint,ratingEndpoint:e.ratingEndpoint,welcomeMessage:e.welcomeMessage,primaryColor:e.primaryColor,secondaryColor:e.secondaryColor,botName:e.botName,logo:e.logo,placeholder:e.placeholder,errorMessage:e.errorMessage,embedded:e.embedded,isLoggedIn:e.isLoggedIn,allowAnonAccess:e.allowAnonAccess,open:n,onOpenChange:r,footerText:e.footerText,footerLink:e.footerLink,tooltipText:e.tooltipText,onAnalyticsEvent:e.onAnalyticsEvent})});eP.displayName="ProgrammaticQABot";Ui={QA_ENDPOINT:"https://access-ai-grace1-external.ccs.uky.edu/access/chat/api/",RATING_ENDPOINT:"https://access-ai-grace1-external.ccs.uky.edu/access/chat/rating/",METRICS_API_ENDPOINT:"https://access-ai-grace1-external.ccs.uky.edu/access/xdmod/chat/api/",METRICS_RATING_ENDPOINT:"https://access-ai-grace1-external.ccs.uky.edu/access/xdmod/chat/rating/",METRICS_QUESTIONS_URL:"https://metrics.access-ci.org/qa_bot_faq",NETLIFY_BASE_URL:"https://access-jsm-api.netlify.app",DEFAULT_API_KEY:"demo-key"},ii={BOT_NAME:"ACCESS Q&A",LOGO:"https://support.access-ci.org/themes/contrib/asp-theme/images/icons/ACCESS-arrrow.svg",WELCOME_MESSAGE:"Hello! What can I help you with?",WELCOME_MESSAGE_LOGGED_OUT:"To ask questions, please log in.",LOGIN_URL:"/login",PRIMARY_COLOR:"#1a5b6e",SECONDARY_COLOR:"#107180",TOOLTIP:"Ask me about ACCESS! \u{1F60A}"},ay={SESSION_ID:"access-qa-bot-session-id"};If=null;_s={SUPPORT:17,LOGIN_ACCESS:30,LOGIN_PROVIDER:31,SECURITY:26};sP=[" C, C++","Abaqus","ACCESS","ACCESS-credits","ACCESS-website","Accounts","ACLS","Adding users","Affiliations","Affinity Groups","AI","Algorithms","Allocation extension","Allocation Management","Allocation proposal","Allocation Time","Allocation users","AMBER","AMIE","Anaconda","Analysis","API","Application Status","ARCGIS","Architecture","Archiving","Astrophysics","ATLAS","Authentication","AWS","AZURE","Backup","BASH","Batch Jobs","Benchmarking","Big Data","Bioinformatics","Biology","Ceph","CFD","cgroups","CHARMM","Checkpoint","cilogon","citation","Cloud","Cloud Computing","Cloud Lab","Cloud Storage","Cluster Management","Cluster Support","CMMC","Community Outreach","Compiling","Composible Systems","Computataional Chemistry","COMSOL","Conda","Condo","Containers","Core dump","Core hours","CP2K","CPU architecture","CPU bound","CUDA","Cybersecurity","CYVERSE","Data","Data Storage","Data-access-protocols","Data-analysis","Data-compliance","Data-lifecycle","Data-management","Data-management-software","Data-provenance","Data-reproducibility","Data-retention","Data-science","Data-sharing","Data-transfer","Data-wrangling","Database-update","Debugging","Debugging, Optimizatio and Profiling","Deep-learning","Dependencies","Deployment","DFT","Distributed-computing","DNS","Docker","Documentation","DOI","DTN","Easybuild","Email","Encryption","Environment-modules","Errors","Extension","FastX","Federated-authentication","File transfers","File-formats","File-limits","File-systems","File-transfer","Finite-element-analysis","Firewall","Fortran","Frameworks and IDE's","GAMESS","Gateways","GATK","Gaussian","GCC","Genomics","GIS","Git","Globus","GPFS","GPU","Gravitational-waves","Gridengine","GROMACS","Hadoop","Hardware","Image-processing","Infiniband","Interactive-mode","Interconnect","IO-Issue","ISILON","Java","Jekyll","Jetstream","Job-accounting","Job-array","Job-charging","Job-failure","Job-sizing","Job-submission","Julia","Jupyterhub","Key-management","Kubernetes","KyRIC","LAMMPS","Library-paths","License","Linear-programming","Linux","LMOD","login","LSF","Lustre","Machine-learning","Management","Materials-science","Mathematica","MATLAB","Memory","Metadata","Modules","Molecular-dynamics","Monte-carlo","MPI","NAMD","NetCDF","Networking","Neural-networks","NFS","NLP","NoMachine","Nvidia","Oceanography","OnDemnad","Open-science-grid","Open-storage-network","OpenCV","Openfoam","OpenMP","OpenMPI","OpenSHIFT","Openstack","Optimization","OS","OSG","Parallelization","Parameter-sweeps","Paraview","Particle-physics","password","PBS","Pegasus","Pending-jobs","Performance-tuning","Permissions","Physiology","PIP","PODMAN","Portals","Pre-emption","Professional and Workforce Development","Professional-development","Profile","Profiling","Programming","Programming Languages","Programming-best-practices","Project-management","Project-renewal","Provisioning","Pthreads","Publication-database","Putty","Python","Pytorch","Quantum-computing","Quantum-mechanics","Quota","R","RDP","React","Reporting","Research-facilitation","Research-grants","Resources","Rstudio-server","S3","Samba","SAS","Scaling","Schedulers","Scheduling","Science DMZ","Science Gateways","Scikit-learn","Scratch","screen","scripting","SDN","Secure Computing and Data","Secure-data-architecture","Serverless-hpc","setup","sftp","SGE","Shell Scripting","Shifter","Singularity","SLURM","SMB","Smrtanalysis","Software Installations","Software-carpentry","SPACK","SPARK","Spectrum-scale","SPSS","SQL","SSH","Stampede2","STATA","Storage","Supplement","Support","TCP","Technical-training-for-hpc","Tensorflow","Terminal-emulation-and-window-management","Tickets","Timing-issue","TMUX","Tools","Training","Transfer SUs","Trinity","Tuning","Unix-environment","Upgrading","Vectorization","Version-control","vim","VNC","VPN","Workflow","Workforce-development","X11","Xalt","XDMoD","XML","XSEDE","I don't see a relevant keyword"],lP=["ACES","Anvil","Bridges-2","DARWIN","Delta","DeltaAI","Derecho","Expanse","FASTER","Granite","Jetstream2","KyRIC","Launch","Neocortex","Ookami","Open Science Grid","Open Storage Network","Ranch","Stampede3"];uP={"Logging into ACCESS website":"access_login","Logging into a resource":"resource_login","Another question":"general_help"};Cn=[];for(let e=0;e<256;++e)Cn.push((e+256).toString(16).slice(1));AP=new Uint8Array(16);mP=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),sy={randomUUID:mP};ly="access-qa-bot-shadow-overrides",vP=`
|
|
131
131
|
.rcb-checkbox-container {
|
|
132
132
|
display: flex !important;
|
|
133
133
|
flex-wrap: wrap !important;
|
package/dist/access-ci-ui.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { l as a, m as t, o as n, n as o, p as r, t as u, q as m, v as l, w as M, x as c, y as f, z as i } from "./index-
|
|
1
|
+
import { l as a, m as t, o as n, n as o, p as r, t as u, q as m, v as l, w as M, x as c, y as f, z as i } from "./index-CYiW1U_C.js";
|
|
2
2
|
export {
|
|
3
3
|
a as breadcrumbs,
|
|
4
4
|
t as footer,
|
|
@@ -115,7 +115,7 @@ Please change the parent <Route path="${E}"> to <Route path="${E==="/"?"*":`${E}
|
|
|
115
115
|
`.concat(ae.join(`
|
|
116
116
|
`))}(en),de=Gt?"".concat(fn,`
|
|
117
117
|
|
|
118
|
-
`).concat(Gt):fn;return await Mt.injectMessage(de),et?.({type:"chatbot_answer_received",queryId:pt,responseTimeMs:xn,success:!0,responseLength:dn.length,hasMetadata:!!Gt}),an=!0,setTimeout(async()=>{await Mt.injectMessage("Feel free to ask another question.")},100),null}catch(pt){return cs("Error in Q&A flow:",pt),et?.({type:"chatbot_answer_error",queryId:bt??void 0,errorType:pt instanceof Error?pt.message:"unknown"}),"I apologize, but I'm having trouble processing your question. Please try again later."}},options:Mt=>Ie&&Ie()||Mt.userInput==="👍 Helpful"||Mt.userInput==="👎 Not helpful"?[]:xe&&an?["👍 Helpful","👎 Not helpful"]:[],renderMarkdown:["BOT"],chatDisabled:!1,path:"qa_loop"}}})({endpoint:i,ratingEndpoint:a,apiKey:o,sessionId:ne.current.getSessionId,isResetting:ne.current.isResetting,isLoggedIn:ue,allowAnonAccess:p,loginUrl:Q||bv,trackEvent:pe});return Object.assign(Object.assign({start:{message:c,renderMarkdown:["BOT"],transition:{duration:0},path:"qa_loop"}},fe),q||{})},[o,i,a,c,ue,p,Q,q,g,pe]),Z=M.useMemo(()=>{return[()=>MC(se),M3(),()=>R3(fe)];var fe,se},[]);return M.useEffect(()=>{const fe=()=>{const ve=document.querySelector(".rcb-chat-window");if(!ve)return;const xe=ve.querySelector(".rcb-send-button");xe&&(xe.hasAttribute("tabindex")||xe.setAttribute("tabindex","0"),xe.hasAttribute("data-keyboard-enabled")||(xe.setAttribute("data-keyboard-enabled","true"),xe.addEventListener("keydown",Be=>{if(Be.key==="Enter"||Be.key===" "){Be.preventDefault();const Te=xe&&Object.keys(xe).find(We=>We.startsWith("__reactProps"));if(Te){const We=xe[Te],ut=We?.onMouseDown;if(ut&&typeof ut=="function")return void ut(Be)}const Ie=new MouseEvent("mousedown",{bubbles:!0,cancelable:!0,view:window});xe.dispatchEvent(Ie)}})))},se=setInterval(fe,1e3);return fe(),()=>clearInterval(se)},[]),$3(),M.useEffect(()=>{if(!me){const fe=se=>{const ve=se.data.newState;d?.(ve);const xe=X.current;pe(ve?{type:"chatbot_open"}:{type:"chatbot_close",messageCount:xe?Av(xe):0,durationMs:xe?q3(xe):0})};return window.addEventListener("rcb-toggle-chat-window",fe),()=>{window.removeEventListener("rcb-toggle-chat-window",fe)}}},[me,d,pe]),ke.createElement("div",{className:"qa-bot ".concat(!((n=te.general)===null||n===void 0)&&n.embedded?"embedded-qa-bot":""),ref:j,role:"region","aria-label":b||yv},ke.createElement(Y3,{getSessionId:()=>X.current,setSessionId:fe=>{const se=X.current;X.current=fe,nu("RESTORED","".concat(se?.slice(-12)," -> ").concat(fe.slice(-12)))},resetSession:()=>{const fe=X.current;Y.current=!0,X.current=pv(),nu("RESET","".concat(fe?.slice(-12)," -> ").concat(X.current.slice(-12)))},clearResettingFlag:()=>{Y.current=!1}},ke.createElement(K3,{trackEvent:pe},ke.createElement(Nm,null,ke.createElement("div",null,ke.createElement(J3,null),ke.createElement(cv,{ref:e,embedded:((r=te.general)===null||r===void 0?void 0:r.embedded)||!1,currentOpen:u||!1,enabled:ue!==!1,onSetEnabled:fe=>le(!!fe&&void 0)}),ke.createElement(pC,{key:"chatbot-".concat(W.current,"-").concat(ue),settings:te,flow:_,plugins:Z}),ke.createElement("div",{role:"status","aria-live":"polite","aria-label":"Bot response updates",className:"sr-only",id:"bot-live-region"}),ke.createElement("div",{id:"chat-input-help",className:"sr-only"},"Type your message and press Enter to send. Use arrow keys to navigate through response options."))))))});wh.displayName="QABot",sm('.rcb-chat-window{height:800px!important;max-height:80vh!important;max-width:100%;width:550px!important}.rcb-chat-window .rcb-chat-header{align-items:center;display:flex;flex-direction:row;font-weight:700}.rcb-chat-window a{color:#000;font-weight:700;text-decoration:underline}.rcb-chat-window a:hover{color:var(--primaryColor,#107180)}.rcb-chat-window .rcb-bot-message a,.rcb-chat-window .rcb-bot-message a:link,.rcb-chat-window .rcb-bot-message a:visited{color:#fff!important;text-decoration:underline!important}.rcb-chat-window .rcb-bot-message a:hover{opacity:.85;text-decoration:underline!important}.rcb-chat-window .rcb-chat-input-textarea{overflow-y:auto}.rcb-chat-window .rcb-chat-footer-container{font-size:10px}.qa-bot .history-button,.qa-bot .user-login-icon{display:none!important}.qa-bot.bot-logged-in .history-button,.qa-bot.bot-logged-in .user-login-icon{display:flex!important;transform:scale(1.3) translateY(-2px)}.qa-bot.bot-logged-in .history-button:hover{opacity:.8}.qa-bot.bot-logged-in .history-button:focus{outline:2px solid #fff;outline-offset:2px}.embedded-qa-bot .rcb-chat-window{max-width:100%;width:100%!important}.qa-bot.hidden{display:none}.embedded-qa-bot .rcb-bot-message,.embedded-qa-bot .rcb-user-message{max-width:90%!important;word-break:break-word}.embedded-qa-bot .rcb-chat-input-textarea{width:100%!important}.qa-bot-container{max-width:100%;width:100%}@keyframes phone-ring{0%{transform:translateX(0) translateY(0) rotate(0deg)}2%{transform:translateX(0) translateY(-8px) rotate(-2deg)}4%{transform:translateX(0) translateY(-6px) rotate(2deg)}6%{transform:translateX(0) translateY(-8px) rotate(-1deg)}8%{transform:translateX(0) translateY(-6px) rotate(1deg)}10%{transform:translateX(0) translateY(-8px) rotate(-2deg)}12%{transform:translateX(0) translateY(-6px) rotate(2deg)}20%{transform:translateX(0) translateY(0) rotate(0deg)}30%{transform:translateX(0) translateY(0) rotate(0deg)}40%{transform:translateX(0) translateY(0) rotate(0deg)}49%{transform:translateX(0) translateY(0) rotate(0deg)}50%{transform:translateX(0) translateY(-8px) rotate(-2deg)}52%{transform:translateX(0) translateY(-6px) rotate(2deg)}54%{transform:translateX(0) translateY(-8px) rotate(-1deg)}56%{transform:translateX(0) translateY(-6px) rotate(1deg)}58%{transform:translateX(0) translateY(-8px) rotate(-2deg)}60%{transform:translateX(0) translateY(-6px) rotate(2deg)}70%{transform:translateX(0) translateY(0) rotate(0deg)}to{transform:translateX(0) translateY(0) rotate(0deg)}}@media (max-width:768px){.rcb-chat-window{max-height:calc(100vh - 100px)!important;max-width:calc(100vw - 40px)!important;width:550px!important}.embedded-chat-container.open{height:400px}.embedded-chat-closed{font-size:14px;height:40px}.embedded-chat-open-btn{font-size:12px;padding:3px 10px}.rcb-bot-message,.rcb-user-message{max-width:85%!important}.rcb-chat-input-textarea{font-size:16px!important;min-height:44px!important}.rcb-chat-header{padding:12px 16px!important}}@media (max-width:480px){.rcb-chat-window{bottom:10px!important;left:10px!important;max-height:calc(100vh - 80px)!important;max-width:calc(100vw - 20px)!important;right:10px!important;width:calc(100vw - 20px)!important}.embedded-chat-container.open{height:350px}.rcb-bot-message,.rcb-user-message{margin-bottom:8px!important;max-width:90%!important}.rcb-chat-header{font-size:14px!important;padding:8px 12px!important}.rcb-chat-button{bottom:20px!important;height:50px!important;right:20px!important;width:50px!important}.rcb-chat-footer-container{font-size:9px!important;padding:8px 12px!important}}@media (max-width:360px){.rcb-chat-window{left:5px!important;max-width:calc(100vw - 10px)!important;right:5px!important;width:calc(100vw - 10px)!important}.rcb-chat-header{font-size:13px!important;padding:6px 8px!important}}.rcb-checkbox-container{display:flex!important;flex-wrap:wrap!important;gap:8px!important;margin-left:16px!important;max-width:100%!important;padding-top:12px!important}.rcb-checkbox-row-container{align-items:center!important;background-color:#fff!important;border:1px solid #d0d0d0!important;border-radius:6px!important;box-sizing:border-box!important;color:var(--primaryColor,#107180)!important;cursor:pointer!important;display:flex!important;flex:0 0 auto!important;font-size:14px!important;font-weight:400!important;margin:0!important;max-height:auto!important;min-height:auto!important;padding:8px 12px!important;text-align:center!important;transition:all .2s ease!important;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:auto!important}.rcb-checkbox-row-container:hover{background-color:#e8f4f8!important;border-color:var(--primaryColor,#107180)!important;box-shadow:0 2px 4px #10718033!important;transform:translateY(-1px)!important}.rcb-checkbox-row-container[data-checked=true]{background-color:var(--primaryColor,#107180)!important;border-color:var(--primaryColor,#107180)!important;color:#fff!important}.rcb-checkbox-row{margin-left:0!important}.rcb-checkbox-mark{height:14px!important;margin-right:6px!important;width:14px!important}.rcb-checkbox-label{font-size:13px!important;margin:0!important;white-space:nowrap!important}.rcb-checkbox-next-button{align-items:center!important;background-color:#fff!important;border:1px solid #d0d0d0!important;border-radius:6px!important;box-sizing:border-box!important;color:var(--secondaryColor,#107180)!important;cursor:pointer!important;display:flex!important;flex:0 0 auto!important;font-size:14px!important;font-weight:400!important;justify-content:center!important;line-height:24px!important;margin:0!important;max-height:auto!important;min-height:auto!important;padding:8px 12px!important;text-align:center!important;transition:all .2s ease!important;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:auto!important}.rcb-checkbox-next-button:hover{background-color:#e8f4f8!important;border-color:var(--secondaryColor,#107180)!important;box-shadow:0 2px 4px #10718033!important;transform:translateY(-1px)!important}.sr-only{clip:rect(0,0,0,0)!important;border:0!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}.rcb-chat-input-send-button:focus,.rcb-chat-input-textarea:focus{outline:2px solid var(--primaryColor,#107180)!important;outline-offset:2px!important}.rcb-user-message{word-wrap:break-word!important;overflow:hidden!important;word-break:break-word!important}:focus-visible{outline:2px solid var(--primaryColor,#107180)!important;outline-offset:2px!important}.rcb-options-container{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;gap:8px!important;margin:16px!important;padding:0!important}.rcb-options{background-color:#fff!important;border:1px solid #d0d0d0!important;border-radius:6px!important;box-sizing:border-box!important;color:var(--secondaryColor,#107180)!important;cursor:pointer!important;flex:0 0 auto!important;font-size:14px!important;font-weight:400!important;outline:none!important;padding:8px 12px!important;text-align:center!important;transition:all .2s ease!important;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:auto!important}.rcb-options:hover{background-color:#e8f4f8!important;border-color:var(--secondaryColor,#107180)!important;box-shadow:0 2px 4px #10718033!important;transform:translateY(-1px)!important}.rcb-checkbox-next-button.keyboard-focused,.rcb-checkbox-next-button:focus,.rcb-checkbox-next-button:focus-visible,.rcb-checkbox-row-container.keyboard-focused,.rcb-checkbox-row-container:focus,.rcb-checkbox-row-container:focus-visible,.rcb-options.keyboard-focused,.rcb-options:focus,.rcb-options:focus-visible{background-color:#e8f4f8!important;border-color:var(--secondaryColor,#107180)!important;outline:none!important}.rcb-options:active{background-color:var(--secondaryColor,#107180)!important;border-color:var(--secondaryColor,#107180)!important;color:#fff!important;transform:translateY(0)!important}.keyboard-nav-hint{color:#666!important;font-size:12px!important;font-style:italic!important;margin-bottom:8px!important}@media (prefers-reduced-motion:reduce){.keyboard-nav-hint{display:none!important}}.rcb-options-container [role=button][tabindex="0"],.rcb-options-container button[tabindex="0"]{position:relative!important}.rcb-options-container [role=button][tabindex="0"]:after,.rcb-options-container button[tabindex="0"]:after{color:var(--secondaryColor,#107180)!important;content:"←"!important;font-size:16px!important;opacity:0!important;position:absolute!important;right:12px!important;top:50%!important;transform:translateY(-50%)!important;transition:opacity .2s ease!important}.rcb-options-container [role=button][tabindex="0"]:focus:after,.rcb-options-container button[tabindex="0"]:focus:after{opacity:1!important}.rcb-chat-input-send-button{cursor:pointer!important;opacity:1!important;pointer-events:auto!important;visibility:visible!important}.rcb-chat-input-send-button:not([tabindex]){-webkit-user-select:none;-moz-user-select:none;user-select:none}.rcb-chat-input-container [onclick],.rcb-chat-input-container [role=button],.rcb-chat-input-container div[style*=cursor],.rcb-chat-input-container svg:last-child,.rcb-chat-input-container>div:last-child{tabindex:0!important;cursor:pointer!important}.rcb-chat-footer{margin-top:4px!important;padding-top:0!important}.rcb-chat-footer-container{align-items:center!important;display:flex!important;margin-top:4px!important;padding-top:4px!important}.rcb-chat-footer-container button{order:1!important}.rcb-chat-footer-container a[href*=qa-bot-core]{tab-index:0!important;order:2!important}.rcb-chat-footer-container a[href*=feedback]{tab-index:0!important;order:3!important}@media (prefers-contrast:high){.rcb-chat-window a{background-color:#fff!important;border:1px solid #000!important;color:#000!important}}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.rcb-chat-input-textarea{user-select:text!important}.rcb-chat-body-container,.rcb-chat-input-textarea,.rcb-chat-window{touch-action:pan-y!important}.embedded-qa-bot,.rcb-chat-window{-webkit-overflow-scrolling:touch!important}.embedded-qa-bot .rcb-chat-input-textarea{touch-action:pan-y!important;user-select:text!important}.embedded-qa-bot .rcb-chat-body-container,.embedded-qa-bot .rcb-chat-window{touch-action:pan-y!important}.rcb-chat-header-container{background:var(--primaryColor,#1a5b6e)!important;background:linear-gradient(135deg,var(--primaryColor,#1a5b6e) 0,var(--secondaryColor,#107180) 100%)!important}.rcb-toggle-button{align-items:center!important;background:var(--primaryColor,#1a5b6e)!important;display:flex!important;justify-content:center!important}.rcb-toggle-button svg{stroke:#fff!important;color:#fff!important}.rcb-toggle-button *,.rcb-toggle-button img,.rcb-toggle-button svg,.rcb-toggle-button>*{box-sizing:border-box!important;height:50px!important;left:0!important;margin:0 auto!important;max-height:50px!important;max-width:50px!important;min-height:50px!important;min-width:50px!important;padding:2px!important;position:relative!important;top:0!important;width:50px!important}.rcb-send-button{background-color:var(--primaryColor,#1a5b6e)!important}',{insertAt:"top"});const cD=()=>{const[t,e]=M.useState(!1),n=()=>typeof navigator<"u"&&navigator.mediaDevices!==void 0&&typeof navigator.mediaDevices.getDisplayMedia=="function";return{captureScreenshot:async()=>{if(!n())throw new Error("Screen capture is not available in this environment");try{e(!0);const r=await navigator.mediaDevices.getDisplayMedia({video:{displaySurface:"browser",cursor:"always",width:{ideal:1920},height:{ideal:1080}},audio:!1}),o=document.createElement("video");o.srcObject=r,await new Promise(h=>{o.onloadedmetadata=()=>{o.play(),h()}});const i=document.createElement("canvas");i.width=o.videoWidth,i.height=o.videoHeight;const a=i.getContext("2d");if(!a)throw new Error("Could not get canvas context");a.drawImage(o,0,0,i.width,i.height);const c=await new Promise(h=>i.toBlob(h,"image/png"));if(!c)throw new Error("Could not create image blob");const u=new Date().toISOString().replace(/[:.]/g,"-"),d=new File([c],"screenshot-".concat(u,".png"),{type:"image/png"});return r.getTracks().forEach(h=>h.stop()),e(!1),d}catch(r){throw cs("Error capturing screenshot:",r),e(!1),r}},isCapturing:t,isScreenCaptureAvailable:n()}},uD=t=>ke.createElement(mv,t,ke.createElement("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),ke.createElement("polyline",{points:"17 8 12 3 7 8"}),ke.createElement("line",{x1:"12",y1:"3",x2:"12",y2:"15"})),dD=t=>new Promise((e,n)=>{const r=new FileReader;r.onload=()=>{if(typeof r.result!="string")return void n(new Error("Failed to read file ".concat(t.name)));const o=r.result.split(",")[1];e({fileName:t.name,contentType:t.type,size:t.size,fileData:o})},r.onerror=()=>n(new Error("Failed to read file ".concat(t.name))),r.readAsDataURL(t)}),fD=t=>Promise.all(t.map(dD)),hD=t=>t<1024?"".concat(t," B"):t<1048576?"".concat((t/1024).toFixed(1)," KB"):"".concat((t/1048576).toFixed(1)," MB"),ru=t=>{let{onFileUpload:e,maxSizeMB:n=10,acceptedTypes:r="image/*,application/pdf,text/*,.doc,.docx",enableScreenshot:o=!1,className:i}=t;const[a,c]=M.useState(!1),[u,d]=M.useState([]),[h,p]=M.useState(null),g=M.useRef(null),{captureScreenshot:m,isCapturing:y,isScreenCaptureAvailable:b}=cD(),k=O=>{const Q=document.createElement("div");Q.setAttribute("aria-live","assertive"),Q.setAttribute("aria-atomic","true"),Q.className="sr-only",Q.textContent=O,document.body.appendChild(Q),setTimeout(()=>document.body.removeChild(Q),1e3)},E=O=>{if(!O||O.length===0)return void W3("FileUploadComponent: No valid files provided to handleFiles");let Q;try{Q=Array.from(O)}catch(X){return cs("FileUploadComponent: Error converting files to array:",X),void k("Error processing selected files. Please try again.")}const q=[...u,...Q];d(q);const V=Q.length,W=Q.map(X=>X.name).join(", ");k("".concat(V," file").concat(V>1?"s":""," selected: ").concat(W)),setTimeout(()=>{const X=document.querySelector(".rcb-chat-content");X&&(X.scrollTop=X.scrollHeight)},100),e&&e(q)},I=O=>{O.preventDefault(),O.stopPropagation(),O.type==="dragenter"||O.type==="dragover"?c(!0):O.type==="dragleave"&&c(!1)},P=()=>{try{g.current&&g.current.click()}catch(O){cs("FileUploadComponent: Error in handleButtonClick:",O),k("Error opening file selection dialog. Please try again.")}},D=()=>{p(null)},L=o&&b;return ke.createElement("div",{className:"file-upload-container ".concat(i||""),style:{padding:"16px",margin:"8px 0"}},L&&ke.createElement("div",{style:{display:"flex",justifyContent:"center",marginBottom:"10px"}},ke.createElement("button",{onClick:O=>{O.preventDefault(),(async()=>{try{const Q=await m();E([Q]),k("Screenshot captured successfully")}catch{k("Error capturing screenshot. Please try again.")}})()},disabled:y,"aria-describedby":"screenshot-help","aria-label":y?"Taking screenshot, please wait":"Take a screenshot to attach",style:{display:"flex",alignItems:"center",gap:"8px",backgroundColor:"#107180",color:"white",border:"none",borderRadius:"5px",padding:"8px 12px",cursor:y?"not-allowed":"pointer",fontSize:"14px",fontWeight:"500",boxShadow:"0 1px 3px rgba(0,0,0,0.2)"}},ke.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},ke.createElement("path",{d:"M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z"}),ke.createElement("circle",{cx:"12",cy:"13",r:"4"})),y?"Taking screenshot...":"Take screenshot..."),ke.createElement("span",{id:"screenshot-help",className:"sr-only"},"Captures the current screen and adds it as an attachment")),ke.createElement("div",{className:"file-upload-dropzone ".concat(a?"active":""),onDragEnter:I,onDragLeave:I,onDragOver:I,onDrop:O=>{var Q;O.preventDefault(),O.stopPropagation(),c(!1);try{!((Q=O.dataTransfer)===null||Q===void 0)&&Q.files&&O.dataTransfer.files.length>0&&E(O.dataTransfer.files)}catch(q){cs("FileUploadComponent: Error in handleDrop:",q),k("Error processing dropped files. Please try again.")}},role:"button",tabIndex:0,"aria-label":"File upload area. Click to select files or drag and drop files here.","aria-describedby":"upload-instructions",onKeyDown:O=>{O.key!=="Enter"&&O.key!==" "||(O.preventDefault(),P())},style:{padding:"20px",border:"2px dashed #ccc",borderRadius:"8px",backgroundColor:a?"#f0f8ff":"#fafafa",transition:"all 0.3s ease"}},ke.createElement("input",{ref:g,type:"file",className:"file-input",onChange:O=>{var Q;try{!((Q=O.target)===null||Q===void 0)&&Q.files&&O.target.files.length>0&&E(O.target.files)}catch(q){cs("FileUploadComponent: Error in handleFileSelect:",q),k("Error processing selected files. Please try again.")}},multiple:!0,style:{display:"none"},"aria-label":"Select files to upload",accept:r}),ke.createElement("div",{className:"upload-content",onClick:P,style:{cursor:"pointer",flexDirection:"column",alignItems:"center",display:"flex",textAlign:"center",padding:"12px"}},ke.createElement("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",gap:"8px"}},ke.createElement("div",{style:{display:"flex",flexDirection:"row",alignItems:"center",gap:"10px"}},ke.createElement(uD,null),ke.createElement("p",{style:{margin:0,fontWeight:"bold"}},"Upload Files")),ke.createElement("p",{id:"upload-instructions",style:{margin:0,fontSize:"14px",color:"#666"}},"Drag and drop files here or click to select. (Max ",n,"MB each)")),u.length>0&&ke.createElement("div",{className:"selected-files",style:{display:"flex",flexWrap:"wrap",gap:"8px",marginTop:"12px",alignItems:"center"}},ke.createElement("span",{style:{fontWeight:400,color:"#888",fontSize:"13px",marginRight:"8px",alignSelf:"center"}},"Selected files:"),u.map((O,Q)=>ke.createElement("span",{key:Q,style:{background:"#fff",color:"#107180",borderRadius:"5px",padding:"4px 12px",fontSize:"14px",marginRight:"4px",marginBottom:"4px",border:"1px solid #ccc",display:"flex",alignItems:"center",gap:"6px",cursor:"pointer"},onClick:q=>{q.stopPropagation(),(V=>{p(V)})(O)}},ke.createElement("span",{onClick:q=>{q.stopPropagation(),(V=>{const W=u.filter((X,Y)=>Y!==V);d(W),e&&e(W)})(Q)},style:{cursor:"pointer",color:"#888",fontWeight:"bold",fontSize:"15px",marginRight:"4px",userSelect:"none",lineHeight:1},title:"Remove file","aria-label":"Remove ".concat(O.name)},"×"),O.name," (",hD(O.size),")"))))),(()=>{if(!h)return null;const O=h.type.startsWith("image/"),Q=h.type.startsWith("text/"),q=h.type==="application/pdf";return ke.createElement("div",{style:{position:"fixed",top:0,left:0,right:0,bottom:0,backgroundColor:"rgba(0, 0, 0, 0.7)",display:"flex",justifyContent:"center",alignItems:"center",zIndex:1e3},onClick:D},ke.createElement("div",{style:{backgroundColor:"white",padding:"20px",borderRadius:"8px",maxWidth:"90%",maxHeight:"90%",overflow:"auto",position:"relative"},onClick:V=>V.stopPropagation()},ke.createElement("button",{onClick:D,style:{position:"absolute",top:"10px",right:"10px",background:"none",border:"none",fontSize:"24px",cursor:"pointer",color:"#666"}},"×"),ke.createElement("h3",{style:{marginTop:0,marginBottom:"16px"}},h.name),O&&ke.createElement("img",{src:URL.createObjectURL(h),alt:h.name,style:{maxWidth:"100%",maxHeight:"70vh"}}),Q&&ke.createElement("pre",{style:{whiteSpace:"pre-wrap",wordWrap:"break-word",maxHeight:"70vh",overflow:"auto",padding:"16px",backgroundColor:"#f5f5f5",borderRadius:"4px"}},URL.createObjectURL(h)),q&&ke.createElement("iframe",{src:URL.createObjectURL(h),style:{width:"100%",height:"70vh",border:"none"},title:h.name}),!O&&!Q&&!q&&ke.createElement("div",{style:{padding:"20px",textAlign:"center"}},"Preview not available for this file type")))})())};function pD(t,e){if(!e||Object.keys(e).length===0)return t;const n={};for(const[r,o]of Object.entries(t)){let i=Object.assign({},o);if(i.chatDisabled===void 0){const a=!(!i.options&&!i.checkboxes);i.chatDisabled=a}n[r]=i}return n}function ou(t){return async e=>{const n=await t(e);await e.injectMessage(n)}}const AD=ke.forwardRef((t,e)=>{const[n,r]=ke.useState(t.defaultOpen||!1),o=ke.useRef(null);return ke.useImperativeHandle(e,()=>({addMessage:i=>{var a;(a=o.current)===null||a===void 0||a.addMessage(i)},setBotEnabled:i=>{var a;(a=o.current)===null||a===void 0||a.setBotEnabled(i)},openChat:()=>{var i;r(!0),(i=o.current)===null||i===void 0||i.openChat()},closeChat:()=>{var i;r(!1),(i=o.current)===null||i===void 0||i.closeChat()},toggleChat:()=>{var i;r(a=>!a),(i=o.current)===null||i===void 0||i.toggleChat()}}),[]),ke.createElement(wh,{ref:o,apiKey:t.apiKey,qaEndpoint:t.qaEndpoint,ratingEndpoint:t.ratingEndpoint,welcomeMessage:t.welcomeMessage,primaryColor:t.primaryColor,secondaryColor:t.secondaryColor,botName:t.botName,logo:t.logo,placeholder:t.placeholder,errorMessage:t.errorMessage,embedded:t.embedded,isLoggedIn:t.isLoggedIn,allowAnonAccess:t.allowAnonAccess,open:n,onOpenChange:r,footerText:t.footerText,footerLink:t.footerLink,tooltipText:t.tooltipText,onAnalyticsEvent:t.onAnalyticsEvent})});AD.displayName="ProgrammaticQABot";const ki={QA_ENDPOINT:"http://localhost:8000/api/v1/query",RATING_ENDPOINT:"http://localhost:8000/api/v1/rating",METRICS_API_ENDPOINT:"https://access-ai-grace1-external.ccs.uky.edu/access/xdmod/chat/api/",METRICS_RATING_ENDPOINT:"https://access-ai-grace1-external.ccs.uky.edu/access/xdmod/chat/rating/",METRICS_QUESTIONS_URL:"https://metrics.access-ci.org/qa_bot_faq",NETLIFY_BASE_URL:"https://access-jsm-api.netlify.app",DEFAULT_API_KEY:"demo-key"},Go={BOT_NAME:"ACCESS Q&A",LOGO:"https://support.access-ci.org/themes/contrib/asp-theme/images/icons/ACCESS-arrrow.svg",WELCOME_MESSAGE:"Hello! What can I help you with?",WELCOME_MESSAGE_LOGGED_OUT:"To ask questions, please log in.",LOGIN_URL:"/login",PRIMARY_COLOR:"#1a5b6e",SECONDARY_COLOR:"#107180",TOOLTIP:"Ask me about ACCESS! 😊"},xv={SESSION_ID:"access-qa-bot-session-id"};function gD({welcome:t,setTicketForm:e,isLoggedIn:n,trackEvent:r}){return{start:{message:t,options:["Ask a question about ACCESS","Open a Help Ticket","Usage and performance of ACCESS resources (XDMoD)","Report a security issue"],path:o=>(r({type:"chatbot_menu_selected",selection:o.userInput}),o.userInput==="Ask a question about ACCESS"?n?"go_ahead_and_ask":"qa_loop":o.userInput==="Open a Help Ticket"?(e({}),"help_ticket"):o.userInput==="Usage and performance of ACCESS resources (XDMoD)"?"metrics_intro":o.userInput==="Report a security issue"?(e({}),r({type:"chatbot_security_started"}),"security_incident"):"start")},go_ahead_and_ask:{message:`Go ahead and ask your question! I'll do my best to help.
|
|
118
|
+
`).concat(Gt):fn;return await Mt.injectMessage(de),et?.({type:"chatbot_answer_received",queryId:pt,responseTimeMs:xn,success:!0,responseLength:dn.length,hasMetadata:!!Gt}),an=!0,setTimeout(async()=>{await Mt.injectMessage("Feel free to ask another question.")},100),null}catch(pt){return cs("Error in Q&A flow:",pt),et?.({type:"chatbot_answer_error",queryId:bt??void 0,errorType:pt instanceof Error?pt.message:"unknown"}),"I apologize, but I'm having trouble processing your question. Please try again later."}},options:Mt=>Ie&&Ie()||Mt.userInput==="👍 Helpful"||Mt.userInput==="👎 Not helpful"?[]:xe&&an?["👍 Helpful","👎 Not helpful"]:[],renderMarkdown:["BOT"],chatDisabled:!1,path:"qa_loop"}}})({endpoint:i,ratingEndpoint:a,apiKey:o,sessionId:ne.current.getSessionId,isResetting:ne.current.isResetting,isLoggedIn:ue,allowAnonAccess:p,loginUrl:Q||bv,trackEvent:pe});return Object.assign(Object.assign({start:{message:c,renderMarkdown:["BOT"],transition:{duration:0},path:"qa_loop"}},fe),q||{})},[o,i,a,c,ue,p,Q,q,g,pe]),Z=M.useMemo(()=>{return[()=>MC(se),M3(),()=>R3(fe)];var fe,se},[]);return M.useEffect(()=>{const fe=()=>{const ve=document.querySelector(".rcb-chat-window");if(!ve)return;const xe=ve.querySelector(".rcb-send-button");xe&&(xe.hasAttribute("tabindex")||xe.setAttribute("tabindex","0"),xe.hasAttribute("data-keyboard-enabled")||(xe.setAttribute("data-keyboard-enabled","true"),xe.addEventListener("keydown",Be=>{if(Be.key==="Enter"||Be.key===" "){Be.preventDefault();const Te=xe&&Object.keys(xe).find(We=>We.startsWith("__reactProps"));if(Te){const We=xe[Te],ut=We?.onMouseDown;if(ut&&typeof ut=="function")return void ut(Be)}const Ie=new MouseEvent("mousedown",{bubbles:!0,cancelable:!0,view:window});xe.dispatchEvent(Ie)}})))},se=setInterval(fe,1e3);return fe(),()=>clearInterval(se)},[]),$3(),M.useEffect(()=>{if(!me){const fe=se=>{const ve=se.data.newState;d?.(ve);const xe=X.current;pe(ve?{type:"chatbot_open"}:{type:"chatbot_close",messageCount:xe?Av(xe):0,durationMs:xe?q3(xe):0})};return window.addEventListener("rcb-toggle-chat-window",fe),()=>{window.removeEventListener("rcb-toggle-chat-window",fe)}}},[me,d,pe]),ke.createElement("div",{className:"qa-bot ".concat(!((n=te.general)===null||n===void 0)&&n.embedded?"embedded-qa-bot":""),ref:j,role:"region","aria-label":b||yv},ke.createElement(Y3,{getSessionId:()=>X.current,setSessionId:fe=>{const se=X.current;X.current=fe,nu("RESTORED","".concat(se?.slice(-12)," -> ").concat(fe.slice(-12)))},resetSession:()=>{const fe=X.current;Y.current=!0,X.current=pv(),nu("RESET","".concat(fe?.slice(-12)," -> ").concat(X.current.slice(-12)))},clearResettingFlag:()=>{Y.current=!1}},ke.createElement(K3,{trackEvent:pe},ke.createElement(Nm,null,ke.createElement("div",null,ke.createElement(J3,null),ke.createElement(cv,{ref:e,embedded:((r=te.general)===null||r===void 0?void 0:r.embedded)||!1,currentOpen:u||!1,enabled:ue!==!1,onSetEnabled:fe=>le(!!fe&&void 0)}),ke.createElement(pC,{key:"chatbot-".concat(W.current,"-").concat(ue),settings:te,flow:_,plugins:Z}),ke.createElement("div",{role:"status","aria-live":"polite","aria-label":"Bot response updates",className:"sr-only",id:"bot-live-region"}),ke.createElement("div",{id:"chat-input-help",className:"sr-only"},"Type your message and press Enter to send. Use arrow keys to navigate through response options."))))))});wh.displayName="QABot",sm('.rcb-chat-window{height:800px!important;max-height:80vh!important;max-width:100%;width:550px!important}.rcb-chat-window .rcb-chat-header{align-items:center;display:flex;flex-direction:row;font-weight:700}.rcb-chat-window a{color:#000;font-weight:700;text-decoration:underline}.rcb-chat-window a:hover{color:var(--primaryColor,#107180)}.rcb-chat-window .rcb-bot-message a,.rcb-chat-window .rcb-bot-message a:link,.rcb-chat-window .rcb-bot-message a:visited{color:#fff!important;text-decoration:underline!important}.rcb-chat-window .rcb-bot-message a:hover{opacity:.85;text-decoration:underline!important}.rcb-chat-window .rcb-chat-input-textarea{overflow-y:auto}.rcb-chat-window .rcb-chat-footer-container{font-size:10px}.qa-bot .history-button,.qa-bot .user-login-icon{display:none!important}.qa-bot.bot-logged-in .history-button,.qa-bot.bot-logged-in .user-login-icon{display:flex!important;transform:scale(1.3) translateY(-2px)}.qa-bot.bot-logged-in .history-button:hover{opacity:.8}.qa-bot.bot-logged-in .history-button:focus{outline:2px solid #fff;outline-offset:2px}.embedded-qa-bot .rcb-chat-window{max-width:100%;width:100%!important}.qa-bot.hidden{display:none}.embedded-qa-bot .rcb-bot-message,.embedded-qa-bot .rcb-user-message{max-width:90%!important;word-break:break-word}.embedded-qa-bot .rcb-chat-input-textarea{width:100%!important}.qa-bot-container{max-width:100%;width:100%}@keyframes phone-ring{0%{transform:translateX(0) translateY(0) rotate(0deg)}2%{transform:translateX(0) translateY(-8px) rotate(-2deg)}4%{transform:translateX(0) translateY(-6px) rotate(2deg)}6%{transform:translateX(0) translateY(-8px) rotate(-1deg)}8%{transform:translateX(0) translateY(-6px) rotate(1deg)}10%{transform:translateX(0) translateY(-8px) rotate(-2deg)}12%{transform:translateX(0) translateY(-6px) rotate(2deg)}20%{transform:translateX(0) translateY(0) rotate(0deg)}30%{transform:translateX(0) translateY(0) rotate(0deg)}40%{transform:translateX(0) translateY(0) rotate(0deg)}49%{transform:translateX(0) translateY(0) rotate(0deg)}50%{transform:translateX(0) translateY(-8px) rotate(-2deg)}52%{transform:translateX(0) translateY(-6px) rotate(2deg)}54%{transform:translateX(0) translateY(-8px) rotate(-1deg)}56%{transform:translateX(0) translateY(-6px) rotate(1deg)}58%{transform:translateX(0) translateY(-8px) rotate(-2deg)}60%{transform:translateX(0) translateY(-6px) rotate(2deg)}70%{transform:translateX(0) translateY(0) rotate(0deg)}to{transform:translateX(0) translateY(0) rotate(0deg)}}@media (max-width:768px){.rcb-chat-window{max-height:calc(100vh - 100px)!important;max-width:calc(100vw - 40px)!important;width:550px!important}.embedded-chat-container.open{height:400px}.embedded-chat-closed{font-size:14px;height:40px}.embedded-chat-open-btn{font-size:12px;padding:3px 10px}.rcb-bot-message,.rcb-user-message{max-width:85%!important}.rcb-chat-input-textarea{font-size:16px!important;min-height:44px!important}.rcb-chat-header{padding:12px 16px!important}}@media (max-width:480px){.rcb-chat-window{bottom:10px!important;left:10px!important;max-height:calc(100vh - 80px)!important;max-width:calc(100vw - 20px)!important;right:10px!important;width:calc(100vw - 20px)!important}.embedded-chat-container.open{height:350px}.rcb-bot-message,.rcb-user-message{margin-bottom:8px!important;max-width:90%!important}.rcb-chat-header{font-size:14px!important;padding:8px 12px!important}.rcb-chat-button{bottom:20px!important;height:50px!important;right:20px!important;width:50px!important}.rcb-chat-footer-container{font-size:9px!important;padding:8px 12px!important}}@media (max-width:360px){.rcb-chat-window{left:5px!important;max-width:calc(100vw - 10px)!important;right:5px!important;width:calc(100vw - 10px)!important}.rcb-chat-header{font-size:13px!important;padding:6px 8px!important}}.rcb-checkbox-container{display:flex!important;flex-wrap:wrap!important;gap:8px!important;margin-left:16px!important;max-width:100%!important;padding-top:12px!important}.rcb-checkbox-row-container{align-items:center!important;background-color:#fff!important;border:1px solid #d0d0d0!important;border-radius:6px!important;box-sizing:border-box!important;color:var(--primaryColor,#107180)!important;cursor:pointer!important;display:flex!important;flex:0 0 auto!important;font-size:14px!important;font-weight:400!important;margin:0!important;max-height:auto!important;min-height:auto!important;padding:8px 12px!important;text-align:center!important;transition:all .2s ease!important;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:auto!important}.rcb-checkbox-row-container:hover{background-color:#e8f4f8!important;border-color:var(--primaryColor,#107180)!important;box-shadow:0 2px 4px #10718033!important;transform:translateY(-1px)!important}.rcb-checkbox-row-container[data-checked=true]{background-color:var(--primaryColor,#107180)!important;border-color:var(--primaryColor,#107180)!important;color:#fff!important}.rcb-checkbox-row{margin-left:0!important}.rcb-checkbox-mark{height:14px!important;margin-right:6px!important;width:14px!important}.rcb-checkbox-label{font-size:13px!important;margin:0!important;white-space:nowrap!important}.rcb-checkbox-next-button{align-items:center!important;background-color:#fff!important;border:1px solid #d0d0d0!important;border-radius:6px!important;box-sizing:border-box!important;color:var(--secondaryColor,#107180)!important;cursor:pointer!important;display:flex!important;flex:0 0 auto!important;font-size:14px!important;font-weight:400!important;justify-content:center!important;line-height:24px!important;margin:0!important;max-height:auto!important;min-height:auto!important;padding:8px 12px!important;text-align:center!important;transition:all .2s ease!important;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:auto!important}.rcb-checkbox-next-button:hover{background-color:#e8f4f8!important;border-color:var(--secondaryColor,#107180)!important;box-shadow:0 2px 4px #10718033!important;transform:translateY(-1px)!important}.sr-only{clip:rect(0,0,0,0)!important;border:0!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}.rcb-chat-input-send-button:focus,.rcb-chat-input-textarea:focus{outline:2px solid var(--primaryColor,#107180)!important;outline-offset:2px!important}.rcb-user-message{word-wrap:break-word!important;overflow:hidden!important;word-break:break-word!important}:focus-visible{outline:2px solid var(--primaryColor,#107180)!important;outline-offset:2px!important}.rcb-options-container{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;gap:8px!important;margin:16px!important;padding:0!important}.rcb-options{background-color:#fff!important;border:1px solid #d0d0d0!important;border-radius:6px!important;box-sizing:border-box!important;color:var(--secondaryColor,#107180)!important;cursor:pointer!important;flex:0 0 auto!important;font-size:14px!important;font-weight:400!important;outline:none!important;padding:8px 12px!important;text-align:center!important;transition:all .2s ease!important;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:auto!important}.rcb-options:hover{background-color:#e8f4f8!important;border-color:var(--secondaryColor,#107180)!important;box-shadow:0 2px 4px #10718033!important;transform:translateY(-1px)!important}.rcb-checkbox-next-button.keyboard-focused,.rcb-checkbox-next-button:focus,.rcb-checkbox-next-button:focus-visible,.rcb-checkbox-row-container.keyboard-focused,.rcb-checkbox-row-container:focus,.rcb-checkbox-row-container:focus-visible,.rcb-options.keyboard-focused,.rcb-options:focus,.rcb-options:focus-visible{background-color:#e8f4f8!important;border-color:var(--secondaryColor,#107180)!important;outline:none!important}.rcb-options:active{background-color:var(--secondaryColor,#107180)!important;border-color:var(--secondaryColor,#107180)!important;color:#fff!important;transform:translateY(0)!important}.keyboard-nav-hint{color:#666!important;font-size:12px!important;font-style:italic!important;margin-bottom:8px!important}@media (prefers-reduced-motion:reduce){.keyboard-nav-hint{display:none!important}}.rcb-options-container [role=button][tabindex="0"],.rcb-options-container button[tabindex="0"]{position:relative!important}.rcb-options-container [role=button][tabindex="0"]:after,.rcb-options-container button[tabindex="0"]:after{color:var(--secondaryColor,#107180)!important;content:"←"!important;font-size:16px!important;opacity:0!important;position:absolute!important;right:12px!important;top:50%!important;transform:translateY(-50%)!important;transition:opacity .2s ease!important}.rcb-options-container [role=button][tabindex="0"]:focus:after,.rcb-options-container button[tabindex="0"]:focus:after{opacity:1!important}.rcb-chat-input-send-button{cursor:pointer!important;opacity:1!important;pointer-events:auto!important;visibility:visible!important}.rcb-chat-input-send-button:not([tabindex]){-webkit-user-select:none;-moz-user-select:none;user-select:none}.rcb-chat-input-container [onclick],.rcb-chat-input-container [role=button],.rcb-chat-input-container div[style*=cursor],.rcb-chat-input-container svg:last-child,.rcb-chat-input-container>div:last-child{tabindex:0!important;cursor:pointer!important}.rcb-chat-footer{margin-top:4px!important;padding-top:0!important}.rcb-chat-footer-container{align-items:center!important;display:flex!important;margin-top:4px!important;padding-top:4px!important}.rcb-chat-footer-container button{order:1!important}.rcb-chat-footer-container a[href*=qa-bot-core]{tab-index:0!important;order:2!important}.rcb-chat-footer-container a[href*=feedback]{tab-index:0!important;order:3!important}@media (prefers-contrast:high){.rcb-chat-window a{background-color:#fff!important;border:1px solid #000!important;color:#000!important}}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.rcb-chat-input-textarea{user-select:text!important}.rcb-chat-body-container,.rcb-chat-input-textarea,.rcb-chat-window{touch-action:pan-y!important}.embedded-qa-bot,.rcb-chat-window{-webkit-overflow-scrolling:touch!important}.embedded-qa-bot .rcb-chat-input-textarea{touch-action:pan-y!important;user-select:text!important}.embedded-qa-bot .rcb-chat-body-container,.embedded-qa-bot .rcb-chat-window{touch-action:pan-y!important}.rcb-chat-header-container{background:var(--primaryColor,#1a5b6e)!important;background:linear-gradient(135deg,var(--primaryColor,#1a5b6e) 0,var(--secondaryColor,#107180) 100%)!important}.rcb-toggle-button{align-items:center!important;background:var(--primaryColor,#1a5b6e)!important;display:flex!important;justify-content:center!important}.rcb-toggle-button svg{stroke:#fff!important;color:#fff!important}.rcb-toggle-button *,.rcb-toggle-button img,.rcb-toggle-button svg,.rcb-toggle-button>*{box-sizing:border-box!important;height:50px!important;left:0!important;margin:0 auto!important;max-height:50px!important;max-width:50px!important;min-height:50px!important;min-width:50px!important;padding:2px!important;position:relative!important;top:0!important;width:50px!important}.rcb-send-button{background-color:var(--primaryColor,#1a5b6e)!important}',{insertAt:"top"});const cD=()=>{const[t,e]=M.useState(!1),n=()=>typeof navigator<"u"&&navigator.mediaDevices!==void 0&&typeof navigator.mediaDevices.getDisplayMedia=="function";return{captureScreenshot:async()=>{if(!n())throw new Error("Screen capture is not available in this environment");try{e(!0);const r=await navigator.mediaDevices.getDisplayMedia({video:{displaySurface:"browser",cursor:"always",width:{ideal:1920},height:{ideal:1080}},audio:!1}),o=document.createElement("video");o.srcObject=r,await new Promise(h=>{o.onloadedmetadata=()=>{o.play(),h()}});const i=document.createElement("canvas");i.width=o.videoWidth,i.height=o.videoHeight;const a=i.getContext("2d");if(!a)throw new Error("Could not get canvas context");a.drawImage(o,0,0,i.width,i.height);const c=await new Promise(h=>i.toBlob(h,"image/png"));if(!c)throw new Error("Could not create image blob");const u=new Date().toISOString().replace(/[:.]/g,"-"),d=new File([c],"screenshot-".concat(u,".png"),{type:"image/png"});return r.getTracks().forEach(h=>h.stop()),e(!1),d}catch(r){throw cs("Error capturing screenshot:",r),e(!1),r}},isCapturing:t,isScreenCaptureAvailable:n()}},uD=t=>ke.createElement(mv,t,ke.createElement("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),ke.createElement("polyline",{points:"17 8 12 3 7 8"}),ke.createElement("line",{x1:"12",y1:"3",x2:"12",y2:"15"})),dD=t=>new Promise((e,n)=>{const r=new FileReader;r.onload=()=>{if(typeof r.result!="string")return void n(new Error("Failed to read file ".concat(t.name)));const o=r.result.split(",")[1];e({fileName:t.name,contentType:t.type,size:t.size,fileData:o})},r.onerror=()=>n(new Error("Failed to read file ".concat(t.name))),r.readAsDataURL(t)}),fD=t=>Promise.all(t.map(dD)),hD=t=>t<1024?"".concat(t," B"):t<1048576?"".concat((t/1024).toFixed(1)," KB"):"".concat((t/1048576).toFixed(1)," MB"),ru=t=>{let{onFileUpload:e,maxSizeMB:n=10,acceptedTypes:r="image/*,application/pdf,text/*,.doc,.docx",enableScreenshot:o=!1,className:i}=t;const[a,c]=M.useState(!1),[u,d]=M.useState([]),[h,p]=M.useState(null),g=M.useRef(null),{captureScreenshot:m,isCapturing:y,isScreenCaptureAvailable:b}=cD(),k=O=>{const Q=document.createElement("div");Q.setAttribute("aria-live","assertive"),Q.setAttribute("aria-atomic","true"),Q.className="sr-only",Q.textContent=O,document.body.appendChild(Q),setTimeout(()=>document.body.removeChild(Q),1e3)},E=O=>{if(!O||O.length===0)return void W3("FileUploadComponent: No valid files provided to handleFiles");let Q;try{Q=Array.from(O)}catch(X){return cs("FileUploadComponent: Error converting files to array:",X),void k("Error processing selected files. Please try again.")}const q=[...u,...Q];d(q);const V=Q.length,W=Q.map(X=>X.name).join(", ");k("".concat(V," file").concat(V>1?"s":""," selected: ").concat(W)),setTimeout(()=>{const X=document.querySelector(".rcb-chat-content");X&&(X.scrollTop=X.scrollHeight)},100),e&&e(q)},I=O=>{O.preventDefault(),O.stopPropagation(),O.type==="dragenter"||O.type==="dragover"?c(!0):O.type==="dragleave"&&c(!1)},P=()=>{try{g.current&&g.current.click()}catch(O){cs("FileUploadComponent: Error in handleButtonClick:",O),k("Error opening file selection dialog. Please try again.")}},D=()=>{p(null)},L=o&&b;return ke.createElement("div",{className:"file-upload-container ".concat(i||""),style:{padding:"16px",margin:"8px 0"}},L&&ke.createElement("div",{style:{display:"flex",justifyContent:"center",marginBottom:"10px"}},ke.createElement("button",{onClick:O=>{O.preventDefault(),(async()=>{try{const Q=await m();E([Q]),k("Screenshot captured successfully")}catch{k("Error capturing screenshot. Please try again.")}})()},disabled:y,"aria-describedby":"screenshot-help","aria-label":y?"Taking screenshot, please wait":"Take a screenshot to attach",style:{display:"flex",alignItems:"center",gap:"8px",backgroundColor:"#107180",color:"white",border:"none",borderRadius:"5px",padding:"8px 12px",cursor:y?"not-allowed":"pointer",fontSize:"14px",fontWeight:"500",boxShadow:"0 1px 3px rgba(0,0,0,0.2)"}},ke.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},ke.createElement("path",{d:"M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z"}),ke.createElement("circle",{cx:"12",cy:"13",r:"4"})),y?"Taking screenshot...":"Take screenshot..."),ke.createElement("span",{id:"screenshot-help",className:"sr-only"},"Captures the current screen and adds it as an attachment")),ke.createElement("div",{className:"file-upload-dropzone ".concat(a?"active":""),onDragEnter:I,onDragLeave:I,onDragOver:I,onDrop:O=>{var Q;O.preventDefault(),O.stopPropagation(),c(!1);try{!((Q=O.dataTransfer)===null||Q===void 0)&&Q.files&&O.dataTransfer.files.length>0&&E(O.dataTransfer.files)}catch(q){cs("FileUploadComponent: Error in handleDrop:",q),k("Error processing dropped files. Please try again.")}},role:"button",tabIndex:0,"aria-label":"File upload area. Click to select files or drag and drop files here.","aria-describedby":"upload-instructions",onKeyDown:O=>{O.key!=="Enter"&&O.key!==" "||(O.preventDefault(),P())},style:{padding:"20px",border:"2px dashed #ccc",borderRadius:"8px",backgroundColor:a?"#f0f8ff":"#fafafa",transition:"all 0.3s ease"}},ke.createElement("input",{ref:g,type:"file",className:"file-input",onChange:O=>{var Q;try{!((Q=O.target)===null||Q===void 0)&&Q.files&&O.target.files.length>0&&E(O.target.files)}catch(q){cs("FileUploadComponent: Error in handleFileSelect:",q),k("Error processing selected files. Please try again.")}},multiple:!0,style:{display:"none"},"aria-label":"Select files to upload",accept:r}),ke.createElement("div",{className:"upload-content",onClick:P,style:{cursor:"pointer",flexDirection:"column",alignItems:"center",display:"flex",textAlign:"center",padding:"12px"}},ke.createElement("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",gap:"8px"}},ke.createElement("div",{style:{display:"flex",flexDirection:"row",alignItems:"center",gap:"10px"}},ke.createElement(uD,null),ke.createElement("p",{style:{margin:0,fontWeight:"bold"}},"Upload Files")),ke.createElement("p",{id:"upload-instructions",style:{margin:0,fontSize:"14px",color:"#666"}},"Drag and drop files here or click to select. (Max ",n,"MB each)")),u.length>0&&ke.createElement("div",{className:"selected-files",style:{display:"flex",flexWrap:"wrap",gap:"8px",marginTop:"12px",alignItems:"center"}},ke.createElement("span",{style:{fontWeight:400,color:"#888",fontSize:"13px",marginRight:"8px",alignSelf:"center"}},"Selected files:"),u.map((O,Q)=>ke.createElement("span",{key:Q,style:{background:"#fff",color:"#107180",borderRadius:"5px",padding:"4px 12px",fontSize:"14px",marginRight:"4px",marginBottom:"4px",border:"1px solid #ccc",display:"flex",alignItems:"center",gap:"6px",cursor:"pointer"},onClick:q=>{q.stopPropagation(),(V=>{p(V)})(O)}},ke.createElement("span",{onClick:q=>{q.stopPropagation(),(V=>{const W=u.filter((X,Y)=>Y!==V);d(W),e&&e(W)})(Q)},style:{cursor:"pointer",color:"#888",fontWeight:"bold",fontSize:"15px",marginRight:"4px",userSelect:"none",lineHeight:1},title:"Remove file","aria-label":"Remove ".concat(O.name)},"×"),O.name," (",hD(O.size),")"))))),(()=>{if(!h)return null;const O=h.type.startsWith("image/"),Q=h.type.startsWith("text/"),q=h.type==="application/pdf";return ke.createElement("div",{style:{position:"fixed",top:0,left:0,right:0,bottom:0,backgroundColor:"rgba(0, 0, 0, 0.7)",display:"flex",justifyContent:"center",alignItems:"center",zIndex:1e3},onClick:D},ke.createElement("div",{style:{backgroundColor:"white",padding:"20px",borderRadius:"8px",maxWidth:"90%",maxHeight:"90%",overflow:"auto",position:"relative"},onClick:V=>V.stopPropagation()},ke.createElement("button",{onClick:D,style:{position:"absolute",top:"10px",right:"10px",background:"none",border:"none",fontSize:"24px",cursor:"pointer",color:"#666"}},"×"),ke.createElement("h3",{style:{marginTop:0,marginBottom:"16px"}},h.name),O&&ke.createElement("img",{src:URL.createObjectURL(h),alt:h.name,style:{maxWidth:"100%",maxHeight:"70vh"}}),Q&&ke.createElement("pre",{style:{whiteSpace:"pre-wrap",wordWrap:"break-word",maxHeight:"70vh",overflow:"auto",padding:"16px",backgroundColor:"#f5f5f5",borderRadius:"4px"}},URL.createObjectURL(h)),q&&ke.createElement("iframe",{src:URL.createObjectURL(h),style:{width:"100%",height:"70vh",border:"none"},title:h.name}),!O&&!Q&&!q&&ke.createElement("div",{style:{padding:"20px",textAlign:"center"}},"Preview not available for this file type")))})())};function pD(t,e){if(!e||Object.keys(e).length===0)return t;const n={};for(const[r,o]of Object.entries(t)){let i=Object.assign({},o);if(i.chatDisabled===void 0){const a=!(!i.options&&!i.checkboxes);i.chatDisabled=a}n[r]=i}return n}function ou(t){return async e=>{const n=await t(e);await e.injectMessage(n)}}const AD=ke.forwardRef((t,e)=>{const[n,r]=ke.useState(t.defaultOpen||!1),o=ke.useRef(null);return ke.useImperativeHandle(e,()=>({addMessage:i=>{var a;(a=o.current)===null||a===void 0||a.addMessage(i)},setBotEnabled:i=>{var a;(a=o.current)===null||a===void 0||a.setBotEnabled(i)},openChat:()=>{var i;r(!0),(i=o.current)===null||i===void 0||i.openChat()},closeChat:()=>{var i;r(!1),(i=o.current)===null||i===void 0||i.closeChat()},toggleChat:()=>{var i;r(a=>!a),(i=o.current)===null||i===void 0||i.toggleChat()}}),[]),ke.createElement(wh,{ref:o,apiKey:t.apiKey,qaEndpoint:t.qaEndpoint,ratingEndpoint:t.ratingEndpoint,welcomeMessage:t.welcomeMessage,primaryColor:t.primaryColor,secondaryColor:t.secondaryColor,botName:t.botName,logo:t.logo,placeholder:t.placeholder,errorMessage:t.errorMessage,embedded:t.embedded,isLoggedIn:t.isLoggedIn,allowAnonAccess:t.allowAnonAccess,open:n,onOpenChange:r,footerText:t.footerText,footerLink:t.footerLink,tooltipText:t.tooltipText,onAnalyticsEvent:t.onAnalyticsEvent})});AD.displayName="ProgrammaticQABot";const ki={QA_ENDPOINT:"https://access-ai-grace1-external.ccs.uky.edu/access/chat/api/",RATING_ENDPOINT:"https://access-ai-grace1-external.ccs.uky.edu/access/chat/rating/",METRICS_API_ENDPOINT:"https://access-ai-grace1-external.ccs.uky.edu/access/xdmod/chat/api/",METRICS_RATING_ENDPOINT:"https://access-ai-grace1-external.ccs.uky.edu/access/xdmod/chat/rating/",METRICS_QUESTIONS_URL:"https://metrics.access-ci.org/qa_bot_faq",NETLIFY_BASE_URL:"https://access-jsm-api.netlify.app",DEFAULT_API_KEY:"demo-key"},Go={BOT_NAME:"ACCESS Q&A",LOGO:"https://support.access-ci.org/themes/contrib/asp-theme/images/icons/ACCESS-arrrow.svg",WELCOME_MESSAGE:"Hello! What can I help you with?",WELCOME_MESSAGE_LOGGED_OUT:"To ask questions, please log in.",LOGIN_URL:"/login",PRIMARY_COLOR:"#1a5b6e",SECONDARY_COLOR:"#107180",TOOLTIP:"Ask me about ACCESS! 😊"},xv={SESSION_ID:"access-qa-bot-session-id"};function gD({welcome:t,setTicketForm:e,isLoggedIn:n,trackEvent:r}){return{start:{message:t,options:["Ask a question about ACCESS","Open a Help Ticket","Usage and performance of ACCESS resources (XDMoD)","Report a security issue"],path:o=>(r({type:"chatbot_menu_selected",selection:o.userInput}),o.userInput==="Ask a question about ACCESS"?n?"go_ahead_and_ask":"qa_loop":o.userInput==="Open a Help Ticket"?(e({}),"help_ticket"):o.userInput==="Usage and performance of ACCESS resources (XDMoD)"?"metrics_intro":o.userInput==="Report a security issue"?(e({}),r({type:"chatbot_security_started"}),"security_incident"):"start")},go_ahead_and_ask:{message:`Go ahead and ask your question! I'll do my best to help.
|
|
119
119
|
|
|
120
120
|
<em>This assistant is powered by AI. Responses may not always be accurate. Do not share passwords or secrets.</em> <a href="https://support.access-ci.org/tools/access-qa-tool/privacy">Privacy Notice</a>`,renderHtml:["BOT"],path:"qa_loop"}}}let kh=null;function mD(t){kh=t}function Ge(){return kh?kh.ticketForm||{}:(console.warn("Form context not available, returning empty form"),{})}function yn(t={}){const e=Ge();return{...e,email:t.email||e.email,name:t.name||e.name,accessId:t.accessId||e.accessId}}function Sh(t){return t&&t.length>0?`
|
|
121
121
|
Attachments: ${t.length} file(s) attached`:""}const sa={SUPPORT:17,LOGIN_ACCESS:30,LOGIN_PROVIDER:31,SECURITY:26};async function vD(t,e="support",n=[]){const r={support:sa.SUPPORT,general_help:sa.SUPPORT,loginAccess:sa.LOGIN_ACCESS,loginProvider:sa.LOGIN_PROVIDER,security:sa.SECURITY}[e]||sa.SUPPORT,o={serviceDeskId:e==="security"?3:2,requestTypeId:r,requestFieldValues:{...t}};return n.length>0&&(o.attachments=await fD(n)),o}async function yD(t,e){var n,r;const o=`${ki.NETLIFY_BASE_URL}/api/v1/${e}`;try{const i=await fetch(o,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!i.ok){let c="";try{const u=await i.text();try{const d=JSON.parse(u);c=d.message||d.error||u}catch{c=u}}catch{c=`HTTP ${i.status} ${i.statusText}`}return i.status===403?c="The ticket service is temporarily unavailable. Please try again later or contact support directly.":i.status===404?c="Ticket service not found. Please try again later.":i.status===500?c="Server error. Please try again later.":i.status===401&&(c="Authentication error with the ticket service. Please contact support."),{success:!1,status:i.status,error:c}}const a=await i.json();return{success:!0,ticketKey:(n=a.data)==null?void 0:n.ticketKey,ticketUrl:(r=a.data)==null?void 0:r.ticketUrl}}catch(i){return{success:!1,error:i instanceof Error?i.message:"Unknown error"}}}async function iu(t,e,n=[]){try{const r=await vD(t,e,n);return await yD(r,e==="security"?"security-incidents":"tickets")}catch(r){return{success:!1,error:r instanceof Error?r.message:"Unknown error"}}}function Ch(t,e="ticket"){return t?t.success?t.ticketUrl&&t.ticketKey?`Your ${e} has been submitted successfully.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as kl, g as El, a as P, j as R, A as Z } from "./index-
|
|
1
|
+
import { r as kl, g as El, a as P, j as R, A as Z } from "./index-CYiW1U_C.js";
|
|
2
2
|
var Cl = kl();
|
|
3
3
|
const Sl = /* @__PURE__ */ El(Cl);
|
|
4
4
|
var Wa = Sl;
|
|
@@ -7929,8 +7929,8 @@ const zd = Z.forwardRef((e, t) => {
|
|
|
7929
7929
|
zd.displayName = "ProgrammaticQABot";
|
|
7930
7930
|
const gn = {
|
|
7931
7931
|
// Q&A API endpoints
|
|
7932
|
-
QA_ENDPOINT: "
|
|
7933
|
-
RATING_ENDPOINT: "
|
|
7932
|
+
QA_ENDPOINT: "https://access-ai-grace1-external.ccs.uky.edu/access/chat/api/",
|
|
7933
|
+
RATING_ENDPOINT: "https://access-ai-grace1-external.ccs.uky.edu/access/chat/rating/",
|
|
7934
7934
|
// Metrics/XDMoD API endpoints
|
|
7935
7935
|
METRICS_API_ENDPOINT: "https://access-ai-grace1-external.ccs.uky.edu/access/xdmod/chat/api/",
|
|
7936
7936
|
METRICS_RATING_ENDPOINT: "https://access-ai-grace1-external.ccs.uky.edu/access/xdmod/chat/rating/",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { j as i } from "./index-
|
|
1
|
+
import { j as i } from "./index-CYiW1U_C.js";
|
|
2
2
|
function c({ alt: n = null, name: s = null, src: l = null }) {
|
|
3
3
|
return s ? /* @__PURE__ */ i.jsx("i", { className: `icon bi bi-${s}` }) : /* @__PURE__ */ i.jsx("img", { className: "icon", alt: n, src: l });
|
|
4
4
|
}
|
|
@@ -344,7 +344,7 @@ function tp() {
|
|
|
344
344
|
return l.length !== u.length || l.some((a, d) => !Object.is(a, u[d]));
|
|
345
345
|
}
|
|
346
346
|
const np = b.lazy(
|
|
347
|
-
() => import("./access-qa-bot-
|
|
347
|
+
() => import("./access-qa-bot-0-eHPl7L.js").then((l) => ({
|
|
348
348
|
default: l.QABot
|
|
349
349
|
}))
|
|
350
350
|
);
|
|
@@ -7937,7 +7937,7 @@ function q0(l, { relative: u } = {}) {
|
|
|
7937
7937
|
let p = Bt(a.currentLocation.pathname, d) || a.currentLocation.pathname, g = Bt(a.nextLocation.pathname, d) || a.nextLocation.pathname;
|
|
7938
7938
|
return $o(c.pathname, g) != null || $o(c.pathname, p) != null;
|
|
7939
7939
|
}
|
|
7940
|
-
const X0 = b.lazy(() => import("./resource-group-detail-
|
|
7940
|
+
const X0 = b.lazy(() => import("./resource-group-detail-CZ1YKaye.js")), Z0 = b.lazy(() => import("./resource-home-B2yybzmX.js"));
|
|
7941
7941
|
function _0({
|
|
7942
7942
|
accessId: l,
|
|
7943
7943
|
baseUri: u = "/resources",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { a as q, j as v, u as mt, s as To, b as hi, e as ec, h as Vn, c as Is, d as ic, f as nc, B as sc } from "./index-
|
|
2
|
-
import { I as U } from "./icon-
|
|
1
|
+
import { a as q, j as v, u as mt, s as To, b as hi, e as ec, h as Vn, c as Is, d as ic, f as nc, B as sc } from "./index-CYiW1U_C.js";
|
|
2
|
+
import { I as U } from "./icon-DkwvVlzC.js";
|
|
3
3
|
const Bs = () => {
|
|
4
4
|
const i = new Event("accessci-update-sections");
|
|
5
5
|
document.dispatchEvent(i);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { j as e, a as m, i as j, k as b, B as v } from "./index-
|
|
2
|
-
import { I as d } from "./icon-
|
|
1
|
+
import { j as e, a as m, i as j, k as b, B as v } from "./index-CYiW1U_C.js";
|
|
2
|
+
import { I as d } from "./icon-DkwvVlzC.js";
|
|
3
3
|
const C = {
|
|
4
4
|
"ACCESS Pegasus": "https://pegasus.isi.edu/wordpress/wp-content/uploads/2016/01/favicon.ico",
|
|
5
5
|
"ACCESS OnDemand": "https://openondemand.org/themes/fire/theme/assets/media/favicons/favicon.ico",
|