import{r as f,j as i,u as P,c as S,a as $,f as V,R as m,S as w,H as A,C as R,b as K,P as B,d as H}from"./global-BuVJtof0.js?v=40498986022";import{u as J,Q as Y,a as X}from"./useQuery-D4HveN4F.js?v=40498986022";import{T as L}from"./Text.esm-C0DOJ5U_.js?v=40498986022";const C=P();function Z(e){C({eventName:"VIEWED_QUESTION",question_alias:e})}function ee(e){C({eventName:"SELECTED_ANSWER",question_alias:e})}function te(e){C({eventName:"ANSWERED_QUESTION",question_alias:e})}function re({onComplete:e}){return f.useEffect(()=>{const s=function(t){if(t.origin==="https://ramsey.qualtrics.com")switch(t.data.event){case"VIEWED_QUESTION":return Z(t.data.questionId);case"SELECTED_ANSWER":return ee(t.data.questionId);case"ANSWERED_QUESTION":return te(t.data.questionId);case"COMPLETED_SURVEY":return e(t.data.responseId)}};return window.addEventListener("message",s),()=>window.removeEventListener("message",s)},[]),i.jsx("iframe",{title:"Get Started Assessment",width:"1000",height:"1000",src:`https://ramsey.qualtrics.com/jfe/form/${window.qualtricsSurveyId}?referrerOrigin=${window.location.origin}`,"data-testid":"iframe_gsa_qualtrics_survey"})}function se(){return J({queryKey:["survey-questions"],queryFn:async()=>{const e=await fetch("/get-started/gs/api/survey/questions");if(!e.ok)throw new Error("Failed to fetch survey questions");return e.json()},staleTime:1/0,refetchOnWindowFocus:!1})}function ne(e){const[s,t]=f.useState(null),[r,n]=f.useState({}),a=f.useMemo(()=>e.filter(d=>ae(d,r)),[e,r]);f.useEffect(()=>{!s&&a.length>0&&t(a[0].key)},[s,a]);const l=a.findIndex(d=>d.key===s),u=l>=0?a[l]:null,c=(d,E)=>{n(h=>({...h,[d]:E}))},o=()=>{const d=Math.min(l+1,a.length-1);d{const d=Math.max(l-1,0);d>=0&&t(a[d].key)},g=l>=0&&l===a.length-1,p=l===0;return{currentQuestion:u,currentQuestionIndex:Math.max(0,l),visibleQuestions:a,totalQuestions:e.length,answers:r,updateAnswer:c,nextQuestion:o,previousQuestion:v,isLastQuestion:g,isFirstQuestion:p}}function ae(e,s){if(!e.conditionalLogic)return!0;const{dependsOn:t,showWhen:r}=e.conditionalLogic,n=s[t];return!n||n.length===0?!1:n.some(a=>r.includes(a))}function ie({current:e,total:s}){const t=(e+1)/s*100;return i.jsx("div",{className:"mb-2","data-testid":"survey-progress",children:i.jsx("div",{className:"w-full h-2 bg-gray-20 rounded-full overflow-hidden",children:i.jsx("div",{className:"h-full bg-blue-50 transition-all duration-300",style:{width:`${t}%`},"data-testid":"survey-progress-bar"})})})}var j=function(){return j=Object.assign||function(s){for(var t,r=1,n=arguments.length;ri.jsx(D,{className:"w-full",name:r,value:n.value,checked:s===n.value,onChange:()=>t(n.value),label:n.answerText,size:"sm","data-testid":`survey-answer-${e.key}-${a}`,"data-analytics-link-label":`gsa-survey-answer-${e.key}-${a}`},n.value))})})]})}var k=function(){return k=Object.assign||function(s){for(var t,r=1,n=arguments.length;r{const l=e.options.find(u=>u.value===n)?.exclusive===!0;if(s.includes(n))t(s.filter(u=>u!==n));else if(l)t([n]);else{const u=e.options.filter(o=>o.exclusive===!0).map(o=>o.value),c=s.filter(o=>!u.includes(o));t([...c,n])}};return i.jsxs(x,{gap:"large",children:[i.jsx(x.Item,{colSpan:{base:12,lg:6},children:i.jsxs(w,{className:"justify-start mb-2 lg:mb-0",vertical:!0,spacing:"md","data-testid":`survey-question-${e.key}`,children:[i.jsx(A,{level:"2",size:"medium",children:e.questionText}),e.questionDescription&&i.jsx(L,{size:"bodySmall",color:"subdued",children:e.questionDescription})]})}),i.jsx(x.Item,{colSpan:{base:12,lg:6},children:i.jsx(w,{vertical:!0,spacing:"md",children:e.options.map((n,a)=>i.jsx(q,{className:"w-full",checked:s.includes(n.value),onChange:()=>r(n.value),label:n.answerText,size:"sm","data-testid":`survey-answer-${e.key}-${a}`,"data-analytics-link-label":`gsa-survey-answer-${e.key}-${a}`},n.value))})})]})}function ve({onComplete:e}){const{data:s,isLoading:t,isError:r}=se(),n=P(),[a,l]=f.useState(!1),[u,c]=f.useState(null),{currentQuestion:o,currentQuestionIndex:v,totalQuestions:g,answers:p,updateAnswer:d,nextQuestion:E,previousQuestion:h,isLastQuestion:b,isFirstQuestion:z}=ne(s?.questions||[]);if(f.useEffect(()=>{o&&n({eventName:"VIEWED_QUESTION",question_alias:o.key})},[v,o,n]),t)return i.jsx("div",{className:"p-8 text-center",children:"Loading survey..."});if(r||!s)return i.jsx("div",{className:"p-8 text-center text-red-600",children:"Error loading survey. Please try again."});if(!o)return i.jsx("div",{className:"p-8 text-center",children:"Loading survey..."});const Q=y=>{n({eventName:"SELECTED_ANSWER",question_alias:o.key}),d(o.key,y),c(null)},F=()=>{const y=p[o.key]?.length>0;if(o.required&&!y){c("Please select an answer to continue.");return}n({eventName:"ANSWERED_QUESTION",question_alias:o.key}),b?G():E()},G=async()=>{l(!0),c(null);try{const y=await fetch("/get-started/gs/api/survey/submit",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({answers:p})});if(!y.ok){console.error("Survey submission failed with status:",y.status),c("Failed to submit survey. Please try again."),l(!1);return}const U=await y.json();e(U.surveyResponseId)}catch(y){console.error("Survey submission error:",y),c("Failed to submit survey. Please try again."),l(!1)}},W=p[o.key]?.length>0,M=!o.required||W;return i.jsxs("div",{className:"w-full max-w-5xl mx-auto p-2",children:[i.jsx(ie,{current:v,total:g}),i.jsx("div",{className:"mb-8",children:o.questionType==="SINGLE_SELECT"?i.jsx(de,{question:o,selectedValue:p[o.key]?.[0]||null,onChange:y=>Q([y])}):i.jsx(pe,{question:o,selectedValues:p[o.key]||[],onChange:Q})}),u&&i.jsx("div",{className:"mb-4 p-3 bg-red-50 border border-red-200 rounded text-red-700","data-testid":"survey-error",children:u}),i.jsxs(w,{spacing:"md",className:"justify-end",children:[!z&&i.jsx(R,{appearance:"subtle",onClick:h,disabled:a,"data-testid":"survey-previous-button","data-analytics-link-label":"gsa-survey-previous-button",children:"Previous"}),i.jsx(R,{appearance:"primary",onClick:F,disabled:!M||a,loading:a,"data-testid":b?"survey-submit-button":"survey-next-button","data-analytics-link-label":b?"gsa-survey-submit-button":"gsa-survey-next-button",children:b?"Submit":"Next"})]})]})}function ye(e){const[s,t]=f.useState(!1),r=f.useCallback(async()=>{try{const n=new URL(`/get-started/gs/api/feature-flags/${e}/check`,window.location.origin),a=await fetch(n,{method:"POST",headers:{"Content-Type":"application/json"}});if(!a.ok){console.warn(`Feature flag '${e}' check failed with status ${a.status}. Defaulting to false.`),t(!1);return}const l=await a.json();t(l)}catch(n){console.error(`Failed to fetch feature flag '${e}':`,n),t(!1)}},[e]);return f.useEffect(()=>{r()},[r]),s}function ge(){const e=K(),s=ye("custom-survey-enabled"),t=r=>{window.location.href=`/get-started/gs/api/results/auth/silent/validate?survey-response-id=${r}`};return f.useEffect(()=>{e({pageName:"Assessment"})},[]),i.jsx(B,{children:i.jsx("div",{className:"rounded-lg shadow-sm overflow-hidden bg-white flex justify-center",children:s?i.jsx(ve,{onComplete:t}):i.jsx(re,{onComplete:t})})})}const he=new Y;H.createRoot(document.getElementById("root")).render(i.jsx(m.StrictMode,{children:i.jsx(X,{client:he,children:i.jsx(ge,{})})}));