PageSourceSearch

https://erpresearch.com/_next/static/chunks/app/wizard/layout-63e7…?dpl=dpl_AYAEBTifR5B7BFQow1v9ts6zfUi8

js erpresearch.com collected 2026-09-24 18:36:44 UTC 32,456 bytes, 1 lines download raw bytes

1!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="26de0f89-1b07-4976-9f05-bc784782bef9",e._sentryDebugIdIdentifier="sentry-dbid-26de0f89-1b07-4976-9f05-bc784782bef9")}catch(e){}}(),(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[35547],{1980:(e,t,s)=>{"use strict";s.d(t,{default:()=>o});var r=s(95155),n=s(12115),a=s(58641),i=s(70466);function o(){let{user:e}=(0,a.V)(),[t,s]=(0,n.useState)(!1),[o,l]=(0,n.useState)("choose"),[c,d]=(0,n.useState)(""),[u,h]=(0,n.useState)(!1),[m,p]=(0,n.useState)(!1),[x,v]=(0,n.useState)(null),[g,b]=(0,n.useState)(!1),[f,j]=(0,n.useState)(!1),[y,w]=(0,n.useState)(null),[k,N]=(0,n.useState)(null);async function C(){if(x)return x;let e=(0,i.R)(),t=await fetch("/api/wizard/share",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({data:e,title:"ERP Requirements"})});if(!t.ok)throw Error("Failed to create share link");let{id:s}=await t.json(),r="".concat(window.location.origin,"/shared/").concat(s);return v(r),r}async function S(){if(k)return k;let e=(0,i.R)(),t=await fetch("/api/wizard/projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({data:e,title:"ERP Requirements",currentStep:1})});if(!t.ok){let e="";try{let s=await t.json();e=(null==s?void 0:s.error)||""}catch(e){}if(401===t.status)throw Error("Your session has expired. Please sign in again.");throw Error(e?"Couldn't save your project: ".concat(e):"Couldn't save your project. Please try again.")}let s=await t.json();return N(s.id),s.id}async function E(e){if(e.preventDefault(),c.trim()){h(!0),w(null);try{let e=await C(),t=encodeURIComponent("ERP Requirements — Review Invitation"),s=encodeURIComponent("Hi,\n\nI'd like to share our ERP requirements with you for review.\n\nView them here: ".concat(e,"\n\nThanks!"));window.open("mailto:".concat(encodeURIComponent(c.trim()),"?subject=").concat(t,"&body=").concat(s)),p(!0),d("")}catch(e){w("Failed to create share link. Please try again.")}finally{h(!1)}}}async function P(e){if(e.preventDefault(),c.trim()){h(!0),w(null);try{let e=await S(),t=await fetch("/api/wizard/projects/".concat(e,"/members"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:c.trim(),role:"editor"})});if(!t.ok){let e=await t.json();throw Error(e.error||"Failed to invite")}let s="".concat(window.location.origin,"/project/").concat(e),r=encodeURIComponent("ERP Requirements — Collaboration Invite"),n=encodeURIComponent("Hi,\n\nI've invited you to collaborate on our ERP requirements. You can edit the requirements directly.\n\nSign in and start editing here: ".concat(s,"\n\nThanks!"));window.open("mailto:".concat(encodeURIComponent(c.trim()),"?subject=").concat(r,"&body=").concat(n)),p(!0),d("")}catch(e){w(e instanceof Error?e.message:"Failed to invite collaborator.")}finally{h(!1)}}}async function z(){w(null),j(!0);try{let e=await C();await navigator.clipboard.writeText(e),b(!0),setTimeout(()=>b(!1),2e3)}catch(e){w("Failed to create share link.")}finally{j(!1)}}function q(){s(!1),l("choose"),p(!1),w(null)}return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("button",{className:"header-share-btn",onClick:()=>s(!0),type:"button",children:[(0,r.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,r.jsx)("path",{d:"M4 12v8a2 2 0 002 2h12a2 2 0 002-2v-8"}),(0,r.jsx)("polyline",{points:"16 6 12 2 8 6"}),(0,r.jsx)("line",{x1:"12",y1:"2",x2:"12",y2:"15"})]}),"Share"]}),t&&(0,r.jsx)("div",{className:"share-overlay",onClick:q,children:(0,r.jsxs)("div",{className:"share-dialog share-invite-dialog",onClick:e=>e.stopPropagation(),children:[(0,r.jsxs)("div",{className:"share-dialog-header",children:[(0,r.jsx)("h3",{children:"Share with Colleagues"}),(0,r.jsx)("button",{className:"share-dialog-close",onClick:q,type:"button",children:"\xd7"})]}),"choose"===o&&(0,r.jsxs)("div",{className:"share-mode-chooser",children:[(0,r.jsxs)("button",{className:"share-mode-btn",onClick:()=>
1l("readonly"),type:"button",children:[(0,r.jsxs)("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,r.jsx)("path",{d:"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"}),(0,r.jsx)("circle",{cx:"12",cy:"12",r:"3"})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("strong",{children:"Share for Review"}),(0,r.jsx)("span",{children:"Send a read-only link — no sign-in required"})]})]}),e?(0,r.jsxs)("button",{className:"share-mode-btn share-mode-btn-collab",onClick:()=>l("collaborate"),type:"button",children:[(0,r.jsxs)("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,r.jsx)("path",{d:"M17 21v-2a4 4 0 00-4-4H5a4 4 0 00-4 4v2"}),(0,r.jsx)("circle",{cx:"9",cy:"7",r:"4"}),(0,r.jsx)("path",{d:"M23 21v-2a4 4 0 00-3-3.87"}),(0,r.jsx)("path",{d:"M16 3.13a4 4 0 010 7.75"})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("strong",{children:"Invite to Collaborate"}),(0,r.jsx)("span",{children:"They can edit requirements — both need accounts"})]})]}):(0,r.jsxs)("div",{className:"share-mode-btn share-mode-btn-disabled",children:[(0,r.jsxs)("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,r.jsx)("path",{d:"M17 21v-2a4 4 0 00-4-4H5a4 4 0 00-4 4v2"}),(0,r.jsx)("circle",{cx:"9",cy:"7",r:"4"}),(0,r.jsx)("path",{d:"M23 21v-2a4 4 0 00-3-3.87"}),(0,r.jsx)("path",{d:"M16 3.13a4 4 0 010 7.75"})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("strong",{children:"Invite to Collaborate"}),(0,r.jsx)("span",{children:"Sign in to invite editors"})]})]})]}),"readonly"===o&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("p",{className:"share-dialog-desc",children:"Send a read-only link — your colleague can view but not edit."}),(0,r.jsx)("form",{className:"share-invite-form",onSubmit:E,children:(0,r.jsxs)("div",{className:"share-invite-input-row",children:[(0,r.jsx)("input",{type:"email",className:"share-invite-input",placeholder:"[email protected]",value:c,onChange:e=>{d(e.target.value),p(!1)},required:!0}),(0,r.jsx)("button",{className:"share-invite-send-btn",type:"submit",disabled:u||!c.trim(),children:u?"...":"Send"})]})}),m&&(0,r.jsx)("p",{className:"share-invite-success",children:"Email client opened! Send the email to share."}),y&&(0,r.jsx)("p",{className:"share-invite-error",children:y}),(0,r.jsx)("div",{className:"share-invite-divider",children:(0,r.jsx)("span",{children:"or share via link"})}),x&&(0,r.jsx)("input",{type:"text",className:"share-invite-input share-link-display",value:x,readOnly:!0,onFocus:e=>e.target.select(),"aria-label":"Share link"}),(0,r.jsxs)("button",{className:"share-invite-copy-btn",onClick:z,disabled:f,type:"button",children:[(0,r.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,r.jsx)("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),(0,r.jsx)("path",{d:"M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"})]}),f?"Creating link...":g?"Link Copied!":"Copy Share Link"]}),(0,r.jsx)("button",{className:"btn-back",onClick:()=>{l("choose"),w(null),p(!1)},type:"button",children:"← Back"})]}),"collaborate"===o&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("p",{className:"share-dialog-desc",children:"Invite a colleague to edit the requirements together. They'll need to sign in with the same email."}),(0,r.jsx)("form",{className:"share-invite-form",onSubmit:P,children:(0,r.jsxs)("div",{className:"share-invite-input-row",children:[(0,r.jsx)("input",{type:"email",className:"share-invite-input",placeholder:"[email protected]",value:c,onChange:e=>{d(e.target.value),p(!1)},required:!0}),(0,r.jsx)("button",{className:"share-invite-send-btn share-invite-send-btn-collab",type:"submit",disabled:u||!c.trim(),children:u?"...":"Invite"})]})}),m&&(0,r.jsx)("p",{className:"share-invite-success",children:"Collaborator invited! Send the email so they know where to go."}),y&&(0,r.jsx)("p",{className:"share-invite-error",children:y}),(0,r.jsx)("button",{className:"btn-back",onClick:()=>{l("choose"),w(null),p(!1)},type:"button",children:"← Back"})]})]})})]})}},3462:(e,t,s)=>{"use strict";s.d(t,{default:()=>l});var r=s(95155),n=s(12115),a=s(52619),i=s.n(a),o=s(58641);function l(){var e,t,s,a;let{user:l,loading:c,signOut:d}
1=(0,o.V)(),[u,h]=(0,n.useState)(!1),m=(0,n.useRef)(null);if((0,n.useEffect)(()=>{function e(e){m.current&&!m.current.contains(e.target)&&h(!1)}return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]),c)return null;if(!l)return(0,r.jsx)("div",{className:"user-menu",children:(0,r.jsx)(i(),{href:"/wizard/login",className:"user-menu-signin",children:"Sign In"})});let p=(null==(e=l.user_metadata)?void 0:e.full_name)||(null==(t=l.user_metadata)?void 0:t.name)||(null==(s=l.email)?void 0:s.split("@")[0])||"User",x=null==(a=l.user_metadata)?void 0:a.avatar_url;return(0,r.jsxs)("div",{className:"user-menu",ref:m,children:[(0,r.jsxs)("button",{className:"user-menu-trigger",onClick:()=>h(!u),type:"button",children:[x?(0,r.jsx)("img",{src:x,alt:p,className:"user-avatar"}):(0,r.jsx)("div",{className:"user-avatar-placeholder",children:p.charAt(0).toUpperCase()}),(0,r.jsx)("span",{className:"user-name",children:p})]}),u&&(0,r.jsxs)("div",{className:"user-menu-dropdown",children:[(0,r.jsx)("div",{className:"user-menu-email",children:l.email}),(0,r.jsx)(i(),{href:"/wizard/dashboard",className:"user-menu-item",onClick:()=>h(!1),children:"My Projects"}),(0,r.jsx)("button",{className:"user-menu-item user-menu-signout",onClick:()=>{d(),h(!1)},type:"button",children:"Sign Out"})]})]})}},7840:(e,t,s)=>{Promise.resolve().then(s.t.bind(s,10791,23)),Promise.resolve().then(s.bind(s,22668)),Promise.resolve().then(s.bind(s,52731)),Promise.resolve().then(s.bind(s,55119)),Promise.resolve().then(s.bind(s,1980)),Promise.resolve().then(s.bind(s,54923)),Promise.resolve().then(s.bind(s,12987)),Promise.resolve().then(s.bind(s,3462)),Promise.resolve().then(s.bind(s,58641))},10791:()=>{},22668:(e,t,s)=>{"use strict";s.d(t,{default:()=>c});var r=s(95155),n=s(12115),a=s(20063),i=s(58641),o=s(98901);let l={export:{label:"Export",title:"Build your vendor-ready export",description:"Save your selections to unlock an Excel requirements pack you can use for vendor demos, RFPs, and proposal scoring.",privacy:"Your work email protects the document and gives you a secure return link.",submit:"Save & unlock export",successTitle:"Your export is one step away",successText:"Check your inbox. The secure link will save your work and return you to your export-ready project."},share:{label:"Share",title:"Bring your team into the decision",description:"Save this as a secure project so colleagues can review requirements, add input, and work from one source of truth.",privacy:"Your work email creates the project owner account. No password required.",submit:"Save & enable sharing",successTitle:"Check your inbox",successText:"Use the secure link to create your project, then invite colleagues to review or collaborate."},save:{label:"Save progress",title:"Save your progress",description:"Get a secure link to continue this requirements list anytime, on any device.",privacy:"Business email only. We use it to send your sign-in link and to follow up on your ERP evaluation.",submit:"Email me a save link",successTitle:"Check your inbox",successText:"We sent a secure sign-in link so you can return to your requirements."}};function c(){let{user:e,loading:t,signInWithEmail:s}=(0,i.V)(),c=(0,a.usePathname)(),u=(0,n.useId)(),h=(0,n.useRef)(null),[m,p]=(0,n.useState)(!1),[x,v]=(0,n.use
1State)(null),[g,b]=(0,n.useState)(""),[f,j]=(0,n.useState)(!1),[y,w]=(0,n.useState)(!1),[k,N]=(0,n.useState)(null);if((0,n.useEffect)(()=>{if(t||e)return void p(!1);function s(){try{let e=!!localStorage.getItem("erp-wizard-selected-industry"),t=document.cookie.split("; ").some(e=>e.startsWith("erp_cookie_consent="));p(e&&t)}catch(e){p(!1)}}return s(),window.addEventListener("erp-cookie-consent-changed",s),()=>window.removeEventListener("erp-cookie-consent-changed",s)},[t,c,e]),(0,n.useEffect)(()=>{var e;if(x)return null==(e=h.current)||e.focus(),window.addEventListener("keydown",t),()=>window.removeEventListener("keydown",t);function t(e){"Escape"===e.key&&v(null)}},[x]),!m)return null;function C(e){v(t=>t===e?null:e),w(!1),N(null),(0,o.sx)("wizard_".concat(e,"_gate_opened"),{page:c})}async function S(e){e.preventDefault();let t=g.trim();if(!t)return;j(!0),N(null);let{error:r}=await s(t);if(j(!1),r){N(r),(0,o.sx)("wizard_".concat(null!=x?x:"save","_gate_error"),{page:c});return}localStorage.setItem("erp-wizard-auth-intent",null!=x?x:"save"),w(!0),(0,o.sx)("wizard_".concat(null!=x?x:"save","_link_sent"),{page:c})}let E=l[null!=x?x:"save"];return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"wizard-quick-actions","aria-label":"Wizard actions",children:[(0,r.jsx)(d,{action:"export",activeAction:x,dialogId:u,onClick:C}),(0,r.jsx)(d,{action:"share",activeAction:x,dialogId:u,onClick:C}),(0,r.jsx)(d,{action:"save",activeAction:x,dialogId:u,onClick:C})]}),x&&(0,r.jsx)("section",{id:u,className:"save-progress-dialog",role:"dialog","aria-modal":"false","aria-labelledby":"".concat(u,"-title"),children:y?(0,r.jsxs)("div",{className:"save-progress-success",children:[(0,r.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",width:"28",height:"28","aria-hidden":"true",children:[(0,r.jsx)("path",{d:"M22 11.08V12a10 10 0 11-5.93-9.14"}),(0,r.jsx)("polyline",{points:"22 4 12 14.01 9 11.01"})]}),(0,r.jsx)("h2",{id:"".concat(u,"-title"),children:E.successTitle}),(0,r.jsx)("p",{children:E.successText}),(0,r.jsx)("button",{type:"button",className:"save-progress-close",onClick:()=>{v(null),w(!1)},children:"Got it"})]}):(0,r.jsxs)("form",{onSubmit:S,children:[(0,r.jsxs)("div",{className:"save-progress-heading",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("span",{className:"save-progress-kicker save-progress-kicker-".concat(x),children:E.label}),(0,r.jsx)("h2",{id:"".concat(u,"-title"),children:E.title}),(0,r.jsx)("p",{children:E.description})]}),(0,r.jsx)("button",{type:"button",className:"save-progress-dismiss",onClick:()=>v(null),"aria-label":"Close ".concat(E.label.toLowerCase()," prompt"),children:"\xd7"})]}),(0,r.jsx)("label",{className:"save-progress-label",htmlFor:"".concat(u,"-email"),children:"Work email"}),(0,r.jsx)("input",{ref:h,id:"".concat(u,"-email"),type:"email",className:"save-progress-input",placeholder:"[email protected]",autoComplete:"email",value:g,onChange:e=>b(e.target.value),"aria-describedby":"".concat(u,"-privacy"),required:!0}),k&&(0,r.jsx)("p",{className:"save-progress-error",role:"alert",children:k}),(0,r.jsx)("p",{id:"".concat(u,"-privacy"),className:"save-progress-privacy",children:E.privacy}),(0,r.jsxs)("p",{className:"save-progress-privacy",children:["See our"," ",(0,r.jsx)("a",{href:"/legal/privacy",target:"_blank",rel:"noopener noreferrer",children:"privacy policy"})," ","and"," ",(0,r.jsx)("a",{href:"/legal/terms",target:"_blank",rel:"noopener noreferrer",children:"terms of service"}),"."]}),(0,r.jsx)("button",{type:"submit",className:"btn-continue save-progress-submit",disabled:f||!g.trim(),children:f?"Sending secure link...":E.submit})]})})]})}function d(e){let{action:t,activeAction:s,dialogId:n,onClick:a}=e,i=s===t;return(0,r.jsxs)("button",{type:"button",className:"save-progress-btn wizard-action-btn wizard-action-".concat(t),onClick:()=>a(t),"aria-expanded":i,"aria-controls":n,children:[(0,r.jsx)(u,{action:t}),l[t].label]})}function u(e){let{action:t}=e;return"export"===t?(0,r.jsx)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",width:"16",height:"16","aria-hidden":"true",children:(0,r.jsx)("path",{d:"M12 3v12m0 0 4-4m-4 4-4-4M5 19h14"})}):"share"===t?(0,r.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",width:"16",height:"16","aria-hidden":"true",children:[(0,r.jsx)("circle",{cx:"18",cy:"5",r:"3"}),(0,r.jsx)("circle",{cx:"6",cy:"12",r:"3"}),(0,r.jsx)("circle",{cx:"18",cy:"19",r:"3"}),(0,r.jsx)("path",{d:"m8.6 10.5 6.8-4M8.6 13.5l6.8 4"})]}):(0,r.jsx)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",width:"16",height:"16","aria-hidden":"true",children:(0,r.jsx)("path",{d:"M19 21H5a2 2 0 01-2-2V5a2 2 0 012-2h11l5 5v11a2 2 0 01-2 2zM17 21v-8H7v8M7 3v5h8"})})}},52731:(e,t,s)=>{"use strict";s.d(t,{default:()=>l});var r=s(95155),n=s(12115),a=s(20063),i=s(58641),o=s(70466);function l(){let{user:e,loading:t}=(0,i.V)(),s=(0,a.useRouter)(),l=(0,a.usePathname)(),c=(0,a.useSearchParams)(),d=(0,n.useRef)(!1),[u,h]=(0,n.use
1State)(!1),[m,p]=(0,n.useState)(null);return((0,n.useEffect)(()=>{let e=c.get("project");e&&sessionStorage.setItem("wizard_project_id",e)},[c]),(0,n.useEffect)(()=>{var r;if(t||!e||"true"!==c.get("from_save")||d.current)return;d.current=!0;let n=(0,o.R)();if(!n.industry)return void s.replace(l);let a=(r=l).includes("/review")?8:r.includes("/integrations")?7:r.includes("/requirements")?6:r.includes("/modules")?5:r.includes("/recommendations")?4:r.includes("/company-profile")||r.includes("/company-size")||r.includes("/legal-entities")||r.includes("/revenue")?3:r.includes("/business-process")?2:1;h(!0),p(null),fetch("/api/wizard/projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:"ERP Requirements - ".concat(n.industry),data:n,currentStep:a})}).then(async e=>{let t=await e.json().catch(()=>({}));if(!e.ok||!t.id)throw Error(t.error||"We couldn't save your progress.");return t}).then(e=>{let{id:t}=e;(function(){for(let e of["erp-wizard-selected-industry","erp-wizard-selected-business-process","erp-wizard-selected-company-size","erp-wizard-selected-revenue","erp-wizard-selected-legal-entities","erp-wizard-selected-modules","erp-wizard-selected-requirements","erp-wizard-requirement-phases","erp-wizard-custom-requirements","erp-wizard-selected-integrations","erp-wizard-custom-integrations","erp-wizard-question-answers","erp-wizard-requirement-sources","erp-wizard-auth-intent"])localStorage.removeItem(e)})(),s.replace(function(e,t){let s="/wizard/project/".concat(e),r=t.replace(/^\/wizard/,"");return r&&"/industry"!==r?r.startsWith("/company-profile")||r.startsWith("/legal-entities")||r.startsWith("/revenue")?"".concat(s,"/company-size"):r.startsWith("/review")?"".concat(s,"/summary"):"".concat(s).concat(r):s}(t,l))}).catch(e=>{h(!1),p(e instanceof Error?e.message:"We couldn't save your progress. Please try again.")})},[t,l,s,c,e]),u||m)?(0,r.jsx)("div",{className:"save-hydrator-overlay",role:"status","aria-live":"polite",children:(0,r.jsx)("div",{className:"save-hydrator-card",children:m?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("p",{children:m}),(0,r.jsx)("button",{type:"button",className:"btn-continue",onClick:()=>window.location.reload(),children:"Try again"})]}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:"save-hydrator-spinner","aria-hidden":"true"}),(0,r.jsx)("p",{children:"Saving your requirements..."})]})})}):null}},54923:(e,t,s)=>{"use strict";s.d(t,{default:()=>w});var r=s(95155),n=s(12115),a=s(52619),i=s.n(a),o=s(20063),l=s(58641),c=s(47650),d=s(52847),u=s(76742),h=s(44130),m=s(88175);let p={badge:"Free personalised shortlist",title:"Unlock the ERP products that best fit your business",subtitle:"See which products meet the requirements you selected — and where each one has gaps before you speak to vendors.",benefitsLabel:"Your free results include",benefits:["Ranked ERP matches against your requirements","Module-by-module fit scores","Requirement gaps and partial matches","Pricing and implementation guidance","Evidence-backed capability breakdowns","Vendor-ready requirements export"],cta:"Show my ERP matches",icon:"checklist"},x={badge:"Almost there",title:"You're one step from your finished ERP requirements",subtitle:"Add integrations next, then download a vendor-ready requirements pack you can send straight into an RFP or demos.",benefitsLabel:"Your finished pack includes",benefits:["Vendor-ready Excel export","Prioritised requirements by phase","Module scope your team agreed on","Integration checklist for demos","Ranked ERP product matches","Shareable link for colleagues"],cta:"Continue to finish my requirements",icon:"export"};function v(e){let{variant:t}=e;return"export"===t?(0,r.jsxs)("svg",{width:"21",height:"21",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,r.jsx)("path",{d:"M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8z"}),(0,r.jsx)("polyline",{points:"14 2 14 8 20 8"}),(0,r.jsx)("path",{d:"M12 18V11"}),(0,r.jsx)("path",{d:"M9 14l3 3 3-3"})]}):(0,r.jsxs)("svg",{width:"21",height:"21",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,r.jsx)("path",{d:"M9 11l3 3L22 4"}),(0,r.jsx)("path",{d:"M21 12v7a2 2 0 01-2 2H5a2 2 0 01-2-2V5a2 2 0 012-2h11"})]})}function g(e){var t;let{open:s,onClose:a,onUnlocked:i,variant:o="matches"}
1=e,[l,g]=(0,n.useState)(!1),[b,f]=(0,n.useState)(""),[j,y]=(0,n.useState)(null),w="continue"===o?x:p;if((0,n.useEffect)(()=>g(!0),[]),(0,n.useEffect)(()=>{if(s)return f(""),y(null),window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e);function e(e){"Escape"===e.key&&a()}},[s,a,o]),!l||!s)return null;let k=null!=(t=document.querySelector(".wizard-scope"))?t:document.body,N="continue"===o?"wizard-continue-gate-title":"wizard-gate-title",C="continue"===o?"wizard-continue-gate-email":"wizard-gate-email";return(0,c.createPortal)((0,r.jsx)("div",{className:"fixed inset-0 z-[10000] flex items-center justify-center bg-black/60 px-3 py-4 backdrop-blur-sm",onClick:e=>{e.target===e.currentTarget&&a()},role:"dialog","aria-modal":"true","aria-labelledby":N,children:(0,r.jsxs)("div",{className:"relative max-h-[calc(100vh-2rem)] w-full max-w-lg overflow-y-auto rounded-2xl border border-[rgba(148,163,184,0.14)] bg-[rgba(15,23,42,0.97)] p-5 shadow-2xl sm:p-6",children:[(0,r.jsx)("button",{type:"button",onClick:a,className:"absolute right-3 top-3 z-10 text-slate-400 transition-colors hover:text-slate-200","aria-label":"Close",children:(0,r.jsxs)("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,r.jsx)("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),(0,r.jsx)("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})}),(0,r.jsxs)("div",{className:"mb-4 pr-8",children:[(0,r.jsxs)("div",{className:"mb-3 flex items-center gap-3",children:[(0,r.jsx)("span",{className:"flex h-10 w-10 items-center justify-center rounded-xl bg-gradient-to-br from-blue-500 to-purple-500 text-white shadow-[0_4px_16px_rgba(59,130,246,0.3)]",children:(0,r.jsx)(v,{variant:w.icon})}),(0,r.jsx)("span",{className:"rounded-full border border-blue-500/20 bg-blue-500/10 px-2.5 py-1 text-[10px] font-semibold uppercase tracking-wider text-blue-300",children:w.badge})]}),(0,r.jsx)("h2",{id:N,className:"text-xl font-semibold text-slate-100",children:w.title}),(0,r.jsx)("p",{className:"mt-1 text-sm leading-relaxed text-slate-400",children:w.subtitle})]}),(0,r.jsxs)("div",{className:"mb-5 rounded-xl border border-[rgba(148,163,184,0.12)] bg-[rgba(2,6,23,0.35)] p-3.5",children:[(0,r.jsx)("p",{className:"mb-3 text-xs font-semibold uppercase tracking-wider text-slate-400",children:w.benefitsLabel}),(0,r.jsx)("div",{className:"grid grid-cols-1 gap-2 sm:grid-cols-2",children:w.benefits.map(e=>(0,r.jsxs)("div",{className:"flex items-center gap-2 text-xs text-slate-300",children:[(0,r.jsx)("span",{className:"flex h-4 w-4 shrink-0 items-center justify-center rounded-full bg-emerald-500/15 text-emerald-400",children:(0,r.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"3",children:(0,r.jsx)("polyline",{points:"20 6 9 17 4 12"})})}),e]},e))})]}),(0,r.jsxs)("form",{onSubmit:function(e){e.preventDefault();let t=e.currentTarget,s=b.trim();if(!s)return;if((0,d.V)(s))return void y("Please use your work email address.");let r=e=>{let s=t.elements.namedItem(e);return s instanceof HTMLInputElement?s.checked:void 0};
1(0,u.l)(s,{partnerShareConsent:r("partnerShareConsent"),marketingOptIn:r("marketingOptIn")}),(0,m.nh)(),i()},className:"space-y-3",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{htmlFor:C,className:"mb-1 block text-sm font-medium text-slate-300",children:"Work email"}),(0,r.jsx)("input",{id:C,type:"email",value:b,onChange:e=>{f(e.target.value),y(null)},required:!0,autoFocus:!0,className:"w-full rounded-lg border border-[rgba(148,163,184,0.15)] bg-[rgba(15,23,42,0.7)] px-3 py-2 text-sm text-slate-200 outline-none transition-colors placeholder:text-slate-400 focus:border-blue-500/50 focus:ring-1 focus:ring-blue-500/25",placeholder:"[email protected]"})]}),(0,r.jsx)("button",{type:"submit",disabled:!b.trim(),className:"w-full rounded-lg bg-gradient-to-r from-blue-500 to-purple-500 px-4 py-2.5 text-sm font-semibold text-white shadow-[0_2px_12px_rgba(59,130,246,0.25)] transition-all hover:brightness-110 hover:shadow-[0_4px_16px_rgba(59,130,246,0.35)] disabled:opacity-50",children:w.cta}),j&&(0,r.jsx)("p",{className:"text-sm text-red-400",children:j}),(0,r.jsx)("p",{className:"text-[11px] leading-snug text-slate-500",children:"We use your email to save your shortlist and to follow up on your evaluation. With your permission below, we'll share your requirements with a matched implementation partner."}),(0,r.jsx)(h.Yi,{formType:"wizard",includeBotFields:!1}),(0,r.jsx)(h.Zr,{})]})]})}),k)}var b=s(23874),f=s(97614),j=s(55074);let y=["/wizard/requirements"];function w(){let e=(0,o.usePathname)(),t=(0,o.useSearchParams)(),{user:s}
1=(0,l.V)(),[a,c]=(0,n.useState)(null),[d,u]=(0,n.useState)(null),[h,p]=(0,n.useState)(!1),[x,v]=(0,n.useState)(!1),[w,k]=(0,n.useState)(null),N=y.some(t=>null==e?void 0:e.startsWith(t));if((0,n.useEffect)(()=>{var e,s;(0,m.Ep)()&&v(!0);let r=(0,j.oz)(null==t?void 0:t.get("focus"));r&&k({id:r,name:null!=(s=null==(e=(0,j.ZQ)())?void 0:e.productName)?s:r})},[t]),(0,n.useEffect)(()=>{s&&v(!0)},[s]),(0,n.useEffect)(()=>{var e;if(!N)return;let t=(0,f.tr)();if(0===t.length)return void c(null);let s=!1;return(0,m.DV)(t,(0,f.A)(),(0,f.ov)(),(0,f.Au)(),null!=(e=null==w?void 0:w.id)?e:null).then(e=>{var t;!s&&e&&(c(e.products),u(null!=(t=e.focus)?t:null))}).catch(()=>{}),()=>{s=!0}},[e,N,null==w?void 0:w.id]),!N||!a||0===a.length)return null;let C=a.slice(0,3),S=a.filter(e=>e.fitPct>=35).length;return(0,r.jsxs)(r.Fragment,{children:[d&&(0,r.jsxs)("div",{className:"mx-auto mb-2 flex max-w-4xl flex-wrap items-center gap-x-2 gap-y-1 rounded-lg border border-blue-500/25 bg-blue-500/10 px-4 py-2 text-[13px] text-slate-300",children:[(0,r.jsxs)("strong",{className:"font-semibold text-slate-100",children:["You assessed ",d.product.name]}),null!=d.rank?(0,r.jsxs)("span",{children:["— here's how it scores against your full requirements:"," ",(0,r.jsxs)("strong",{className:"font-semibold text-slate-100",children:[d.product.fitPct,"% \xb7 ",d.product.fitLabel]}),", ranked #",d.rank," of ",d.rankedOf," products with adjudicated verdicts."]}):(0,r.jsx)("span",{children:"— tick the requirements that matter and its score appears here."})]}),(0,r.jsxs)("div",{className:"solutions-teaser",children:[(0,r.jsxs)("div",{className:"solutions-teaser-left",children:[(0,r.jsx)("span",{className:"solutions-teaser-logos",children:C.map(e=>(0,r.jsx)(b.d,{logo:e.logo,name:e.name,size:28},e.slug))}),(0,r.jsxs)("span",{className:"solutions-teaser-text",children:[(0,r.jsx)("span",{className:"solutions-teaser-kicker",children:"Your shortlist is taking shape"}),(0,r.jsxs)("strong",{children:[S>=3?"".concat(S," ERP products"):"ERP products"," match your requirements"]}),(0,r.jsx)("span",{children:"Preview your ranked matches based on your modules and company profile"})]})]}),(0,r.jsxs)("button",{type:"button",className:"solutions-teaser-btn",onClick:()=>p(!0),children:["See your matches ",(0,r.jsx)("span",{"aria-hidden":"true",children:"→"})]})]}),(0,r.jsx)(g,{open:h&&!x,variant:"matches",onClose:()=>p(!1),onUnlocked:()=>v(!0)}),h&&x&&(0,r.jsx)("div",{className:"share-overlay",onClick:()=>p(!1),children:(0,r.jsxs)("div",{className:"share-dialog solutions-teaser-dialog",onClick:e=>e.stopPropagation(),children:[(0,r.jsxs)("div",{className:"share-dialog-header",children:[(0,r.jsx)("h3",{children:"Your ERP matches so far"}),(0,r.jsx)("button",{className:"share-dialog-close",onClick:()=>p(!1),type:"button",children:"\xd7"})]}),(0,r.jsxs)("div",{className:"solutions-teaser-results",children:[d&&!a.some(e=>e.slug===d.product.slug)&&(0,r.jsxs)("div",{className:"solutions-teaser-row",style:{borderColor:"rgba(59,130,246,0.4)"},children:[(0,r.jsx)("span",{className:"solutions-teaser-row-rank",children:null!=d.rank?"#".concat(d.rank):"—"}),(0,r.jsx)(b.d,{logo:d.product.logo,name:d.product.name,size:30}),(0,r.jsxs)("span",{className:"solutions-teaser-row-name",children:[d.product.name,(0,r.jsx)("span",{className:"solution-vendor",children:"You assessed this product"})]}),(0,r.jsxs)("span",{className:"solution-fit solution-fit-".concat(d.product.fitLabel.split(" ")[0].toLowerCase()),children:[(0,r.jsxs)("span",{className:"solution-fit-pct",children:[d.product.fitPct,"%"]}),(0,r.jsx)("span",{className:"solution-fit-label",children:d.product.fitLabel})]})]}),a.map((e,t)=>(0,r.jsxs)("div",{className:"solutions-teaser-row",style:d&&e.slug===d.product.slug?{borderColor:"rgba(59,130,246,0.4)"}:void 0,children:[(0,r.jsxs)("span",{className:"solutions-teaser-row-rank",children:["#",t+1]}),(0,r.jsx)(b.d,{logo:e.logo,name:e.name,size:30}),(0,r.jsxs)("span",{className:"solutions-teaser-row-name",children:[e.name,(0,r.jsx)("span",{className:"solution-vendor",children:e.vendor})]}),(0,r.jsxs)("span",{className:"solution-fit solution-fit-".concat(e.fitLabel.split(" ")[0].toLowerCase()),children:[(0,r.jsxs)("span",{className:"solution-fit-pct",children:[e.fitPct,"%"]}),(0,r.jsx)("span",{className:"solution-fit-label",children:e.fitLabel})]})]},e.slug)),(0,r.jsx)("p",{className:"solutions-teaser-hint",children:"Matches sharpen as you add requirements. The full module-by-module comparison is on the review step."}),(0,r.jsx)(i(),{href:"/wizard/review",className:"solutions-teaser-full-link",onClick:()=>p(!1),children:"See full comparison →"})]})]})})]})}},55119:(e,t,s)=>{"use strict";s.d(t,{default:()=>a});var r=s(12115),n=s(20063);function a(){let e=(0,n.usePathname)();return(0,r.useEffect)(()=>
1{if(window.location.hash)return;let e=requestAnimationFrame(()=>window.scrollTo(0,0));return()=>cancelAnimationFrame(e)},[e]),null}},70466:(e,t,s)=>{"use strict";s.d(t,{R:()=>n});var r=s(97614);function n(){return{industry:(0,r.Gi)(),businessProcess:(0,r.Bq)(),legalEntities:(0,r.kF)(),revenue:(0,r.Au)(),companySize:(0,r.ov)(),modules:(0,r.tr)(),requirements:(0,r.A)(),phases:(0,r.OJ)(),integrations:(0,r.ZW)(),customRequirements:(0,r.eK)(),customIntegrations:(0,r.TG)()}}},76742:(e,t,s)=>{"use strict";s.d(t,{l:()=>a,m:()=>i});var r=s(70466),n=s(97614);function a(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};fetch("/api/wizard/submissions",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:e,data:(0,r.R)(),...void 0!==t.partnerShareConsent&&{partnerShareConsent:t.partnerShareConsent},...void 0!==t.marketingOptIn&&{marketingOptIn:t.marketingOptIn}})}).then(e=>e.json()).then(e=>{e.id&&(0,n.kw)(e.id)}).catch(()=>{})}function i(e){let t=(0,n.mr)();if(!t)return;let s=(0,r.R)();fetch("/api/wizard/submissions/".concat(t),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({data:s,currentStep:e})}).catch(()=>{})}}},e=>{e.O(0,[60092,89432,52619,63305,81029,92373,16010,12054,18447,29793,28441,59898,77358],()=>e(e.s=7840)),_N_E=e.O()}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.