"use strict";(globalThis.webpackChunkextendify=globalThis.webpackChunkextendify||[]).push([[223],{365:(e,t,a)=>{a.d(t,{$N:()=>i,NM:()=>l,Uq:()=>d,Zz:()=>s,cB:()=>c,yy:()=>r});var n=a(1380);const s=()=>{const e=new URLSearchParams(window.location.search);return["page"].includes(e.get("extendify-launch"))},i=(e,...t)=>t.reduce(((e,t)=>{if(!o(e)||!o(t))return null;const a={...e};for(const e in t)o(t[e])&&e in a?a[e]=i(a[e],t[e]):a[e]=t[e];return a}),e),o=e=>"object"==typeof e&&!Array.isArray(e)&&null!==e,r=e=>new Promise((t=>setTimeout(t,e))),l=(e,t)=>e?.filter((e=>e.includes(t)))?.length,c=async()=>{try{return await(0,n.gE)(),!0}catch(e){}return await new Promise((e=>setTimeout(e,1e3))),c()},d=async(e,{maxAttempts:t=1})=>{for(let a=1;a<=t;a++)try{await c(),await e();break}catch(e){if(a===t)throw e}}},1077:(e,t,a)=>{a.d(t,{e:()=>f});var n=a(1455),s=a.n(n),i=a(6528),o=a(1621),r=a(7134);const l="/extendify/v1/shared/activity",c={getItem:()=>s()({path:l}),setItem:(e,t)=>s()({path:l,method:"POST",data:{state:t}})},d=(0,i.N)(window.extSharedData.activity),u={actions:{}},f=(0,o.vt)((0,r.Zr)((0,r.lt)(((e,t)=>{var a;return{...u,...null!==(a=d?.state)&&void 0!==a?a:{},incrementActivity:a=>{e((e=>({...e,actions:{...e.actions,[a]:Number(t().actions[a]||0)+1}})))}}}),{name:"Extendify Activity"}),{name:"extendify_shared_activity",storage:(0,r.KU)((()=>c)),skipHydration:!0}))},1380:(e,t,a)=>{a.d(t,{nT:()=>d,gE:()=>c,yB:()=>l});var n=a(1455),s=a.n(n),i=a(8969);const o=["partnerId","devbuild","version","siteId","wpLanguage","wpVersion","siteProfile"],r={...Object.fromEntries(Object.entries(window.extSharedData).filter((([e])=>o.includes(e))))},l=async({slug:e,source:t,action:a="install"})=>{try{const a=await fetch(`${i.Dq}/api/v1/plugin-install`,{method:"POST",headers:{"Content-Type":"application/json","X-Extendify":"true"},body:JSON.stringify({...r,slug:e,source:t,siteCreatedAt:window.extSharedData?.siteCreatedAt})});return a.ok?await a.json():(console.error("Bad response from server"),null)}catch(e){return console.error("Error sending plugin installation notification:",e),null}},c=async()=>await s()({path:"/extendify/v1/shared/ping"}),d=async e=>{var t;const a=await s()({path:"/extendify/v1/shared/partner-plugins"});if(!Object.keys(null!==(t=a?.data)&&void 0!==t?t:{}).length)throw new Error("Could not get plugins");return e&&a.data?.[e]?a.data[e]:a.data}},6528:(e,t,a)=>{a.d(t,{N:()=>n});const n=(e,t={})=>{if("string"!=typeof e)return null!=e?e:t;try{var a;return null!==(a=JSON.parse(e))&&void 0!==a?a:t}catch(e){return t}}},7581:(e,t,a)=>{a.d(t,{D:()=>l});var n=a(1455),s=a.n(n),i=a(1621),o=a(7134);const r={setItem:(e,t)=>s()({path:"/extendify/v1/shared/update-user-meta",method:"POST",data:{option:"ai_consent",value:t.state.userGaveConsent}})},l=(0,i.vt)((0,o.Zr)((0,o.lt)(((e,t)=>{var a,n,s;return{showAIConsent:null!==(a=window.extSharedData?.showAIConsent)&&void 0!==a&&a,consentTermsCustom:null!==(n=window.extSharedData?.consentTermsCustom)&&void 0!==n?n:"",userGaveConsent:null!==(s=window.extSharedData?.userGaveConsent)&&void 0!==s&&s,setUserGaveConsent:t=>e({userGaveConsent:t}),shouldShowAIConsent:e=>{var a;const{showAIConsent:n,consentTermsCustom:s,userGaveConsent:i}=t(),o=n&&s,r={launch:o,draft:o&&!i,"help-center":o&&!i};return null!==(a=r?.[e])&&void 0!==a&&a}}}),{name:"Extendify AI Consent"}),{name:"extendify-ai-consent",storage:r,skipHydration:!0}))},7828:(e,t,a)=>{a.d(t,{X:()=>s});var n=a(6087);const s=(e,t)=>{"function"==typeof n.createRoot?(0,n.createRoot)(t).render(e):(0,n.render)(e,t)}},8455:(e,t,a)=>{a.d(t,{f:()=>i});var n=a(1621),s=a(7134);const i=(0,n.vt)((0,s.Zr)((0,s.lt)(((e,t)=>({images:[],expiration:0,isEmpty:()=>0===t().images.length,hasExpired:()=>Date.now()>t().expiration,updateCache:t=>e({images:t,expiration:Date.now()+6048e5})})),{name:"Extendify Unsplash Images"}),{name:`extendify-unsplash-images-${window.extSharedData.siteId}`,storage:(0,s.KU)((()=>localStorage))}))},8512:(e,t,a)=>{a.d(t,{Q:()=>s});var n=a(7723);const s={about:{
// translators: This string represents the title of an "About" page on a website that provides information about the website or organization. Please translate it in a way that fits the standard phrasing for an "About" page in the target language, considering the common usage in websites for that language.
title:(0,n.__)("About","extendify-local"),
// translators: This string represents the slug of an "About" page on a website that provides information about the website or organization. Please translate it in a way that fits a slug for an "About" page in the target language, considering the common usage in websites for that language.
slug:(0,n.__)("about","extendify-local"),alias:["about","about-us","recognition","stats"]},blog:{
// translators: This string represents the title of a "Blog" page on a website that shows recent blog posts. Please translate it in a way that fits the standard phrasing for a "Blog" page in the target language, considering the common usage in websites for that language.
title:(0,n.__)("Blog","extendify-local"),
// translators: This string represents the slug of a "Blog" page on a website that shows recent blog posts. Please translate it in a way that fits a slug for a "Blog" page in the target language, considering the common usage in websites for that language.
slug:(0,n.__)("blog","extendify-local"),alias:["blog","blog-categories","blog-section"]},book:{
// translators: This string represents the title of a "Book" page on a website that is meant for booking something. Please translate it in a way that fits the standard phrasing for a "Book" page in the target language, considering the common usage in websites for that language.
title:(0,n.__)("Book Now","extendify-local"),
// translators: This string represents the slug of a "Book" page on a website that is meant for booking something. Please translate it in a way that fits a slug for a "Book" page in the target language, considering the common usage in websites for that language. Make sure to keep the slug lowercase and url-friendly.
slug:(0,n.__)("book-now","extendify-local"),alias:["book","booking"]},careers:{
// translators: This string represents the title of a "Careers" page on a website that is meant for listing available careers. Please translate it in a way that fits the standard phrasing for a "Careers" page in the target language, considering the common usage in websites for that language.
title:(0,n.__)("Careers","extendify-local"),
// translators: This string represents the slug of a "Careers" page on a website that is meant for listing available careers. Please translate it in a way that fits a slug for a "Careers" page in the target language, considering the common usage in websites for that language. Make sure to keep the slug lowercase and url-friendly.
slug:(0,n.__)("careers","extendify-local"),alias:["careers","career","career-with-opening"]},contact:{
// translators: This string represents the title of a "Contact" page on a website that gives information for visitors on how to contact the website or organization. Please translate it in a way that fits the standard phrasing for a "Contact" page in the target language, considering the common usage in websites for that language.
title:(0,n.__)("Contact","extendify-local"),
// translators: This string represents the slug of a "Contact" page on a website that gives information for visitors on how to contact the website or organization. Please translate it in a way that fits a slug for a "Contact" page in the target language, considering the common usage in websites for that language. Make sure to keep the slug lowercase and url-friendly.
slug:(0,n.__)("contact","extendify-local"),alias:["contact","contact-form","contact-in-person"]},events:{
// translators: This string represents the title of an "Events" page on a website that lists events of any kind. Please translate it in a way that fits the standard phrasing for an "Events" page in the target language, considering the common usage in websites for that language.
title:(0,n.__)("Events","extendify-local"),
// translators: This string represents the slug of an "Events" page on a website that lists events of any kind. Please translate it in a way that fits a slug for an "Events" page in the target language, considering the common usage in websites for that language. Make sure to keep the slug lowercase and url-friendly.
slug:(0,n.__)("events","extendify-local"),alias:["events","events-section"]},faq:{
// translators: This string represents the title of a "FAQ" page on a website that gives information related to frequently asked questions. Please translate it in a way that fits the standard phrasing for a "FAQ" page in the target language, considering the common usage in websites for that language.
title:(0,n.__)("FAQ","extendify-local"),
// translators: This string represents the slug of a "FAQ" page on a website that gives information related to frequently asked questions. Please translate it in a way that fits a slug for a "FAQ" page in the target language, considering the common usage in websites for that language. Make sure to keep the slug lowercase and url-friendly.
slug:(0,n.__)("faq","extendify-local"),alias:["faq"]},features:{
// translators: This string represents the title of a "Features" page on a website that lists features of a product or service. Please translate it in a way that fits the standard phrasing for a "Features" page in the target language, considering the common usage in websites for that language.
title:(0,n.__)("Features","extendify-local"),
// translators: This string represents the slug of a "Features" page on a website that lists features of a product or service. Please translate it in a way that fits a slug for a "Features" page in the target language, considering the common usage in websites for that language. Make sure to keep the slug lowercase and url-friendly.
slug:(0,n.__)("features","extendify-local"),alias:["features"]},gallery:{
// translators: This string represents the title of a "Gallery" page on a website that shows a collection of images. Please translate it in a way that fits the standard phrasing for a "Gallery" page in the target language, considering the common usage in websites for that language.
title:(0,n.__)("Gallery","extendify-local"),
// translators: This string represents the slug of a "Gallery" page on a website that shows a collection of images. Please translate it in a way that fits a slug for a "Gallery" page in the target language, considering the common usage in websites for that language. Make sure to keep the slug lowercase and url-friendly.
slug:(0,n.__)("gallery","extendify-local"),alias:["gallery"]},home:{
// translators: This string represents the title of an "Home" page on a website. Please translate it in a way that fits the standard phrasing for a "Home" page in the target language, considering the common usage in websites for that language.
title:(0,n.__)("Home","extendify-local"),alias:["home"]},menu:{
// translators: This string represents the title of a "Menu" page on a website that lists food or drink items. Please translate it in a way that fits the standard phrasing for a "Menu" page in the target language, considering the common usage in websites for that language.
title:(0,n.__)("Menu","extendify-local"),
// translators: This string represents the slug of a "Menu" page on a website that lists food or drink items. Please translate it in a way that fits a slug for a "Menu" page in the target language, considering the common usage in websites for that language. Make sure to keep the slug lowercase and url-friendly.
slug:(0,n.__)("menu","extendify-local"),alias:["menu"]},portfolio:{
// translators: This string represents the title of a "Portfolio" page on a website that showcases a collection of work. Please translate it in a way that fits the standard phrasing for a "Portfolio" page in the target language, considering the common usage in websites for that language.
title:(0,n.__)("Portfolio","extendify-local"),
// translators: This string represents the slug of a "Portfolio" page on a website that showcases a collection of work. Please translate it in a way that fits a slug for a "Portfolio" page in the target language, considering the common usage in websites for that language. Make sure to keep the slug lowercase and url-friendly.
slug:(0,n.__)("portfolio","extendify-local"),alias:["portfolio"]},pricing:{
// translators: This string represents the title of a "Pricing" page on a website that lists the pricing of products or services. Please translate it in a way that fits the standard phrasing for a "Pricing" page in the target language, considering the common usage in websites for that language.
title:(0,n.__)("Pricing","extendify-local"),
// translators: This string represents the slug of a "Pricing" page on a website that lists the pricing of products or services. Please translate it in a way that fits a slug for a "Pricing" page in the target language, considering the common usage in websites for that language. Make sure to keep the slug lowercase and url-friendly.
slug:(0,n.__)("pricing","extendify-local"),alias:["pricing"]},products:{
// translators: This string represents the title of a "Products" page on a website that lists products. Please translate it in a way that fits the standard phrasing for a "Products" page in the target language, considering the common usage in websites for that language.
title:(0,n.__)("Products","extendify-local"),
// translators: This string represents the slug of a "Products" page on a website that lists products. Please translate it in a way that fits a slug for a "Products" page in the target language, considering the common usage in websites for that language. Make sure to keep the slug lowercase and url-friendly.
slug:(0,n.__)("products","extendify-local"),alias:["products","best-sellers-products","featured-products","new-arrivals-product","on-sale-products","product-section","products-by-category","products-categories","top-rated-products"]},quote:{
// translators: This string represents the title of a "Quote" page on a website that allows visitors to request a quote. Please translate it in a way that fits the standard phrasing for a "Quote" page in the target language, considering the common usage in websites for that language.
title:(0,n.__)("Quote","extendify-local"),
// translators: This string represents the slug of a "Quote" page on a website that allows visitors to request a quote. Please translate it in a way that fits a slug for a "Quote" page in the target language, considering the common usage in websites for that language. Make sure to keep the slug lowercase and url-friendly.
slug:(0,n.__)("quote","extendify-local"),alias:["quote"]},reservation:{
// translators: This string represents the title of a "Reservation" page on a website that allows visitors to make a reservation. Please translate it in a way that fits the standard phrasing for a "Reservation" page in the target language, considering the common usage in websites for that language.
title:(0,n.__)("Reservation","extendify-local"),
// translators: This string represents the slug of a "Reservation" page on a website that allows visitors to make a reservation. Please translate it in a way that fits a slug for a "Reservation" page in the target language, considering the common usage in websites for that language. Make sure to keep the slug lowercase and url-friendly.
slug:(0,n.__)("reservation","extendify-local"),alias:["reservation"]},resources:{
// translators: This string represents the title of a "Resources" page on a website that provides resources. Please translate it in a way that fits the standard phrasing for a "Resources" page in the target language, considering the common usage in websites for that language.
title:(0,n.__)("Resources","extendify-local"),
// translators: This string represents the slug of a "Resources" page on a website that provides resources. Please translate it in a way that fits a slug for a "Resources" page in the target language, considering the common usage in websites for that language. Make sure to keep the slug lowercase and url-friendly.
slug:(0,n.__)("resources","extendify-local"),alias:["resources","resource"]},serviceArea:{
// translators: This string represents the title of a "Service Area" page on a website that shows the service area of a business, including a map. Please translate it in a way that fits the standard phrasing for a "Service Area" page in the target language, considering the common usage in websites for that language.
title:(0,n.__)("Service Area","extendify-local"),
// translators: This string represents the slug of a "Service Area" page on a website that shows the service area of a business, including a map. Please translate it in a way that fits a slug for a "Service Area" page in the target language, considering the common usage in websites for that language. Make sure to keep the slug lowercase and url-friendly.
slug:(0,n.__)("service-area","extendify-local"),alias:["service-area"]},services:{
// translators: This string represents the title of a "Services" page on a website that lists services. Please translate it in a way that fits the standard phrasing for a "Services" page in the target language, considering the common usage in websites for that language.
title:(0,n.__)("Services","extendify-local"),
// translators: This string represents the slug of a "Services" page on a website that lists services. Please translate it in a way that fits a slug for a "Services" page in the target language, considering the common usage in websites for that language. Make sure to keep the slug lowercase and url-friendly.
slug:(0,n.__)("services","extendify-local"),alias:["services"]},specials:{
// translators: This string represents the title of a "Specials" page on a website that lists special offers. Please translate it in a way that fits the standard phrasing for a "Specials" page in the target language, considering the common usage in websites for that language.
title:(0,n.__)("Specials","extendify-local"),
// translators: This string represents the slug of a "Specials" page on a website that lists special offers. Please translate it in a way that fits a slug for a "Specials" page in the target language, considering the common usage in websites for that language. Make sure to keep the slug lowercase and url-friendly.
slug:(0,n.__)("specials","extendify-local"),alias:["specials"]},team:{
// translators: This string represents the title of a "Team" page on a website that introduces the team members. Please translate it in a way that fits the standard phrasing for a "Team" page in the target language, considering the common usage in websites for
title:(0,n.__)("Team","extendify-local"),
// translators: This string represents the slug of a "Team" page on a website that introduces the team members. Please translate it in a way that fits a slug for a "Team" page in the target language, considering the common usage in websites for that language. Make sure to keep the slug lowercase and url-friendly.
slug:(0,n.__)("team","extendify-local"),alias:["team"]},testimonials:{
// translators: This string represents the title of a "Testimonials" page on a website that showcases testimonials from customers. Please translate it in a way that fits the standard phrasing for a "Testimonials" page in the target language, considering the common usage in websites for that language.
title:(0,n.__)("Testimonials","extendify-local"),
// translators: This string represents the slug of a "Testimonials" page on a website that showcases testimonials from customers. Please translate it in a way that fits a slug for a "Testimonials" page in the target language, considering the common usage in websites for that language. Make sure to keep the slug lowercase and url-friendly.
slug:(0,n.__)("testimonials","extendify-local"),alias:["testimonials","testimonial"]}}},8969:(e,t,a)=>{a.d(t,{AY:()=>n,Dq:()=>o,XQ:()=>i,a3:()=>r,zL:()=>s});const{AI_HOST:n="https://ai.extendify.com",PATTERNS_HOST:s="https://patterns.extendify.com",KB_HOST:i="https://kb.extendify.com",INSIGHTS_HOST:o="https://insights.extendify.com",IMAGES_HOST:r="https://images-resource.extendify.com"}={}},9324:(e,t,a)=>{a.d(t,{Bf:()=>l,OH:()=>o,xZ:()=>r});var n=a(1455),s=a.n(n),i=a(3832);const o=async()=>{const e=await s()({path:"/wp/v2/plugins"});if(!e)throw new Error("Failed to fetch installed plugins");return e},r=async e=>await s()({path:"/wp/v2/plugins",method:"POST",data:{slug:e}}),l=async e=>{const t=await(async e=>{const t=await s()({path:(0,i.addQueryArgs)("/wp/v2/plugins",{search:e})});let a=t?.[0];if(!a)throw new Error("Plugin not found");return a})(e);return await s()({path:`/wp/v2/plugins/${t.plugin}`,method:"POST",data:{status:"active"}})}},9358:(e,t,a)=>{a.d(t,{E:()=>u,P:()=>d});var n=a(8969),s=a(7581),i=a(8455);const{showAIConsent:o,userGaveConsent:r}=s.D.getState(),l=["siteId","partnerId","wpVersion","wpLanguage","devbuild","isBlockTheme","userId","siteProfile"],c={...Object.fromEntries(Object.entries(window.extSharedData).filter((([e])=>l.includes(e)))),showAIConsent:o,userGaveConsent:r},d=async(e,t=null)=>{const a=new URLSearchParams({...c,query:e,source:t}),s=await fetch(`${n.AY}/api/draft/image/unsplash?${a.toString()}`,{method:"GET",headers:{"Content-Type":"application/json"}});if(!s.ok)throw new Error("Bad response from server");const i=await s.json();if(!Array.isArray(i))throw new Error("Bad response from server");return i.map((e=>({...e,requestMetadata:{id:s.headers.get("X-Request-Id"),total:s.headers.get("X-Total"),perPage:s.headers.get("X-Per-Page")}})))},u=async()=>{var e;const t=i.f.getState();if(!t.isEmpty()&&!t.hasExpired())return t.images;const{aiKeywords:a}=null!==(e=window.extSharedData?.siteProfile)&&void 0!==e?e:{},n=a?.length?a:[],s=(await Promise.all(n.map((e=>d(e,"prefetch"))))).flat(),o=s.reduce(((e,t)=>(e.has(t.id)||e.set(t.id,t),e)),new Map);return t.updateCache(Array.from(o.values())),s}},9666:(e,t,a)=>{a.d(t,{j:()=>n});const n=window.extSharedData?.showAIPageCreation}}]);