1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[591],{620:(e,t,a)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/site-wizard",function(){return a(96062)}])},42719:(e,t,a)=>{"use strict";a.d(t,{V:()=>s});var i=a(33499),r=a(73865),n=a(77770);function s({children:e}){return(0,i.jsx)(r.s,{theme:n.Ay,toastOptions:n.S1,children:e})}},92779:(e,t,a)=>{"use strict";let i;a.d(t,{K:()=>d});var r=a(90143),n=a(65659),s=a(65235);let o={retryAttempts:3,retryDelay:1e3,autoInit:!0};async function l(){if(i)return i;let e={target:window.parent,modules:[n.Tm]};return i=await r.U.init(e)}function d(e={}){let t=(0,s.useMemo)(()=>({...o,...e}),[e]),[a,i]=(0,s.useState)({client:null,error:null,isLoading:!1,isInitialized:!1}),r=(0,s.useRef)(!1),n=(0,s.useCallback)(async(e=1)=>{let a=!1;if(i(e=>e.isLoading||e.isInitialized||r.current?e:(a=!0,r.current=!0,{...e,isLoading:!0,error:null})),a)try{let e=await l();i({client:e,error:null,isLoading:!1,isInitialized:!0})}catch(a){if(e<t.retryAttempts)return await new Promise(e=>setTimeout(e,t.retryDelay)),n(e+1);i({client:null,error:a instanceof Error?a:Error("Failed to initialize MarketplaceClient"),isLoading:!1,isInitialized:!1})}finally{r.current=!1}},[t.retryAttempts,t.retryDelay]);return(0,s.useEffect)(()=>(t.autoInit&&n(),()=>{r.current=!1,i({client:null,error:null,isLoading:!1,isInitialized:!1})}),[t.autoInit,n]),(0,s.useMemo)(()=>({...a,initialize:n}),[a,n])}},96062:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>eV});var i=a(33499),r=a(42719),n=a(65235),s=a(64335),o=a(11839),l=a(58577),d=a(49142),m=a(19751),g=a(73349),p=a(92779);let c=(0,n.createContext)(null);function u(){let e=(0,n.useContext)(c);if(!e)throw Error("useAppContext must be used inside AppContextProvider");return e}function h({children:e}){let{client:t,error:a,isInitialized:r}=(0,p.K)(),[u,x]=(0,n.useState)(""),[f,y]=(0,n.useState)([]),[b,$]=(0,n.useState)("");return((0,n.useEffect)(()=>{!a&&r&&t&&t.query("application.context").then(e=>{let t=e.data?.resourceAccess?.[0]?.context?.preview;t?x(t):$("Could not resolve Sitecore context ID from application context")}).catch(()=>$("Failed to retrieve application context"))},[t,a,r]),(0,n.useEffect)(()=>{u&&t&&t.query("xmc.xmapp.listSiteTemplates",{params:{query:{sitecoreContextId:u}}}).then(e=>{let t=e?.data?.data??e?.data??e,a=Array.isArray(t)?t.map(e=>({id:e.id,name:e.name,displayName:e.displayName??e.name,description:e.description})):[];0===a.length?$("No site templates available. Check browser console for details."):y(a)}).catch(()=>$("Failed to load site templates"))},[t,u]),a||b)?(0,i.jsx)(s.o,{h:"100vh",children:(0,i.jsxs)(o.F,{status:"error",maxW:"md",borderRadius:"md",children:[(0,i.jsx)(l._,{}),a?.message??b]})}):r&&u&&0!==f.length?(0,i.jsx)(c.Provider,{value:{client:t,contextId:u,templates:f},children:e}):(0,i.jsx)(s.o,{h:"100vh",children:(0,i.jsxs)(d.T,{spacing:4,children:[(0,i.jsx)(m.y,{size:"xl",color:"blue.500",thickness:"4px"}),(0,i.jsx)(g.E,{color:"gray.500",fontSize:"sm",children:u?"Loading site templatesâ¦":"Initializing Sitecore connectionâ¦"})]})})}var x=a(4983),f=a(49639),y=a(27124),b=a(43648),$=a(82916),I=a(37874),S=a(43112),j=a(53182),w=a(91171),v=a(83918),C=a(81453),z=a(19776),E=a(70753),q=a(39720),k=a(56809),P=a(68415),N=a(24092),D=a(63788),R=a(85713),T=a(48905),F=a(23215),_=a(2272);let A={collectionName:_.env.NEXT_PUBLIC_SITE_COLLECTION??"Platform",parentId:_.env.NEXT_PUBLIC_SITE_PARENT_ID??"",languages:["en"]};var L=a(2272);let W=L.env.NEXT_PUBLIC_THEMES_ITEM_PATH??"/sitecore/content/Platform/SiteFactory/Presentation/Themes",H=L.env.NEXT_PUBLIC_THEME_TEMPLATE_ID??"{28C7D914-E438-4E06-A712-672E154FA363}",B=L.env.NEXT_PUBLIC_THEMES_LANGUAGE??"en";L.env.NEXT_PUBLIC_SITE_TEMPLATE_NAME;let U=L.env.NEXT_PUBLIC_PAGE_DESIGN_TEMPLATE_ID??"{1105B8F8-1E00-426B-BF1F-C840742D827B}",V=["Topics","Product Category","Audience"];function M(e){let t=e.replace(/[{}\-]/g,"");return 32!==t.length?`{${e.toUpperCase()}}`:`{${[t.slice(0,8),t.slice(8,12),t.slice(12,16),t.slice(16,20),t.slice(20)].join("-").toUpperCase()}}`}function G(e,t=""){let a=M(e),i=t.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">");return`<link text="${i}" anchor="" linktype="internal" class="" title="" target="" querystring="" id="${a}" />`}async function O(e,t,a,i){let r=await e.mutate("xmc.authoring.graphql",{params:{query:{sitecoreContextId:t},body:{query:a,variables:i}}}),n=r?.errors??r?.data?.errors??[];if(n.length)throw Error(n.map(e=>e.message).join("; "));return r?.data?.data??r?.data}async function J(e,t,a,i,r,n){let s=r.map(e=>`{ name: "${e.name}", value: $${e.name}, reset: false }`).join("\n "),o=["$itemId: ID!","$language: String!",...r.map(e=>`$${e.name}
1: String!`)].join(", "),l={itemId:M(a),language:i,...Object.fromEntries(r.map(e=>[e.name,e.value]))},d=await O(e,t,` 2 mutation ${n}(${o}) { 3 updateItem(input: { 4 itemId: $itemId 5 database: "master" 6 language: $language 7 version: 1 8 fields: [ 9 ${s} 10 ] 11 }) { item { name itemId } } 12 } 13 `,l);if(!d?.updateItem?.item)throw Error(`${n}: updateItem returned no item for field(s) ${r.map(e=>e.name).join(", ")}`)}async function Y(e,t,a,i){let r=await O(e,t,` 14 query GetTagChildren($path: String!, $lang: String!) { 15 item(where: { database: "master", path: $path, language: $lang }) { 16 children { nodes { itemId } } 17 } 18 } 19 `,{path:a,lang:i});return r?.item?.children?.nodes??[]}async function X(e,t,a){await O(e,t,` 20 mutation DeleteItem($itemId: ID!, $database: String!) { 21 deleteItem(input: { itemId: $itemId, database: $database }) { successful } 22 } 23 `,{itemId:M(a),database:"master"})}async function K(e,t,a,i){let r=0;for(let n of V){let s=`${a}/Data/Tags/${n}`;for(let a of(await Y(e,t,s,i)))await X(e,t,a.itemId),r+=1}return r}async function Q(e,t,a,i){let r=await O(e,t,` 24 query GetSiteItems( 25 $homePath: String! 26 $dataPath: String! 27 $settingsPath: String! 28 $headerPath: String! 29 $lang: String! 30 ) { 31 home: item(where: { database: "master", path: $homePath, language: $lang }) { itemId } 32 data: item(where: { database: "master", path: $dataPath, language: $lang }) { itemId } 33 settings: item(where: { database: "master", path: $settingsPath, language: $lang }) { itemId } 34 header: item(where: { database: "master", path: $headerPath, language: $lang }) { itemId } 35 } 36 `,{homePath:`${a}/Home`,dataPath:`${a}/Data`,settingsPath:`${a}/Settings`,headerPath:`${a}/Data/Header Content/Header`,lang:i}),n=null;for(let r of et(a))if(n=await Z(e,t,r,i))break;return n||(n=await ea(e,t,a,i)),{homeId:r?.home?.itemId??null,searchId:n,dataId:r?.data?.itemId??null,settingsId:r?.settings?.itemId??null,headerId:r?.header?.itemId??null}}async function Z(e,t,a,i){let r=await O(e,t,` 37 query GetItemByPath($path: String!, $lang: String!) { 38 item(where: { database: "master", path: $path, language: $lang }) { itemId } 39 } 40 `,{path:a,lang:i});return r?.item?.itemId??null}async function ee(e,t,a,i){return!!await Z(e,t,a,i)}function et(e){return[`${e}/Home/Search`,`${e}/Search`]}async function ea(e,t,a,i){for(let r of et(a)){let a=await Z(e,t,r,i);if(a)return a}let r=await O(e,t,` 41 query FindSearchPageItem($sitePath: String!, $homePath: String!, $lang: String!) { 42 site: item(where: { database: "master", path: $sitePath, language: $lang }) { 43 children { 44 nodes { name itemId } 45 } 46 } 47 home: item(where: { database: "master", path: $homePath, language: $lang }) { 48 children { 49 nodes { name itemId } 50 } 51 } 52 } 53 `,{sitePath:a,homePath:`${a}/Home`,lang:i}),n=[...r?.site?.children?.nodes??[],...r?.home?.children?.nodes??[]].find(e=>0===e.name.localeCompare("Search",void 0,{sensitivity:"accent"}));return n?.itemId??null}async function ei(e,t,a,i,r){if(!r.settingsId)throw Error(`JSS Settings item not found at ${a}/Settings`);if(!r.dataId)throw Error(`Data folder not found at ${a}/Data`);let n=`${a}/Home/404 Error Page`,s=`${a}/Home/500 Error Page`,o=M(r.dataId);await O(e,t,` 54 mutation ConfigureSiteSettings( 55 $itemId: ID! 56 $language: String! 57 $dataPath: String! 58 $error404: String! 59 $error500: String! 60 ) { 61 updateItem(input: { 62 itemId: $itemId 63 database: "master" 64 language: $language 65 version: 1 66 fields: [ 67 { name: "AppDatasourcesPath", value: $dataPath, reset: false } 68 { name: "Error404Page", value: $error404, reset: false } 69 { name: "Error500Page", value: $error500, reset: false } 70 ] 71 }) { item { name } } 72 } 73 `,{itemId:M(r.settingsId),language:i,dataPath:o,error404:n,error500:s})}async function er(e,t,a,i,r){if(!r.homeId)throw Error(`Home item not found at ${a}/Home`);if(!r.headerId)throw Error(`Header item not found at ${a}/Data/Header Content/Header`);let n=r.searchId;n||(n=await ea(e,t,a,i));let s=G(r.homeId),o=G(r.homeId,"Find an FS Retailer");if(await J(e,t,r.homeId,i,[{name:"alertbannerlink",value:s}],"ConfigureHomeAlertBanner"),await J(e,t,r.headerId,i,[{name:"topleftlink",value:o}],"ConfigureHeaderTopLeftLink"),!n)return void console.warn(`Site creation: Search page not found under ${a} (tried ${et(a).join(", ")}). Skipping searchpage link.`);let l=G(n);await J(e,t,r.headerId,i,[{name:"searchpage",value:l}],"ConfigureHeaderSearchPage")}async function en(e,t,a,i){let r=[];for(let{label:n,path:s}of[{label:"404",path:`${a}/Home/404 Error Page`},{label:"500",path:`${a}/Home/500 Error Page`}])await ee(e,t,s,i)||r.push(`${n} error page missing at ${s}`);return r}async function es(e,t,a,i){let r=`${a}/Settings/Search Settings`,n=`${a}/Settings/FSS Global Settings/Search Settings`;
73return await ee(e,t,r,i)?null:await ee(e,t,n,i)?`Search Settings found at ${n} but not at ${r}. Search field sources expect a direct child of JSS Settings.`:`Search Settings not found at ${r}`}async function eo(e,t,a,i){let[r,n]=await Promise.all([en(e,t,a,i),es(e,t,a,i)]);return{errorPageWarnings:r,searchSettingsWarning:n}}let el=[{step:"create",message:"Waiting to create siteâ¦",status:"pending"},{step:"query",message:"Waiting to retrieve site detailsâ¦",status:"pending"},{step:"taxonomy",message:"Waiting to clear taxonomiesâ¦",status:"pending"},{step:"settings",message:"Waiting to configure site settingsâ¦",status:"pending"},{step:"configure",message:"Waiting to wire site linksâ¦",status:"pending"},{step:"thumbnail",message:"Waiting to upload thumbnailâ¦",status:"pending"},{step:"theme",message:"Waiting to configure themeâ¦",status:"pending"},{step:"cleanup",message:"Waiting to clean upâ¦",status:"pending"},{step:"navigation",message:"Waiting to configure navigationâ¦",status:"pending"},{step:"pagedesign",message:"Waiting to create page designâ¦",status:"pending"},{step:"layout",message:"Waiting to set home page layoutâ¦",status:"pending"},{step:"details",message:"Waiting to finalizeâ¦",status:"pending"}];function ed(e){let t=e.replace(/[{}\-]/g,"");return 32!==t.length?`{${e.toUpperCase()}}`:`{${[t.slice(0,8),t.slice(8,12),t.slice(12,16),t.slice(16,20),t.slice(20)].join("-").toUpperCase()}}`}async function em(e,t,a,i){for(let r=1;r<=360;r++){let n=await a.query("xmc.xmapp.retrieveJob",{params:{path:{jobHandle:e},query:{sitecoreContextId:t}}}),s=n?.data?.data??n?.data;if(s?.done===!0)return void i("Site creation completed");i("Site creation in progressâ¦"),r<360&&await new Promise(e=>setTimeout(e,5e3))}throw Error("Site creation job timed out")}var eg=a(81833),ep=a(30195);let ec=` 74 query GetThemes($path: String!, $systemLocale: String!) { 75 item(where: { database: "master", path: $path, language: $systemLocale }) { 76 children { 77 nodes { 78 itemId 79 name 80 path 81 displayName 82 template { 83 templateId 84 name 85 } 86 } 87 } 88 } 89 } 90`;function eu(e){return e.replace(/[{}\-]/g,"").toLowerCase()}function eh({value:e,onChange:t,isDisabled:a,error:r}){let{client:s,contextId:d}=u(),[m,g]=(0,n.useState)([]),[p,c]=(0,n.useState)(!0),[h,x]=(0,n.useState)(""),f=(0,n.useCallback)(async()=>{c(!0),x("");try{let e=await s.mutate("xmc.authoring.graphql",{params:{query:{sitecoreContextId:d},body:{query:ec,variables:{path:W,systemLocale:B}}}}),t=e?.data?.data,a=t?.item?.children?.nodes??[],i=eu(H);console.log("[ThemeSelector] raw res:",JSON.stringify(e,null,2)),console.log("[ThemeSelector] nodes:",a),console.log("[ThemeSelector] targetId:",i);let r=a.filter(e=>{let t=eu(e.template?.templateId??"");return console.log("[ThemeSelector] comparing",t,"===",i,"->",t===i),t===i}).map(e=>({id:e.itemId,name:e.name,path:e.path,displayName:e.displayName||e.name}));console.log("[ThemeSelector] filtered themes:",r),g(r)}catch{x("Failed to load themes. Please try again.")}finally{c(!1)}},[s,d]);return((0,n.useEffect)(()=>{f()},[f]),p)?(0,i.jsxs)(E.MJ,{isRequired:!0,children:[(0,i.jsx)(q.l,{fontWeight:"medium",children:"Theme"}),(0,i.jsx)(eg.E,{height:"40px",borderRadius:"md"})]}):h?(0,i.jsxs)(E.MJ,{isInvalid:!0,isRequired:!0,children:[(0,i.jsx)(q.l,{fontWeight:"medium",children:"Theme"}),(0,i.jsxs)(o.F,{status:"error",size:"sm",borderRadius:"md",children:[(0,i.jsx)(l._,{}),h]}),(0,i.jsx)(y.z,{mt:2,children:(0,i.jsx)(z.$,{size:"sm",variant:"outline",onClick:f,children:"Retry"})})]}):(0,i.jsxs)(E.MJ,{isInvalid:!!r,isDisabled:a,isRequired:!0,children:[(0,i.jsx)(q.l,{fontWeight:"medium",children:"Theme"}),(0,i.jsx)(ep.l,{placeholder:"Select a theme",value:e?.id??"",onChange:e=>{let a=m.find(t=>t.id===e.target.value);a&&t(a)},children:m.map(e=>(0,i.jsx)("option",{value:e.id,children:e.displayName??e.name},e.id))}),r&&(0,i.jsx)(D.Wt,{children:r})]})}let ex="#6B46C1",ef="#9F7AEA",ey="#805AD5",eb="#E9D8FD";function e$({status:e,index:t}){return"completed"===e?(0,i.jsx)(v.j,{size:"28px",bg:"green.500",flexShrink:0,children:(0,i.jsx)(f.I,{as:S.YrT,color:"white",boxSize:"11px"})}):"error"===e?(0,i.jsx)(v.j,{size:"28px",bg:"red.500",flexShrink:0,children:(0,i.jsx)(f.I,{as:S.eHT,color:"white",boxSize:"11px"})}):"in-progress"===e?(0,i.jsx)(v.j,{size:"28px",bg:ef,flexShrink:0,children:(0,i.jsx)(m.y,{size:"xs",color:"white",thickness:"2px"})}):(0,i.jsx)(v.j,{size:"28px",bg:"gray.100",border:"2px",borderColor:"gray.200",flexShrink:0,children:(0,i.jsx)(g.E,{fontSize:"10px",fontWeight:"bold",color:"gray.400",children:t+1})})}function eI(e){return e<60?`${e}s`:`${Math.floor(e/60)}m ${e%60}s`}function eS({progress:e,isCreating:t,siteName:a,displayName:r,elapsedSeconds:n}){let s={create:50,query:5,thumbnail:5,theme:5,cleanup:5,navigation:5,pagedesign:10,layout:10,details:5},o={create:180},l=e.some(e=>"error"===e.status),p=e.filter(e=>"completed"===e.status).length,c=e.length,u=e.reduce((e,t)=>
90e+(s[t.step]??5),0),h=Math.round((e.filter(e=>"completed"===e.status).reduce((e,t)=>e+(s[t.step]??5),0)+e.filter(e=>"in-progress"===e.status).reduce((e,t)=>{let a=s[t.step]??5,i=o[t.step];return i?e+a*Math.min(n/i,.9):e+.5*a},0))/u*100);return(0,i.jsxs)(d.T,{spacing:4,align:"stretch",children:[(0,i.jsxs)(x.a,{border:"1px",borderColor:"gray.100",borderRadius:"xl",overflow:"hidden",children:[(0,i.jsxs)(y.z,{px:4,py:3,bg:"gray.50",borderBottom:"1px",borderColor:"gray.100",justify:"space-between",children:[(0,i.jsxs)(y.z,{spacing:2,children:[(0,i.jsx)(v.j,{size:"20px",bg:t?ef:l?"orange.400":"green.500",flexShrink:0,children:t?(0,i.jsx)(m.y,{size:"xs",color:"white",thickness:"2px"}):(0,i.jsx)(f.I,{as:S.YrT,color:"white",boxSize:"9px"})}),(0,i.jsx)(g.E,{fontSize:"sm",fontWeight:"700",color:"gray.700",children:t?`Creating "${r}"â¦`:l?"Completed with warnings":`"${r}" is ready`})]}),(0,i.jsxs)(y.z,{spacing:3,children:[(0,i.jsxs)(g.E,{fontSize:"xs",color:"gray.500",children:[p,"/",c," steps"]}),(0,i.jsx)(g.E,{fontSize:"xs",color:ex,fontFamily:"mono",fontWeight:"600",children:t?`â± ${eI(n)}`:`â ${eI(n)}`})]})]}),(0,i.jsxs)(x.a,{px:4,pt:3,pb:1,children:[(0,i.jsx)(x.a,{bg:"gray.100",borderRadius:"full",h:"3px",overflow:"hidden",children:(0,i.jsx)(x.a,{h:"full",borderRadius:"full",bg:l?"orange.400":ef,w:`${h}%`,transition:"width 0.5s ease"})}),(0,i.jsxs)(y.z,{justify:"space-between",mt:1,children:[(0,i.jsxs)(y.z,{spacing:1,children:[(0,i.jsx)(f.I,{as:S.VeH,color:"gray.400",boxSize:3}),(0,i.jsx)(g.E,{fontSize:"xs",color:"gray.400",fontFamily:"mono",children:a})]}),t&&(0,i.jsx)(g.E,{fontSize:"xs",color:"gray.400",children:"Est. 5â8 min"})]})]}),(0,i.jsx)(d.T,{spacing:0,align:"stretch",px:4,pb:3,pt:2,children:e.map((t,a)=>{let r=a===e.length-1,n="pending"===t.status;return(0,i.jsxs)(y.z,{spacing:0,align:"stretch",children:[(0,i.jsxs)(d.T,{spacing:0,align:"center",w:"28px",flexShrink:0,mr:3,children:[(0,i.jsx)(e$,{status:t.status,index:a}),!r&&(0,i.jsx)(x.a,{w:"2px",flex:1,minH:"16px",my:"2px",bg:"completed"===t.status?"green.200":"gray.100"})]}),(0,i.jsxs)(x.a,{pb:3*!r,pt:"3px",flex:1,opacity:n?.4:1,children:[(0,i.jsx)(g.E,{fontSize:"sm",fontWeight:"in-progress"===t.status?"600":"500",color:"in-progress"===t.status?ex:"error"===t.status?"red.600":"gray.700",children:function(e){switch(e){case"create":return"Creating site";case"query":return"Retrieving site details";case"thumbnail":return"Uploading thumbnail";case"theme":return"Configuring theme";case"cleanup":return"Cleaning up";case"navigation":return"Configuring navigation";case"pagedesign":return"Creating page design";case"layout":return"Setting home page layout";case"details":return"Finalizing";default:return e}}(t.step)}),(0,i.jsx)(g.E,{fontSize:"xs",color:"error"===t.status?"red.400":"gray.400",mt:"1px",children:t.message})]})]},t.step)})})]}),t&&(0,i.jsx)(x.a,{px:4,py:3,bg:"purple.50",borderRadius:"lg",borderLeft:"3px solid",borderColor:ef,children:(0,i.jsx)(g.E,{fontSize:"xs",color:"purple.800",children:"This may take a few minutes. Please don't refresh or close the page."})})]})}function ej({onBack:e}){var t;let a,r=(0,j.useRouter)(),s=(0,C.d)(),{createSite:p,validateSiteName:c,isCreating:h,error:I,progress:v}=function(){let{client:e,contextId:t,templates:a}=u(),[i,r]=(0,n.useState)(!1),[s,o]=(0,n.useState)(null),[l,d]=(0,n.useState)(el),m=(e,t,a)=>{d(i=>i.map(i=>i.step===e?{...i,message:t,status:a}:i))},g=(0,n.useCallback)(async a=>{if(!e||!t)throw Error("Client not initialized");try{let i=await e.mutate("xmc.xmapp.validateSiteName",{params:{query:{sitecoreContextId:t},body:{name:a}}});return{isValid:i?.data?.isValid??i?.data?.valid??!1,message:i?.data?.message}}catch{return{isValid:!1,message:"Failed to validate site name"}}},[e,t]);return{createSite:(0,n.useCallback)(async i=>{r(!0),o(null),d(el.map(e=>({...e,status:"pending"})));try{let r=await e.query("xmc.xmapp.listCollections",{params:{query:{sitecoreContextId:t}}}),n=(r?.data?.data??r?.data??[]).find(e=>e.name===i.collectionName||e.displayName===i.collectionName);if(!n)throw Error(`Collection "${i.collectionName}" not found`);let s=n.id,o=n.settings?.itemPath??`/sitecore/content/${i.collectionName}`,l=a.find(e=>"FSS Site"===e.name)??a[0];if(!l)throw Error("FSS Site template not found");m("create",`Creating site "${i.displayName}"â¦`,"in-progress");let d=await e.mutate("xmc.xmapp.createSite",{params:{query:{sitecoreContextId:t},body:{siteName:i.name,displayName:i.displayName,description:i.description,templateId:l.id,collectionId:s,language:i.languages[0]??"en",languages:i.languages}}}),g=d?.data?.handle;if(!g)throw Error("No job handle returned from site creation");let p=g.split(";")[0];await em(p,t,e,e=>m("create",e,"in-progress")),m("create","Site created successfully","completed"),m("query","Retrieving site detailsâ¦","in-progress");let c=`${o}/${i.name}`,u=await e.mutate("xmc.authoring.graphql",{params:{query:{sitecoreContextId:t},body:{query:`
91 query GetSiteItem($path: String!, $lang: String!) { 92 item(where: { database: "master", path: $path, language: $lang }) { 93 itemId name path 94 } 95 } 96 `,variables:{path:c,lang:i.languages[0]??"en"}}}}),h=u?.data?.data?.item?.itemId;if(!h)throw Error(`Could not find created site at ${c}`);m("query","Site ID retrieved","completed");let x=i.languages[0]??"en";m("taxonomy","Clearing default taxonomiesâ¦","in-progress");try{let a=await K(e,t,c,x);m("taxonomy",`Cleared ${a} taxonomy tag(s)`,"completed")}catch(e){console.error("Site creation: taxonomy cleanup failed:",e),m("taxonomy","Taxonomy cleanup skipped","completed")}let f=null;m("settings","Configuring site settingsâ¦","in-progress");try{f=await Q(e,t,c,x);let a=await eo(e,t,c,x);for(let e of a.errorPageWarnings)console.warn("Site creation:",e);a.searchSettingsWarning&&console.warn("Site creation:",a.searchSettingsWarning),await ei(e,t,c,x,f),m("settings","Site settings configured","completed")}catch(e){console.error("Site creation: settings configuration failed:",e),m("settings","Site settings configuration skipped","completed")}m("configure","Wiring site linksâ¦","in-progress");try{f||(f=await Q(e,t,c,x)),await er(e,t,c,x,f),m("configure","Site links configured","completed")}catch(e){console.error("Site creation: link configuration failed:",e),m("configure","Site link configuration skipped â see console","completed")}if(i.thumbnail){m("thumbnail","Uploading thumbnailâ¦","in-progress");try{await e.mutate("xmc.xmapp.uploadSiteThumbnail",{params:{path:{siteId:h},query:{sitecoreContextId:t},body:{file:i.thumbnail}}}),m("thumbnail","Thumbnail uploaded","completed")}catch(e){console.error("Site creation: Failed to upload site thumbnail:",e),m("thumbnail","Thumbnail upload failed â skipped","completed")}}else m("thumbnail","No thumbnail provided â skipped","completed");if(i.themeName){m("theme","Configuring themeâ¦","in-progress");let a=i.languages[0]??"en";await e.mutate("xmc.authoring.graphql",{params:{query:{sitecoreContextId:t},body:{query:` 97 mutation UpdateConfig($path: String!) { 98 updateItem(input: { 99 fields: [{ name: "Theme", value: "${i.themeName.trim()}", reset: false }] 100 database: "master" 101 language: "${a}" 102 path: $path 103 version: 1 104 }) { item { name } } 105 } 106 `,variables:{path:`${c}/Settings/FSS Global Settings/Site Settings`}}}}),m("theme","Theme configured","completed")}else m("theme","No theme selected, skipped","completed");m("cleanup","Cleaning up Headless Variantsâ¦","in-progress");try{let a=i.languages[0]??"en",r=await e.mutate("xmc.authoring.graphql",{params:{query:{sitecoreContextId:t},body:{query:` 107 query GetHeadlessVariants($path: String!, $lang: String!) { 108 item(where: { database: "master", path: $path, language: $lang }) { 109 children { nodes { itemId name } } 110 } 111 } 112 `,variables:{path:`${c}/Presentation/Headless Variants`,lang:a}}}}),n=r?.data?.data?.item?.children?.nodes??[];for(let a of n)await e.mutate("xmc.authoring.graphql",{params:{query:{sitecoreContextId:t},body:{query:` 113 mutation DeleteItem($itemId: ID!, $database: String!) { 114 deleteItem(input: { itemId: $itemId, database: $database }) { successful } 115 } 116 `,variables:{itemId:a.itemId,database:"master"}}}});m("cleanup",`Removed ${n.length} Headless Variant(s)`,"completed")}catch{m("cleanup","Cleanup skipped","completed")}m("navigation","Configuring navigationâ¦","in-progress");try{let a=i.languages[0]??"en",r=`${c}/Data/Header Content/Header`,n=e=>e.replace(/[{}\-]/g,"").toUpperCase(),s=await e.mutate("xmc.authoring.graphql",{params:{query:{sitecoreContextId:t},body:{query:` 117 query GetNavChildren($primaryPath: String!, $utilityPath: String!, $lang:
117String!) { 118 primaryNav: item(where: { database: "master", path: $primaryPath, language: $lang }) { 119 children { nodes { itemId template { templateId } } } 120 } 121 utilityNav: item(where: { database: "master", path: $utilityPath, language: $lang }) { 122 children { nodes { itemId template { templateId } } } 123 } 124 } 125 `,variables:{primaryPath:`${r}/Primary Navigation`,utilityPath:`${r}/Utility Navigation`,lang:a}}}}),o=s?.data?.data?.primaryNav?.children?.nodes??[],l=s?.data?.data?.utilityNav?.children?.nodes??[],d=o.filter(e=>"4E5E1C346D1A4D4E83268DE84CE390C2"===n(e.template?.templateId??"")).map(e=>ed(e.itemId)).join("|"),g=l.filter(e=>"673938680F6149F7BF9A21BC1280080A"===n(e.template?.templateId??"")).map(e=>ed(e.itemId)).join("|");(d||g)&&await e.mutate("xmc.authoring.graphql",{params:{query:{sitecoreContextId:t},body:{query:` 126 mutation UpdateNavigation($path: String!) { 127 updateItem(input: { 128 path: $path database: "master" language: "${a}" version: 1 129 fields: [ 130 { name: "mainmenuitems", value: "${d}", reset: false } 131 { name: "utilitynavigation", value: "${g}", reset: false } 132 ] 133 }) { item { name } } 134 } 135 `,variables:{path:r}}}});let p=d?d.split("|").length:0,u=g?g.split("|").length:0,h=`${c}/Data/Footer Content/Footer`,x="673938680F6149F7BF9A21BC1280080A",f=await e.mutate("xmc.authoring.graphql",{params:{query:{sitecoreContextId:t},body:{query:` 136 query GetFooterNav($navLinksPath: String!, $utilityLinksPath: String!, $socialLinksPath: String!, $membersPath: String!, $lang: String!) { 137 navLinks: item(where: { database: "master", path: $navLinksPath, language: $lang }) { 138 children { nodes { itemId template { templateId } } } 139 } 140 utilityLinks: item(where: { database: "master", path: $utilityLinksPath, language: $lang }) { 141 children { nodes { itemId template { templateId } } } 142 } 143 socialLinks: item(where: { database: "master", path: $socialLinksPath, language: $lang }) { 144 children { nodes { itemId template { templateId } } } 145 } 146 members: item(where: { database: "master", path: $membersPath, language: $lang }) { 147 children { nodes { itemId template { templateId } } } 148 } 149 } 150 `,variables:{navLinksPath:`${h}/Navigation Links`,utilityLinksPath:`${h}/Utility Links`,socialLinksPath:`${h}/Social Media Links`,membersPath:`${c}/Members`,lang:a}}}}),y=f?.data?.data?.navLinks?.children?.nodes??[],b=f?.data?.data?.utilityLinks?.children?.nodes??[],$=f?.data?.data?.socialLinks?.children?.nodes??[],I=(f?.data?.data?.members?.children?.nodes??[]).filter(e=>"917D90D825294F29A661FB56C6D02610"===n(e.template?.templateId??"")).map(e=>ed(e.itemId))[0]??"",S=y.filter(e=>n(e.template?.templateId??"")===x).map(e=>ed(e.itemId)).join("|"),j=b.filter(e=>n(e.template?.templateId??"")===x).map(e=>ed(e.itemId)).join("|"),w=$.filter(e=>n(e.template?.templateId??"")===x).map(e=>ed(e.itemId)).join("|");if(S||j||w||I){let i=I?`{ name: "member", value: "${I}", reset: false }`:"";await e.mutate("xmc.authoring.graphql",{params:{query:{sitecoreContextId:t},body:{query:` 151 mutation UpdateFooter($path: String!) { 152 updateItem(input: { 153 path: $path database: "master" language: "${a}" version: 1 154 fields: [ 155 { name: "navigationlinks", value: "${S}", reset: false } 156 { name: "utilitylinks", value: "${j}", reset: false } 157 { name: "socialmedialinks", value: "${w}", reset: false } 158 ${i} 159 ] 160 }) { item { name } } 161 } 162 `,variables:{path:h}}}})}let v=S?S.split("|").length:0,C=j?j.split("|").length:0,z=w?w.split("|").length:0;m("navigation",`Header (${p} main, ${u} utility) \xb7 Footer (${v} nav, ${C} utility, ${z} social)`,"completed")}catch{m("navigation","Navigation setup skipped","completed")}m("pagedesign","Creating HeaderFooter page designâ¦","in-progress");try{let a=i.languages[0]??"en",r=await e.mutate("xmc.authoring.graphql",{params:{query:{sitecoreContextId:t},body:{query:` 163 query GetPartials($headerPath: String!, $footerPath: String!, $lang:
163String!) { 164 systemHeader: item(where: { database: "master", path: $headerPath, language: $lang }) { itemId } 165 systemFooter: item(where: { database: "master", path: $footerPath, language: $lang }) { itemId } 166 } 167 `,variables:{headerPath:`${c}/Presentation/Partial Designs/System Header`,footerPath:`${c}/Presentation/Partial Designs/System Footer`,lang:a}}}}),n=r?.data?.data?.systemHeader?.itemId,s=r?.data?.data?.systemFooter?.itemId;if(n&&s){let i=await e.mutate("xmc.authoring.graphql",{params:{query:{sitecoreContextId:t},body:{query:` 168 query GetPageDesignsFolder($path: String!, $lang: String!) { 169 item(where: { database: "master", path: $path, language: $lang }) { itemId } 170 } 171 `,variables:{path:`${c}/Presentation/Page Designs`,lang:a}}}}),r=i?.data?.data?.item?.itemId;if(r){let i=await e.mutate("xmc.authoring.graphql",{params:{query:{sitecoreContextId:t},body:{query:` 172 mutation CreatePageDesign($name: String!, $templateId: ID!, $parent: ID!, $database: String!, $language: String!) { 173 createItem(input: { 174 name: $name templateId: $templateId parent: $parent database: $database language: $language 175 }) { item { itemId name path } } 176 } 177 `,variables:{name:"HeaderFooter",templateId:U,parent:r,database:"master",language:a}}}}),o=i?.data?.data?.createItem?.item?.itemId,l=i?.data?.data?.createItem?.item?.path;if(o){await e.mutate("xmc.authoring.graphql",{params:{query:{sitecoreContextId:t},body:{query:` 178 mutation UpdatePageDesign($path: String!) { 179 updateItem(input: { 180 path: $path database: "master" language: "${a}" version: 1 181 fields: [{ name: "PartialDesigns", value: "${ed(n)}|${ed(s)}", reset: false }] 182 }) { item { name } } 183 } 184 `,variables:{path:l}}}}),m("pagedesign","HeaderFooter page design created","completed"),m("layout","Setting LayoutRoute on Home pageâ¦","in-progress");try{await e.mutate("xmc.authoring.graphql",{params:{query:{sitecoreContextId:t},body:{query:` 185 mutation SetLayoutRoute($path: String!) { 186 updateItem(input: { 187 path: $path database: "master" language: "${a}" version: 1 188 fields: [{ name: "LayoutRoute", value: "${ed(o)}", reset: false }] 189 }) { item { name } } 190 } 191 `,variables:{path:`${c}/Home`}}}}),m("layout","Home page layout route set","completed")}catch{m("layout","Could not set LayoutRoute â skipped","completed")}}else m("pagedesign","Could not create page design â skipped","completed")}else m("pagedesign","Page Designs folder not found â skipped","completed"),m("layout","Skipped","completed")}else m("pagedesign","System Header/Footer not found â skipped","completed")}catch{m("pagedesign","Page design setup failed â skipped","completed"),m("layout","Skipped","completed")}try{let a=i.languages[0]??"en",r=await e.mutate("xmc.authoring.graphql",{params:{query:{sitecoreContextId:t},body:{query:` 192 query CheckDataItem($path: String!, $lang: String!) { 193 item(where: { database: "master", path: $path, language: $lang }) { itemId } 194 } 195 `,variables:{path:`${c}/Home/Data`,lang:a}}}});if(!r?.data?.data?.item?.itemId){let i=await e.mutate("xmc.authoring.graphql",{params:{query:{sitecoreContextId:t},body:{query:` 196 query GetHomeItem($path: String!, $lang: String!) { 197 item(where: { database: "master", path: $path, language: $lang }) { itemId } 198 } 199 `,variables:{path:`${c}/Home`,lang:a}}}}),r=i?.data?.data?.item?.itemId;r&&await e.mutate("xmc.authoring.graphql",{params:{query:{sitecoreContextId:t},body:{query:` 200 mutation CreateDataItem($name: String!, $templateId: ID!, $parent: ID!, $database: String!, $language: String!) { 201 createItem(input: { 202 name: $name templateId: $templateId parent: $parent database: $database language: $language 203 }) { item { itemId name } } 204 } 205 `,variables:{name:"Data",templateId:"1C82E550-EBCD-4E5D-8ABD-D50D0809541E",parent:r,database:"master",language:a}}}})}}catch{}return m("details","Done!","completed"),{siteId:h}}catch(e){return o(e instanceof Error?e:Error("Site creation failed")),d(e=>e.map(e=>"in-progress"===e.status?{...e,status:"error"}:e)),null}finally{r(!1)}},[e,t,a]),validateSiteName:g,isCreating:i,error:s,progress:l}}
205(),[_,L]=(0,n.useState)({name:"",displayName:""}),[W,H]=(0,n.useState)(null),B=(0,n.useRef)(null);(0,n.useEffect)(()=>()=>{W&&URL.revokeObjectURL(W)},[W]);let[V,M]=(0,n.useState)(0),G=(0,n.useRef)(null);(0,n.useEffect)(()=>{if(h){G.current=Date.now(),M(0);let e=setInterval(()=>{M(Math.floor((Date.now()-(G.current??Date.now()))/1e3))},1e3);return()=>clearInterval(e)}null!==G.current&&M(Math.floor((Date.now()-G.current)/1e3))},[h]);let{control:O,register:J,handleSubmit:Y,watch:X,setValue:Z,formState:{errors:ee}}=(0,w.mN)({defaultValues:{name:"",displayName:"",description:"",themeId:"",themeName:"",thumbnail:void 0}}),et=X("name"),ea=X("description")??"",[en,es]=(0,n.useState)({isValidating:!1,isValid:null}),eg=(0,n.useRef)((t=async e=>{if(!e||e.length<3)return void es({isValidating:!1,isValid:null});es({isValidating:!0,isValid:null});try{let t=await c(e);es({isValidating:!1,isValid:t.isValid,message:t.message})}catch{es({isValidating:!1,isValid:!1,message:"Failed to validate"})}},(...e)=>{clearTimeout(a),a=setTimeout(()=>t(...e),500)})).current;(0,n.useEffect)(()=>{et?eg(et):es({isValidating:!1,isValid:null})},[et]);let ep=h||v.some(e=>"pending"!==e.status),ec=async e=>{L({name:e.name,displayName:e.displayName});let t=await p({name:e.name,displayName:e.displayName,description:e.description,themeId:e.themeId,themeName:e.themeName,thumbnail:e.thumbnail,...A});if(t){let a=G.current?Math.floor((Date.now()-G.current)/1e3):0;s({title:"Site created!",description:"Your new site is ready.",status:"success",duration:4e3,isClosable:!0}),r.push(`/site-wizard/success?siteId=${encodeURIComponent(t.siteId)}&siteName=${encodeURIComponent(e.name)}&displayName=${encodeURIComponent(e.displayName)}&themeName=${encodeURIComponent(e.themeName??"")}&description=${encodeURIComponent(e.description??"")}&elapsed=${a}`)}};return(0,i.jsxs)(x.a,{minH:"100vh",bg:"gray.50",children:[(0,i.jsxs)(x.a,{px:8,py:7,bg:ex,position:"relative",overflow:"hidden",children:[(0,i.jsx)(x.a,{position:"absolute",top:"-40px",right:"-40px",w:"200px",h:"200px",borderRadius:"full",bg:ef,opacity:.2}),(0,i.jsx)(x.a,{position:"absolute",bottom:"-50px",left:"60px",w:"160px",h:"160px",borderRadius:"full",bg:"#F7D44C",opacity:.08}),(0,i.jsx)(x.a,{position:"absolute",top:"10px",right:"200px",w:"80px",h:"80px",borderRadius:"full",bg:eb,opacity:.1}),(0,i.jsxs)(y.z,{spacing:4,position:"relative",maxW:"1024px",mx:"auto",children:[(0,i.jsx)(b._,{src:"/site-wizard/site_wizard_logo.svg",alt:"Site Wizard",boxSize:"52px",borderRadius:"xl",shadow:"md"}),(0,i.jsxs)(x.a,{children:[(0,i.jsx)(g.E,{fontSize:"10px",color:eb,fontWeight:"700",letterSpacing:"widest",textTransform:"uppercase",mb:"1px",children:"New site"}),(0,i.jsx)($.D,{size:"md",color:"white",fontWeight:"700",children:"Create new site"}),(0,i.jsx)(g.E,{fontSize:"sm",color:eb,opacity:.8,mt:1,children:"Set up a brand new cooperative site from a template"})]}),!ep&&e&&(0,i.jsx)(z.$,{ml:"auto",size:"sm",variant:"ghost",color:eb,leftIcon:(0,i.jsx)(f.I,{as:S.kRp,boxSize:4}),onClick:e,_hover:{bg:"whiteAlpha.200"},children:"Back"})]})]}),(0,i.jsx)(x.a,{maxW:"1024px",mx:"auto",px:8,py:8,children:(0,i.jsx)(x.a,{bg:"white",borderRadius:"2xl",shadow:"sm",border:"1px",borderColor:"gray.100",overflow:"hidden",children:ep?(0,i.jsx)(x.a,{p:6,children:(0,i.jsx)(eS,{progress:v.filter(e=>"thumbnail"!==e.step),isCreating:h,siteName:_.name,displayName:_.displayName,elapsedSeconds:V})}):(0,i.jsx)(i.Fragment,{children:(0,i.jsx)(x.a,{p:6,children:(0,i.jsxs)(d.T,{as:"form",onSubmit:Y(ec),spacing:5,align:"stretch",children:[(0,i.jsxs)(E.MJ,{isInvalid:!!ee.name||!1===en.isValid,isRequired:!0,children:[(0,i.jsx)(q.l,{fontSize:"sm",fontWeight:"600",color:"gray.700",children:"Site Name"}),(0,i.jsxs)(k.M,{children:[(0,i.jsx)(P.p,{...J("name",{required:"Site name is required",minLength:{value:3,message:"At least 3 characters"},maxLength:{value:50,message:"At most 50 characters"},pattern:{value:/^[a-zA-Z0-9_-]+$/,message:"Only letters, numbers, hyphens, and underscores"}}),placeholder:"my-cooperative-site",borderRadius:"lg",fontSize:"sm",bg:"gray.50",_focus:{bg:"white",borderColor:ef,boxShadow:`0 0 0 1px ${ef}`}}),(0,i.jsx)(N.t,{children:en.isValidating?(0,i.jsx)(m.y,{size:"sm",color:"purple.400"}):!0===en.isValid?(0,i.jsx)(f.I,{as:S.YrT,color:"green.500"}):!1===en.isValid?(0,i.jsx)(f.I,{as:S.eHT,color:"red.500"}):null})]}),ee.name&&(0,i.jsx)(D.Wt,{fontSize:"xs",children:ee.name.message}),!ee.name&&!1===en.isValid&&en.message&&(0,i.jsx)(D.Wt,{fontSize:"xs",children:en.message}
205),!ee.name&&!0===en.isValid&&(0,i.jsx)(E.eK,{fontSize:"xs",color:"green.600",children:"Name is available"}),!ee.name&&null===en.isValid&&(0,i.jsx)(E.eK,{fontSize:"xs",children:"URL-safe: letters, numbers, hyphens, underscores"})]}),(0,i.jsxs)(E.MJ,{isInvalid:!!ee.displayName,isRequired:!0,children:[(0,i.jsx)(q.l,{fontSize:"sm",fontWeight:"600",color:"gray.700",children:"Display Name"}),(0,i.jsx)(P.p,{...J("displayName",{required:"Display name is required",maxLength:{value:100,message:"At most 100 characters"}}),placeholder:"My Cooperative Site",borderRadius:"lg",fontSize:"sm",bg:"gray.50",_focus:{bg:"white",borderColor:ef,boxShadow:`0 0 0 1px ${ef}`}}),ee.displayName?(0,i.jsx)(D.Wt,{fontSize:"xs",children:ee.displayName.message}):(0,i.jsx)(E.eK,{fontSize:"xs",children:"Friendly name shown in the dashboard"})]}),(0,i.jsxs)(E.MJ,{isInvalid:!!ee.description,children:[(0,i.jsxs)(q.l,{fontSize:"sm",fontWeight:"600",color:"gray.700",children:["Description"," ",(0,i.jsx)(g.E,{as:"span",color:"gray.400",fontWeight:"normal",fontSize:"xs",children:"(optional)"})]}),(0,i.jsx)(R.T,{...J("description",{maxLength:{value:500,message:"At most 500 characters"}}),placeholder:"Describe the purpose of this siteâ¦",rows:2,resize:"vertical",borderRadius:"lg",fontSize:"sm",bg:"gray.50",_focus:{bg:"white",borderColor:ef,boxShadow:`0 0 0 1px ${ef}`}}),ee.description?(0,i.jsx)(D.Wt,{fontSize:"xs",children:ee.description.message}):(0,i.jsxs)(E.eK,{fontSize:"xs",color:ea.length>450?"orange.500":"gray.400",children:[ea.length," / 500 characters"]})]}),(0,i.jsx)(x.a,{display:"none",children:(0,i.jsxs)(E.MJ,{children:[(0,i.jsxs)(q.l,{fontSize:"sm",fontWeight:"600",color:"gray.700",children:["Thumbnail"," ",(0,i.jsx)(g.E,{as:"span",color:"gray.400",fontWeight:"normal",fontSize:"xs",children:"(optional)"})]}),(0,i.jsx)("input",{ref:B,type:"file",accept:"image/*",style:{display:"none"},onChange:e=>{let t=e.target.files?.[0];if(!t)return;Z("thumbnail",t);let a=URL.createObjectURL(t);H(e=>(e&&URL.revokeObjectURL(e),a))}}),W?(0,i.jsxs)(x.a,{position:"relative",w:"full",children:[(0,i.jsx)(b._,{src:W,alt:"Thumbnail preview",borderRadius:"lg",maxH:"160px",w:"full",objectFit:"cover",border:"1px",borderColor:"gray.200"}),(0,i.jsx)(T.K,{"aria-label":"Remove thumbnail",icon:(0,i.jsx)(f.I,{as:S.yGN}),size:"xs",position:"absolute",top:2,right:2,borderRadius:"full",bg:"whiteAlpha.800",_hover:{bg:"white"},onClick:()=>{Z("thumbnail",void 0),H(e=>(e&&URL.revokeObjectURL(e),null)),B.current&&(B.current.value="")}})]}):(0,i.jsx)(z.$,{leftIcon:(0,i.jsx)(f.I,{as:S.B88}),variant:"outline",size:"sm",borderRadius:"lg",borderStyle:"dashed",borderColor:"gray.300",color:"gray.500",w:"full",h:"80px",fontSize:"sm",_hover:{borderColor:ef,color:ef},onClick:()=>B.current?.click(),children:"Click to upload image"}),(0,i.jsx)(E.eK,{fontSize:"xs",children:"Displayed as the site thumbnail in the dashboard"})]})}),(0,i.jsx)(F.c,{borderColor:"gray.100"}),(0,i.jsx)(w.xI,{name:"themeId",control:O,rules:{required:"Please select a theme"},render:({field:e})=>(0,i.jsx)(eh,{value:e.value?{id:e.value,name:X("themeName")??"",path:""}:null,onChange:e=>{Z("themeId",e.id),Z("themeName",e.name)},error:ee.themeId?.message})}),I&&(0,i.jsxs)(o.F,{status:"error",borderRadius:"lg",fontSize:"sm",children:[(0,i.jsx)(l._,{boxSize:4}),I.message]}),(0,i.jsx)(z.$,{type:"submit",isLoading:h,loadingText:"Creating siteâ¦",w:"full",h:"44px",borderRadius:"lg",bg:ex,color:"white",fontWeight:"600",fontSize:"sm",_hover:{bg:ey},_active:{bg:ey},mt:1,children:"Create Site"})]})})})})})]})}var ew=a(31621);let ev=/[\\/:?"<>|[\]&]/g;function eC(e){return e.replace(ev,"").replace(/\s+/g," ").trim()}let ez={Homepage:null,Search:null,"Product category listing":"6BC4B417-7F23-4E07-B2E0-13A7CCE94C77","Catalog / department landing":"2B4A3843-2317-4BF9-9D67-CC1E2F8D7724","Generic page":"A919F5FB-010C-45D5-A225-97A6586E9B28",Article:"8FC7F53A-FE37-4595-B9E2-AB0874B03412","Resource detail":"8FC7F53A-FE37-4595-B9E2-AB0874B03412"},eE=new Set(["6BC4B417-7F23-4E07-B2E0-13A7CCE94C77"]),eq=[{label:"Content Landing Page",itemId:"2B4A3843-2317-4BF9-9D67-CC1E2F8D7724"},{label:"Generic Interior Page",itemId:"A919F5FB-010C-45D5-A225-97A6586E9B28"},{label:"Article Page",itemId:"8FC7F53A-FE37-4595-B9E2-AB0874B03412"}],ek=["PageTitle","Title","NavigationTitle","breadcrumbTitle"];function eP(e){let t=e.replace(/[{}\-]/g,"");return 32!==t.length?`{${e.toUpperCase()}}`:`{${[t.slice(0,8),t.slice(8,12),t.slice(12,16),t.slice(16,20),t.slice(20)].join("-").toUpperCase()}}`}function eN(e){return e.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}let eD="#6B46C1",eR="#9F7AEA",eT="#805AD5",eF="#E9D8FD";function e_({status:e}){return"completed"===e?(0,i.jsx)(v.j,{size:"22px",bg:"green.500",flexShrink:0,children:(0,i.jsx)(f.I,{as:S.YrT,color:"white",boxSize:"10px"})}):"error"===e?(0,i.jsx)(v.j,{size:"22px",bg:"red.500",flexShrink:0,children:(0,i.jsx)(f.I,{as:S.eHT,color:"white",boxSize:"10px"})}):"skipped"===e?(0,i.jsx)(v.j,{size:"22px",bg:"gray.300",flexShrink:0,children:(0,i.jsx)(g.E,{fontSize:"9px",color:"white",fontWeight:"bold",children:"â"})}):"in-progress"===e?(0,i.jsx)(v.j,{size:"22px",bg:eR,flexShrink:0,children:(0,i.jsx)(m.y,{size:"xs",color:"white",thickness:"2px"})}):(0,i.jsx)(v.j,{size:"22px",bg:"gray.100",border:"2px",borderColor:"gray.200",flexShrink:0})}function eA({onBack:e}){let{sites:t,isLoading:a,error:r}=function(){let{client:e,contextId:t}
205=u(),[a,i]=(0,n.useState)([]),[r,s]=(0,n.useState)(!0),[o,l]=(0,n.useState)(null);return(0,n.useEffect)(()=>{e&&t&&a();async function a(){try{let a=await e.query("xmc.xmapp.listCollections",{params:{query:{sitecoreContextId:t}}}),r=a?.data?.data??a?.data??[],n=[];for(let a of r){if("platform"!==a.name.toLowerCase())continue;let i=a.settings?.itemPath??`/sitecore/content/${a.name}`,r=a.displayName??a.name,s=await e.mutate("xmc.authoring.graphql",{params:{query:{sitecoreContextId:t},body:{query:` 206 query ListSites($path: String!, $lang: String!) { 207 item(where: { database: "master", path: $path, language: $lang }) { 208 children { nodes { itemId name displayName } } 209 } 210 } 211 `,variables:{path:i,lang:"en"}}}});for(let e of s?.data?.data?.item?.children?.nodes??[])"sitefactory"!==e.name.toLowerCase()&&n.push({name:e.name,displayName:e.displayName??e.name,sitePath:`${i}/${e.name}`,itemId:e.itemId,collectionName:r})}i(n)}catch{l("Failed to load sites")}finally{s(!1)}}},[e,t]),{sites:a,isLoading:r,error:o}}(),{importPages:s,isImporting:p,progress:c}=function(){let{client:e,contextId:t}=u(),[a,i]=(0,n.useState)(!1),[r,s]=(0,n.useState)([]),o=(e,t,a)=>{s(i=>i.map(i=>i.name===e?{...i,status:t,message:a}:i))};return{importPages:(0,n.useCallback)(async(a,r,n,l)=>{let d=a.filter(e=>e.level>0).slice(0,n??a.length);i(!0),s(d.map(e=>({name:e.name,level:e.level,status:"pending",message:"Waitingâ¦"})));let m={0:`${r}/Home`},g={},p={},c=[],u=e=>e.replace(/[{}\-]/g,"").toUpperCase(),h=new Set([...eE].map(u));for(let a of d){let{name:i,level:n,displayName:s,template:d,description:x}=a,f=eC(i);o(i,"in-progress",`Creating "${s}"â¦`);try{let a=ez[d];if(null===a){o(i,"skipped","Handled by site wizard â skipped");let a=`${m[n-1]??`${r}/Home`}/${f}`;m[n]=a;try{let r=await e.mutate("xmc.authoring.graphql",{params:{query:{sitecoreContextId:t},body:{query:'query GetItemId($path: String!, $lang: String!) { item(where: { database: "master", path: $path, language: $lang }) { itemId } }',variables:{path:a,lang:"en"}}}}),n=r?.data?.data?.item?.itemId;n&&(p[i]=n)}catch{}continue}let y=a??l?.[i]??"A919F5FB-010C-45D5-A225-97A6586E9B28";if("__skip__"===y){o(i,"skipped","Skipped by user selection");continue}let b=m[n-1];if(!b){o(i,"error",`No parent resolved for level ${n-1}`);continue}let $=await e.mutate("xmc.authoring.graphql",{params:{query:{sitecoreContextId:t},body:{query:` 212 query CheckExists($path: String!, $lang: String!) { 213 item(where: { database: "master", path: $path, language: $lang }) { itemId } 214 } 215 `,variables:{path:`${b}/${f}`,lang:"en"}}}});if($?.data?.data?.item?.itemId){m[n]=`${b}/${f}`,p[i]=$.data.data.item.itemId,o(i,"skipped","Already exists â skipped");continue}let I=await e.mutate("xmc.authoring.graphql",{params:{query:{sitecoreContextId:t},body:{query:` 216 mutation CopyPage($itemId: ID!, $targetParentPath: String!, $database: String!) { 217 copyItem(input: { 218 itemId: $itemId 219 targetParentPath: $targetParentPath 220 database: $database 221 }) { 222 item { itemId name path } 223 } 224 } 225 `,variables:{itemId:function(e){let t=e.replace(/[{}\-]/g,"");return 32!==t.length?`{${e.toUpperCase()}}`:`{${[t.slice(0,8),t.slice(8,12),t.slice(12,16),t.slice(16,20),t.slice(20)].join("-").toUpperCase()}}`}(y),targetParentPath:b,database:"master"}}}}),S=I?.data?.errors,j=I?.data?.data?.copyItem?.item;if(!j?.itemId){let e=S?.[0]?.message??"no item returned";o(i,"error",`Copy failed â ${e}`);continue}let w=await e.mutate("xmc.authoring.graphql",{params:{query:{sitecoreContextId:t},body:{query:` 226 mutation RenamePage($itemId: ID!, $newName: String!, $database: String!) { 227 renameItem(input: { 228 itemId: $itemId 229 newName: $newName 230 database: $database 231 }) { 232 item { itemId name path } 233 } 234 } 235 `,variables:{itemId:j.itemId,newName:f,database:"master"}}}}),v=w?.data?.data?.renameItem?.item?.path??`${b}/${f}`;m[n]=v;let C=g[b]??0;g[b]=C+100;let z=ek.map(e=>({name:e,value:s}));x&&z.push({name:"MetaDescription",value:x}),z.push({name:"__Sortorder",value:String(C)}),z.push({name:"__Display Name",value:s});let E=z.map(e=>`{ name: "${e.name}", value: "${e.value.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}", reset: false }`).join("\n ");await e.mutate("xmc.authoring.graphql",{params:{query:{sitecoreContextId:t},body:{query:` 236 mutation UpdatePageFields($itemId: ID!) { 237 updateItem(input: { 238 itemId: $itemId database: "master" language: "en" version: 1 239 fields: [${E}] 240 }) { item { name } } 241 } 242 `,variables:{itemId:j.itemId}}}}),h.has(u(y))&&c.push({path:v,level:n}),p[i]=j.itemId,o(i,"completed","Created")}catch(e){o(i,"error",e instanceof Error?e.message:"Unexpected error")}}for(let{path:a}of(c.sort((e,t)=>
242t.level-e.level),c))try{let i=await e.mutate("xmc.authoring.graphql",{params:{query:{sitecoreContextId:t},body:{query:'query GetWildcard($path: String!, $lang: String!) { item(where: { database: "master", path: $path, language: $lang }) { itemId } }',variables:{path:`${a}/Wildcard`,lang:"en"}}}}),r=i?.data?.data?.item?.itemId;r&&await e.mutate("xmc.authoring.graphql",{params:{query:{sitecoreContextId:t},body:{query:` 243 mutation RenameWildcard($itemId: ID!, $database: String!) { 244 renameItem(input: { itemId: $itemId newName: "*" database: $database }) { 245 item { itemId name } 246 } 247 } 248 `,variables:{itemId:r,database:"master"}}}})}catch{}return i(!1),p},[e,t]),isImporting:a,progress:r}}(),{recreateNav:h}=function(){let{client:e,contextId:t}=u();return{recreateNav:(0,n.useCallback)(async(a,i,r,n,s,o)=>{let l=a.filter(e=>e.level>0).slice(0,n??a.length),d=`${i}/Data/Header Content/Header/Primary Navigation`,m=`${i}/Data/Header Content/Header`;o?.("Querying Primary Navigationâ¦");let g=await e.mutate("xmc.authoring.graphql",{params:{query:{sitecoreContextId:t},body:{query:` 249 query GetPrimaryNav($path: String!, $lang: String!) { 250 item(where: { database: "master", path: $path, language: $lang }) { 251 itemId 252 children { nodes { itemId } } 253 } 254 } 255 `,variables:{path:d,lang:"en"}}}}),p=g?.data?.data?.item?.itemId;if(!p)throw Error("Primary Navigation item not found");let c=g?.data?.data?.item?.children?.nodes??[];for(let a of(o?.(`Deleting ${c.length} existing nav item(s)â¦`),c))await e.mutate("xmc.authoring.graphql",{params:{query:{sitecoreContextId:t},body:{query:` 256 mutation DeleteNavItem($itemId: ID!, $database: String!) { 257 deleteItem(input: { itemId: $itemId, database: $database }) { successful } 258 } 259 `,variables:{itemId:a.itemId,database:"master"}}}});let u={},h=[];for(let a of l){let{name:i,level:n,displayName:l}=a,d=eC(i);if(n>3||!a.includeInNav||"__skip__"===(ez[a.template]??s?.[i]??null))continue;let m=r[i];if(!m)continue;let g=1===n?p:u[n-1];if(!g)continue;let c=1===n?"{4E5E1C34-6D1A-4D4E-8326-8DE84CE390C2}":"{67393868-0F61-49F7-BF9A-21BC1280080A}";o?.(`Creating nav item "${l}"â¦`);let x=await e.mutate("xmc.authoring.graphql",{params:{query:{sitecoreContextId:t},body:{query:` 260 mutation CreateNavItem($name: String!, $templateId: ID!, $parent: ID!, $database: String!, $language: String!) { 261 createItem(input: { 262 name: $name templateId: $templateId parent: $parent database: $database language: $language 263 }) { item { itemId } } 264 } 265 `,variables:{name:d,templateId:c,parent:g,database:"master",language:"en"}}}}),f=x?.data?.data?.createItem?.item?.itemId;if(!f)continue;u[n]=f,1===n&&h.push(f);let y=eN(l||i),b=eN(`<link text="" anchor="" linktype="internal" class="" title="" querystring="" id="${eP(m)}" />`);await e.mutate("xmc.authoring.graphql",{params:{query:{sitecoreContextId:t},body:{query:` 266 mutation UpdateNavItem($itemId: ID!) { 267 updateItem(input: { 268 itemId: $itemId database: "master" language: "en" version: 1 269 fields: [ 270 { name: "Title", value: "${y}", reset: false } 271 { name: "Link", value: "${b}", reset: false } 272 ] 273 }) { item { name } } 274 } 275 `,variables:{itemId:f}}}})}if(h.length>0){o?.(`Updating Header (${h.length} main nav items)â¦`);let a=h.map(e=>eP(e)).join("|");await e.mutate("xmc.authoring.graphql",{params:{query:{sitecoreContextId:t},body:{query:` 276 mutation UpdateHeader($path: String!) { 277 updateItem(input: { 278 path: $path database: "master" language: "en" version: 1 279 fields: [{ name: "mainmenuitems", value: "${a}", reset: false }] 280 }) { item { name } } 281 } 282 `,variables:{path:m}}}})}o?.(`Navigation recreated â ${h.length} top-level items`)},[e,t])}}
282(),[I,j]=(0,n.useState)("site"),[w,C]=(0,n.useState)(null),[k,P]=(0,n.useState)([]),[N,D]=(0,n.useState)({}),[R,T]=(0,n.useState)(!1),[_,A]=(0,n.useState)({status:"idle",message:""}),L=(0,n.useRef)(null),W=(0,n.useRef)(null);(0,n.useEffect)(()=>{W.current?.scrollIntoView({behavior:"smooth",block:"nearest"})},[c]);let H=k.filter(e=>e.level>0),B=H.filter(e=>!(e.template in ez)),U=c.filter(e=>"completed"===e.status||"skipped"===e.status||"error"===e.status).length,V=c.length?Math.round(U/c.length*100):0,M=c.some(e=>"error"===e.status),G=async()=>{if(!w)return;j("progress");let e=await s(k,w.sitePath,void 0,N);if(R){A({status:"running",message:"Startingâ¦"});try{await h(k,w.sitePath,e,void 0,N,e=>A({status:"running",message:e})),A({status:"completed",message:"Navigation recreated successfully"})}catch(e){A({status:"error",message:e instanceof Error?e.message:"Navigation rebuild failed"})}}};return(0,i.jsxs)(x.a,{minH:"100vh",bg:"gray.50",children:[(0,i.jsxs)(x.a,{px:8,py:7,bg:eD,position:"relative",overflow:"hidden",children:[(0,i.jsx)(x.a,{position:"absolute",top:"-40px",right:"-40px",w:"200px",h:"200px",borderRadius:"full",bg:eR,opacity:.2}),(0,i.jsx)(x.a,{position:"absolute",bottom:"-50px",left:"60px",w:"160px",h:"160px",borderRadius:"full",bg:"#F7D44C",opacity:.08}),(0,i.jsx)(x.a,{position:"absolute",top:"10px",right:"200px",w:"80px",h:"80px",borderRadius:"full",bg:eF,opacity:.1}),(0,i.jsxs)(y.z,{spacing:4,position:"relative",maxW:"1024px",mx:"auto",children:[(0,i.jsx)(b._,{src:"/site-wizard/site_wizard_logo.svg",alt:"Site Wizard",boxSize:"52px",borderRadius:"xl",shadow:"md"}),(0,i.jsxs)(x.a,{children:[(0,i.jsx)(g.E,{fontSize:"10px",color:eF,fontWeight:"700",letterSpacing:"widest",textTransform:"uppercase",mb:"1px",children:"Import Pages"}),(0,i.jsx)($.D,{size:"md",color:"white",fontWeight:"700",children:{site:"Select a site",preview:"Review import",assign:"Assign templates",progress:p?"Importing pagesâ¦":M?"Completed with errors":"Import complete"}[I]}),(0,i.jsx)(g.E,{fontSize:"sm",color:eF,opacity:.8,mt:1,children:"Bulk-create pages in an existing site from a CSV file"})]}),"progress"!==I&&(0,i.jsx)(z.$,{ml:"auto",size:"sm",variant:"ghost",color:eF,leftIcon:(0,i.jsx)(f.I,{as:S.kRp,boxSize:4}),onClick:{site:e,preview:()=>j("site"),assign:()=>j("preview"),progress:e}[I],_hover:{bg:"whiteAlpha.200"},children:"Back"})]})]}),(0,i.jsx)(x.a,{maxW:"1024px",mx:"auto",px:8,py:8,children:(0,i.jsx)(x.a,{bg:"white",borderRadius:"2xl",shadow:"sm",border:"1px",borderColor:"gray.100",children:(0,i.jsxs)(x.a,{p:6,children:["site"===I&&(0,i.jsxs)(d.T,{spacing:5,align:"stretch",children:[(0,i.jsxs)(E.MJ,{children:[(0,i.jsx)(q.l,{fontSize:"sm",fontWeight:"600",color:"gray.700",children:"Target site"}),a?(0,i.jsxs)(y.z,{children:[(0,i.jsx)(m.y,{size:"sm",color:eR}),(0,i.jsx)(g.E,{fontSize:"sm",color:"gray.500",children:"Loading sitesâ¦"})]}):r?(0,i.jsxs)(o.F,{status:"error",borderRadius:"lg",fontSize:"sm",children:[(0,i.jsx)(l._,{boxSize:4}),r]}):(0,i.jsx)(ep.l,{placeholder:"Select siteâ¦",fontSize:"sm",borderRadius:"lg",bg:"gray.50",_focus:{bg:"white",borderColor:eR},onChange:e=>C(t.find(t=>t.sitePath===e.target.value)??null),children:t.map(e=>(0,i.jsxs)("option",{value:e.sitePath,children:[e.collectionName," / ",e.name]},e.sitePath))})]}),(0,i.jsxs)(E.MJ,{children:[(0,i.jsx)(q.l,{fontSize:"sm",fontWeight:"600",color:"gray.700",children:"CSV file"}),(0,i.jsx)("input",{ref:L,type:"file",accept:".csv,text/csv",style:{display:"none"},onChange:e=>{let t=e.target.files?.[0];if(!t)return;let a=new FileReader;a.onload=e=>{P(function(e){let t=function(e){let t=[],a=[],i="",r=!1;for(let n=0;n<e.length;n++){let s=e[n];'"'===s?r&&'"'===e[n+1]?(i+='"',n++):r=!r:","!==s||r?"\n"!==s&&"\r"!==s||r?i+=s:("\r"===s&&"\n"===e[n+1]&&n++,a.push(i),i="",a.some(e=>""!==e)&&t.push(a),a=[]):(a.push(i),i="")}return(""!==i||a.length>0)&&(a.push(i),a.some(e=>""!==e)&&t.push(a)),t}(e),a=[];for(let e of t){let t=parseInt(e[1]??"",10);if(isNaN(t))continue;let i=(e[0]??"").trim();i&&a.push({name:i,level:t,displayName:(e[4]??i).trim(),template:(e[5]??"").trim(),description:(e[7]??"").trim(),includeInNav:"no"!==(e[3]??"").trim().toLowerCase()})}return a}(e.target?.result))},a.readAsText(t)}}),(0,i.jsx)(z.$,{variant:"outline",w:"full",h:"64px",borderRadius:"lg",borderStyle:"dashed",borderColor:k.length>0?"green.400":"gray.300",color:k.length>0?"green.600":"gray.500",leftIcon:(0,i.jsx)(f.I,{as:k.length>0?S.YrT:S.B88}),_hover:{borderColor:eR,color:eR},onClick:()=>L.current?.click(),children:k.length>0?`${k.length} rows parsed â click to replace`:"Upload CSV file"})]}),(0,i.jsx)(z.$,{w:"full",h:"44px",borderRadius:"lg",bg:eD,color:"white",fontWeight:"600",fontSize:"sm",_hover:{bg:eT},isDisabled:!w||0===k.length,onClick:()=>j("preview"),children:"Preview Import"})]}),"preview"===I&&(0,i.jsxs)(d.T,{spacing:5,align:"stretch",children:[(0,i.jsxs)(y.z,{justify:"space-between",align:"flex-start",children:[(0,i.jsxs)(x.a,{children:[(0,i.jsx)(g.E,{fontSize:"xs",fontWeight:"600",color:"gray.500",textTransform:"uppercase",children:"Site"}),(0,i.jsx)(g.E,{fontSize:"sm",color:"gray.700",fontFamily:"mono",children:w?.sitePath})]}),(0,i.jsxs)(x.a,{textAlign:"right",children:[(0,i.jsx)(g.E,{fontSize:"xs",fontWeight:"600",color:"gray.500",textTransform:"uppercase",children:"Pages"}),(0,i.jsx)(g.E,{fontSize:"sm",color:"gray.700",children:H.length})]})]}),(0,i.jsx)(F.c,{borderColor:"gray.100"}),(0,i.jsx)(ew.S,{isChecked:R,onChange:e=>T(e.target.checked),colorScheme:"purple",children:(0,i.jsx)(g.E,{fontSize:"sm",children:"Recreate navigation based on import file"})}),(0,i.jsx)(x.a,{maxH:"300px",overflowY:"auto",border:"1px",borderColor:"gray.100",borderRadius:"lg",p:3,children:H.map((e,t)=>{let a=null===ez[e.template],r=!(e.template in ez);return(0,i.jsxs)(y.z,{spacing:2,py:"3px",pl:`${(e.level-1)*20}px`,children:[(0,i.jsx)(x.a,{w:"6px",h:"6px",borderRadius:"full",flexShrink:0,bg:a?"gray.300":r?"orange.300":eR}),(0,i.jsx)(g.E,{fontSize:"xs",fontFamily:"mono",color:a?"gray.400":"gray.700",children:e.name}),(0,i.jsxs)(g.E,{fontSize:"xs",color:"gray.400",children:["â ",e.template||"(no template)"]})]},t)})}),(0,i.jsx)(z.$,{w:"full",h:"44px",borderRadius:"lg",bg:eD,color:"white",fontWeight:"600",fontSize:"sm",_hover:{bg:eT},onClick:()=>{B.length>0?j("assign"):G()},children:B.length>0?`Next â assign ${B.length} template${B.length>
2821?"s":""}`:"Start Import"})]}),"assign"===I&&(0,i.jsxs)(d.T,{spacing:4,align:"stretch",children:[(0,i.jsx)(g.E,{fontSize:"sm",color:"gray.500",children:"The pages below have unrecognised or missing templates. Choose how each should be imported."}),(0,i.jsx)(x.a,{border:"1px",borderColor:"gray.100",borderRadius:"lg",overflow:"hidden",children:B.map((e,t)=>{let a=H.indexOf(e),r=(H[a+1]?.level??0)>H[a].level,n=[],s=e.level-1;for(let e=a-1;e>=0&&s>0;e--)H[e].level===s&&(n.unshift(H[e].displayName||H[e].name),s--);let o=["Home",...n].join(" / ");return(0,i.jsxs)(y.z,{px:4,py:"6px",borderBottom:t<B.length-1?"1px":"none",borderColor:"gray.100",justify:"space-between",align:"center",spacing:4,children:[(0,i.jsxs)(x.a,{flex:1,minW:0,children:[(0,i.jsx)(g.E,{fontSize:"10px",color:"gray.400",noOfLines:1,lineHeight:"1.2",children:o}),(0,i.jsxs)(y.z,{spacing:2,align:"baseline",children:[(0,i.jsx)(g.E,{fontSize:"sm",fontWeight:"600",color:"gray.800",noOfLines:1,children:e.displayName||e.name}),e.template&&(0,i.jsx)(g.E,{fontSize:"xs",color:"gray.400",noOfLines:1,children:e.template})]})]}),(0,i.jsxs)(ep.l,{size:"sm",borderRadius:"md",bg:"gray.50",w:"220px",flexShrink:0,value:N[e.name]??"",onChange:t=>D(a=>({...a,[e.name]:t.target.value})),children:[(0,i.jsx)("option",{value:"",children:"Generic Interior Page (default)"}),eq.map(e=>(0,i.jsx)("option",{value:e.itemId,children:e.label},e.itemId)),!r&&(0,i.jsx)("option",{value:"__skip__",children:"Don't import"})]})]},e.name)})}),(0,i.jsx)(z.$,{w:"full",h:"44px",borderRadius:"lg",bg:eD,color:"white",fontWeight:"600",fontSize:"sm",_hover:{bg:eT},onClick:G,children:"Start Import"})]}),"progress"===I&&(0,i.jsxs)(d.T,{spacing:5,align:"stretch",children:[(0,i.jsxs)(x.a,{border:"1px",borderColor:"gray.100",borderRadius:"xl",overflow:"hidden",children:[(0,i.jsxs)(y.z,{px:4,py:3,bg:"gray.50",borderBottom:"1px",borderColor:"gray.100",justify:"space-between",children:[(0,i.jsxs)(y.z,{spacing:2,children:[(0,i.jsx)(v.j,{size:"20px",bg:p?eR:M?"orange.400":"green.500",flexShrink:0,children:p?(0,i.jsx)(m.y,{size:"xs",color:"white",thickness:"2px"}):(0,i.jsx)(f.I,{as:S.YrT,color:"white",boxSize:"9px"})}),(0,i.jsx)(g.E,{fontSize:"sm",fontWeight:"700",color:"gray.700",children:"1 â Import pages"})]}),(0,i.jsxs)(g.E,{fontSize:"xs",color:"gray.500",children:[U," / ",c.length]})]}),(0,i.jsx)(x.a,{px:2,py:1,children:(0,i.jsx)(x.a,{bg:"gray.100",borderRadius:"full",h:"3px",overflow:"hidden",mx:2,mt:2,mb:1,children:(0,i.jsx)(x.a,{h:"full",borderRadius:"full",bg:M?"orange.400":eR,w:`${V}%`,transition:"width 0.4s ease"})})}),(0,i.jsx)(d.T,{spacing:0,align:"stretch",maxH:"380px",overflowY:"auto",px:2,pb:2,children:c.map((e,t)=>(0,i.jsxs)(y.z,{spacing:3,py:2,borderBottom:"1px",borderColor:"gray.50",pl:`${(e.level-1)*24+8}px`,ref:"in-progress"===e.status?W:void 0,children:[(0,i.jsx)(e_,{status:e.status}),(0,i.jsxs)(x.a,{flex:1,children:[(0,i.jsx)(g.E,{fontSize:"sm",fontWeight:"in-progress"===e.status?"600":"500",color:"error"===e.status?"red.600":"gray.700",children:e.name}),(0,i.jsx)(g.E,{fontSize:"xs",color:"error"===e.status?"red.400":"gray.400",children:e.message})]})]},t))})]}),R&&(0,i.jsxs)(x.a,{border:"1px",borderColor:"gray.100",borderRadius:"xl",overflow:"hidden",children:[(0,i.jsxs)(y.z,{px:4,py:3,bg:"gray.50",borderBottom:"1px",borderColor:"gray.100",children:[(0,i.jsxs)(v.j,{size:"20px",bg:"idle"===_.status?"gray.200":"running"===_.status?eR:"completed"===_.status?"green.500":"red.500",flexShrink:0,children:["running"===_.status&&(0,i.jsx)(m.y,{size:"xs",color:"white",thickness:"2px"}),("completed"===_.status||"idle"===_.status)&&(0,i.jsx)(f.I,{as:S.YrT,color:"white",boxSize:"9px"}),"error"===_.status&&(0,i.jsx)(f.I,{as:S.eHT,color:"white",boxSize:"9px"})]}),(0,i.jsx)(g.E,{fontSize:"sm",fontWeight:"700",color:"gray.700",children:"2 â Recreate navigation"})]}),(0,i.jsx)(x.a,{px:4,py:3,children:"idle"===_.status?(0,i.jsx)(g.E,{fontSize:"sm",color:"gray.400",children:"Waiting for page import to completeâ¦"}):(0,i.jsx)(g.E,{fontSize:"sm",color:"error"===_.status?"red.500":"gray.600",children:_.message})})]}),!p&&"running"!==_.status&&(0,i.jsx)(z.$,{w:"full",h:"44px",borderRadius:"lg",variant:"outline",borderColor:eR,color:eD,fontWeight:"600",fontSize:"sm",_hover:{bg:"purple.50"},onClick:e,children:"Back to Home"})]})]})})})]})}let eL="#6B46C1",eW="#9F7AEA",eH="#E9D8FD";function eB({icon:e,title:t,description:a,onClick:r}){return(0,i.jsx)(x.a,{as:"button",onClick:r,bg:"white",border:"2px",borderColor:"gray.100",borderRadius:"2xl",p:10,textAlign:"center",cursor:"pointer",transition:"all 0.15s ease",_hover:{borderColor:eW,shadow:"lg",transform:"translateY(-2px)",bg:"purple.50"},_active:{transform:"translateY(0px)"},w:"full",children:(0,i.jsxs)(d.T,{spacing:5,children:[(0,i.jsx)(x.a,{w:"72px",h:"72px",borderRadius:"2xl",bg:eL,display:"flex",alignItems:"center",justifyContent:"center",mx:"auto",shadow:"md",children:(0,i.jsx)(f.I,{as:e,boxSize:8,color:"white"})}),(0,i.jsxs)(x.a,{children:[(0,i.jsx)(g.E,{fontWeight:"700",fontSize:"lg",color:"gray.800",mb:2,children:t}),(0,i.jsx)(g.E,{fontSize:"sm",color:"gray.500",lineHeight:"tall",children:a})]})]})})}
282function eU(){let[e,t]=(0,n.useState)("choice");return"create"===e?(0,i.jsx)(ej,{onBack:()=>t("choice")}):"import"===e?(0,i.jsx)(eA,{onBack:()=>t("choice")}):(0,i.jsxs)(x.a,{minH:"100vh",bg:"gray.50",children:[(0,i.jsxs)(x.a,{px:8,py:7,bg:eL,position:"relative",overflow:"hidden",children:[(0,i.jsx)(x.a,{position:"absolute",top:"-40px",right:"-40px",w:"200px",h:"200px",borderRadius:"full",bg:eW,opacity:.2}),(0,i.jsx)(x.a,{position:"absolute",bottom:"-50px",left:"60px",w:"160px",h:"160px",borderRadius:"full",bg:"#F7D44C",opacity:.08}),(0,i.jsx)(x.a,{position:"absolute",top:"10px",right:"200px",w:"80px",h:"80px",borderRadius:"full",bg:eH,opacity:.1}),(0,i.jsxs)(y.z,{spacing:4,position:"relative",maxW:"1024px",mx:"auto",children:[(0,i.jsx)(b._,{src:"/site-wizard/site_wizard_logo.svg",alt:"Site Wizard",boxSize:"52px",borderRadius:"xl",shadow:"md"}),(0,i.jsxs)(x.a,{children:[(0,i.jsx)(g.E,{fontSize:"10px",color:eH,fontWeight:"700",letterSpacing:"widest",textTransform:"uppercase",mb:"1px",children:"Site Wizard"}),(0,i.jsx)($.D,{size:"md",color:"white",fontWeight:"700",children:"What would you like to do?"}),(0,i.jsx)(g.E,{fontSize:"sm",color:eH,opacity:.8,mt:1,children:"Choose an option to get started"})]})]})]}),(0,i.jsx)(x.a,{maxW:"1024px",mx:"auto",px:8,py:10,children:(0,i.jsxs)(I.r,{columns:2,spacing:6,children:[(0,i.jsx)(eB,{icon:S.VeH,title:"Create a new site",description:"Set up a brand new cooperative site from a template. Configure theme, navigation, and branding.",onClick:()=>t("create")}),(0,i.jsx)(eB,{icon:S.B88,title:"Import pages",description:"Bulk-create pages in an existing site from a CSV file. Maintains hierarchy and sets page metadata.",onClick:()=>t("import")})]})})]})}function eV(){return(0,i.jsx)(r.V,{children:(0,i.jsx)(h,{children:(0,i.jsx)(eU,{})})})}}},e=>{e.O(0,[741,400,932,448,636,593,792],()=>e(e.s=620)),_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.