!function(){"use strict";var e={1455:function(e){e.exports=window.wp.apiFetch},59618:function(e){e.exports=window.elementorV2.schema},84303:function(e,t,n){var a,r=Object.create,o=Object.defineProperty,i=Object.getOwnPropertyDescriptor,s=Object.getOwnPropertyNames,l=Object.getPrototypeOf,c=Object.prototype.hasOwnProperty,__copyProps=(e,t,n,a)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let r of s(t))c.call(e,r)||r===n||o(e,r,{get:()=>t[r],enumerable:!(a=i(t,r))||a.enumerable});return e},__toESM=(e,t,n)=>(n=null!=e?r(l(e)):{},__copyProps(!t&&e&&e.__esModule?n:o(n,"default",{value:e,enumerable:!0}),e)),u={};((e,t)=>{for(var n in t)o(e,n,{get:t[n],enumerable:!0})})(u,{App:()=>App}),e.exports=(a=u,__copyProps(o({},"__esModule",{value:!0}),a));var d=__toESM(n(97557)),p=n(97557),f=__toESM(n(1455)),m=n(59618),g=m.z.object({signature:m.z.string().min(1),accessToken:m.z.string().min(1),clientId:m.z.string().min(1),homeUrl:m.z.string().min(1),siteKey:m.z.string().min(1)});var w=n(97557),h=__toESM(n(1455)),y="/elementor/v1/site-builder/deploy-design-system";var b=__toESM(n(1455));var v=__toESM(n(1455));var _=__toESM(n(1455));var M=__toESM(n(1455)),P=__toESM(n(1455));async function postMenu(e){return(0,M.default)({path:"/wp/v2/menus",method:"POST",data:e})}async function createMenu(e){const{name:t,items:n,pageIdMap:a,locationCandidates:r,fallbackPattern:o}=e,i=await async function fetchMenuLocationSlugs(){const e=await(0,P.default)({path:"/wp/v2/menu-locations"});return e?Array.isArray(e)?e.map(e=>e.name).filter(Boolean):Object.keys(e):[]}(),s=function resolveMenuLocation(e,t,n){for(const n of t)if(e.includes(n))return n;if(n){const t=e.find(e=>n.test(e));if(t)return t}}(i,r,o),l={name:t,auto_add:!1};let c;try{c=await postMenu(s?{...l,locations:[s]}:l)}catch(e){if(!s||!function isInvalidMenuLocationError(e){if(!e||"object"!=typeof e)return!1;const t=e;return"rest_invalid_param"===t.code&&"rest_invalid_menu_location"===t.data?.details?.locations?.code||"rest_invalid_menu_location"===t.code}(e))throw e;c=await postMenu(l)}const u=n.map((e,t)=>{const n=a[e.pageId];return n?(0,M.default)({path:"/wp/v2/menu-items",method:"POST",data:{title:e.title,object_id:n,menus:c.id,object:"page",type:"post_type",status:"publish",menu_order:t+1,parent:0}}):Promise.resolve()});return await Promise.all(u),c}var I=__toESM(n(1455));async function createPages(e){const t={},n={};for(const a of e){const e=await(0,I.default)({path:"/wp/v2/pages",method:"POST",data:{title:a.title,status:"publish",meta:{_elementor_edit_mode:"builder",_elementor_template_type:"wp-page",_elementor_data:JSON.stringify(a.content)}}});t[a.id]=e.id,e.link&&(n[a.id]=e.link)}return{pageIdMap:t,pageUrlMap:n}}var S=__toESM(n(1455));var k=__toESM(n(1455));var T=__toESM(n(1455));function getConditionBucket(e){return"header"===e?"header":"footer"===e?"footer":"single"}async function createThemeParts(e){const t=await async function getSupportedDocumentTypes(){try{const e=await(0,T.default)({path:"/wp/v2/elementor_library",method:"OPTIONS"});return e?.schema?.properties?.meta?.properties?._elementor_template_type?.enum||[]}catch{return[]}}(),n=e.filter(({part:e})=>t.includes(e.type));if(!n.length)return;const a={};for(const{key:e,part:t}of n){const n=await(0,T.default)({path:"/wp/v2/elementor_library",method:"POST",data:{title:t.title,status:"publish",meta:{_elementor_edit_mode:"builder",_elementor_template_type:t.type,_elementor_data:JSON.stringify(t.content),_elementor_conditions:t.themeBuilderCondition||"include/general"}}});a[e]=n.id}const r={};for(const{key:e,part:t}of n){const n=a[e];if(!n)continue;const o=t.themeBuilderCondition||"include/general",i=getConditionBucket(t.type);r[i]||(r[i]={}),r[i][n]=[o]}await(0,T.default)({path:"/elementor/v1/settings/elementor_pro_theme_builder_conditions",method:"POST",data:{value:r}})}var O="mega-menu",C="nav-menu";function wireMegaMenu(e,t,n){const a=e.settings?.menu_items;if(!Array.isArray(a))return 0;let r=0;return a.forEach((e,a)=>{const o=t[a];if(!o||"object"!=typeof e||null===e)return;const i=n[o.pageId];i&&(e.item_link=function buildItemLink(e){return{url:e,is_external:"",nofollow:""}}(i),r+=1)}),r}function wireNavMenu(e,t){return t&&e.settings?(e.settings.menu=t,1):0}function wireMenuWidgets(e,t){const walk=e=>{for(const n of e)n.widgetType===O?wireMegaMenu(n,t.items,t.pageUrlMap):n.widgetType===C&&wireNavMenu(n,t.menuSlug),Array.isArray(n.elements)&&walk(n.elements)};walk(e)}async function deployWebsite(e){const t=[];if("incremental"===("incremental"===e.mode?"incremental":"full")){let n={};try{({pageIdMap:n}=await createPages(e.pages))}catch(e){t.push(`pages: ${e.message}`)}return{status:t.length?"error":"success",homeUrl:window.location.origin,pageIdMap:n,...t.length?{errors:t,error:t[0]}:{}}}if(e.siteMeta)try{await async function setSiteMetadata(e){await(0,k.default)({path:"/wp/v2/settings",method:"POST",data:{title:e.title,description:e.tagline}})}(e.siteMeta)}catch(e){t.push(`site_metadata: ${e.message}`)}if(e.logo)try{await async function uploadLogo(e){const t=await fetch(e.url);if(!t.ok)throw new Error(`Failed to download logo: ${t.status}`);const n=await t.blob(),a=await(0,_.default)({path:"/wp/v2/media",method:"POST",body:n,headers:{"Content-Disposition":`attachment; filename="${e.filename}"`,"Content-Type":n.type||"image/png"}});await(0,_.default)({path:"/wp/v2/settings",method:"POST",data:{site_logo:a.id}})}(e.logo)}catch(e){t.push(`logo: ${e.message}`)}if(e.kitSettings)try{await async function updateKitSettings(e){const t=await(0,v.default)({path:"/elementor/v1/settings/elementor_active_kit"}),n=t?.data?.value;if(!n)throw new Error("Could not resolve active kit ID");await(0,v.default)({path:`/wp/v2/elementor_library/${n}`,method:"POST",data:{meta:{_elementor_page_settings:e}}})}(e.kitSettings)}catch(e){t.push(`kit_settings: ${e.message}`)}if(e.globalVariables)try{await async function deployGlobalVariables(e){await(0,b.default)({path:y,method:"POST",data:{globalVariables:e}})}(e.globalVariables)}catch(e){t.push(`global_variables: ${e.message}`)}if(e.globalClasses)try{await async function deployGlobalClasses(e){await(0,h.default)({path:y,method:"POST",data:{globalClasses:e}})}(e.globalClasses)}catch(e){t.push(`global_classes: ${e.message}`)}let n={},a={};try{({pageIdMap:n,pageUrlMap:a}=await createPages(e.pages))}catch(e){t.push(`pages: ${e.message}`)}const r=function resolveHomePageId(e,t){if(t.home)return t.home;const n=e[0];if(n&&t[n.id])return t[n.id];return}(e.pages,n);if(r)try{await async function setHomePage(e){await(0,I.default)({path:"/wp/v2/settings",method:"POST",data:{page_on_front:e,show_on_front:"page"}})}(r)}catch(e){t.push(`home_page: ${e.message}`)}let o={};try{o=await async function createMenus(e,t){const n={};return e?.header?.length&&(n.header=await createMenu({name:`Header-${Date.now()}`,items:e.header,pageIdMap:t,locationCandidates:["header","menu-1","main","navigation"],fallbackPattern:/header|main|navigation/i})),e?.footer?.length&&(n.footer=await createMenu({name:`Footer-${Date.now()}`,items:e.footer,pageIdMap:t,locationCandidates:["footer","footer-menu","secondary"],fallbackPattern:/footer/i})),n}(e.menus,n)}catch(e){t.push(`menus: ${e.message}`)}e.header&&wireMenuWidgets(e.header.content,{items:e.menus?.header??[],pageUrlMap:a,menuSlug:o.header?.slug}),e.footer&&wireMenuWidgets(e.footer.content,{items:e.menus?.footer??[],pageUrlMap:a,menuSlug:o.footer?.slug});const i=[];if(e.header&&i.push({key:"header",part:e.header}),e.footer&&i.push({key:"footer",part:e.footer}),e.error404&&i.push({key:"error404",part:e.error404}),e.singlePost&&i.push({key:"singlePost",part:e.singlePost}),i.length)try{await createThemeParts(i)}catch(e){t.push(`theme_parts: ${e.message}`)}if(e.samplePosts?.length)try{await async function createSamplePosts(e){for(const t of e)await(0,S.default)({path:"/wp/v2/posts",method:"POST",data:{title:t.title,content:t.content,status:"publish"}})}(e.samplePosts)}catch(e){t.push(`sample_posts: ${e.message}`)}return{status:t.length?"error":"success",homeUrl:window.location.origin,homePageId:r||0,pageIdMap:n,...t.length?{errors:t,error:t[0]}:{}}}var E=["pages:","home_page:"],hasBlockingDeployErrors=e=>e?.some(e=>E.some(t=>String(e).startsWith(t)))??!1;var A=3e3;function clearPendingEditorRedirect(e){e&&(e.fallbackTimerId&&(clearTimeout(e.fallbackTimerId),e.fallbackTimerId=null),e.redirectUrl=null)}function getSiteBuilderConfig(){return window.elementorAppConfig?.["site-builder"]}async function handleDeploy(e,t){const n=t.origin||"*",a=t.data?.payload,r="incremental"===a?.mode;if(!a)return e?.contentWindow?.postMessage({type:"site-planner/deploy-website/result",payload:{status:"error",error:"Missing deploy payload"}},n),null;try{const t=await deployWebsite(a);e?.contentWindow?.postMessage({type:"site-planner/deploy-website/result",payload:t},n);const o=function resolveEditorRedirectPageId(e){if(hasBlockingDeployErrors(e.errors))return null;if(e.isIncremental){const t=e.pages?.[e.pages.length-1];return t&&e.pageIdMap?e.pageIdMap[t.id]??null:null}return e.homePageId??null}({isIncremental:r,homePageId:t.homePageId,pageIdMap:t.pageIdMap,pages:a.pages,errors:t.errors});return o?`/wp-admin/post.php?post=${o}&action=elementor`:null}catch(t){return e?.contentWindow?.postMessage({type:"site-planner/deploy-website/result",payload:{status:"error",error:t instanceof Error?t.message:"Deploy failed"}},n),null}}function useSiteBuilderIframeMessaging({iframeRef:e,iframeUrl:t,siteBuilderParams:n,connectAuth:a}){const r=(0,w.useRef)(null),o=(0,w.useMemo)(()=>{try{return new URL(t).origin}catch{return""}},[t]),i=(0,w.useCallback)(async t=>{if(!o)return;if(t.origin!==o)return;if(t.source!==e.current?.contentWindow)return;const{type:i}=t.data??{};if("get/referrer/info"===i){const r=e.current;return void(r?.contentWindow&&function sendReferrerInfo(e,t,n,a,r){const o=getSiteBuilderConfig();e.contentWindow?.postMessage({type:"referrer/info",instanceId:t.data?.payload?.instanceId??"",info:{connectAuth:r,exitTo:o?.exitTo,page:{url:window.location.href,elementorAiCurrentContext:getSiteBuilderConfig()?.elementorAiCurrentContext||{}},user:{isAdmin:o?.isAdmin??!1},siteBuilderParams:a}},n)}(r,t,o,n,a))}if("site-planner/deploy-website"===i){clearPendingEditorRedirect(r.current),r.current=null;const n=await handleDeploy(e.current,t);return void(n&&(r.current=function scheduleEditorRedirectAfterDeploy(e,t={}){const n=t.fallbackMs??A,a=t.navigate??(e=>{window.location.href=e}),r={redirectUrl:e,fallbackTimerId:null};return r.fallbackTimerId=setTimeout(()=>{r.redirectUrl===e&&(r.redirectUrl=null,r.fallbackTimerId=null,a(e))},n),r}(n)))}if("site-planner/deploy-website/acknowledge"===i)return function completeEditorRedirectOnDeployAcknowledge(e,t=e=>{window.location.href=e}){const n=e?.redirectUrl;clearPendingEditorRedirect(e),n&&t(n)}(r.current),void(r.current=null);if("element-selector/close"===i){const e=getSiteBuilderConfig()?.exitTo;window.top&&e&&"string"==typeof e&&(window.top.location.href=e)}},[o,n,a,e]);(0,w.useEffect)(()=>(window.addEventListener("message",i),()=>window.removeEventListener("message",i)),[i]),(0,w.useEffect)(()=>()=>clearPendingEditorRedirect(r.current),[])}var B={position:"fixed",top:0,left:0,width:"100vw",height:"100vh",border:"none",zIndex:1e4};function App(){const e=(0,p.useRef)(null),[t,n]=(0,p.useState)({}),[a,r]=(0,p.useState)(null),o=(0,p.useMemo)(()=>getSiteBuilderConfig()?.iframeUrl??"",[]);return useSiteBuilderIframeMessaging({iframeRef:e,iframeUrl:o,siteBuilderParams:t,connectAuth:a}),(0,p.useEffect)(()=>{(async()=>{try{const e=await(0,f.default)({path:"/elementor/v1/site-builder/auth"});if(!(e.success&&e.data&&function isValidConnectAuth(e){return g.safeParse(e).success}(e.data)))throw new Error("Invalid auth response: missing required Connect fields");r(e.data)}catch(e){console.error("Failed to fetch connectAuth:",e)}})()},[]),(0,p.useEffect)(()=>{if(!window.opener)return;const onInit=e=>{e.source===window.opener&&e.origin===window.location.origin&&"site-builder/init"===e.data?.type&&(n(e.data.payload??{}),window.removeEventListener("message",onInit))};return window.addEventListener("message",onInit),window.opener.postMessage({type:"site-builder/ready"},window.location.origin),()=>window.removeEventListener("message",onInit)},[]),(0,p.useEffect)(()=>{const e=window.wpApiSettings;e?.nonce&&(0,f.default)({path:"/elementor/v1/site-builder/snapshot",method:"POST",data:{value:{}}}).catch(()=>{})},[]),d.createElement("iframe",{ref:e,src:o,style:B,title:"Website Planner",allow:"clipboard-read; clipboard-write"})}},97557:function(e){e.exports=window.React}},t={};var n=function __webpack_require__(n){var a=t[n];if(void 0!==a)return a.exports;var r=t[n]={exports:{}};return e[n](r,r.exports,__webpack_require__),r.exports}(84303);(window.elementorV2=window.elementorV2||{}).siteBuilder=n}(),window.elementorV2.siteBuilder?.init?.();