@swell/apps-sdk 1.0.81 → 1.0.83
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +2 -2
- package/dist/index.cjs.map +2 -2
- package/dist/index.js +2 -2
- package/dist/index.js.map +2 -2
- package/dist/index.mjs +2 -2
- package/dist/index.mjs.map +2 -2
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -932,14 +932,14 @@
|
|
|
932
932
|
</clipPath>
|
|
933
933
|
</defs>
|
|
934
934
|
</svg>
|
|
935
|
-
`;var vt={image:re,"product-1":O2,"product-2":U2,"product-3":$2,"product-4":K2,"product-5":z2,"product-6":W2,"collection-1":J2,"collection-2":Y2,"collection-3":Q2,"collection-4":X2,"collection-5":ee,"collection-6":te,"lifestyle-1":ie,"lifestyle-2":ne,"product-apparel-1":ae,"product-apparel-2":oe,"product-apparel-3":se,"product-apparel-4":le,"collection-apparel-1":he,"collection-apparel-2":de,"collection-apparel-3":ce,"collection-apparel-4":ue,"hero-apparel-1":Ce,"hero-apparel-2":me,"hero-apparel-3":pe,"blog-apparel-1":ge,"blog-apparel-2":fe,"blog-apparel-3":we,"detailed-apparel-1":ye},Se=vt;function D5(n){return e=>{let t=Se[e];return t?.src?`<img src="${t.src}" alt="${e}" class="placeholder-svg placeholder-svg--${e}" />`:t}}function x5(n){return(e,t)=>(typeof e=="object"&&"value"in e&&(e=e.value),`<span data-swell-inline-editable="${t}">${e}</span>`)}var Pt={asset_url:J4,brightness_difference:Y4,color_brightness:Q4,color_contrast:X4,color_darken:e5,color_desaturate:t5,color_difference:i5,color_extract:n5,color_lighten:r5,color_mix:a5,color_modify:o5,color_saturate:s5,color_to_hex:l5,color_to_hsl:h5,color_to_rgb:d5,date:D3,default_errors:u5,divided_by:C5,font_face:m5,font_modify:p5,font_url:g5,format_address:B2,image_tag:f5,image_url:q2,inline_asset_content:w5,json:y5,json_pretty:S5,money:k5,money_with_currency:L5,money_without_currency:A5,money_without_trailing_zeros:b5,stylesheet_tag:T5,time_tag:_5,translate:n4,t:n4,where:M5,hex_to_rgba:E5,item_count_for_variant:V2,payment_button:v5,payment_terms:P5,placeholder_svg_tag:D5,inline_editable:x5};function Le(n){(0,ke.each)(Pt,(e,t)=>{if(typeof e=="function")n.engine.registerFilter(t,e(n));else if(typeof e.bind=="function"){let{bind:i,resolve:r}=e;n.engine.registerFilter(t,Dt(n,i,r))}})}function Dt(n,e,t=[]){let i=e(n);return Array.isArray(t)?async(...r)=>{let a=await Promise.all(r.map((o,s)=>Array.isArray(t[s])||t[s]===!0?Ae(o,t[s]):o));return i(...a)}:i}async function Ae(n,e){if(!n)return n;let t=n;P(t)&&(t=await t);try{if(Array.isArray(e))for(let i of e){if(typeof i!="string")continue;let[r,...a]=i.split("."),o=t[r];P(o)?t[r]=await o:typeof o?.resolve=="function"&&(t[r]=await o.resolve()),a.length>0&&(t[r]=await Ae(t[r],[a.join(".")]))}}catch{}return t}var be=require("liquidjs");var Te={...be.defaultOperators,"==":_e};function _e(n,e){return v3(n)?n.equals(e):v3(e)?e.equals(n):(n=X(n),e=X(e),c3(n)?c3(e)&&xt(n,e):n==e)}function xt(n,e){return n.length!==e.length?!1:!n.some((t,i)=>!_e(t,e[i]))}var a4=h3(require("color"),1),S=class n{color;colorValues;red;green;blue;constructor(e){try{this.color=Rt(e)?e.color:(0,a4.default)(e),this.colorValues=this.color.object(),this.red=Number(this.colorValues.r),this.green=Number(this.colorValues.g),this.blue=Number(this.colorValues.b)}catch{this.color=(0,a4.default)("#000000"),this.colorValues=this.color.object(),this.red=Number(this.colorValues.r),this.green=Number(this.colorValues.g),this.blue=Number(this.colorValues.b)}}static get(e){return e instanceof n?e:new n(e)}toString(){return this.color.string()}lighten(e){return this.color.lighten(e/100).hex().toLowerCase()}darken(e){return this.color.darken(e/100).hex().toLowerCase()}rgb(){return this.color.rgb().toString()}rgba(e){return this.color.alpha(e).rgb().toString()}hsl(){return this.color.hsl().round().toString()}hex(){return this.color.hex().toLowerCase()}saturate(e){return this.color.saturate(e/100).hex().toLowerCase()}desaturate(e){return this.color.desaturate(e/100).hex().toLowerCase()}modify(e,t){switch(e){case"red":case"green":case"blue":case"alpha":case"hue":case"lightness":break;case"saturation":return this.color.saturationl(t).hex();default:return this.toString()}let i=this.color[e](t);return e==="alpha"?i.string():i.hex()}extract(e){switch(e){case"red":case"green":case"blue":case"alpha":case"hue":case"lightness":break;case"saturation":return this.color.saturationl().toString();default:return this.toString()}return this.color[e]().toString()}mix(e,t){let i=this.color,r=e.color,[a,o,s]=i.rgb().array(),[l,c,u]=r.rgb().array(),h=a4.default.rgb([r4(a,l,t),r4(o,c,t),r4(s,u,t)]).alpha(r4(i.alpha(),r.alpha(),t));return i.alpha()!==1?h.string():h.hex()}contrast(e){return this.color.contrast(e.color).toFixed(1)}difference(e){let[t,i,r]=this.color.rgb().array(),[a,o,s]=e.color.rgb().array();return R5(t,a)+R5(i,o)+R5(r,s)}brightness(){return(this.red*299+this.green*587+this.blue*114)/1e3}brightnessDifference(e){return Math.max(this.brightness(),e.brightness())-Math.min(this.brightness(),e.brightness())}};function r4(n,e,t){return(n*t+e*(100-t))/100}function R5(n,e){return Math.max(n,e)-Math.min(n,e)}function Rt(n){return typeof n=="object"&&n!==null&&Object.hasOwn(n,"color")&&Object.hasOwn(n,"colorValues")&&Object.hasOwn(n,"red")&&Object.hasOwn(n,"green")&&Object.hasOwn(n,"blue")}var x3=class extends j5.Liquid{theme;getThemeConfig;getThemeTemplateConfigByType;getAssetUrl;renderTemplate;renderTemplateString;renderTemplateSections;renderTranslation;renderCurrency;engine;isEditor;locale;currency;layoutName;extName;componentsDir;sectionsDir;lastSchema;constructor({theme:e,getThemeConfig:t,getThemeTemplateConfigByType:i,getAssetUrl:r,renderTemplate:a,renderTemplateString:o,renderTemplateSections:s,renderTranslation:l,renderCurrency:c,isEditor:u,locale:h,currency:p,layoutName:C,extName:m,componentsDir:g,sectionsDir:f}){super(),this.theme=e,this.getThemeConfig=t||e.getThemeConfig.bind(e),this.getThemeTemplateConfigByType=i||e.getThemeTemplateConfigByType.bind(e),this.getAssetUrl=r||e.getAssetUrl.bind(e),this.renderTemplate=a||e.renderTemplate.bind(e),this.renderTemplateString=o||e.renderTemplateString.bind(e),this.renderTemplateSections=s||e.renderTemplateSections.bind(e),this.renderTranslation=l||e.renderTranslation.bind(e),this.renderCurrency=c||e.renderCurrency.bind(e),this.isEditor=u,this.locale=h||"en-US",this.currency=p||"USD",this.layoutName=C||"theme",this.extName=m||"liquid",this.componentsDir=g||"components",this.sectionsDir=f||"sections",this.engine=this.initLiquidEngine()}initLiquidEngine(){return this.engine=new j5.Liquid({cache:!1,relativeReference:!1,fs:this.getLiquidFS(),ownPropertyOnly:!1,operators:Te}),H2(this),Le(this),this.engine}getLiquidFS(){let{getThemeConfig:e,resolveFilePath:t}=this;return{async readFile(i){let r=t(i);return e(r).then(a=>a?.file_data||`<!-- theme template not found: ${r} -->`)},async exists(i){return!0},readFileSync(i){return""},existsSync(i){return!1},contains(i,r){return!0},resolve(i,r,a){return r},fallback(i){}}}async parseAndRender(e,t){return this.engine.parseAndRender(e,t)}resolveFilePath(e,t){return`theme/${e}.${t||this.extName}`}async resolveFilePathByType(e,t){if(this.getThemeTemplateConfigByType){let i=await this.getThemeTemplateConfigByType(e,t);if(i?.file_path)return i.file_path}}async getComponentPath(e){return await this.resolveFilePathByType("components",e)||this.resolveFilePath(`${this.componentsDir}/${e}`)}async getSectionPath(e){return await this.resolveFilePathByType("sections",e)||this.resolveFilePath(`${this.sectionsDir}/${e}`)}async getSectionGroupPath(e){return await this.resolveFilePathByType("sections",`${e}.json`)||this.resolveFilePath(`${this.sectionsDir}/${e}`,"json")}};var Z5=require("lodash-es");async function N5(n,e,t){let r=(await Promise.all(e?.map(async a=>({...a,items:await F5(n,a.items,t)})))).map(a=>(n.shopifyCompatibility&&Object.assign(a,n.shopifyCompatibility.getMenuData(a)),a))||[];return H5([...r,...n.shopifyCompatibility?r.reduce((a,o)=>(o.handle&&a.push({...o,id:o.handle}),a),[]):[]])}async function F5(n,e,t){return e?.length>0?Promise.all(e.map(async r=>{let{url:a,resource:o}=await Me(n,r,{trailingSlash:t?.currentUrl?.endsWith("/")&&t.currentUrl!=="/"}),s=r.items&&await F5(n,r.items,t);return{...r,url:a,resource:o,levels:Ee(s),current:t?.currentUrl===a,active:t?.currentUrl?.startsWith(a),...s?{items:s,child_current:jt(s),child_active:I5(s)}:void 0}})):[]}async function Me(n,e,t){if(!e)return{url:"#invalid-link-item"};if(typeof e=="object"&&e!==null){let{url:i,resource:r}=await Pe(n,e),a=i.slice(-1)==="/";return t?.trailingSlash&&!a&&i.length>1&&(i=i+"/"),!t?.trailingSlash&&a&&i.length>1&&(i=i.slice(0,-1)),{url:i,resource:r}}else return{url:e}}function Ee(n){return n?.reduce((e,t)=>Math.max(e,t.items?1+Ee(t.items):0),0)||0}function jt(n){return n.some(e=>e.current||e.items&&I5(e.items))}function I5(n){return n.some(e=>e.active||e.items&&I5(e.items))}function ve(n){return(0,Z5.get)(n,"id",(0,Z5.get)(n,"slug",typeof n=="string"?n:""))||""}async function Pe(n,e){let{type:t,value:i,url:r,model:a}=e;if(typeof t>"u"&&r)return{url:r};if(t==="url")return{url:typeof i=="string"?i:""};let o=ve(i);switch(t){case"home":return{url:a3(n,"index")};case"category":return o?await r3(n,"categories/category",o):{url:a3(n,"categories/index")};case"product":return o?await r3(n,"products/product",o):{url:a3(n,"products/index")};case"page":return await r3(n,"pages/page",o);case"blog":return await r3(n,"blogs/blog",o,async s=>new _(n.swell,"content/blog-categories",s.category_id).slug);case"blog_category":return await r3(n,"blogs/category",o);case"content_list":if(a){let s=a?.replace("content/","");return{url:a3(n,"content/index",s),resource:new A(n.swell,a)}}break;case"content":if(a){let s=a?.replace("content/","");return await r3(n,"content/content",o,s)}break;case"search":return{url:a3(n,"search")};default:break}return{url:`/${o}`}}function a3(n,e,t,i){let{props:r}=n,a=r?.pages?.find(o=>o.id===e)?.url;return a?.includes(":collection")&&i&&(a=a.replace(":collection",i)),a?.includes(":slug")&&(a=a.replace(":slug",t||"")),a||`/${t||""}`}async function r3(n,e,t,i){let{props:r}=n,a=r?.pages?.find(c=>c.id===e)?.collection,o=a?new _(n.swell,a,t):void 0,s=await o?.slug||t,l=typeof i=="string"?i:void 0;return o?.id&&typeof i=="function"&&(l=await i(o)),{url:a3(n,e,s,typeof l=="string"?l:void 0),resource:o}}var De=h3(require("bluebird"),1);var{Promise:R3}=De.default,Zt=50,o4=class n{static cache;swell;manifest=null;configs={};configPaths=[];constructor(e){this.swell=e}async init(e){let{swellHeaders:t}=this.swell;if(e){this.setConfigs(e);return}t["theme-id"]&&(await this.fetchManifest(),this.manifest||(console.log("ThemeLoader.init - version manifest not found"),await this.loadTheme()))}async loadTheme(){let{swellHeaders:e}=this.swell;if(console.log("ThemeLoader.loadTheme",e["theme-version-hash"]),e["theme-version-hash"]){let t=await this.loadThemeFromManifest();if(t)return t}return this.loadThemeAllConfigs()}setConfigs(e){this.configs=Object.fromEntries(e),this.configPaths=Object.keys(this.configs),this.manifest=this.configPaths.reduce((t,i)=>(t[i]=this.configs[i]?.hash,t),{})}async preloadTheme(e,t){console.log(`ThemeLoader.preloadTheme${e?.hash?` - manifest: ${e.hash}`:""}${t?.length?` - configs: ${t.length}`:""}`),await R3.all([e&&this.cacheManifest(e),t&&R3.map(t,i=>this.cacheThemeConfig(i),{concurrency:10})])}async fetchThemeConfig(e){if(this.configs[e]!==void 0)return this.configs[e];let t=this.manifest?.[e];if(t){let i=await this.getCache().get(`config:${t}`);return i?(this.configs[e]=i,i):this.fetchThemeConfigsFromSourceByPath(e,t)}return null}async fetchThemeConfigsByPath(e,t){let i=this.configPaths.filter(a=>a.startsWith(e)&&(!t||a.endsWith(t)));return(await R3.map(i,a=>this.fetchThemeConfig(a),{concurrency:10})).filter(a=>a!==null)}async loadThemeAllConfigs(){let{swellHeaders:e}=this.swell,t=String(e["theme-config-version"]);if(!t)throw new Error("Theme version is required");return(await this.getCache().fetch(`configs-all:${this.swell.instanceId}:v@${t}2`,()=>this.fetchThemeConfigsFromSource()))?.results??[]}async loadThemeFromManifest(){let e=await this.fetchManifest();if(!e)return null;let t=[],i=new Map;if(await R3.map(Object.values(e),r=>this.getCache().get(`config:${r}`).then(a=>{a?(i.set(a.hash,a),this.configs[a.file_path]=a):t.push(r)}),{concurrency:10}),t.length>0){let a=(await this.fetchThemeConfigsFromSource(i.size===0?void 0:t))?.results??[];for(let o of a)i.set(o.hash,o),this.configs[o.file_path]=o;await R3.map(a,o=>this.cacheThemeConfig(o),{concurrency:10})}return Array.from(i.values())}async cacheManifest(e){e?.hash&&await this.getCache().set(`manifest:${e.hash}`,e.manifest)}async cacheThemeConfig(e){e?.hash&&await this.getCache().set(`config:${e.hash}`,e)}async fetchManifest(){let{swellHeaders:e}=this.swell,t=e["theme-version-hash"];console.log("ThemeLoader.fetchManifest",t);let i=await this.getCache().get(`manifest:${t}`);if(!i){let r=await this.swell.get("/:themes:versions/:last",{...this.themeVersionQueryFilter(),fields:"hash, manifest"});r&&(await this.cacheManifest(r),i=r.manifest)}return this.manifest=i,this.configPaths=Object.keys(i||{}),this.manifest}async fetchThemeConfigsFromSource(e=void 0){e=e||[];let{swellHeaders:t}=this.swell,i=String(t["theme-config-version"]),r=e.length===0||e.length>Zt;return console.log(`Retrieving ${r?"all":"some"} theme configurations - version: ${i}`),await this.swell.get("/:themes:configs",{...this.themeVersionQueryFilter(),...r?{}:{hash:{$in:e}},limit:1e3,type:"theme",fields:"name, file, file_path, hash",include:{file_data:X3}})}async fetchThemeConfigsFromSourceByPath(e,t){console.log(`Retrieving theme config - ${e}`);let i=await this.swell.get("/:themes:configs/:last",{...this.themeVersionQueryFilter(),file_path:e,fields:"name, file, file_path, hash",include:{file_data:X3}});return i&&(t&&(i.hash=t),await this.cacheThemeConfig(i)),this.configs[e]=i,i}themeVersionQueryFilter(){let{swellHeaders:e}=this.swell,t=e["theme-id"];if(!t)throw new Error("Theme ID is required");return{parent_id:t,branch_id:e["theme-branch-id"]||null,preview:e["deployment-mode"]==="editor"||e["deployment-mode"]==="preview"?!0:{$ne:!0}}}getCache(){return n.cache||(n.cache=new E3(this.swell.workerEnv?.THEME)),n.cache}};var G5=class{swell;props;globals;forms;resources;liquidSwell;themeLoader;themeConfigs=null;page;pageId;shopifyCompatibility=null;shopifyCompatibilityClass=g3;shopifyCompatibilityConfig=null;formData={};globalData={};constructor(e,t={}){let{forms:i,resources:r,globals:a,shopifyCompatibilityClass:o}=t;this.swell=e,this.props=this.getSwellAppThemeProps(e.config),this.shopifyCompatibilityConfig=e.shopifyCompatibilityConfig||null,this.globals=a||{},this.forms=i,this.resources=r,this.shopifyCompatibilityClass=o||g3,this.liquidSwell=new x3({theme:this,getThemeConfig:this.getThemeConfig.bind(this),getAssetUrl:this.getAssetUrl.bind(this),getThemeTemplateConfigByType:this.getThemeTemplateConfigByType.bind(this),renderTemplate:this.renderTemplate.bind(this),renderTemplateString:this.renderTemplateString.bind(this),renderTemplateSections:this.renderTemplateSections.bind(this),renderTranslation:this.lang.bind(this),renderCurrency:this.renderCurrency.bind(this),isEditor:e.isEditor}),this.themeLoader=new o4(e)}getSwellAppThemeProps(e){return e?.storefront?.theme||{}}async initGlobals(e){this.pageId=e,await this.themeLoader.init(this.themeConfigs||void 0);let{store:t,session:i,menus:r,geo:a,configs:o}=await this.getSettingsAndConfigs(),{settings:s,request:l,page:c,cart:u,account:h,customer:p}=await this.resolvePageData(t,o,i,e);this.page=c;let C={...this.globalData,store:t,settings:s,session:i,request:l,menus:r,page:c,cart:u,account:h,customer:p,geo:a,configs:o,translations:o?.translations,canonical_url:`${t.url}${this.swell.url?.pathname||""}`,shopify_compatibility:!!s.shopify_compatibility};this.shopifyCompatibility&&this.shopifyCompatibility.adaptGlobals(C),this.setGlobals(C),this.shopifyCompatibility&&this.shopifyCompatibility.adaptQueryParams()}setGlobals(e){this.globals={...this.globals,...e},this.liquidSwell.engine.options.globals={...this.globals}}async getSettingsAndConfigs(){let e=R4,[t,i]=await Promise.all([this.swell.getStorefrontSettings(),this.getThemeConfigsByPath("theme/config/",".json")]),r={theme:{},editor:{},translations:{},presets:[],...Array.from(i.values()).reduce((l,c)=>{let u=String(c?.name||"").split(".")[0];if(u){let h;try{h=JSON.parse(c.file_data)}catch{h=null}l[u]=h}return l},{})},a=await this.swell.storefront.settings.session(),o=a.locale||t?.store?.locale;this.resolveTranslationLocale(r.translations,o),await this.setCompatibilityConfigs(r,o);let s=await this.resolveMenuSettings();return{store:t?.store,session:a,menus:s,geo:e,configs:r}}async resolvePageData(e,t,i,r){let a=String(this.swell.swellHeaders["theme-config-version"]),o=await this.swell.getCachedResource(`theme-settings-resolved:v@${a}`,[],()=>N3(this,t.theme,t.editor?.settings));if(!o)throw new Error("Failed to resolve theme settings");let s={host:this.swell.url.host,origin:this.swell.url.origin,path:this.swell.url.pathname,query:this.swell.queryParams,locale:i?.locale||e.locale,currency:i?.currency||e.currency,is_editor:this.swell.isEditor,is_preview:this.swell.isPreview},l=this.props.pages?.find(m=>m.id===r),c=!l,u={...l,current:this.swell.queryParams.page||1,url:this.swell.url.pathname,custom:c,slug:null,description:null};if(r){let m=await this.getThemeTemplateConfigByType("templates",r),g;try{g=JSON.parse(m?.file_data||"")}catch{}if(g?.page){let{slug:f,label:Y,description:l3}=g.page;u.slug=f,u.label=Y,u.description=l3}}let[h,p]=await Promise.all([this.fetchSingletonResourceCached("cart",()=>this.fetchCart(),{}),this.fetchSingletonResourceCached("account",()=>this.fetchAccount(),null)]);if(!h)throw new Error("Failed to fetch cart");let C;return this.shopifyCompatibility&&(C=p),{settings:o,request:s,page:u,cart:h,account:p,customer:C}}async fetchSingletonResourceCached(e,t,i){let r=this.swell.storefront.session.getCookie();return r?this.swell.getCachedResource(`${e}-${r}`,[],()=>t()):i}async fetchCart(){let e=this.resources?.singletons?.cart,t=e?new e(this.swell):new W(this.swell,"cart");if(await t.id,!t?.id)return{};if(this.shopifyCompatibility){let i=C3(this.shopifyCompatibility,t);t.setCompatibilityProps(i)}return t}async fetchAccount(){let e=this.resources?.singletons?.account,t=e?new e(this.swell):new W(this.swell,"account");if(await t.id,!t?.id)return null;if(this.shopifyCompatibility){let i=$(this.shopifyCompatibility,t);t.setCompatibilityProps(i)}return t}getFormConfig(e){let t=e;if(this.shopifyCompatibility){let i=this.shopifyCompatibility.getAdaptedFormType(e);i&&(t=i)}return this.forms?.find(i=>i.id===t)}setFormData(e,t){let i=this.formData[e]||new V(e);i instanceof V&&(t?.params&&i.setParams(t.params),t?.errors?(i.setSuccess(!1),i.setErrors(t.errors)):t?.success&&(t.withoutErrors&&!i.errors?i.setSuccess(!0):t.withoutErrors||(i.setSuccess(!0),i.clearErrors())),this.shopifyCompatibility&&Object.assign(i,this.shopifyCompatibility.getFormData(i))),this.formData[e]=i,this.setGlobals({forms:this.formData})}setFormSuccessWithoutErrors(e){this.setFormData(e,{success:!0,withoutErrors:!0})}clearFormData(e){e?delete this.formData[e]:this.formData={},this.setGlobals({forms:this.formData})}serializeFormData(){let e={};for(let t in this.formData){let i=this.formData[t];e[t]={success:i.success,errors:i.errors&&Array.from(i.errors)}}return Object.keys(e).length>0?e:null}setGlobalData(e={}){this.globalData={...this.globalData,...e},this.setGlobals(this.globalData)}serializeGlobalData(){return Object.keys(this.globalData).length>0?this.globalData:null}updateSettings(e,t){return this.shopifyCompatibility?this.shopifyCompatibility.adaptSettings(e,t):w3(e,t)}resolveTranslationLocale(e,t){if(!e)return{};if(!t)return e;let i=t.split("-")[0];return(0,b.reduce)(e,(r,a,o)=>{if(f3(a))r[o]=this.resolveTranslationLocale(a,t);else if(typeof a=="string"&&a.startsWith("t:")){let s=a.slice(2),l=s.split("."),c=l.pop(),u=l.join("."),h=this.globals.translations;r[o]=(0,b.get)(h,`${u}.$locale.${t}.${c}`)||(0,b.get)(h,`${u}.$locale.${i}.${c}`)||(0,b.get)(h,s)||a}else r[o]=(0,b.get)(e,`$locale.${t}.${o}`)||(0,b.get)(e,`$locale.${i}.${o}`)||a;return r},{})}async setCompatibilityConfigs(e,t){let i=()=>(this.shopifyCompatibility||(this.shopifyCompatibility=new this.shopifyCompatibilityClass(this)),this.shopifyCompatibility);!Object.keys(e.editor).length&&e.settings_schema&&(e.editor=i().getEditorConfig(e.settings_schema),e.editor=await i().renderSchemaTranslations(this,e.editor,t)),!Object.keys(e.theme).length&&e.settings_data&&(e.theme=i().getThemeConfig(e.settings_data)),!Object.keys(e.presets).length&&e.settings_data&&(e.presets=i().getPresetsConfig(e.settings_data)),Object.keys(e.translations).length||(e.translations=await i().getLocaleConfig(this,t),Object.keys(e.translations).length||(this.shopifyCompatibility=null)),e.theme.shopify_compatibility?i():this.shopifyCompatibility&&(e.theme.shopify_compatibility=!0)}setCompatibilityData(e){!e||!this.shopifyCompatibility||this.shopifyCompatibility.adaptPageData(e)}resolveLookupSetting(e,t){if(t instanceof T)return t;let i=xe(e);if(i){if(e.multiple){if(t instanceof Array)return t.map(r=>this.resolveLookupResource(i,r))}else if(t!==""&&t!==null&&t!==void 0)return this.resolveLookupResource(i,t)}return null}resolveLookupResource(e,t){let i=this.resources?.records?.[e],r=i?new i(this.swell,t):new _(this.swell,e,t);return this.shopifyCompatibility&&this.shopifyCompatibility.adaptPageData({resource:r}),r}resolveMenuSettings(){return N5(this,this.swell.getStorefrontMenus(),{currentUrl:this.swell.url.pathname})}resolveMenuSetting(e){if(!e)return null;let t=this.globals.menus||{};return t[e]||t[e.replace(/-/g,"_")]||null}async lang(e,t,i){return await this.renderTranslation(e,t,i)}resolveFontSetting(e){if(this.shopifyCompatibility){let t=this.shopifyCompatibility.getFontFromShopifySetting(e),i=new D(t||e);return Object.assign(i,this.shopifyCompatibility.getFontData(i)),i}return new D(e)}resolveUrlSetting(e){let t=e;if(this.shopifyCompatibility){e?.startsWith("shopify://")&&(t=e.replace("shopify://","/"));let i=this.shopifyCompatibility.getAdaptedPageUrl(t);if(i)return i}return t}resolveImageSetting(e){let t=e;return this.shopifyCompatibility&&e?.startsWith("shopify://")&&(t=""),t}async getAllThemeConfigs(){if(!this.themeConfigs){let e=await this.themeLoader.loadTheme(),t=new Map;for(let i of e)t.set(i.file_path,i);this.themeConfigs=t}return this.themeConfigs}async preloadThemeConfigs(e,t){await this.themeLoader.preloadTheme(e,t)}getPageConfigPath(e){return this.shopifyCompatibility?`theme/${this.shopifyCompatibility.getThemeFilePath("templates",e)}.json`:`theme/templates/${e}.json`}async getThemeConfig(e){return this.themeConfigs?this.themeConfigs.get(e)??null:this.themeLoader.fetchThemeConfig(e)}async getThemeConfigsByPath(e,t){let i=await this.themeLoader.fetchThemeConfigsByPath(e,t),r=new Map;for(let a of i)r.set(a.file_path,a);return r}async getThemeTemplateConfig(e){if(e.endsWith(".json")||e.endsWith(".liquid"))return this.getThemeConfig(e);let t=await this.getThemeConfig(`${e}.json`);return t||this.getThemeConfig(`${e}.liquid`)}async getThemeTemplateConfigByType(e,t){let i=[`${e}/${t}`];this.shopifyCompatibility&&i.push(this.shopifyCompatibility.getThemeFilePath(e,t));for(let r of i){let a=await this.getThemeTemplateConfig(`theme/${r}`);if(a)return a}return null}async getAssetUrl(e){return(await this.getThemeConfig(`theme/assets/${e}`)||await this.getThemeConfig(`assets/${e}`))?.file?.url||null}async renderTemplate(e,t){let i=e?.file_data||null;if(e===null||i===null)return"";try{return await this.liquidSwell.parseAndRender(i,t)}catch(r){return console.error(r),`<!-- template render error: ${r.message} -->`}}async renderTemplateString(e,t){try{return await this.liquidSwell.parseAndRender(e,t)}catch(i){return console.error(i),""}}async getSectionSchema(e){let t,i=await this.getThemeTemplateConfigByType("sections",e);if(i?.file_path?.endsWith(".json"))try{t=JSON.parse(i.file_data)||void 0}catch{return}else if(i?.file_path?.endsWith(".liquid")&&this.shopifyCompatibility){this.liquidSwell.lastSchema=void 0;let r=this.getSectionConfigWithSchemaTagOnly(i);if(!r)return;await this.renderTemplate(r);let a=this.liquidSwell.lastSchema;a&&(t=this.shopifyCompatibility.getSectionConfigSchema(a),t=await this.shopifyCompatibility.renderSchemaTranslations(this,t,this.globals.request?.locale))}return t.id=t.id||e,t.label=t.label||e,t.fields=t.fields||[],t}getSectionConfigWithSchemaTagOnly(e){let t="{% schema %}",i="{% endschema %}",r=e.file_data.indexOf(t),a=e.file_data.indexOf(i),o=e.file_data.slice(r+t.length,a);return r===-1||a===-1?null:{...e,file_data:t+o+i}}async renderThemeTemplate(e,t){let i=await this.getThemeTemplateConfig(e),r=await this.renderTemplate(i,{...t,template:i});if(i?.file_path?.endsWith(".json"))try{return JSON.parse(r)}catch(a){throw console.log("Unable to render theme template",i.file_path,r),new j3(a)}return r}async renderLayoutTemplate(e,t){let i=await this.getThemeTemplateConfigByType("layouts",e);if(i){let r=await this.renderThemeTemplate(i.file_path,t);return typeof r=="string"?r:`<!-- invalid layout: ${e}--> {{ content_for_layout }}`}throw new Error(`Layout template not found: ${e}`)}async renderPageTemplate(e,t,i){let r=null;if(i&&(r=await this.getThemeTemplateConfigByType("templates",`${e}.${i}`)),r||(r=await this.getThemeTemplateConfigByType("templates",e)),r){let a=await this.renderThemeTemplate(r.file_path,t);return a&&typeof a!="string"&&(a.id=r.name),a}throw console.error(new Error(`Page template not found: templates/${e}.liquid`)),new Z3}async renderPage(e,t){e&&this.setGlobals(e);let i;if(this.page?.id?i=await this.renderPageTemplate(this.page.id,e,t):i=await this.renderPageTemplate("404",e),typeof i!="string"&&i?.page){if(i.page.published===!1)throw new Z3;i.page=this.resolveTranslationLocale(i.page,this.globals.request?.locale)}return i}async renderAllSections(e,t){let i=typeof e=="string"?e.split(/\s*,\s*/):e;return(await Promise.all(i.map?.(a=>this.renderSection(a,t)))).reduce((a,o,s)=>{let l=i[s];return this.shopifyCompatibility?a[l]=`
|
|
935
|
+
`;var vt={image:re,"product-1":O2,"product-2":U2,"product-3":$2,"product-4":K2,"product-5":z2,"product-6":W2,"collection-1":J2,"collection-2":Y2,"collection-3":Q2,"collection-4":X2,"collection-5":ee,"collection-6":te,"lifestyle-1":ie,"lifestyle-2":ne,"product-apparel-1":ae,"product-apparel-2":oe,"product-apparel-3":se,"product-apparel-4":le,"collection-apparel-1":he,"collection-apparel-2":de,"collection-apparel-3":ce,"collection-apparel-4":ue,"hero-apparel-1":Ce,"hero-apparel-2":me,"hero-apparel-3":pe,"blog-apparel-1":ge,"blog-apparel-2":fe,"blog-apparel-3":we,"detailed-apparel-1":ye},Se=vt;function D5(n){return e=>{let t=Se[e];return t?.src?`<img src="${t.src}" alt="${e}" class="placeholder-svg placeholder-svg--${e}" />`:t}}function x5(n){return(e,t)=>(typeof e=="object"&&"value"in e&&(e=e.value),`<span data-swell-inline-editable="${t}">${e}</span>`)}var Pt={asset_url:J4,brightness_difference:Y4,color_brightness:Q4,color_contrast:X4,color_darken:e5,color_desaturate:t5,color_difference:i5,color_extract:n5,color_lighten:r5,color_mix:a5,color_modify:o5,color_saturate:s5,color_to_hex:l5,color_to_hsl:h5,color_to_rgb:d5,date:D3,default_errors:u5,divided_by:C5,font_face:m5,font_modify:p5,font_url:g5,format_address:B2,image_tag:f5,image_url:q2,inline_asset_content:w5,json:y5,json_pretty:S5,money:k5,money_with_currency:L5,money_without_currency:A5,money_without_trailing_zeros:b5,stylesheet_tag:T5,time_tag:_5,translate:n4,t:n4,where:M5,hex_to_rgba:E5,item_count_for_variant:V2,payment_button:v5,payment_terms:P5,placeholder_svg_tag:D5,inline_editable:x5};function Le(n){(0,ke.each)(Pt,(e,t)=>{if(typeof e=="function")n.engine.registerFilter(t,e(n));else if(typeof e.bind=="function"){let{bind:i,resolve:r}=e;n.engine.registerFilter(t,Dt(n,i,r))}})}function Dt(n,e,t=[]){let i=e(n);return Array.isArray(t)?async(...r)=>{let a=await Promise.all(r.map((o,s)=>Array.isArray(t[s])||t[s]===!0?Ae(o,t[s]):o));return i(...a)}:i}async function Ae(n,e){if(!n)return n;let t=n;P(t)&&(t=await t);try{if(Array.isArray(e))for(let i of e){if(typeof i!="string")continue;let[r,...a]=i.split("."),o=t[r];P(o)?t[r]=await o:typeof o?.resolve=="function"&&(t[r]=await o.resolve()),a.length>0&&(t[r]=await Ae(t[r],[a.join(".")]))}}catch{}return t}var be=require("liquidjs");var Te={...be.defaultOperators,"==":_e};function _e(n,e){return v3(n)?n.equals(e):v3(e)?e.equals(n):(n=X(n),e=X(e),c3(n)?c3(e)&&xt(n,e):n==e)}function xt(n,e){return n.length!==e.length?!1:!n.some((t,i)=>!_e(t,e[i]))}var a4=h3(require("color"),1),S=class n{color;colorValues;red;green;blue;constructor(e){try{this.color=Rt(e)?e.color:(0,a4.default)(e),this.colorValues=this.color.object(),this.red=Number(this.colorValues.r),this.green=Number(this.colorValues.g),this.blue=Number(this.colorValues.b)}catch{this.color=(0,a4.default)("#000000"),this.colorValues=this.color.object(),this.red=Number(this.colorValues.r),this.green=Number(this.colorValues.g),this.blue=Number(this.colorValues.b)}}static get(e){return e instanceof n?e:new n(e)}toString(){return this.color.string()}lighten(e){return this.color.lighten(e/100).hex().toLowerCase()}darken(e){return this.color.darken(e/100).hex().toLowerCase()}rgb(){return this.color.rgb().toString()}rgba(e){return this.color.alpha(e).rgb().toString()}hsl(){return this.color.hsl().round().toString()}hex(){return this.color.hex().toLowerCase()}saturate(e){return this.color.saturate(e/100).hex().toLowerCase()}desaturate(e){return this.color.desaturate(e/100).hex().toLowerCase()}modify(e,t){switch(e){case"red":case"green":case"blue":case"alpha":case"hue":case"lightness":break;case"saturation":return this.color.saturationl(t).hex();default:return this.toString()}let i=this.color[e](t);return e==="alpha"?i.string():i.hex()}extract(e){switch(e){case"red":case"green":case"blue":case"alpha":case"hue":case"lightness":break;case"saturation":return this.color.saturationl().toString();default:return this.toString()}return this.color[e]().toString()}mix(e,t){let i=this.color,r=e.color,[a,o,s]=i.rgb().array(),[l,c,u]=r.rgb().array(),h=a4.default.rgb([r4(a,l,t),r4(o,c,t),r4(s,u,t)]).alpha(r4(i.alpha(),r.alpha(),t));return i.alpha()!==1?h.string():h.hex()}contrast(e){return this.color.contrast(e.color).toFixed(1)}difference(e){let[t,i,r]=this.color.rgb().array(),[a,o,s]=e.color.rgb().array();return R5(t,a)+R5(i,o)+R5(r,s)}brightness(){return(this.red*299+this.green*587+this.blue*114)/1e3}brightnessDifference(e){return Math.max(this.brightness(),e.brightness())-Math.min(this.brightness(),e.brightness())}};function r4(n,e,t){return(n*t+e*(100-t))/100}function R5(n,e){return Math.max(n,e)-Math.min(n,e)}function Rt(n){return typeof n=="object"&&n!==null&&Object.hasOwn(n,"color")&&Object.hasOwn(n,"colorValues")&&Object.hasOwn(n,"red")&&Object.hasOwn(n,"green")&&Object.hasOwn(n,"blue")}var x3=class extends j5.Liquid{theme;getThemeConfig;getThemeTemplateConfigByType;getAssetUrl;renderTemplate;renderTemplateString;renderTemplateSections;renderTranslation;renderCurrency;engine;isEditor;locale;currency;layoutName;extName;componentsDir;sectionsDir;lastSchema;constructor({theme:e,getThemeConfig:t,getThemeTemplateConfigByType:i,getAssetUrl:r,renderTemplate:a,renderTemplateString:o,renderTemplateSections:s,renderTranslation:l,renderCurrency:c,isEditor:u,locale:h,currency:p,layoutName:C,extName:m,componentsDir:g,sectionsDir:f}){super(),this.theme=e,this.getThemeConfig=t||e.getThemeConfig.bind(e),this.getThemeTemplateConfigByType=i||e.getThemeTemplateConfigByType.bind(e),this.getAssetUrl=r||e.getAssetUrl.bind(e),this.renderTemplate=a||e.renderTemplate.bind(e),this.renderTemplateString=o||e.renderTemplateString.bind(e),this.renderTemplateSections=s||e.renderTemplateSections.bind(e),this.renderTranslation=l||e.renderTranslation.bind(e),this.renderCurrency=c||e.renderCurrency.bind(e),this.isEditor=u,this.locale=h||"en-US",this.currency=p||"USD",this.layoutName=C||"theme",this.extName=m||"liquid",this.componentsDir=g||"components",this.sectionsDir=f||"sections",this.engine=this.initLiquidEngine()}initLiquidEngine(){return this.engine=new j5.Liquid({cache:!1,relativeReference:!1,fs:this.getLiquidFS(),ownPropertyOnly:!1,operators:Te}),H2(this),Le(this),this.engine}getLiquidFS(){let{getThemeConfig:e,resolveFilePath:t}=this;return{async readFile(i){let r=t(i);return e(r).then(a=>a?.file_data||`<!-- theme template not found: ${r} -->`)},async exists(i){return!0},readFileSync(i){return""},existsSync(i){return!1},contains(i,r){return!0},resolve(i,r,a){return r},fallback(i){}}}async parseAndRender(e,t){return this.engine.parseAndRender(e,t)}resolveFilePath(e,t){return`theme/${e}.${t||this.extName}`}async resolveFilePathByType(e,t){if(this.getThemeTemplateConfigByType){let i=await this.getThemeTemplateConfigByType(e,t);if(i?.file_path)return i.file_path}}async getComponentPath(e){return await this.resolveFilePathByType("components",e)||this.resolveFilePath(`${this.componentsDir}/${e}`)}async getSectionPath(e){return await this.resolveFilePathByType("sections",e)||this.resolveFilePath(`${this.sectionsDir}/${e}`)}async getSectionGroupPath(e){return await this.resolveFilePathByType("sections",`${e}.json`)||this.resolveFilePath(`${this.sectionsDir}/${e}`,"json")}};var Z5=require("lodash-es");async function N5(n,e,t){let r=(await Promise.all(e?.map(async a=>({...a,items:await F5(n,a.items,t)})))).map(a=>(n.shopifyCompatibility&&Object.assign(a,n.shopifyCompatibility.getMenuData(a)),a))||[];return H5([...r,...n.shopifyCompatibility?r.reduce((a,o)=>(o.handle&&a.push({...o,id:o.handle}),a),[]):[]])}async function F5(n,e,t){return e?.length>0?Promise.all(e.map(async r=>{let{url:a,resource:o}=await Me(n,r,{trailingSlash:t?.currentUrl?.endsWith("/")&&t.currentUrl!=="/"}),s=r.items&&await F5(n,r.items,t);return{...r,url:a,resource:o,levels:Ee(s),current:t?.currentUrl===a,active:t?.currentUrl?.startsWith(a),...s?{items:s,child_current:jt(s),child_active:I5(s)}:void 0}})):[]}async function Me(n,e,t){if(!e)return{url:"#invalid-link-item"};if(typeof e=="object"&&e!==null){let{url:i,resource:r}=await Pe(n,e),a=i.slice(-1)==="/";return t?.trailingSlash&&!a&&i.length>1&&(i=i+"/"),!t?.trailingSlash&&a&&i.length>1&&(i=i.slice(0,-1)),{url:i,resource:r}}else return{url:e}}function Ee(n){return n?.reduce((e,t)=>Math.max(e,t.items?1+Ee(t.items):0),0)||0}function jt(n){return n.some(e=>e.current||e.items&&I5(e.items))}function I5(n){return n.some(e=>e.active||e.items&&I5(e.items))}function ve(n){return(0,Z5.get)(n,"id",(0,Z5.get)(n,"slug",typeof n=="string"?n:""))||""}async function Pe(n,e){let{type:t,value:i,url:r,model:a}=e;if(typeof t>"u"&&r)return{url:r};if(t==="url")return{url:typeof i=="string"?i:""};let o=ve(i);switch(t){case"home":return{url:a3(n,"index")};case"category":return o?await r3(n,"categories/category",o):{url:a3(n,"categories/index")};case"product":return o?await r3(n,"products/product",o):{url:a3(n,"products/index")};case"page":return await r3(n,"pages/page",o);case"blog":return await r3(n,"blogs/blog",o,async s=>new _(n.swell,"content/blog-categories",s.category_id).slug);case"blog_category":return await r3(n,"blogs/category",o);case"content_list":if(a){let s=a?.replace("content/","");return{url:a3(n,"content/index",s),resource:new A(n.swell,a)}}break;case"content":if(a){let s=a?.replace("content/","");return await r3(n,"content/content",o,s)}break;case"search":return{url:a3(n,"search")};default:break}return{url:`/${o}`}}function a3(n,e,t,i){let{props:r}=n,a=r?.pages?.find(o=>o.id===e)?.url;return a?.includes(":collection")&&i&&(a=a.replace(":collection",i)),a?.includes(":slug")&&(a=a.replace(":slug",t||"")),a||`/${t||""}`}async function r3(n,e,t,i){let{props:r}=n,a=r?.pages?.find(c=>c.id===e)?.collection,o=a?new _(n.swell,a,t):void 0,s=await o?.slug||t,l=typeof i=="string"?i:void 0;return o?.id&&typeof i=="function"&&(l=await i(o)),{url:a3(n,e,s,typeof l=="string"?l:void 0),resource:o}}var De=h3(require("bluebird"),1);var{Promise:R3}=De.default,Zt=50,o4=class n{static cache;swell;manifest=null;configs={};configPaths=[];constructor(e){this.swell=e}async init(e){let{swellHeaders:t}=this.swell;if(e){this.setConfigs(e);return}t["theme-id"]&&(await this.fetchManifest(),this.manifest||(console.log("ThemeLoader.init - version manifest not found"),await this.loadTheme()))}async loadTheme(){let{swellHeaders:e}=this.swell;if(console.log("ThemeLoader.loadTheme",e["theme-version-hash"]),e["theme-version-hash"]){let t=await this.loadThemeFromManifest();if(t)return t}return this.loadThemeAllConfigs()}setConfigs(e){this.configs=Object.fromEntries(e),this.configPaths=Object.keys(this.configs),this.manifest=this.configPaths.reduce((t,i)=>(t[i]=this.configs[i]?.hash,t),{})}async preloadTheme(e,t){console.log(`ThemeLoader.preloadTheme${e?.hash?` - manifest: ${e.hash}`:""}${t?.length?` - configs: ${t.length}`:""}`),await R3.all([e&&this.cacheManifest(e),t&&R3.map(t,i=>this.cacheThemeConfig(i),{concurrency:10})])}async fetchThemeConfig(e){if(this.configs[e]!==void 0)return this.configs[e];let t=this.manifest?.[e];if(t){let i=await this.getCache().get(`config:${t}`);return i?(this.configs[e]=i,i):this.fetchThemeConfigsFromSourceByPath(e,t)}return null}async fetchThemeConfigsByPath(e,t){let i=this.configPaths.filter(a=>a.startsWith(e)&&(!t||a.endsWith(t)));return(await R3.map(i,a=>this.fetchThemeConfig(a),{concurrency:10})).filter(a=>a!==null)}async loadThemeAllConfigs(){let{swellHeaders:e}=this.swell,t=String(e["theme-config-version"]);if(!t)throw new Error("Theme version is required");return(await this.getCache().fetch(`configs-all:${this.swell.instanceId}:v@${t}2`,()=>this.fetchThemeConfigsFromSource()))?.results??[]}async loadThemeFromManifest(){let e=await this.fetchManifest();if(!e)return null;let t=[],i=new Map;if(await R3.map(Object.values(e),r=>this.getCache().get(`config:${r}`).then(a=>{a?(i.set(a.hash,a),this.configs[a.file_path]=a):t.push(r)}),{concurrency:10}),t.length>0){let a=(await this.fetchThemeConfigsFromSource(i.size===0?void 0:t))?.results??[];for(let o of a)i.set(o.hash,o),this.configs[o.file_path]=o;await R3.map(a,o=>this.cacheThemeConfig(o),{concurrency:10})}return Array.from(i.values())}async cacheManifest(e){e?.hash&&await this.getCache().set(`manifest:${e.hash}`,e.manifest)}async cacheThemeConfig(e){e?.hash&&await this.getCache().set(`config:${e.hash}`,e)}async fetchManifest(){let{swellHeaders:e}=this.swell,t=e["theme-version-hash"];console.log("ThemeLoader.fetchManifest",t);let i=await this.getCache().get(`manifest:${t}`);if(!i){let r=await this.swell.get("/:themes:versions/:last",{...this.themeVersionQueryFilter(),fields:"hash, manifest"});r&&(await this.cacheManifest(r),i=r.manifest)}return this.manifest=i,this.configPaths=Object.keys(i||{}),this.manifest}async fetchThemeConfigsFromSource(e=void 0){e=e||[];let{swellHeaders:t}=this.swell,i=String(t["theme-config-version"]),r=e.length===0||e.length>Zt;return console.log(`Retrieving ${r?"all":"some"} theme configurations - version: ${i}`),await this.swell.get("/:themes:configs",{...this.themeVersionQueryFilter(),...r?{}:{hash:{$in:e}},limit:1e3,type:"theme",fields:"name, file, file_path, hash",include:{file_data:X3}})}async fetchThemeConfigsFromSourceByPath(e,t){console.log(`Retrieving theme config - ${e}`);let i=await this.swell.get("/:themes:configs/:last",{...this.themeVersionQueryFilter(),file_path:e,fields:"name, file, file_path, hash",include:{file_data:X3}});return i&&(t&&(i.hash=t),await this.cacheThemeConfig(i)),this.configs[e]=i,i}themeVersionQueryFilter(){let{swellHeaders:e}=this.swell,t=e["theme-id"];if(!t)throw new Error("Theme ID is required");return{parent_id:t,branch_id:e["theme-branch-id"]||null,preview:e["deployment-mode"]==="editor"||e["deployment-mode"]==="preview"?!0:{$ne:!0}}}getCache(){return n.cache||(n.cache=new E3(this.swell.workerEnv?.THEME)),n.cache}};var G5=class{swell;props;globals;forms;resources;liquidSwell;themeLoader;themeConfigs=null;page;pageId;shopifyCompatibility=null;shopifyCompatibilityClass=g3;shopifyCompatibilityConfig=null;formData={};globalData={};constructor(e,t={}){let{forms:i,resources:r,globals:a,shopifyCompatibilityClass:o}=t;this.swell=e,this.props=this.getSwellAppThemeProps(e.config),this.shopifyCompatibilityConfig=e.shopifyCompatibilityConfig||null,this.globals=a||{},this.forms=i,this.resources=r,this.shopifyCompatibilityClass=o||g3,this.liquidSwell=new x3({theme:this,getThemeConfig:this.getThemeConfig.bind(this),getAssetUrl:this.getAssetUrl.bind(this),getThemeTemplateConfigByType:this.getThemeTemplateConfigByType.bind(this),renderTemplate:this.renderTemplate.bind(this),renderTemplateString:this.renderTemplateString.bind(this),renderTemplateSections:this.renderTemplateSections.bind(this),renderTranslation:this.lang.bind(this),renderCurrency:this.renderCurrency.bind(this),isEditor:e.isEditor}),this.themeLoader=new o4(e)}getSwellAppThemeProps(e){return e?.storefront?.theme||{}}async initGlobals(e){this.pageId=e,await this.themeLoader.init(this.themeConfigs||void 0);let{store:t,session:i,menus:r,geo:a,configs:o}=await this.getSettingsAndConfigs(),{settings:s,request:l,page:c,cart:u,account:h,customer:p}=await this.resolvePageData(t,o,i,e);this.page=c;let C={...this.globalData,store:t,settings:s,session:i,request:l,menus:r,page:c,cart:u,account:h,customer:p,geo:a,configs:o,translations:o?.translations,canonical_url:`${t.url}${this.swell.url?.pathname||""}`,shopify_compatibility:!!s.shopify_compatibility};this.shopifyCompatibility&&this.shopifyCompatibility.adaptGlobals(C),this.setGlobals(C),this.shopifyCompatibility&&this.shopifyCompatibility.adaptQueryParams()}setGlobals(e){this.globals={...this.globals,...e},this.liquidSwell.engine.options.globals={...this.globals}}async getSettingsAndConfigs(){let e=R4,[t,i]=await Promise.all([this.swell.getStorefrontSettings(),this.getThemeConfigsByPath("theme/config/",".json")]),r={theme:{},editor:{},translations:{},presets:[],...Array.from(i.values()).reduce((l,c)=>{let u=String(c?.name||"").split(".")[0];if(u){let h;try{h=JSON.parse(c.file_data)}catch{h=null}l[u]=h}return l},{})},a=await this.swell.storefront.settings.session(),o=a.locale||t?.store?.locale;this.resolveTranslationLocale(r.translations,o),await this.setCompatibilityConfigs(r,o);let s=await this.resolveMenuSettings();return{store:t?.store,session:a,menus:s,geo:e,configs:r}}async resolvePageData(e,t,i,r){let a=String(this.swell.swellHeaders["theme-config-version"]),o=await this.swell.getCachedResource(`theme-settings-resolved:v@${a}`,[],()=>N3(this,t.theme,t.editor?.settings));if(!o)throw new Error("Failed to resolve theme settings");let s={host:this.swell.url.host,origin:this.swell.url.origin,path:this.swell.url.pathname,query:this.swell.queryParams,locale:i?.locale||e.locale,currency:i?.currency||e.currency,is_editor:this.swell.isEditor,is_preview:this.swell.isPreview},l=this.props.pages?.find(m=>m.id===r),c=!l,u={...l,current:this.swell.queryParams.page||1,url:this.swell.url.pathname,custom:c,slug:null,description:null};if(r){let m=await this.getThemeTemplateConfigByType("templates",r),g;try{g=JSON.parse(m?.file_data||"")}catch{}if(g?.page){let{slug:f,label:Y,description:l3}=g.page;u.slug=f,u.label=Y,u.description=l3}}let[h,p]=await Promise.all([this.fetchSingletonResourceCached("cart",()=>this.fetchCart(),{}),this.fetchSingletonResourceCached("account",()=>this.fetchAccount(),null)]);if(!h)throw new Error("Failed to fetch cart");let C;return this.shopifyCompatibility&&(C=p),{settings:o,request:s,page:u,cart:h,account:p,customer:C}}async fetchSingletonResourceCached(e,t,i){let r=this.swell.storefront.session.getCookie();return r?this.swell.getCachedResource(`${e}-${r}`,[],()=>t()):i}async fetchCart(){let e=this.resources?.singletons?.cart,t=e?new e(this.swell):new W(this.swell,"cart");if(await t.id,!t?.id)return{};if(this.shopifyCompatibility){let i=C3(this.shopifyCompatibility,t);t.setCompatibilityProps(i)}return t}async fetchAccount(){let e=this.resources?.singletons?.account,t=e?new e(this.swell):new W(this.swell,"account");if(await t.id,!t?.id)return null;if(this.shopifyCompatibility){let i=$(this.shopifyCompatibility,t);t.setCompatibilityProps(i)}return t}getFormConfig(e){let t=e;if(this.shopifyCompatibility){let i=this.shopifyCompatibility.getAdaptedFormType(e);i&&(t=i)}return this.forms?.find(i=>i.id===t)}setFormData(e,t){let i=this.formData[e]||new V(e);i instanceof V&&(t?.params&&i.setParams(t.params),t?.errors?(i.setSuccess(!1),i.setErrors(t.errors)):t?.success&&(t.withoutErrors&&!i.errors?i.setSuccess(!0):t.withoutErrors||(i.setSuccess(!0),i.clearErrors())),this.shopifyCompatibility&&Object.assign(i,this.shopifyCompatibility.getFormData(i))),this.formData[e]=i,this.setGlobals({forms:this.formData})}setFormSuccessWithoutErrors(e){this.setFormData(e,{success:!0,withoutErrors:!0})}clearFormData(e){e?delete this.formData[e]:this.formData={},this.setGlobals({forms:this.formData})}serializeFormData(){let e={};for(let t in this.formData){let i=this.formData[t];e[t]={success:i.success,errors:i.errors&&Array.from(i.errors)}}return Object.keys(e).length>0?e:null}setGlobalData(e={}){this.globalData={...this.globalData,...e},this.setGlobals(this.globalData)}serializeGlobalData(){return Object.keys(this.globalData).length>0?this.globalData:null}updateSettings(e,t){return this.shopifyCompatibility?this.shopifyCompatibility.adaptSettings(e,t):w3(e,t)}resolveTranslationLocale(e,t){if(!e)return{};if(!t)return e;let i=t.split("-")[0];return(0,b.reduce)(e,(r,a,o)=>{if(f3(a))r[o]=this.resolveTranslationLocale(a,t);else if(typeof a=="string"&&a.startsWith("t:")){let s=a.slice(2),l=s.split("."),c=l.pop(),u=l.join("."),h=this.globals.translations;r[o]=(0,b.get)(h,`${u}.$locale.${t}.${c}`)||(0,b.get)(h,`${u}.$locale.${i}.${c}`)||(0,b.get)(h,s)||a}else r[o]=(0,b.get)(e,`$locale.${t}.${o}`)||(0,b.get)(e,`$locale.${i}.${o}`)||a;return r},{})}async setCompatibilityConfigs(e,t){let i=()=>(this.shopifyCompatibility||(this.shopifyCompatibility=new this.shopifyCompatibilityClass(this)),this.shopifyCompatibility);!Object.keys(e.editor).length&&e.settings_schema&&(e.editor=i().getEditorConfig(e.settings_schema),e.editor=await i().renderSchemaTranslations(this,e.editor,t)),!Object.keys(e.theme).length&&e.settings_data&&(e.theme=i().getThemeConfig(e.settings_data)),!Object.keys(e.presets).length&&e.settings_data&&(e.presets=i().getPresetsConfig(e.settings_data)),Object.keys(e.translations).length||(e.translations=await i().getLocaleConfig(this,t)),e.theme.shopify_compatibility?i():this.shopifyCompatibility&&(e.theme.shopify_compatibility=!0)}setCompatibilityData(e){!e||!this.shopifyCompatibility||this.shopifyCompatibility.adaptPageData(e)}resolveLookupSetting(e,t){if(t instanceof T)return t;let i=xe(e);if(i){if(e.multiple){if(t instanceof Array)return t.map(r=>this.resolveLookupResource(i,r))}else if(t!==""&&t!==null&&t!==void 0)return this.resolveLookupResource(i,t)}return null}resolveLookupResource(e,t){let i=this.resources?.records?.[e],r=i?new i(this.swell,t):new _(this.swell,e,t);return this.shopifyCompatibility&&this.shopifyCompatibility.adaptPageData({resource:r}),r}resolveMenuSettings(){return N5(this,this.swell.getStorefrontMenus(),{currentUrl:this.swell.url.pathname})}resolveMenuSetting(e){if(!e)return null;let t=this.globals.menus||{};return t[e]||t[e.replace(/-/g,"_")]||null}async lang(e,t,i){return await this.renderTranslation(e,t,i)}resolveFontSetting(e){if(this.shopifyCompatibility){let t=this.shopifyCompatibility.getFontFromShopifySetting(e),i=new D(t||e);return Object.assign(i,this.shopifyCompatibility.getFontData(i)),i}return new D(e)}resolveUrlSetting(e){let t=e;if(this.shopifyCompatibility){e?.startsWith("shopify://")&&(t=e.replace("shopify://","/"));let i=this.shopifyCompatibility.getAdaptedPageUrl(t);if(i)return i}return t}resolveImageSetting(e){let t=e;return this.shopifyCompatibility&&e?.startsWith("shopify://")&&(t=""),t}async getAllThemeConfigs(){if(!this.themeConfigs){let e=await this.themeLoader.loadTheme(),t=new Map;for(let i of e)t.set(i.file_path,i);this.themeConfigs=t}return this.themeConfigs}async preloadThemeConfigs(e,t){await this.themeLoader.preloadTheme(e,t)}getPageConfigPath(e){return this.shopifyCompatibility?`theme/${this.shopifyCompatibility.getThemeFilePath("templates",e)}.json`:`theme/templates/${e}.json`}async getThemeConfig(e){return this.themeConfigs?this.themeConfigs.get(e)??null:this.themeLoader.fetchThemeConfig(e)}async getThemeConfigsByPath(e,t){let i=await this.themeLoader.fetchThemeConfigsByPath(e,t),r=new Map;for(let a of i)r.set(a.file_path,a);return r}async getThemeTemplateConfig(e){if(e.endsWith(".json")||e.endsWith(".liquid"))return this.getThemeConfig(e);let t=await this.getThemeConfig(`${e}.json`);return t||this.getThemeConfig(`${e}.liquid`)}async getThemeTemplateConfigByType(e,t){let i=[`${e}/${t}`];this.shopifyCompatibility&&i.push(this.shopifyCompatibility.getThemeFilePath(e,t));for(let r of i){let a=await this.getThemeTemplateConfig(`theme/${r}`);if(a)return a}return null}async getAssetUrl(e){return(await this.getThemeConfig(`theme/assets/${e}`)||await this.getThemeConfig(`assets/${e}`))?.file?.url||null}async renderTemplate(e,t){let i=e?.file_data||null;if(e===null||i===null)return"";try{return await this.liquidSwell.parseAndRender(i,t)}catch(r){return console.error(r),`<!-- template render error: ${r.message} -->`}}async renderTemplateString(e,t){try{return await this.liquidSwell.parseAndRender(e,t)}catch(i){return console.error(i),""}}async getSectionSchema(e){let t,i=await this.getThemeTemplateConfigByType("sections",e);if(i?.file_path?.endsWith(".json"))try{t=JSON.parse(i.file_data)||void 0}catch{return}else if(i?.file_path?.endsWith(".liquid")&&this.shopifyCompatibility){this.liquidSwell.lastSchema=void 0;let r=this.getSectionConfigWithSchemaTagOnly(i);if(!r)return;await this.renderTemplate(r);let a=this.liquidSwell.lastSchema;a&&(t=this.shopifyCompatibility.getSectionConfigSchema(a),t=await this.shopifyCompatibility.renderSchemaTranslations(this,t,this.globals.request?.locale))}return t.id=t?.id||e,t.label=t?.label||e,t.fields=t?.fields||[],t}getSectionConfigWithSchemaTagOnly(e){let t="{% schema %}",i="{% endschema %}",r=e.file_data.indexOf(t),a=e.file_data.indexOf(i),o=e.file_data.slice(r+t.length,a);return r===-1||a===-1?null:{...e,file_data:t+o+i}}async renderThemeTemplate(e,t){let i=await this.getThemeTemplateConfig(e),r=await this.renderTemplate(i,{...t,template:i});if(i?.file_path?.endsWith(".json"))try{return JSON.parse(r)}catch(a){throw console.log("Unable to render theme template",i.file_path,r),new j3(a)}return r}async renderLayoutTemplate(e,t){let i=await this.getThemeTemplateConfigByType("layouts",e);if(i){let r=await this.renderThemeTemplate(i.file_path,t);return typeof r=="string"?r:`<!-- invalid layout: ${e}--> {{ content_for_layout }}`}throw new Error(`Layout template not found: ${e}`)}async renderPageTemplate(e,t,i){let r=null;if(i&&(r=await this.getThemeTemplateConfigByType("templates",`${e}.${i}`)),r||(r=await this.getThemeTemplateConfigByType("templates",e)),r){let a=await this.renderThemeTemplate(r.file_path,t);return a&&typeof a!="string"&&(a.id=r.name),a}throw console.error(new Error(`Page template not found: templates/${e}.liquid`)),new Z3}async renderPage(e,t){e&&this.setGlobals(e);let i;if(this.page?.id?i=await this.renderPageTemplate(this.page.id,e,t):i=await this.renderPageTemplate("404",e),typeof i!="string"&&i?.page){if(i.page.published===!1)throw new Z3;i.page=this.resolveTranslationLocale(i.page,this.globals.request?.locale)}return i}async renderAllSections(e,t){let i=typeof e=="string"?e.split(/\s*,\s*/):e;return(await Promise.all(i.map?.(a=>this.renderSection(a,t)))).reduce((a,o,s)=>{let l=i[s];return this.shopifyCompatibility?a[l]=`
|
|
936
936
|
<div id="shopify-section-${l}" class="shopify-section">${o}</div>
|
|
937
937
|
`.trim():a[l]=`
|
|
938
938
|
<div id="swell-section-${l}" class="swell-section">${o}</div>
|
|
939
939
|
`.trim(),a},{})}async renderSection(e,t){t&&this.setGlobals(t);let[i,r]=e?.split(/\_\_/).reverse(),a=(r||"").replaceAll("_","/"),o=await this.getThemeTemplateConfigByType(a?"templates":"sections",a||i);if(o){let s=await this.renderThemeTemplate(o.file_path,t);if(a&&s?.sections){let l=s?.sections,c={id:r,sections:{[i]:l[i]}},[u]=await this.renderPageSections(c,t);return u.output||""}return s}return""}async renderLayout(e){return this.liquidSwell.layoutName?this.renderLayoutTemplate(this.liquidSwell.layoutName,e):e?.content_for_layout||""}getContentForHeader(){let e=`
|
|
940
940
|
`;return e+=this.renderFontHeaderLinks(),this.shopifyCompatibility&&(e+=`
|
|
941
941
|
${this.shopifyCompatibility.getContentForHeader()}`),e}renderFontHeaderLinks(){let e=this.globals.settings,t=this.globals.configs?.editor?.settings||[];if(e&&t){let i=q5("font",e,t),r=[];for(let a=0;a<i.length;a++){let o=i[a].value?.id||i[a].value;if(this.shopifyCompatibility){let s=this.shopifyCompatibility.getFontFromShopifySetting(o);r.includes(s||o)||r.push(s||o)}else r.includes(o)||r.push(o)}if(i.length>0)return`<link href="${D.combinedGoogleFontUrl(r)}" rel="stylesheet">`}return""}async getTemplateSchema(e){let t,i=await this.getThemeConfig(e.file_path);if(i){if(i.file_path.endsWith(".liquid")){if(this.shopifyCompatibility){this.liquidSwell.lastSchema=void 0,await this.renderTemplate(i);let r=this.liquidSwell.lastSchema||{};if(r){let a=this.shopifyCompatibility.getSectionConfigSchema(r);t=await this.shopifyCompatibility.renderSchemaTranslations(this,a,this.globals.request?.locale)}}}else if(i.file_data)try{t=JSON.parse(i?.file_data)||void 0}catch{}return t}}async resolveSectionDefaultSettings(e,t){let i={},r=t||e?.default||{};return e?.fields&&e.fields.forEach(a=>{a.default!==void 0&&(i[a.id]=a.default)}),Object.assign(i,r.settings,{blocks:r.blocks}),i.blocks instanceof Array&&(i.blocks=i.blocks.map(a=>{let o={},s=e?.blocks?.find(l=>l.type===a.type);return s?.fields&&s.fields.forEach(l=>{l.default!==void 0&&(o[l.id]=l.default)}),{...a,settings:{...o,...a.settings||void 0}}})),i}async getAllSections(){let e=await this.getThemeConfigsByPath("theme/sections/");return O5(e,this.getTemplateSchema.bind(this))}async getPageSections(e,t=!0){let i=await l4(e,r=>this.getSectionSchema(r));if(t)for(let r of i){let{schema:a}=r;a?.fields&&this.globals&&r.settings&&(r.settings=s4(this,r))}return i}async getPageSectionGroups(e){let t=await this.getThemeTemplateConfigByType("templates",e);if(t===null)return[];let r=B5(t).layout||"theme",a=await this.getThemeTemplateConfigByType("layouts",`${r}.liquid`);if(a===null)return[];let o=await this.getThemeConfig("theme/locales/en.default.schema.json"),s=B5(o),c=a.file_data.matchAll(/\bsections \'(\w.*?)\'|(\bcontent_for_layout\b)/gm),u=[];for(let h of c)if(h[1]){let p=h[1],C=await this.getThemeTemplateConfigByType("sections",`${p}.json`),g=B5(C).name;typeof g=="string"&&g.startsWith("t:")&&(g=(0,b.get)(s,g.slice(2))),u.push({prop:o3(p),label:g||p})}else h[2]&&u.push({prop:F3,label:"Template"});return u}async getLayoutSectionGroups(e=!0){let t=await this.getThemeConfigsByPath("theme/sections/"),i=await U5(t,this.getTemplateSchema.bind(this));if(e)for(let r of i)for(let a of r.sectionConfigs){let{schema:o}=a;o?.fields&&this.globals&&a.settings&&(a.settings=s4(this,a))}return i}async renderPageSections(e,t){let i=await this.getPageSections(e,!0);return i=i.filter(r=>r.section.disabled!==!0),this.renderSectionConfigs(i,t)}async renderSectionConfigs(e,t){return Promise.all(e.map(async(i,r)=>{let{section:a,schema:o}=i,{settings:s}=i;o?.fields&&this.globals&&(s=s4(this,i));let l=await this.getThemeTemplateConfigByType("sections",`${a.type}.liquid`),c="";return l&&(c=await this.renderTemplate(l,{...t,...s,index:r,template:l}),s?.section.custom_css&&(c+=`<style>${$5(s?.section.custom_css,i.id)}</style>`)),{...i,output:c}}))}async renderTemplateSections(e,t){return(await this.renderPageSections(e,t)).map(r=>`<${r.tag} ${r.class?`class="${r.class}"`:""}>${r.output}</${r.tag}>`).join(`
|
|
942
|
-
`)}async renderTranslation(e,t,i){let r=this.globals.translations,a=this.globals.request?.locale;return this.renderTranslationValue(a,r,e,t,i)}async renderTranslationValue(e,t,i,r,a){if(i===void 0)return a||"";let o=i?.split(".")||[],s=o.pop()||"",l=o.join("."),c=(0,b.get)(t,l),u=(0,b.get)(c?.[e],s)||(0,b.get)(c?.[e.split("-")[0]],s)||c?.[s];return r?.count!==void 0&&u?.one&&(u=r.count===1?u.one:u.other),typeof u!="string"||u===""?a||"":await this.renderTemplateString(u,r)||a||""}renderCurrency(e,t){let i=this.swell.storefront.settings,r=this.swell.storefront.currency,a=i.state,o=r.code=a?.store?.currency||"USD";return r.locale=a?.store?.locale||"en-US",r.state=a?.store?.locales?.find(s=>s.code===o)||{code:o},r.format(e,t)}},j3=class{title;status=500;message;description;constructor(e="Something went wrong",t=500,i){this.title=String(e),this.status=t,this.message=this.title+(i?`: ${i}`:""),this.description=i}toString(){return this.message}},Z3=class extends j3{constructor(e="Page not found",t=404,i){super(e,t,i)}};function s4(n,e){let{settings:t,schema:i}=e;if(!i||!t?.section?.settings)return t;let r=[{label:i.label,fields:i.fields}],a=t.section.blocks?.filter(o=>o.disabled!==!0);return a=a?.map(o=>({...o,settings:N3(n,o.settings,i.blocks?.filter(s=>s.type===o.type))})),{...t,section:{...t.section,settings:N3(n,t.section.settings,r),blocks:a}}}function N3(n,e,t){let i=(0,b.cloneDeep)(e);return(0,b.each)(i,(r,a)=>{let o=(t&&V5(t,a))??null;if(f3(r)&&!(r instanceof T)){switch(o?.type){case"color_scheme_group":{(0,b.each)(r,(s,l)=>{if(f3(s)&&typeof s.settings=="object"&&s.settings){let c=s.settings;(0,b.each)(c,(u,h)=>{(0,b.find)(o.fields,{id:h})?.type==="color"&&u&&(s.id=l,c[h]=new S(u))})}});return}default:break}i[a]=N3(n,r,t)}else switch(o?.type){case"lookup":case"product_lookup":case"category_lookup":case"customer_lookup":i[a]=n.resolveLookupSetting(o,r);break;case"color":r&&(i[a]=new S(r));break;case"font":i[a]=n.resolveFontSetting(r);break;case"menu":i[a]=n.resolveMenuSetting(r);break;case"url":i[a]=n.resolveUrlSetting(r);break;case"image":i[a]=n.resolveImageSetting(r);break;default:break}}),i}function q5(n,e,t){let i=[];return(0,b.each)(e,(r,a)=>{if(f3(r)&&!(r instanceof D)&&!(r instanceof T))i.push(...q5(n,r,t));else{let o=V5(t,a);o?.type===n&&i.push({setting:o,value:r})}}),i}function xe(n){if(n.collection)return n.collection;switch(n.type){case"product_lookup":return"products";case"category_lookup":return"categories";case"customer_lookup":return"accounts";default:break}}function V5(n,e){for(let t of n||[])for(let i of t.fields)if(i.id===e)return i;return null}function B5(n){try{return JSON.parse(n?.file_data||"{}")}catch{return{}}}function Re(n){let e={settings:[]};return Array.isArray(n)&&(n[0]?.name==="theme_info"&&n.shift(),n.forEach(t=>{e.settings.push(It(t))})),e}function je(n){return typeof n.current=="string"&&n.presets?.[n.current]?n.presets[n.current]:typeof n.current=="object"?n.current||{}:{}}function Ze(n){return Object.entries(n.presets||{}).map(([e,t])=>({label:e,settings:t}))}function Ne(n){return{label:n.name,type:n.type,tag:n.tag,class:n.class,limit:n.limit,enabled_on:n.enabled_on,disabled_on:n.disabled_on,fields:(n.settings||[]).map(t=>h4(t)),blocks:(n.blocks||[]).map(t=>Nt(t)),presets:(n.presets||[]).map(t=>Ft(t)),default:n.default}}function Nt(n){return{type:n.type,label:n.name,limit:n.limit,fields:(n.settings||[]).map(t=>h4(t))}}function Ft(n){return{label:n.name,settings:n.settings,blocks:n.blocks}}function It(n){return{label:n.name,fields:(n.settings||[]).map(t=>h4(t))}}function h4(n){let e={};switch(n.type){case"text":e={type:"text"};break;case"textarea":e={type:"textarea"};break;case"paragraph":e={type:"paragraph",label:n.content};break;case"select":e={type:"select",options:n.options};break;case"checkbox":e={type:"checkbox"};break;case"radio":e={type:"radio",options:n.options};break;case"number":e={type:"integer"};break;case"range":e={type:"number",min:n.min,max:n.max,increment:n.step,unit:n.unit};break;case"article":e={type:"lookup",collection:"content/blogs",titleField:"title"};break;case"blog":e={type:"lookup",collection:"content/blogs",titleField:"title"};break;case"collection":e={type:"category_lookup"};break;case"collection_list":e={type:"category_lookup",multiple:!0,limit:n.limit};break;case"color":e={type:"color"};break;case"color_background":e={type:"color_background"};break;case"color_scheme":e={type:"color_scheme"};break;case"color_scheme_group":e={type:"color_scheme_group",fields:(n.definition||[]).map(t=>h4(t)),role:n.role};break;case"font_picker":e={type:"font"};break;case"html":e={type:"html"};break;case"image_picker":e={type:"image"};break;case"inline_richtext":e={type:"rich_text"};break;case"link_list":e={type:"menu"};break;case"liquid":e={type:"liquid"};break;case"page":e={type:"lookup",collection:"content/pages",titleField:"title"};break;case"product":e={type:"product_lookup"};break;case"product_list":e={type:"product_lookup",multiple:!0,limit:n.limit};break;case"richtext":e={type:"rich_html"};break;case"text_alignment":e={type:"select",options:[{value:"left",label:"Left"},{value:"center",label:"Center"},{value:"right",label:"Right"}]};break;case"url":e={type:"url"};break;case"video":e={type:"video"};break;case"video_url":e={type:"url"};break;case"header":e={type:"header",label:n.content};break}return{id:n.id,label:n.label,default:n.default,description:n.info,...e}}function Fe(n){let e=n.lastIndexOf("_"),t=n.substring(0,e),i=n.substring(e+1),r=Ht[t];if(r){let a=r.variants[i];return`${r.family}:${a}`}return null}var Ht={abel:{family:"Abel",variants:{n4:"wght@400"}},abril_fatface:{family:"Abril Fatface",variants:{n4:"wght@400"}},alegreya:{family:"Alegreya",variants:{n4:"wght@400",i4:"ital,wght@1,400",n5:"wght@500",i5:"ital,wght@1,500",n7:"wght@700",i7:"ital,wght@1,700",n8:"wght@800",i8:"ital,wght@1,800",n9:"wght@900",i9:"ital,wght@1,900"}},alegreya_sans:{family:"Alegreya Sans",variants:{n1:"wght@100",i1:"ital,wght@1,100",n3:"wght@300",i3:"ital,wght@1,300",n4:"wght@400",i4:"ital,wght@1,400",n5:"wght@500",i5:"ital,wght@1,500",n7:"wght@700",i7:"ital,wght@1,700",n8:"wght@800",i8:"ital,wght@1,800",n9:"wght@900",i9:"ital,wght@1,900"}},amiri:{family:"Amiri",variants:{n4:"wght@400",i4:"ital,wght@1,400",n7:"wght@700",i7:"ital,wght@1,700"}},anonymous_pro:{family:"Anonymous Pro",variants:{n4:"wght@400",i4:"ital,wght@1,400",n7:"wght@700",i7:"ital,wght@1,700"}},arapey:{family:"Arapey",variants:{n4:"wght@400",i4:"ital,wght@1,400"}},archivo:{family:"Archivo",variants:{n4:"wght@400",i4:"ital,wght@1,400",n5:"wght@500",i5:"ital,wght@1,500",n6:"wght@600",i6:"ital,wght@1,600",n7:"wght@700",i7:"ital,wght@1,700"}},archivo_narrow:{family:"Archivo Narrow",variants:{n4:"wght@400",i4:"ital,wght@1,400",n5:"wght@500",i5:"ital,wght@1,500",n6:"wght@600",i6:"ital,wght@1,600",n7:"wght@700",i7:"ital,wght@1,700"}},arimo:{family:"Arimo",variants:{n4:"wght@400",i4:"ital,wght@1,400",n7:"wght@700",i7:"ital,wght@1,700"}},armata:{family:"Armata",variants:{n4:"wght@400"}},arvo:{family:"Arvo",variants:{n4:"wght@400",i4:"ital,wght@1,400",n7:"wght@700",i7:"ital,wght@1,700"}},asap:{family:"Asap",variants:{n4:"wght@400",i4:"ital,wght@1,400",n5:"wght@500",i5:"ital,wght@1,500",n6:"wght@600",i6:"ital,wght@1,600",n7:"wght@700",i7:"ital,wght@1,700"}},assistant:{family:"Assistant",variants:{n2:"wght@200",n3:"wght@300",n4:"wght@400",n6:"wght@600",n7:"wght@700",n8:"wght@800"}},asul:{family:"Asul",variants:{n4:"wght@400",n7:"wght@700"}},bio_rhyme:{family:"Bio Rhyme",variants:{n2:"wght@200",n3:"wght@300",n4:"wght@400",n7:"wght@700",n8:"wght@800"}},bitter:{family:"Bitter",variants:{n4:"wght@400",i4:"ital,wght@1,400",n7:"wght@700"}},cabin:{family:"Cabin",variants:{n4:"wght@400",i4:"ital,wght@1,400",n5:"wght@500",i5:"ital,wght@1,500",n6:"wght@600",i6:"ital,wght@1,600",n7:"wght@700",i7:"ital,wght@1,700"}},cardo:{family:"Cardo",variants:{n4:"wght@400",i4:"ital,wght@1,400",n7:"wght@700"}},catamaran:{family:"Catamaran",variants:{n1:"wght@100",n2:"wght@200",n3:"wght@300",n4:"wght@400",n5:"wght@500",n6:"wght@600",n7:"wght@700",n8:"wght@800",n9:"wght@900"}},chivo:{family:"Chivo",variants:{n3:"wght@300",i3:"ital,wght@1,300",n4:"wght@400",i4:"ital,wght@1,400",n7:"wght@700",i7:"ital,wght@1,700",n9:"wght@900",i9:"ital,wght@1,900"}},cormorant:{family:"Cormorant",variants:{n3:"wght@300",i3:"ital,wght@1,300",n4:"wght@400",i4:"ital,wght@1,400",n5:"wght@500",i5:"ital,wght@1,500",n6:"wght@600",i6:"ital,wght@1,600",n7:"wght@700",i7:"ital,wght@1,700"}},crimson_text:{family:"Crimson Text",variants:{n4:"wght@400",i4:"ital,wght@1,400",n6:"wght@600",i6:"ital,wght@1,600",n7:"wght@700",i7:"ital,wght@1,700"}},dm_sans:{family:"DM Sans",variants:{n4:"wght@400",i4:"ital,wght@1,400",n5:"wght@500",i5:"ital,wght@1,500",n7:"wght@700",i7:"ital,wght@1,700"}},domine:{family:"Domine",variants:{n4:"wght@400",n7:"wght@700"}},dosis:{family:"Dosis",variants:{n2:"wght@200",n3:"wght@300",n4:"wght@400",n5:"wght@500",n6:"wght@600",n7:"wght@700",n8:"wght@800"}},eczar:{family:"Eczar",variants:{n4:"wght@400",n5:"wght@500",n6:"wght@600",n7:"wght@700",n8:"wght@800"}},fira_sans:{family:"Fira Sans",variants:{n1:"wght@100",i1:"ital,wght@1,100",n2:"wght@200",i2:"ital,wght@1,200",n3:"wght@300",i3:"ital,wght@1,300",n4:"wght@400",i4:"ital,wght@1,400",n5:"wght@500",i5:"ital,wght@1,500",n6:"wght@600",i6:"ital,wght@1,600",n7:"wght@700",i7:"ital,wght@1,700",n8:"wght@800",i8:"ital,wght@1,800",n9:"wght@900",i9:"ital,wght@1,900"}},fjalla_one:{family:"Fjalla One",variants:{n4:"wght@400"}},glegoo:{family:"Glegoo",variants:{n4:"wght@400",n7:"wght@700"}},ibm_plex_sans:{family:"IBM Plex Sans",variants:{n1:"wght@100",i1:"ital,wght@1,100",n2:"wght@200",i2:"ital,wght@1,200",n3:"wght@300",i3:"ital,wght@1,300",n4:"wght@400",i4:"ital,wght@1,400",n5:"wght@500",i5:"ital,wght@1,500",n6:"wght@600",i6:"ital,wght@1,600",n7:"wght@700",i7:"ital,wght@1,700"}},inconsolata:{family:"Inconsolata",variants:{n4:"wght@400",n7:"wght@700"}},inknut_antiqua:{family:"Inknut Antiqua",variants:{n3:"wght@300",n4:"wght@400",n5:"wght@500",n6:"wght@600",n7:"wght@700",n8:"wght@800",n9:"wght@900"}},inter:{family:"Inter",variants:{n1:"wght@100",n2:"wght@200",n3:"wght@300",n4:"wght@400",n5:"wght@500",n6:"wght@600",n7:"wght@700",n8:"wght@800",n9:"wght@900"}},josefin_sans:{family:"Josefin Sans",variants:{n1:"wght@100",i1:"ital,wght@1,100",n3:"wght@300",i3:"ital,wght@1,300",n4:"wght@400",i4:"ital,wght@1,400",n6:"wght@600",i6:"ital,wght@1,600",n7:"wght@700",i7:"ital,wght@1,700"}},josefin_slab:{family:"Josefin Slab",variants:{n1:"wght@100",i1:"ital,wght@1,100",n3:"wght@300",i3:"ital,wght@1,300",n4:"wght@400",i4:"ital,wght@1,400",n6:"wght@600",i6:"ital,wght@1,600",n7:"wght@700",i7:"ital,wght@1,700"}},kalam:{family:"Kalam",variants:{n3:"wght@300",n4:"wght@400",n7:"wght@700"}},karla:{family:"Karla",variants:{n4:"wght@400",i4:"ital,wght@1,400",n7:"wght@700",i7:"ital,wght@1,700"}},kreon:{family:"Kreon",variants:{n3:"wght@300",n4:"wght@400",n7:"wght@700"}},lato:{family:"Lato",variants:{n1:"wght@100",i1:"ital,wght@1,100",n2:"wght@200",i2:"ital,wght@1,200",n3:"wght@300",i3:"ital,wght@1,300",n4:"wght@400",i4:"ital,wght@1,400",n5:"wght@500",i5:"ital,wght@1,500",n6:"wght@600",i6:"ital,wght@1,600",n7:"wght@700",i7:"ital,wght@1,700",n8:"wght@800",i8:"ital,wght@1,800",n9:"wght@900",i9:"ital,wght@1,900"}},libre_baskerville:{family:"Libre Baskerville",variants:{n4:"wght@400",i4:"ital,wght@1,400",n7:"wght@700"}},libre_franklin:{family:"Libre Franklin",variants:{n1:"wght@100",i1:"ital,wght@1,100",n2:"wght@200",i2:"ital,wght@1,200",n3:"wght@300",i3:"ital,wght@1,300",n4:"wght@400",i4:"ital,wght@1,400",n5:"wght@500",i5:"ital,wght@1,500",n6:"wght@600",i6:"ital,wght@1,600",n7:"wght@700",i7:"ital,wght@1,700",n8:"wght@800",i8:"ital,wght@1,800",n9:"wght@900",i9:"ital,wght@1,900"}},lobster:{family:"Lobster",variants:{n4:"wght@400"}},lobster_two:{family:"Lobster Two",variants:{n4:"wght@400",i4:"ital,wght@1,400",n7:"wght@700",i7:"ital,wght@1,700"}},lora:{family:"Lora",variants:{n4:"wght@400",i4:"ital,wght@1,400",n7:"wght@700",i7:"ital,wght@1,700"}},maven_pro:{family:"Maven Pro",variants:{n4:"wght@400",n5:"wght@500",n7:"wght@700",n9:"wght@900"}},megrim:{family:"Megrim",variants:{n4:"wght@400"}},merriweather_sans:{family:"Merriweather Sans",variants:{n3:"wght@300",i3:"ital,wght@1,300",n4:"wght@400",i4:"ital,wght@1,400",n7:"wght@700",i7:"ital,wght@1,700",n8:"wght@800",i8:"ital,wght@1,800"}},montserrat:{family:"Montserrat",variants:{n1:"wght@100",i1:"ital,wght@1,100",n2:"wght@200",i2:"ital,wght@1,200",n3:"wght@300",i3:"ital,wght@1,300",n4:"wght@400",i4:"ital,wght@1,400",n5:"wght@500",i5:"ital,wght@1,500",n6:"wght@600",i6:"ital,wght@1,600",n7:"wght@700",i7:"ital,wght@1,700",n8:"wght@800",i8:"ital,wght@1,800",n9:"wght@900",i9:"ital,wght@1,900"}},mouse_memoirs:{family:"Mouse Memoirs",variants:{n4:"wght@400"}},muli:{family:"Muli",variants:{n2:"wght@200",i2:"ital,wght@1,200",n3:"wght@300",i3:"ital,wght@1,300",n4:"wght@400",i4:"ital,wght@1,400",n6:"wght@600",i6:"ital,wght@1,600",n7:"wght@700",i7:"ital,wght@1,700",n8:"wght@800",i8:"ital,wght@1,800",n9:"wght@900",i9:"ital,wght@1,900"}},neuton:{family:"Neuton",variants:{n2:"wght@200",n3:"wght@300",n4:"wght@400",i4:"ital,wght@1,400",n7:"wght@700",n8:"wght@800"}},news_cycle:{family:"News Cycle",variants:{n4:"wght@400",n7:"wght@700"}},newsreader:{family:"Newsreader",variants:{n2:"wght@200",i2:"ital,wght@1,200",n3:"wght@300",i3:"ital,wght@1,300",n4:"wght@400",i4:"ital,wght@1,400",n5:"wght@500",i5:"ital,wght@1,500",n6:"wght@600",i6:"ital,wght@1,600",n7:"wght@700",i7:"ital,wght@1,700",n8:"wght@800",i8:"ital,wght@1,800"}},nobile:{family:"Nobile",variants:{n4:"wght@400",i4:"ital,wght@1,400",n5:"wght@500",i5:"ital,wght@1,500",n7:"wght@700",i7:"ital,wght@1,700"}},noticia_text:{family:"Noticia Text",variants:{n4:"wght@400",i4:"ital,wght@1,400",n7:"wght@700",i7:"ital,wght@1,700"}},noto_serif:{family:"Noto Serif",variants:{n4:"wght@400",i4:"ital,wght@1,400",n7:"wght@700",i7:"ital,wght@1,700"}},nunito:{family:"Nunito",variants:{n2:"wght@200",i2:"ital,wght@1,200",n3:"wght@300",i3:"ital,wght@1,300",n4:"wght@400",i4:"ital,wght@1,400",n6:"wght@600",i6:"ital,wght@1,600",n7:"wght@700",i7:"ital,wght@1,700",n8:"wght@800",i8:"ital,wght@1,800",n9:"wght@900",i9:"ital,wght@1,900"}},nunito_sans:{family:"Nunito Sans",variants:{n2:"wght@200",i2:"ital,wght@1,200",n3:"wght@300",i3:"ital,wght@1,300",n4:"wght@400",i4:"ital,wght@1,400",n6:"wght@600",i6:"ital,wght@1,600",n7:"wght@700",i7:"ital,wght@1,700",n8:"wght@800",i8:"ital,wght@1,800",n9:"wght@900",i9:"ital,wght@1,900"}},old_standard_tt:{family:"Old Standard TT",variants:{n4:"wght@400",i4:"ital,wght@1,400",n7:"wght@700"}},open_sans:{family:"Open Sans",variants:{n3:"wght@300",i3:"ital,wght@1,300",n4:"wght@400",i4:"ital,wght@1,400",n6:"wght@600",i6:"ital,wght@1,600",n7:"wght@700",i7:"ital,wght@1,700",n8:"wght@800",i8:"ital,wght@1,800"}},open_sans_condensed:{family:"Open Sans Condensed",variants:{n3:"wght@300",i3:"ital,wght@1,300",n7:"wght@700"}},oswald:{family:"Oswald",variants:{n2:"wght@200",n3:"wght@300",n4:"wght@400",n5:"wght@500",n6:"wght@600",n7:"wght@700"}},ovo:{family:"Ovo",variants:{n4:"wght@400"}},oxygen:{family:"Oxygen",variants:{n3:"wght@300",n4:"wght@400",n7:"wght@700"}},pt_mono:{family:"PT Mono",variants:{n4:"wght@400"}},pt_sans:{family:"PT Sans",variants:{n4:"wght@400",i4:"ital,wght@1,400",n7:"wght@700",i7:"ital,wght@1,700"}},pt_sans_narrow:{family:"PT Sans Narrow",variants:{n4:"wght@400",n7:"wght@700"}},pt_serif:{family:"PT Serif",variants:{n4:"wght@400",i4:"ital,wght@1,400",n7:"wght@700",i7:"ital,wght@1,700"}},pacifico:{family:"Pacifico",variants:{n4:"wght@400"}},playball:{family:"Playball",variants:{n4:"wght@400"}},playfair_display:{family:"Playfair Display",variants:{n4:"wght@400",i4:"ital,wght@1,400",n7:"wght@700",i7:"ital,wght@1,700",n9:"wght@900",i9:"ital,wght@1,900"}},poppins:{family:"Poppins",variants:{n1:"wght@100",i1:"ital,wght@1,100",n2:"wght@200",i2:"ital,wght@1,200",n3:"wght@300",i3:"ital,wght@1,300",n4:"wght@400",i4:"ital,wght@1,400",n5:"wght@500",i5:"ital,wght@1,500",n6:"wght@600",i6:"ital,wght@1,600",n7:"wght@700",i7:"ital,wght@1,700",n8:"wght@800",i8:"ital,wght@1,800",n9:"wght@900",i9:"ital,wght@1,900"}},prata:{family:"Prata",variants:{n4:"wght@400"}},prompt:{family:"Prompt",variants:{n1:"wght@100",i1:"ital,wght@1,100",n2:"wght@200",i2:"ital,wght@1,200",n3:"wght@300",i3:"ital,wght@1,300",n4:"wght@400",i4:"ital,wght@1,400",n5:"wght@500",i5:"ital,wght@1,500",n6:"wght@600",i6:"ital,wght@1,600",n7:"wght@700",i7:"ital,wght@1,700",n8:"wght@800",i8:"ital,wght@1,800",n9:"wght@900",i9:"ital,wght@1,900"}},proza_libre:{family:"Proza Libre",variants:{n4:"wght@400",i4:"ital,wght@1,400",n5:"wght@500",i5:"ital,wght@1,500",n6:"wght@600",i6:"ital,wght@1,600",n7:"wght@700",i7:"ital,wght@1,700",n8:"wght@800",i8:"ital,wght@1,800"}},quantico:{family:"Quantico",variants:{n4:"wght@400",i4:"ital,wght@1,400",n7:"wght@700",i7:"ital,wght@1,700"}},quattrocento:{family:"Quattrocento",variants:{n4:"wght@400",n7:"wght@700"}},quattrocento_sans:{family:"Quattrocento Sans",variants:{n4:"wght@400",i4:"ital,wght@1,400",n7:"wght@700",i7:"ital,wght@1,700"}},questrial:{family:"Questrial",variants:{n4:"wght@400"}},quicksand:{family:"Quicksand",variants:{n3:"wght@300",n4:"wght@400",n5:"wght@500",n7:"wght@700"}},rajdhani:{family:"Rajdhani",variants:{n3:"wght@300",n4:"wght@400",n5:"wght@500",n6:"wght@600",n7:"wght@700"}},raleway:{family:"Raleway",variants:{n1:"wght@100",i1:"ital,wght@1,100",n2:"wght@200",i2:"ital,wght@1,200",n3:"wght@300",i3:"ital,wght@1,300",n4:"wght@400",i4:"ital,wght@1,400",n5:"wght@500",i5:"ital,wght@1,500",n6:"wght@600",i6:"ital,wght@1,600",n7:"wght@700",i7:"ital,wght@1,700",n8:"wght@800",i8:"ital,wght@1,800",n9:"wght@900",i9:"ital,wght@1,900"}},righteous:{family:"Righteous",variants:{n4:"wght@400"}},roboto:{family:"Roboto",variants:{n1:"wght@100",i1:"ital,wght@1,100",n3:"wght@300",i3:"ital,wght@1,300",n4:"wght@400",i4:"ital,wght@1,400",n5:"wght@500",i5:"ital,wght@1,500",n7:"wght@700",i7:"ital,wght@1,700",n9:"wght@900",i9:"ital,wght@1,900"}},roboto_condensed:{family:"Roboto Condensed",variants:{n3:"wght@300",i3:"ital,wght@1,300",n4:"wght@400",i4:"ital,wght@1,400",n7:"wght@700",i7:"ital,wght@1,700"}},roboto_mono:{family:"Roboto Mono",variants:{n1:"wght@100",i1:"ital,wght@1,100",n3:"wght@300",i3:"ital,wght@1,300",n4:"wght@400",i4:"ital,wght@1,400",n5:"wght@500",i5:"ital,wght@1,500",n7:"wght@700",i7:"ital,wght@1,700"}},roboto_slab:{family:"Roboto Slab",variants:{n1:"wght@100",n3:"wght@300",n4:"wght@400",n7:"wght@700"}},rubik:{family:"Rubik",variants:{n3:"wght@300",i3:"ital,wght@1,300",n4:"wght@400",i4:"ital,wght@1,400",n5:"wght@500",i5:"ital,wght@1,500",n7:"wght@700",i7:"ital,wght@1,700",n9:"wght@900",i9:"ital,wght@1,900"}},shadows_into_light:{family:"Shadows Into Light",variants:{n4:"wght@400"}},slabo_13px:{family:"Slabo 13px",variants:{n4:"wght@400"}},smooch:{family:"Smooch",variants:{n4:"wght@400"}},source_code_pro:{family:"Source Code Pro",variants:{n2:"wght@200",n3:"wght@300",n4:"wght@400",n5:"wght@500",n6:"wght@600",n7:"wght@700",n9:"wght@900"}},source_sans_pro:{family:"Source Sans Pro",variants:{n2:"wght@200",i2:"ital,wght@1,200",n3:"wght@300",i3:"ital,wght@1,300",n4:"wght@400",i4:"ital,wght@1,400",n6:"wght@600",i6:"ital,wght@1,600",n7:"wght@700",i7:"ital,wght@1,700",n9:"wght@900",i9:"ital,wght@1,900"}},space_mono:{family:"Space Mono",variants:{n4:"wght@400",i4:"ital,wght@1,400",n7:"wght@700",i7:"ital,wght@1,700"}},syne:{family:"Syne",variants:{n4:"wght@400",n5:"wght@500",n6:"wght@600",n7:"wght@700",n8:"wght@800"}},tenor_sans:{family:"Tenor Sans",variants:{n4:"wght@400"}},tinos:{family:"Tinos",variants:{n4:"wght@400",i4:"ital,wght@1,400",n7:"wght@700",i7:"ital,wght@1,700"}},titillium_web:{family:"Titillium Web",variants:{n2:"wght@200",i2:"ital,wght@1,200",n3:"wght@300",i3:"ital,wght@1,300",n4:"wght@400",i4:"ital,wght@1,400",n6:"wght@600",i6:"ital,wght@1,600",n7:"wght@700",i7:"ital,wght@1,700",n9:"wght@900"}},ubuntu:{family:"Ubuntu",variants:{n3:"wght@300",i3:"ital,wght@1,300",n4:"wght@400",i4:"ital,wght@1,400",n5:"wght@500",i5:"ital,wght@1,500",n7:"wght@700",i7:"ital,wght@1,700"}},unica_one:{family:"Unica One",variants:{n4:"wght@400"}},unna:{family:"Unna",variants:{n4:"wght@400",i4:"ital,wght@1,400",n7:"wght@700",i7:"ital,wght@1,700"}},varela:{family:"Varela",variants:{n4:"wght@400"}},varela_round:{family:"Varela Round",variants:{n4:"wght@400"}},vidaloka:{family:"Vidaloka",variants:{n4:"wght@400"}},volkhov:{family:"Volkhov",variants:{n4:"wght@400",i4:"ital,wght@1,400",n7:"wght@700",i7:"ital,wght@1,700"}},vollkorn:{family:"Vollkorn",variants:{n4:"wght@400",i4:"ital,wght@1,400",n6:"wght@600",i6:"ital,wght@1,600",n7:"wght@700",i7:"ital,wght@1,700",n9:"wght@900",i9:"ital,wght@1,900"}},work_sans:{family:"Work Sans",variants:{n1:"wght@100",n2:"wght@200",n3:"wght@300",n4:"wght@400",n5:"wght@500",n6:"wght@600",n7:"wght@700",n8:"wght@800",n9:"wght@900"}},biz_udpmincho:{family:"BIZ UDPMincho",variants:{n4:"wght@400",n7:"wght@700"}},dela_gothic_one:{family:"Dela Gothic One",variants:{n4:"wght@400"}},hina_mincho:{family:"Hina Mincho",variants:{n4:"wght@400"}},kaisei_decol:{family:"Kaisei Decol",variants:{n4:"wght@400",n5:"wght@500",n7:"wght@700"}},kaisei_opti:{family:"Kaisei Opti",variants:{n4:"wght@400",n5:"wght@500",n7:"wght@700"}},kaisei_tokumin:{family:"Kaisei Tokumin",variants:{n4:"wght@400",n5:"wght@500",n7:"wght@700",n8:"wght@800"}},m_plus_1:{family:"M PLUS 1",variants:{n1:"wght@100",n2:"wght@200",n3:"wght@300",n4:"wght@400",n5:"wght@500",n6:"wght@600",n7:"wght@700",n8:"wght@800",n9:"wght@900"}},m_plus_rounded_1c:{family:"M PLUS Rounded 1c",variants:{n1:"wght@100",n3:"wght@300",n4:"wght@400",n5:"wght@500",n7:"wght@700",n8:"wght@800",n9:"wght@900"}},mochiy_pop_p_one:{family:"Mochiy Pop P One",variants:{n4:"wght@400"}},murecho:{family:"Murecho",variants:{n1:"wght@100",n2:"wght@200",n3:"wght@300",n4:"wght@400",n5:"wght@500",n6:"wght@600",n7:"wght@700",n8:"wght@800",n9:"wght@900"}},noto_sans_japanese:{family:"Noto Sans Japanese",variants:{n1:"wght@100",n2:"wght@200",n3:"wght@300",n4:"wght@400",n5:"wght@500",n6:"wght@600",n7:"wght@700",n8:"wght@800",n9:"wght@900"}},noto_serif_japanese:{family:"Noto Serif Japanese",variants:{n2:"wght@200",n3:"wght@300",n4:"wght@400",n5:"wght@500",n6:"wght@600",n7:"wght@700",n9:"wght@900"}},shippori_mincho:{family:"Shippori Mincho",variants:{n4:"wght@400",n5:"wght@500",n6:"wght@600",n7:"wght@700",n8:"wght@800"}},zen_kaku_gothic_new:{family:"Zen Kaku Gothic New",variants:{n3:"wght@300",n4:"wght@400",n5:"wght@500",n7:"wght@700",n9:"wght@900"}},zen_kurenaido:{family:"Zen Kurenaido",variants:{n4:"wght@400"}},zen_maru_gothic:{family:"Zen Maru Gothic",variants:{n3:"wght@300",n4:"wght@400",n5:"wght@500",n7:"wght@700",n9:"wght@900"}},zen_old_mincho:{family:"Zen Old Mincho",variants:{n4:"wght@400",n5:"wght@500",n6:"wght@600",n7:"wght@700",n9:"wght@900"}}};var k4={};u2(k4,{DeferredShopifyResource:()=>O,ShopifyArticle:()=>y3,ShopifyBlog:()=>d4,ShopifyCart:()=>C3,ShopifyCollection:()=>S3,ShopifyCollections:()=>u4,ShopifyCustomer:()=>$,ShopifyFont:()=>k3,ShopifyForm:()=>H3,ShopifyLink:()=>L3,ShopifyLocalization:()=>A3,ShopifyOrder:()=>t3,ShopifyPage:()=>g4,ShopifyPaginate:()=>p3,ShopifyPredictiveSearch:()=>m4,ShopifyProduct:()=>v,ShopifyRecommendations:()=>p4,ShopifyResource:()=>y,ShopifySearch:()=>f4,ShopifyVariant:()=>B,adaptShopifyFontData:()=>y4,adaptShopifyFormData:()=>S4,adaptShopifyMenuData:()=>w4});function y3(n,e,t){return e instanceof y?e.clone():(t&&(e.category=t),new y({author:d(e,i=>i.author?.name||i.author?.email),content:d(e,i=>i.content),created_at:w(()=>e.date_created),excerpt:w(()=>e.summary),excerpt_or_content:w(()=>e.summary||e.content),handle:w(()=>e.slug),id:d(e,i=>i.id),image:d(e,i=>i.image&&Z(n,i.image)),metafields:null,published_at:d(e,i=>i.date_published||i.date_created),tags:d(e,i=>i.tags),template_suffix:null,title:d(e,i=>i.title),updated_at:d(e,i=>i.date_updated||i.date_created),url:d([e,e.category],(i,r)=>r&&`/blogs/${r?.slug}/${i.slug}`),user:w(()=>e.author),comment_post_url:null,comments:null,comments_count:null,"comments_enabled?":!1,moderated:!1}))}function d4(n,e){if(e instanceof y)return e.clone();let t=d(e.blogs,i=>i?.results?.reduce((r,a)=>{for(let o of a.tags||[])r.includes(o)||r.push(o);return r},[]));return new y({all_tags:t,articles:d(e,i=>i.blogs?._cloneWithCompatibilityResult(r=>({results:r?.results?.map(a=>y3(n,a,i))}))||[]),articles_count:d(e.blogs,i=>i?.count||0),handle:w(()=>e.slug),id:d(e,i=>i.id),metafields:null,next_article:null,previous_article:null,tags:t,template_suffix:null,title:d(e,i=>i.title),url:d(e,i=>`/blogs/${i.slug}`),featured_image:d(e,i=>i.image),content:d(e,i=>i.content),"comments_enabled?":!1,moderated:!1})}var Ie=require("lodash-es");function I3(n,e){let t=e.type==="range",i=e.type==="boolean";return new y({active_values:t?void 0:e.active_options?.map(r=>s3(n,r,e)),false_value:i?s3(n,{value:""},e):void 0,inactive_values:t?void 0:e.inactive_options?.map(r=>s3(n,r,e)),label:e.label,max_value:t?s3(n,{value:e.range_max},e,"lte"):void 0,min_value:t?s3(n,{value:e.range_min},e,"gte"):void 0,operator:t?"AND":"OR",param_name:e.param_name,presentation:"text",range_max:e.range_max,true_value:i?s3(n,{value:e.options?.[0].value},e):void 0,type:e.id==="price"?"price_range":i?"boolean":"list",url_to_remove:Gt(n,`filter_${e.id}`,!0),values:e.id!=="price"&&e.options?.map(r=>s3(n,r,e))})}function s3(n,e,t,i){let r=i?`${t.param_name}[${i}]`:t.param_name;return new y({active:e.active,count:e.count,image:null,label:e.label,param_name:r,swatch:null,url_to_add:Vt(n,r,e.value),url_to_remove:qt(n,t.param_name,e.value),value:Bt(n,e,t,i)})}function Bt(n,e,t,i){let{queryParams:r}=n.swell,a=i?r[t.param_name]?.[i]:r[t.param_name];return t.type==="range"?a!==void 0&&a!==""?a:null:e.value}function c4(n){return Object.keys(n).reduce((e,t)=>{let i=n[t];return i!==""&&(e[t]=(0,Ie.isObject)(i)&&!Array.isArray(i)?c4(i):i),e},{})}function Gt(n,e,t=!1){let{queryParams:i}=n.swell,r=G({...c4(i),...t?{[`${e}[gte]`]:void 0,[`${e}[lte]`]:void 0}:void 0,[e]:void 0,page:void 0});return K5(n,r)}function qt(n,e,t){let{queryParams:i}=n.swell,r=G({...c4(i),[e]:Array.isArray(i[e])?i[e].filter(a=>a!==t):void 0,page:void 0});return K5(n,r)}function Vt(n,e,t){let{queryParams:i}=n.swell,r=G({...c4(i),[e]:Array.isArray(i[e])?i[e].concat(t):typeof i[e]=="string"?[i[e],t]:t,page:void 0});return K5(n,r)}function K5(n,e){let{url:t}=n.swell;return`${t.pathname}${e?`?${e}`:""}`}function S3(n,e){if(e instanceof y)return e.clone();let t=d(e,r=>r.products?._cloneWithCompatibilityResult(a=>({results:a?.results?.map(o=>v(n,o))}))??null);async function i(){let r=await t.resolve();return r&&"_resolve"in r?r._resolve():r}return new y({all_products_count:w(async()=>(await i())?.count||0),all_tags:w(async()=>(await i())?.results?.reduce((r,a)=>(Array.isArray(a.tags)&&r.push(...a.tags),r),[])||[]),all_types:w(async()=>{let r=await i();if(!r?.results)return[];let a=r.results.reduce((o,s)=>(s.type&&o.add(s.type),o),new Set);return Array.from(a.values())}),all_vendors:[],current_type:null,current_vendor:null,default_sort_by:d(e,r=>r.sort_options?.[0].value),description:d(e,r=>r.description),featured_image:d(e,r=>r.images?.[0]&&Z(n,r.images[0])),filters:w(async()=>(await i())?.filter_options?.map(r=>I3(n,r))||[]),handle:w(()=>e.slug),id:d(e,r=>r.id),image:null,metafields:null,next_product:null,previous_product:null,products:t,products_count:w(async()=>(await i())?.results?.length||0),published_at:null,sort_by:w(()=>e.sort),sort_options:d(e,r=>r.sort_options),tags:[],template_suffix:null,title:w(()=>e.name),url:d(e,r=>`/collections/${r.slug}`)})}function u4(n,e){return new A(n.swell,e._collection,e._query,async()=>{let t=(await e.results)?.map(i=>S3(n,i));return{page:e.page??1,count:e.count??0,results:t,page_count:e.page_count??0,limit:e.limit,pages:e.pages??{}}})}function k3(n,e){return e instanceof y?e.clone():new y({baseline_ratio:null,fallback_families:e.fallback_families,family:e.family,style:e.style,"system?":e.system,variants:e.variants.map(t=>k3(n,t)),weight:e.weight})}var Ot={account_login:{params:()=>({password_needed:!0})}};function H3(n,e){if(e instanceof y)return e.clone();let t=Ot[e.id];return new y({...t?.params?.(e)||void 0,errors:e.errors&&new W5(e.errors),"posted_successfully?":e.success})}var z5=class{code;message;field_name;field_label;type;constructor(e){this.code=e.code,this.message=e.message,this.field_name=e.field_name,this.field_label=e.field_label,this.type=this.getShopifyErrorType(e)}getShopifyErrorType(e){return e.field_name==="email"?"email":e.field_name==="password"?"password":"form"}valueOf(){return this.type}toString(){return this.type}},W5=class n{errors;pointer=0;messages;translated_fields;constructor(e){return this.errors=Array.from(e).map(t=>new z5(t)),this.messages=new C4(this.errors,this.errors.map(t=>t.message)),this.translated_fields=new C4(this.errors,this.errors.map(t=>t.field_label)),new Proxy(this.errors,{get:(t,i)=>{let r=t;return i==="toJSON"?this.errors:i==="some"?this.some.bind(this):i==="messages"?this.messages:i==="translated_fields"?this.translated_fields:r[i]},getPrototypeOf(){return n.prototype}})}*[Symbol.iterator](){yield*this.errors}some(e,t){return this.errors.some(i=>e(i?.type),t)}},C4=class{values;constructor(e,t){return this.values=t,new Proxy(t,{get:(i,r)=>{let a=i;if(r==="toJSON")return t;let o=e?.findIndex?.(s=>s?.type===r);return o!==-1?t[o]:a[r]}})}};var He=require("lodash-es");function L3(n,e,t){let i=e.handle||e.id;return new y({active:t.active,child_active:t.child_active,child_current:t.child_current,current:t.current,handle:`${i}-${(0,He.snakeCase)(t.name)}`,levels:t.levels,links:t.items?.map(r=>L3(n,t,r)),object:t.resource,title:t.name,type:Ut(t.type),url:t.url})}function Ut(n){switch(n){case"home":return"frontpage_link";case"category":return"collection_link";case"product":return"product_link";case"search":return"search_link";default:return""}}function A3(n,e,t){let i=e.currencies.find(a=>a.code===t.currency)||e.currencies[0],r=e.locales.find(a=>a.code===t.locale)||e.locales[0];return new y({available_countries:$t(e),available_languages:Ge(e),country:i&&Ve(i,e),language:r&&qe(r,e),market:null})}function $t(n){return n.currencies.map(e=>Ve(e,n))||[]}function Ge(n){return n.locales.map(e=>qe(e,n))||[]}function qe(n,e){return{endonym_name:n.name,iso_code:n.code,name:n.name,primary:n.code===e.locale,root_url:e.url}}function Ve(n,e){return{available_languages:Ge(e),continent:null,currency:{iso_code:n.code,name:n.name,symbol:n.symbol},iso_code:n.code,market:null,name:Kt(n.code),"popular?":!1,unit_system:"metric"}}function Kt(n){return n in Be?Be[n]:null}var Be=Object.freeze({USD:"United States",EUR:"Europe",GBP:"United Kingdom",JPY:"Japan",CAD:"Canada",AUD:"Australia",CHF:"Switzerland",CNY:"China",SEK:"Sweden",NZD:"New Zealand",NOK:"Norway",MXN:"Mexico",SGD:"Singapore",HKD:"Hong Kong",KRW:"South Korea",INR:"India",BRL:"Brazil",RUB:"Russia",ZAR:"South Africa",TRY:"Turkey",AED:"United Arab Emirates",THB:"Thailand",IDR:"Indonesia",SAR:"Saudi Arabia",PLN:"Poland",PHP:"Philippines",ILS:"Israel",MYR:"Malaysia",CZK:"Czech Republic",HUF:"Hungary",CLP:"Chile",DKK:"Denmark",RON:"Romania",ARS:"Argentina",COP:"Colombia",TWD:"Taiwan",BGN:"Bulgaria",EGP:"Egypt",PKR:"Pakistan",NGN:"Nigeria",VND:"Vietnam",IQD:"Iraq",MAD:"Morocco",KES:"Kenya",DZD:"Algeria",UAH:"Ukraine",XAF:"Cameroon",XOF:"C\xF4te d'Ivoire",GHS:"Ghana",BYN:"Belarus",LKR:"Sri Lanka",SDG:"Sudan",AFN:"Afghanistan",ALL:"Albania",AMD:"Armenia",AOA:"Angola",AWG:"Aruba",AZN:"Azerbaijan",BAM:"Bosnia and Herzegovina",BBD:"Barbados",BDT:"Bangladesh",BHD:"Bahrain",BIF:"Burundi",BMD:"Bermuda",BND:"Brunei",BOB:"Bolivia",BSD:"Bahamas",BTN:"Bhutan",BWP:"Botswana",BZD:"Belize",CDF:"Democratic Republic of the Congo",CLF:"Chile (Unidad de Fomento)",CRC:"Costa Rica",CVE:"Cape Verde",DJF:"Djibouti",DOP:"Dominican Republic",ERN:"Eritrea",ETB:"Ethiopia",FKP:"Falkland Islands",GEL:"Georgia",GIP:"Gibraltar",GMD:"Gambia",GNF:"Guinea",GTQ:"Guatemala",GYD:"Guyana",HNL:"Honduras",HRK:"Croatia",HTG:"Haiti",IRR:"Iran",ISK:"Iceland",JMD:"Jamaica",JOD:"Jordan",KGS:"Kyrgyzstan",KHR:"Cambodia",KMF:"Comoros",KPW:"North Korea",KWD:"Kuwait",KYD:"Cayman Islands",KZT:"Kazakhstan",LAK:"Laos",LBP:"Lebanon",LRD:"Liberia",LSL:"Lesotho",LYD:"Libya",MDL:"Moldova",MGA:"Madagascar",MKD:"North Macedonia",MMK:"Myanmar",MNT:"Mongolia",MOP:"Macau",MRO:"Mauritania",MUR:"Mauritius",MVR:"Maldives",MWK:"Malawi",NAD:"Namibia",NPR:"Nepal",OMR:"Oman",PAB:"Panama",PEN:"Peru",PGK:"Papua New Guinea",PYG:"Paraguay",QAR:"Qatar",RSD:"Serbia",RWF:"Rwanda",SBD:"Solomon Islands",SCR:"Seychelles",SHP:"Saint Helena",SLL:"Sierra Leone",SOS:"Somalia",SRD:"Suriname",STD:"S\xE3o Tom\xE9 and Pr\xEDncipe",SZL:"Eswatini",TJS:"Tajikistan",TMT:"Turkmenistan",TND:"Tunisia",TOP:"Tonga",TTD:"Trinidad and Tobago",TZS:"Tanzania",UGX:"Uganda",UYU:"Uruguay",UZS:"Uzbekistan",VEF:"Venezuela",VUV:"Vanuatu",WST:"Samoa",XCD:"Eastern Caribbean",YER:"Yemen",ZMW:"Zambia",ZWL:"Zimbabwe"});function m4(n,e){return e instanceof y?e.clone():new y({performed:d(e,t=>t.performed),resources:zt(n,e),terms:w(()=>e.query),types:["product"]})}function zt(n,e){return e instanceof y?e.clone():new y({products:d(e.products,t=>t?.results?.map(i=>{let r=v(n,i);return r.object_type="product",r}))})}function p4(n,e){return e instanceof y?e.clone():new y({products:d(e,t=>(t?.recommendations||[]).map(i=>v(n,i))),products_count:d(e,t=>t?.recommendations?.length||0),performed:!0})}function g4(n,e){return e instanceof y?e.clone():new y({content:d(e,t=>t.content),handle:w(()=>e.slug),metafields:null,published_at:w(async()=>await e.date_published||e.date_created),template_suffix:null,title:d(e,t=>t.title||t.name),url:d(e,t=>`/pages/${t.slug}`),author:null})}function f4(n,e){if(e instanceof y)return e.clone();let t=d(e,i=>i.products?._cloneWithCompatibilityResult(r=>({results:r?.results?.map(a=>{let o=v(n,a);return o.object_type="product",o})}))||[]);return new y({default_sort_by:d(e,i=>i.sort_options?.[0].value),filters:w(async()=>(await(await t.resolve())?.filter_options)?.map(r=>I3(n,r))||[]),performed:d(e,i=>i.performed),results:t,results_count:w(async()=>(await t.resolve())?.count||0),sort_by:w(()=>e.sort),sort_options:d(e,i=>i.sort_options),terms:w(()=>e.query),types:["product"]})}function w4(n,e){let t={...e,handle:e.id.replace(/_/g,"-"),title:e.name};return{...t,links:e.items?.map(i=>L3(n,t,i))}}function y4(n,e){return k3(n,e)}function S4(n,e){return H3(n,e)}function J5(n,e){let t=e.currencies.find(i=>i.code===e.currency);return new y({accepts_gift_cards:!0,address:{},brand:{},collections_count:0,currency:e.currency,customer_accounts_enabled:!0,customer_accounts_optional:!0,description:e.description,domain:e.url.replace(/^http[s]?:\/\//,""),email:e.support_email,enabled_currencies:e.currencies.map(i=>({iso_code:i.code,name:i.name,symbol:i.symbol})),enabled_payment_providers:[],id:e.id,metafields:null,metaobjects:null,money_format:e.currencies.find(i=>i.code===e.currency),money_with_currency_format:{...t,symbol:`${e.currency} ${t?.symbol||""}`},name:e.name,password_message:null,permanent_domain:`${e.id}.swell.store`,phone:e.support_phone,published_locales:e.locales.map(i=>({endonym_name:i.name,iso_code:i.code,name:i.name,primary:i.code===e.locale,root_url:e.url})),secure_url:e.url,types:[],url:e.url,vendors:[],policies:[],privacy_policy:null,refund_policy:null,shipping_policy:null,subscription_policy:null,terms_of_service:null,products_count:0})}var Oe=require("liquidjs"),B3=class extends Oe.Drop{#e;constructor(e){switch(super(),typeof e){case"object":{if(e===null){this.#e=new Map;break}this.#e=new Map(e instanceof Map?e:Object.entries(e));break}default:this.#e=new Map;break}}liquidMethodMissing(e){switch(typeof e){case"string":return this.#e.get(e);case"object":{if(e!==null&&"handle"in e){let{handle:t}=e;if(typeof t=="string")return this.#e.get(t)}break}default:break}}};var g3=class{theme;swell;pageId;pageResourceMap;objectResourceMap;formResourceMap;queryParamsMap;shopifyCompatibilityConfig;editorLocaleConfig;constructor(e){this.theme=e,this.swell=e.swell,this.shopifyCompatibilityConfig=this.swell.shopifyCompatibilityConfig??void 0,this.pageResourceMap=this.getPageResourceMap(),this.objectResourceMap=this.getObjectResourceMap(),this.formResourceMap=this.getFormResourceMap(),this.queryParamsMap=this.getQueryParamsMap()}adaptGlobals(e){let{store:t,request:i,page:r,menus:a}=e;this.pageId=this.getPageType(r?.id),e.shop=this.getShopData(e),e.page={...r||void 0},e.request={...i||void 0,design_mode:this.swell.isEditor,visual_section_preview:!1,page_type:r?.id},e.linklists=new B3(a),e.current_page=this.swell.queryParams.page||1,e.routes=this.getPageRoutes(),e.localization=this.getLocalizationObject(t,i),e.all_country_option_tags=this.getAllCountryOptionTags(e.geo)}adaptSettings(e,t){let{current:i,presets:r}=t;if(typeof i=="object"&&i)return{current:w3(e,i),presets:r};let a=r?.[i];if(!a)throw new Error(`Failed to build settings config: "${i}" preset is not defined`);return{current:i,presets:{...r,[i]:w3(e,a)}}}adaptPageData(e){let t=this.pageResourceMap.get(this.pageId||"");if(t)for(let[i,r]of Object.entries(e)){let a=`${i}.`,o=t.resources.find(({from:s})=>s===i||s.startsWith(a));o&&r instanceof T&&(e[o.to]=o.object(this,r))}this.adaptObjectData(e)}adaptObjectData(e){for(let t of Object.values(e)){let i=this.objectResourceMap.get(t?.constructor.name);if(i){let r=i.object(this,t);t instanceof T?t.setCompatibilityProps(r):Object.assign(t,r)}}}adaptQueryParams(){let e={};for(let[t,i]of Object.entries(this.swell.queryParams)){let r=this.queryParamsMap.find(({from:a})=>typeof a=="function"?a(t):a===t);if(r){let a=typeof r.to=="function"?r.to(t,i):{[r.to]:i};Object.assign(e,a)}else e[t]=i}this.swell.queryParams=e}getAdaptedFormType(e){return this.formResourceMap.find(i=>i.shopifyType===e)?.type}async getAdaptedFormClientParams(e,t,i){let r=this.formResourceMap.find(a=>a.type===e);if(r?.clientParams)return r.clientParams(t,i)}async getAdaptedFormClientHtml(e,t,i){let r=this.formResourceMap.find(o=>o.type===e),a=this.shopifyCompatibilityConfig?.forms?.find(o=>o.id===e);if(r&&a)return a.client_params?.reduce((o,s)=>`<input type="hidden" name="${s.name}" value="${s.value}" />`+o,"")}async getAdaptedFormServerParams(e,t){let i=this.formResourceMap.find(r=>r.type===e||r.shopifyType===e);if(typeof i?.serverParams=="function")return i.serverParams(t)}async getAdaptedFormServerResponse(e,t){let i=this.formResourceMap.find(r=>r.type===e||r.shopifyType===e);if(typeof i?.serverResponse=="function")return i.serverResponse(t)}getShopData({store:e}){return e?J5(this,e):{}}getContentForHeader(){return"<script>var Shopify = Shopify || {};</script>"}getMenuData(e){return w4(this,e)}getFontData(e){return y4(this,e)}getFormData(e){return S4(this,e)}getFontFromShopifySetting(e){return Fe(e)}getThemeConfig(e){return je(e)}getPresetsConfig(e){return Ze(e)}getEditorConfig(e){return Re(e)}getSectionConfigSchema(e){return Ne(e)}async getLocaleConfig(e,t="en",i=".json"){let r=await e.getThemeConfigsByPath("theme/locales/",i),a=r.get(`theme/locales/${t}${i}`)??null;if(!a){let o=t.split("-")[0];if(a=r.get(`theme/locales/${o}${i}`)??null,!a){let s=`.default${i}`;for(let l of r.values())if(l.file_path.endsWith(s)){a=l;break}}}if(a){a=await e.getThemeConfig(a.file_path);try{return JSON.parse(a?.file_data||"")}catch{}}return{}}async getEditorLocaleConfig(e,t){if(this.editorLocaleConfig?.[t])return this.editorLocaleConfig[t];let i=await this.getLocaleConfig(e,t,".schema.json");return this.editorLocaleConfig={[t]:i},i}async renderSchemaTranslations(e,t,i="en"){if(!(0,L4.isObject)(t))return t;let r=await this.getEditorLocaleConfig(e,i);return this.renderSchemaTranslationValue(e,t,i,r)}async renderSchemaTranslationValue(e,t,i,r){switch(typeof t){case"string":{if(t.startsWith("t:")){let a=t.slice(2),o=a?.split("."),s=o.pop()||"",l=o.join(".");return(0,L4.get)(r,l)?.[s]??a}break}case"object":{if(Array.isArray(t)){let a=[];for(let o of t)a.push(await this.renderSchemaTranslationValue(e,o,i,r));return a}if(t!==null){let a={...t};for(let[o,s]of Object.entries(t))a[o]=await this.renderSchemaTranslationValue(e,s,i,r);return a}break}default:break}return t}getPageType(e){return this.shopifyCompatibilityConfig?.page_types?.[e]||e}getPageRouteUrl(e){return this.theme.props.pages?.find(t=>t.id===e)?.url||e}getPageRoutes(){let e={account_addresses_url:this.getPageRouteUrl("account/addresses"),account_login_url:this.getPageRouteUrl("account/login"),account_logout_url:this.getPageRouteUrl("account/logout"),account_recover_url:this.getPageRouteUrl("account/recover"),account_register_url:this.getPageRouteUrl("account/signup"),account_url:this.getPageRouteUrl("account/index"),all_products_collection_url:this.getPageRouteUrl("products/index"),cart_add_url:this.getPageRouteUrl("cart/add"),cart_change_url:this.getPageRouteUrl("cart/change"),cart_clear_url:this.getPageRouteUrl("cart/clear"),cart_update_url:this.getPageRouteUrl("cart/update"),cart_url:this.getPageRouteUrl("cart/index"),collections_url:this.getPageRouteUrl("categories/index"),predictive_search_url:this.getPageRouteUrl("search/suggest"),product_recommendations_url:this.getPageRouteUrl("products/index"),root_url:this.getPageRouteUrl("index"),search_url:this.getPageRouteUrl("search")};if(this.shopifyCompatibilityConfig?.page_routes)for(let[t,i]of Object.entries(this.shopifyCompatibilityConfig.page_routes))i&&typeof i=="object"&&i.page_id?e[t]=this.getPageRouteUrl(i.page_id):typeof i=="string"&&(e[t]=i);return e}getLocalizationObject(e,t){return A3(this,e,t)}getAdaptedPageUrl(e){if(!e)return;let t,i,r={},[a,o]=e.split("?"),s=a.split("."),l=s[1]?s.pop():null,[,c,u,h]=s.join(".").split("/");switch(l==="js"&&(i="json"),c){case"account":switch(u){case"order":t="account/order",r.id=h;break;case"register":t="account/login";break;default:break}break;case"blog":u&&(t="blogs/category",r.category=u),h&&(t="blogs/blog",r.slug=h);break;case"collections":u?u==="all"?t="products/index":(t="categories/category",r.slug=u):t="categories/index";break;case"gift_card":u&&(t="gift-card",r.code=u);break}if(t){let p=this.getPageRouteUrl(t);if(p)return p.replace(/:(\w+)/g,(m,g)=>r[g])+(l?`.${l}`:"")+(o?`?${o}`:"")}else if(i)return a.replace(new RegExp(`.${l}$`),`.${i}`)+(o?`?${o}`:"")}getThemeFilePath(e,t){switch(e){case"assets":return`assets/${t}`;case"components":return`snippets/${t}`;case"config":return`config/${t}`;case"layouts":return`layout/${t}`;case"templates":return`templates/${this.getPageType(t)}`;case"sections":return`sections/${t}`;default:throw new Error(`Theme file type not supported: ${e}`)}}getPageResourceMap(){return this.shopifyCompatibilityConfig?.page_resources?this.shopifyCompatibilityConfig.page_resources.reduce((e,t)=>e.set(t.page,{page:t.page,resources:t.resources.map(({from:i,to:r,object:a})=>{let o=k4[a];if(!o)throw new Error(`ShopifyObject for '${a}' not found.`);return{from:i,to:r,object:o}})}),new Map):new Map}getObjectResourceMap(){return this.shopifyCompatibilityConfig?.object_resources?this.shopifyCompatibilityConfig.object_resources.reduce((e,t)=>{let i=k4[t.object];if(!i)throw new Error(`ShopifyObject for '${t.object}' not found.`);return e.set(t.from,{from:t.from,object:i})},new Map):new Map}getFormResourceMap(){return this.shopifyCompatibilityConfig?.forms?this.shopifyCompatibilityConfig.forms.map(e=>({shopifyType:e.shopify_type,type:e.id})):[]}getQueryParamsMap(){return[{from:"sort_by",to:"sort"},{from(e){return e.startsWith("filter.v.")},to(e,t){let i=e.split("filter.v.")[1],r=t;return{[i]:r}}}]}getAllCountryOptionTags(e){return e?.countries?.map(t=>{if(!t)return;let i=[...(e?.states||[]).filter(a=>a.country===t.id).map(a=>[a.id,a.name])],r=JSON.stringify(i).replace(/"/g,""");return`<option value="${t.id}" data-provinces="${r}">${t.name}</option>`}).filter(Boolean).join(`
|
|
942
|
+
`)}async renderTranslation(e,t,i){let r=this.globals.translations,a=this.globals.request?.locale;return this.renderTranslationValue(a,r,e,t,i)}async renderTranslationValue(e,t,i,r,a){if(i===void 0)return a||"";let o=i?.split(".")||[],s=o.pop()||"",l=o.join("."),c=(0,b.get)(t,l),u=(0,b.get)(c?.[e],s)||(0,b.get)(c?.[e.split("-")[0]],s)||c?.[s];return r?.count!==void 0&&u?.one&&(u=r.count===1?u.one:u.other),typeof u!="string"||u===""?a||"":await this.renderTemplateString(u,r)||a||""}renderCurrency(e,t){let i=this.swell.storefront.settings,r=this.swell.storefront.currency,a=i.state,o=r.code=a?.store?.currency||"USD";return r.locale=a?.store?.locale||"en-US",r.state=a?.store?.locales?.find(s=>s.code===o)||{code:o},r.format(e,t)}},j3=class{title;status=500;message;description;constructor(e="Something went wrong",t=500,i){this.title=String(e),this.status=t,this.message=this.title+(i?`: ${i}`:""),this.description=i}toString(){return this.message}},Z3=class extends j3{constructor(e="Page not found",t=404,i){super(e,t,i)}};function s4(n,e){let{settings:t,schema:i}=e;if(!i||!t?.section?.settings)return t;let r=[{label:i.label,fields:i.fields}],a=t.section.blocks?.filter(o=>o.disabled!==!0);return a=a?.map(o=>({...o,settings:N3(n,o.settings,i.blocks?.filter(s=>s.type===o.type))})),{...t,section:{...t.section,settings:N3(n,t.section.settings,r),blocks:a}}}function N3(n,e,t){let i=(0,b.cloneDeep)(e);return(0,b.each)(i,(r,a)=>{let o=(t&&V5(t,a))??null;if(f3(r)&&!(r instanceof T)){switch(o?.type){case"color_scheme_group":{(0,b.each)(r,(s,l)=>{if(f3(s)&&typeof s.settings=="object"&&s.settings){let c=s.settings;(0,b.each)(c,(u,h)=>{(0,b.find)(o.fields,{id:h})?.type==="color"&&u&&(s.id=l,c[h]=new S(u))})}});return}default:break}i[a]=N3(n,r,t)}else switch(o?.type){case"lookup":case"product_lookup":case"category_lookup":case"customer_lookup":i[a]=n.resolveLookupSetting(o,r);break;case"color":r&&(i[a]=new S(r));break;case"font":i[a]=n.resolveFontSetting(r);break;case"menu":i[a]=n.resolveMenuSetting(r);break;case"url":i[a]=n.resolveUrlSetting(r);break;case"image":i[a]=n.resolveImageSetting(r);break;default:break}}),i}function q5(n,e,t){let i=[];return(0,b.each)(e,(r,a)=>{if(f3(r)&&!(r instanceof D)&&!(r instanceof T))i.push(...q5(n,r,t));else{let o=V5(t,a);o?.type===n&&i.push({setting:o,value:r})}}),i}function xe(n){if(n.collection)return n.collection;switch(n.type){case"product_lookup":return"products";case"category_lookup":return"categories";case"customer_lookup":return"accounts";default:break}}function V5(n,e){for(let t of n||[])for(let i of t.fields)if(i.id===e)return i;return null}function B5(n){try{return JSON.parse(n?.file_data||"{}")}catch{return{}}}function Re(n){let e={settings:[]};return Array.isArray(n)&&(n[0]?.name==="theme_info"&&n.shift(),n.forEach(t=>{e.settings.push(It(t))})),e}function je(n){return typeof n.current=="string"&&n.presets?.[n.current]?n.presets[n.current]:typeof n.current=="object"?n.current||{}:{}}function Ze(n){return Object.entries(n.presets||{}).map(([e,t])=>({label:e,settings:t}))}function Ne(n){return{label:n.name,type:n.type,tag:n.tag,class:n.class,limit:n.limit,enabled_on:n.enabled_on,disabled_on:n.disabled_on,fields:(n.settings||[]).map(t=>h4(t)),blocks:(n.blocks||[]).map(t=>Nt(t)),presets:(n.presets||[]).map(t=>Ft(t)),default:n.default}}function Nt(n){return{type:n.type,label:n.name,limit:n.limit,fields:(n.settings||[]).map(t=>h4(t))}}function Ft(n){return{label:n.name,settings:n.settings,blocks:n.blocks}}function It(n){return{label:n.name,fields:(n.settings||[]).map(t=>h4(t))}}function h4(n){let e={};switch(n.type){case"text":e={type:"text"};break;case"textarea":e={type:"textarea"};break;case"paragraph":e={type:"paragraph",label:n.content};break;case"select":e={type:"select",options:n.options};break;case"checkbox":e={type:"checkbox"};break;case"radio":e={type:"radio",options:n.options};break;case"number":e={type:"integer"};break;case"range":e={type:"number",min:n.min,max:n.max,increment:n.step,unit:n.unit};break;case"article":e={type:"lookup",collection:"content/blogs",titleField:"title"};break;case"blog":e={type:"lookup",collection:"content/blogs",titleField:"title"};break;case"collection":e={type:"category_lookup"};break;case"collection_list":e={type:"category_lookup",multiple:!0,limit:n.limit};break;case"color":e={type:"color"};break;case"color_background":e={type:"color_background"};break;case"color_scheme":e={type:"color_scheme"};break;case"color_scheme_group":e={type:"color_scheme_group",fields:(n.definition||[]).map(t=>h4(t)),role:n.role};break;case"font_picker":e={type:"font"};break;case"html":e={type:"html"};break;case"image_picker":e={type:"image"};break;case"inline_richtext":e={type:"rich_text"};break;case"link_list":e={type:"menu"};break;case"liquid":e={type:"liquid"};break;case"page":e={type:"lookup",collection:"content/pages",titleField:"title"};break;case"product":e={type:"product_lookup"};break;case"product_list":e={type:"product_lookup",multiple:!0,limit:n.limit};break;case"richtext":e={type:"rich_html"};break;case"text_alignment":e={type:"select",options:[{value:"left",label:"Left"},{value:"center",label:"Center"},{value:"right",label:"Right"}]};break;case"url":e={type:"url"};break;case"video":e={type:"video"};break;case"video_url":e={type:"url"};break;case"header":e={type:"header",label:n.content};break}return{id:n.id,label:n.label,default:n.default,description:n.info,...e}}function Fe(n){let e=n.lastIndexOf("_"),t=n.substring(0,e),i=n.substring(e+1),r=Ht[t];if(r){let a=r.variants[i];return`${r.family}:${a}`}return null}var Ht={abel:{family:"Abel",variants:{n4:"wght@400"}},abril_fatface:{family:"Abril Fatface",variants:{n4:"wght@400"}},alegreya:{family:"Alegreya",variants:{n4:"wght@400",i4:"ital,wght@1,400",n5:"wght@500",i5:"ital,wght@1,500",n7:"wght@700",i7:"ital,wght@1,700",n8:"wght@800",i8:"ital,wght@1,800",n9:"wght@900",i9:"ital,wght@1,900"}},alegreya_sans:{family:"Alegreya Sans",variants:{n1:"wght@100",i1:"ital,wght@1,100",n3:"wght@300",i3:"ital,wght@1,300",n4:"wght@400",i4:"ital,wght@1,400",n5:"wght@500",i5:"ital,wght@1,500",n7:"wght@700",i7:"ital,wght@1,700",n8:"wght@800",i8:"ital,wght@1,800",n9:"wght@900",i9:"ital,wght@1,900"}},amiri:{family:"Amiri",variants:{n4:"wght@400",i4:"ital,wght@1,400",n7:"wght@700",i7:"ital,wght@1,700"}},anonymous_pro:{family:"Anonymous Pro",variants:{n4:"wght@400",i4:"ital,wght@1,400",n7:"wght@700",i7:"ital,wght@1,700"}},arapey:{family:"Arapey",variants:{n4:"wght@400",i4:"ital,wght@1,400"}},archivo:{family:"Archivo",variants:{n4:"wght@400",i4:"ital,wght@1,400",n5:"wght@500",i5:"ital,wght@1,500",n6:"wght@600",i6:"ital,wght@1,600",n7:"wght@700",i7:"ital,wght@1,700"}},archivo_narrow:{family:"Archivo Narrow",variants:{n4:"wght@400",i4:"ital,wght@1,400",n5:"wght@500",i5:"ital,wght@1,500",n6:"wght@600",i6:"ital,wght@1,600",n7:"wght@700",i7:"ital,wght@1,700"}},arimo:{family:"Arimo",variants:{n4:"wght@400",i4:"ital,wght@1,400",n7:"wght@700",i7:"ital,wght@1,700"}},armata:{family:"Armata",variants:{n4:"wght@400"}},arvo:{family:"Arvo",variants:{n4:"wght@400",i4:"ital,wght@1,400",n7:"wght@700",i7:"ital,wght@1,700"}},asap:{family:"Asap",variants:{n4:"wght@400",i4:"ital,wght@1,400",n5:"wght@500",i5:"ital,wght@1,500",n6:"wght@600",i6:"ital,wght@1,600",n7:"wght@700",i7:"ital,wght@1,700"}},assistant:{family:"Assistant",variants:{n2:"wght@200",n3:"wght@300",n4:"wght@400",n6:"wght@600",n7:"wght@700",n8:"wght@800"}},asul:{family:"Asul",variants:{n4:"wght@400",n7:"wght@700"}},bio_rhyme:{family:"Bio Rhyme",variants:{n2:"wght@200",n3:"wght@300",n4:"wght@400",n7:"wght@700",n8:"wght@800"}},bitter:{family:"Bitter",variants:{n4:"wght@400",i4:"ital,wght@1,400",n7:"wght@700"}},cabin:{family:"Cabin",variants:{n4:"wght@400",i4:"ital,wght@1,400",n5:"wght@500",i5:"ital,wght@1,500",n6:"wght@600",i6:"ital,wght@1,600",n7:"wght@700",i7:"ital,wght@1,700"}},cardo:{family:"Cardo",variants:{n4:"wght@400",i4:"ital,wght@1,400",n7:"wght@700"}},catamaran:{family:"Catamaran",variants:{n1:"wght@100",n2:"wght@200",n3:"wght@300",n4:"wght@400",n5:"wght@500",n6:"wght@600",n7:"wght@700",n8:"wght@800",n9:"wght@900"}},chivo:{family:"Chivo",variants:{n3:"wght@300",i3:"ital,wght@1,300",n4:"wght@400",i4:"ital,wght@1,400",n7:"wght@700",i7:"ital,wght@1,700",n9:"wght@900",i9:"ital,wght@1,900"}},cormorant:{family:"Cormorant",variants:{n3:"wght@300",i3:"ital,wght@1,300",n4:"wght@400",i4:"ital,wght@1,400",n5:"wght@500",i5:"ital,wght@1,500",n6:"wght@600",i6:"ital,wght@1,600",n7:"wght@700",i7:"ital,wght@1,700"}},crimson_text:{family:"Crimson Text",variants:{n4:"wght@400",i4:"ital,wght@1,400",n6:"wght@600",i6:"ital,wght@1,600",n7:"wght@700",i7:"ital,wght@1,700"}},dm_sans:{family:"DM Sans",variants:{n4:"wght@400",i4:"ital,wght@1,400",n5:"wght@500",i5:"ital,wght@1,500",n7:"wght@700",i7:"ital,wght@1,700"}},domine:{family:"Domine",variants:{n4:"wght@400",n7:"wght@700"}},dosis:{family:"Dosis",variants:{n2:"wght@200",n3:"wght@300",n4:"wght@400",n5:"wght@500",n6:"wght@600",n7:"wght@700",n8:"wght@800"}},eczar:{family:"Eczar",variants:{n4:"wght@400",n5:"wght@500",n6:"wght@600",n7:"wght@700",n8:"wght@800"}},fira_sans:{family:"Fira Sans",variants:{n1:"wght@100",i1:"ital,wght@1,100",n2:"wght@200",i2:"ital,wght@1,200",n3:"wght@300",i3:"ital,wght@1,300",n4:"wght@400",i4:"ital,wght@1,400",n5:"wght@500",i5:"ital,wght@1,500",n6:"wght@600",i6:"ital,wght@1,600",n7:"wght@700",i7:"ital,wght@1,700",n8:"wght@800",i8:"ital,wght@1,800",n9:"wght@900",i9:"ital,wght@1,900"}},fjalla_one:{family:"Fjalla One",variants:{n4:"wght@400"}},glegoo:{family:"Glegoo",variants:{n4:"wght@400",n7:"wght@700"}},ibm_plex_sans:{family:"IBM Plex Sans",variants:{n1:"wght@100",i1:"ital,wght@1,100",n2:"wght@200",i2:"ital,wght@1,200",n3:"wght@300",i3:"ital,wght@1,300",n4:"wght@400",i4:"ital,wght@1,400",n5:"wght@500",i5:"ital,wght@1,500",n6:"wght@600",i6:"ital,wght@1,600",n7:"wght@700",i7:"ital,wght@1,700"}},inconsolata:{family:"Inconsolata",variants:{n4:"wght@400",n7:"wght@700"}},inknut_antiqua:{family:"Inknut Antiqua",variants:{n3:"wght@300",n4:"wght@400",n5:"wght@500",n6:"wght@600",n7:"wght@700",n8:"wght@800",n9:"wght@900"}},inter:{family:"Inter",variants:{n1:"wght@100",n2:"wght@200",n3:"wght@300",n4:"wght@400",n5:"wght@500",n6:"wght@600",n7:"wght@700",n8:"wght@800",n9:"wght@900"}},josefin_sans:{family:"Josefin Sans",variants:{n1:"wght@100",i1:"ital,wght@1,100",n3:"wght@300",i3:"ital,wght@1,300",n4:"wght@400",i4:"ital,wght@1,400",n6:"wght@600",i6:"ital,wght@1,600",n7:"wght@700",i7:"ital,wght@1,700"}},josefin_slab:{family:"Josefin Slab",variants:{n1:"wght@100",i1:"ital,wght@1,100",n3:"wght@300",i3:"ital,wght@1,300",n4:"wght@400",i4:"ital,wght@1,400",n6:"wght@600",i6:"ital,wght@1,600",n7:"wght@700",i7:"ital,wght@1,700"}},kalam:{family:"Kalam",variants:{n3:"wght@300",n4:"wght@400",n7:"wght@700"}},karla:{family:"Karla",variants:{n4:"wght@400",i4:"ital,wght@1,400",n7:"wght@700",i7:"ital,wght@1,700"}},kreon:{family:"Kreon",variants:{n3:"wght@300",n4:"wght@400",n7:"wght@700"}},lato:{family:"Lato",variants:{n1:"wght@100",i1:"ital,wght@1,100",n2:"wght@200",i2:"ital,wght@1,200",n3:"wght@300",i3:"ital,wght@1,300",n4:"wght@400",i4:"ital,wght@1,400",n5:"wght@500",i5:"ital,wght@1,500",n6:"wght@600",i6:"ital,wght@1,600",n7:"wght@700",i7:"ital,wght@1,700",n8:"wght@800",i8:"ital,wght@1,800",n9:"wght@900",i9:"ital,wght@1,900"}},libre_baskerville:{family:"Libre Baskerville",variants:{n4:"wght@400",i4:"ital,wght@1,400",n7:"wght@700"}},libre_franklin:{family:"Libre Franklin",variants:{n1:"wght@100",i1:"ital,wght@1,100",n2:"wght@200",i2:"ital,wght@1,200",n3:"wght@300",i3:"ital,wght@1,300",n4:"wght@400",i4:"ital,wght@1,400",n5:"wght@500",i5:"ital,wght@1,500",n6:"wght@600",i6:"ital,wght@1,600",n7:"wght@700",i7:"ital,wght@1,700",n8:"wght@800",i8:"ital,wght@1,800",n9:"wght@900",i9:"ital,wght@1,900"}},lobster:{family:"Lobster",variants:{n4:"wght@400"}},lobster_two:{family:"Lobster Two",variants:{n4:"wght@400",i4:"ital,wght@1,400",n7:"wght@700",i7:"ital,wght@1,700"}},lora:{family:"Lora",variants:{n4:"wght@400",i4:"ital,wght@1,400",n7:"wght@700",i7:"ital,wght@1,700"}},maven_pro:{family:"Maven Pro",variants:{n4:"wght@400",n5:"wght@500",n7:"wght@700",n9:"wght@900"}},megrim:{family:"Megrim",variants:{n4:"wght@400"}},merriweather_sans:{family:"Merriweather Sans",variants:{n3:"wght@300",i3:"ital,wght@1,300",n4:"wght@400",i4:"ital,wght@1,400",n7:"wght@700",i7:"ital,wght@1,700",n8:"wght@800",i8:"ital,wght@1,800"}},montserrat:{family:"Montserrat",variants:{n1:"wght@100",i1:"ital,wght@1,100",n2:"wght@200",i2:"ital,wght@1,200",n3:"wght@300",i3:"ital,wght@1,300",n4:"wght@400",i4:"ital,wght@1,400",n5:"wght@500",i5:"ital,wght@1,500",n6:"wght@600",i6:"ital,wght@1,600",n7:"wght@700",i7:"ital,wght@1,700",n8:"wght@800",i8:"ital,wght@1,800",n9:"wght@900",i9:"ital,wght@1,900"}},mouse_memoirs:{family:"Mouse Memoirs",variants:{n4:"wght@400"}},muli:{family:"Muli",variants:{n2:"wght@200",i2:"ital,wght@1,200",n3:"wght@300",i3:"ital,wght@1,300",n4:"wght@400",i4:"ital,wght@1,400",n6:"wght@600",i6:"ital,wght@1,600",n7:"wght@700",i7:"ital,wght@1,700",n8:"wght@800",i8:"ital,wght@1,800",n9:"wght@900",i9:"ital,wght@1,900"}},neuton:{family:"Neuton",variants:{n2:"wght@200",n3:"wght@300",n4:"wght@400",i4:"ital,wght@1,400",n7:"wght@700",n8:"wght@800"}},news_cycle:{family:"News Cycle",variants:{n4:"wght@400",n7:"wght@700"}},newsreader:{family:"Newsreader",variants:{n2:"wght@200",i2:"ital,wght@1,200",n3:"wght@300",i3:"ital,wght@1,300",n4:"wght@400",i4:"ital,wght@1,400",n5:"wght@500",i5:"ital,wght@1,500",n6:"wght@600",i6:"ital,wght@1,600",n7:"wght@700",i7:"ital,wght@1,700",n8:"wght@800",i8:"ital,wght@1,800"}},nobile:{family:"Nobile",variants:{n4:"wght@400",i4:"ital,wght@1,400",n5:"wght@500",i5:"ital,wght@1,500",n7:"wght@700",i7:"ital,wght@1,700"}},noticia_text:{family:"Noticia Text",variants:{n4:"wght@400",i4:"ital,wght@1,400",n7:"wght@700",i7:"ital,wght@1,700"}},noto_serif:{family:"Noto Serif",variants:{n4:"wght@400",i4:"ital,wght@1,400",n7:"wght@700",i7:"ital,wght@1,700"}},nunito:{family:"Nunito",variants:{n2:"wght@200",i2:"ital,wght@1,200",n3:"wght@300",i3:"ital,wght@1,300",n4:"wght@400",i4:"ital,wght@1,400",n6:"wght@600",i6:"ital,wght@1,600",n7:"wght@700",i7:"ital,wght@1,700",n8:"wght@800",i8:"ital,wght@1,800",n9:"wght@900",i9:"ital,wght@1,900"}},nunito_sans:{family:"Nunito Sans",variants:{n2:"wght@200",i2:"ital,wght@1,200",n3:"wght@300",i3:"ital,wght@1,300",n4:"wght@400",i4:"ital,wght@1,400",n6:"wght@600",i6:"ital,wght@1,600",n7:"wght@700",i7:"ital,wght@1,700",n8:"wght@800",i8:"ital,wght@1,800",n9:"wght@900",i9:"ital,wght@1,900"}},old_standard_tt:{family:"Old Standard TT",variants:{n4:"wght@400",i4:"ital,wght@1,400",n7:"wght@700"}},open_sans:{family:"Open Sans",variants:{n3:"wght@300",i3:"ital,wght@1,300",n4:"wght@400",i4:"ital,wght@1,400",n6:"wght@600",i6:"ital,wght@1,600",n7:"wght@700",i7:"ital,wght@1,700",n8:"wght@800",i8:"ital,wght@1,800"}},open_sans_condensed:{family:"Open Sans Condensed",variants:{n3:"wght@300",i3:"ital,wght@1,300",n7:"wght@700"}},oswald:{family:"Oswald",variants:{n2:"wght@200",n3:"wght@300",n4:"wght@400",n5:"wght@500",n6:"wght@600",n7:"wght@700"}},ovo:{family:"Ovo",variants:{n4:"wght@400"}},oxygen:{family:"Oxygen",variants:{n3:"wght@300",n4:"wght@400",n7:"wght@700"}},pt_mono:{family:"PT Mono",variants:{n4:"wght@400"}},pt_sans:{family:"PT Sans",variants:{n4:"wght@400",i4:"ital,wght@1,400",n7:"wght@700",i7:"ital,wght@1,700"}},pt_sans_narrow:{family:"PT Sans Narrow",variants:{n4:"wght@400",n7:"wght@700"}},pt_serif:{family:"PT Serif",variants:{n4:"wght@400",i4:"ital,wght@1,400",n7:"wght@700",i7:"ital,wght@1,700"}},pacifico:{family:"Pacifico",variants:{n4:"wght@400"}},playball:{family:"Playball",variants:{n4:"wght@400"}},playfair_display:{family:"Playfair Display",variants:{n4:"wght@400",i4:"ital,wght@1,400",n7:"wght@700",i7:"ital,wght@1,700",n9:"wght@900",i9:"ital,wght@1,900"}},poppins:{family:"Poppins",variants:{n1:"wght@100",i1:"ital,wght@1,100",n2:"wght@200",i2:"ital,wght@1,200",n3:"wght@300",i3:"ital,wght@1,300",n4:"wght@400",i4:"ital,wght@1,400",n5:"wght@500",i5:"ital,wght@1,500",n6:"wght@600",i6:"ital,wght@1,600",n7:"wght@700",i7:"ital,wght@1,700",n8:"wght@800",i8:"ital,wght@1,800",n9:"wght@900",i9:"ital,wght@1,900"}},prata:{family:"Prata",variants:{n4:"wght@400"}},prompt:{family:"Prompt",variants:{n1:"wght@100",i1:"ital,wght@1,100",n2:"wght@200",i2:"ital,wght@1,200",n3:"wght@300",i3:"ital,wght@1,300",n4:"wght@400",i4:"ital,wght@1,400",n5:"wght@500",i5:"ital,wght@1,500",n6:"wght@600",i6:"ital,wght@1,600",n7:"wght@700",i7:"ital,wght@1,700",n8:"wght@800",i8:"ital,wght@1,800",n9:"wght@900",i9:"ital,wght@1,900"}},proza_libre:{family:"Proza Libre",variants:{n4:"wght@400",i4:"ital,wght@1,400",n5:"wght@500",i5:"ital,wght@1,500",n6:"wght@600",i6:"ital,wght@1,600",n7:"wght@700",i7:"ital,wght@1,700",n8:"wght@800",i8:"ital,wght@1,800"}},quantico:{family:"Quantico",variants:{n4:"wght@400",i4:"ital,wght@1,400",n7:"wght@700",i7:"ital,wght@1,700"}},quattrocento:{family:"Quattrocento",variants:{n4:"wght@400",n7:"wght@700"}},quattrocento_sans:{family:"Quattrocento Sans",variants:{n4:"wght@400",i4:"ital,wght@1,400",n7:"wght@700",i7:"ital,wght@1,700"}},questrial:{family:"Questrial",variants:{n4:"wght@400"}},quicksand:{family:"Quicksand",variants:{n3:"wght@300",n4:"wght@400",n5:"wght@500",n7:"wght@700"}},rajdhani:{family:"Rajdhani",variants:{n3:"wght@300",n4:"wght@400",n5:"wght@500",n6:"wght@600",n7:"wght@700"}},raleway:{family:"Raleway",variants:{n1:"wght@100",i1:"ital,wght@1,100",n2:"wght@200",i2:"ital,wght@1,200",n3:"wght@300",i3:"ital,wght@1,300",n4:"wght@400",i4:"ital,wght@1,400",n5:"wght@500",i5:"ital,wght@1,500",n6:"wght@600",i6:"ital,wght@1,600",n7:"wght@700",i7:"ital,wght@1,700",n8:"wght@800",i8:"ital,wght@1,800",n9:"wght@900",i9:"ital,wght@1,900"}},righteous:{family:"Righteous",variants:{n4:"wght@400"}},roboto:{family:"Roboto",variants:{n1:"wght@100",i1:"ital,wght@1,100",n3:"wght@300",i3:"ital,wght@1,300",n4:"wght@400",i4:"ital,wght@1,400",n5:"wght@500",i5:"ital,wght@1,500",n7:"wght@700",i7:"ital,wght@1,700",n9:"wght@900",i9:"ital,wght@1,900"}},roboto_condensed:{family:"Roboto Condensed",variants:{n3:"wght@300",i3:"ital,wght@1,300",n4:"wght@400",i4:"ital,wght@1,400",n7:"wght@700",i7:"ital,wght@1,700"}},roboto_mono:{family:"Roboto Mono",variants:{n1:"wght@100",i1:"ital,wght@1,100",n3:"wght@300",i3:"ital,wght@1,300",n4:"wght@400",i4:"ital,wght@1,400",n5:"wght@500",i5:"ital,wght@1,500",n7:"wght@700",i7:"ital,wght@1,700"}},roboto_slab:{family:"Roboto Slab",variants:{n1:"wght@100",n3:"wght@300",n4:"wght@400",n7:"wght@700"}},rubik:{family:"Rubik",variants:{n3:"wght@300",i3:"ital,wght@1,300",n4:"wght@400",i4:"ital,wght@1,400",n5:"wght@500",i5:"ital,wght@1,500",n7:"wght@700",i7:"ital,wght@1,700",n9:"wght@900",i9:"ital,wght@1,900"}},shadows_into_light:{family:"Shadows Into Light",variants:{n4:"wght@400"}},slabo_13px:{family:"Slabo 13px",variants:{n4:"wght@400"}},smooch:{family:"Smooch",variants:{n4:"wght@400"}},source_code_pro:{family:"Source Code Pro",variants:{n2:"wght@200",n3:"wght@300",n4:"wght@400",n5:"wght@500",n6:"wght@600",n7:"wght@700",n9:"wght@900"}},source_sans_pro:{family:"Source Sans Pro",variants:{n2:"wght@200",i2:"ital,wght@1,200",n3:"wght@300",i3:"ital,wght@1,300",n4:"wght@400",i4:"ital,wght@1,400",n6:"wght@600",i6:"ital,wght@1,600",n7:"wght@700",i7:"ital,wght@1,700",n9:"wght@900",i9:"ital,wght@1,900"}},space_mono:{family:"Space Mono",variants:{n4:"wght@400",i4:"ital,wght@1,400",n7:"wght@700",i7:"ital,wght@1,700"}},syne:{family:"Syne",variants:{n4:"wght@400",n5:"wght@500",n6:"wght@600",n7:"wght@700",n8:"wght@800"}},tenor_sans:{family:"Tenor Sans",variants:{n4:"wght@400"}},tinos:{family:"Tinos",variants:{n4:"wght@400",i4:"ital,wght@1,400",n7:"wght@700",i7:"ital,wght@1,700"}},titillium_web:{family:"Titillium Web",variants:{n2:"wght@200",i2:"ital,wght@1,200",n3:"wght@300",i3:"ital,wght@1,300",n4:"wght@400",i4:"ital,wght@1,400",n6:"wght@600",i6:"ital,wght@1,600",n7:"wght@700",i7:"ital,wght@1,700",n9:"wght@900"}},ubuntu:{family:"Ubuntu",variants:{n3:"wght@300",i3:"ital,wght@1,300",n4:"wght@400",i4:"ital,wght@1,400",n5:"wght@500",i5:"ital,wght@1,500",n7:"wght@700",i7:"ital,wght@1,700"}},unica_one:{family:"Unica One",variants:{n4:"wght@400"}},unna:{family:"Unna",variants:{n4:"wght@400",i4:"ital,wght@1,400",n7:"wght@700",i7:"ital,wght@1,700"}},varela:{family:"Varela",variants:{n4:"wght@400"}},varela_round:{family:"Varela Round",variants:{n4:"wght@400"}},vidaloka:{family:"Vidaloka",variants:{n4:"wght@400"}},volkhov:{family:"Volkhov",variants:{n4:"wght@400",i4:"ital,wght@1,400",n7:"wght@700",i7:"ital,wght@1,700"}},vollkorn:{family:"Vollkorn",variants:{n4:"wght@400",i4:"ital,wght@1,400",n6:"wght@600",i6:"ital,wght@1,600",n7:"wght@700",i7:"ital,wght@1,700",n9:"wght@900",i9:"ital,wght@1,900"}},work_sans:{family:"Work Sans",variants:{n1:"wght@100",n2:"wght@200",n3:"wght@300",n4:"wght@400",n5:"wght@500",n6:"wght@600",n7:"wght@700",n8:"wght@800",n9:"wght@900"}},biz_udpmincho:{family:"BIZ UDPMincho",variants:{n4:"wght@400",n7:"wght@700"}},dela_gothic_one:{family:"Dela Gothic One",variants:{n4:"wght@400"}},hina_mincho:{family:"Hina Mincho",variants:{n4:"wght@400"}},kaisei_decol:{family:"Kaisei Decol",variants:{n4:"wght@400",n5:"wght@500",n7:"wght@700"}},kaisei_opti:{family:"Kaisei Opti",variants:{n4:"wght@400",n5:"wght@500",n7:"wght@700"}},kaisei_tokumin:{family:"Kaisei Tokumin",variants:{n4:"wght@400",n5:"wght@500",n7:"wght@700",n8:"wght@800"}},m_plus_1:{family:"M PLUS 1",variants:{n1:"wght@100",n2:"wght@200",n3:"wght@300",n4:"wght@400",n5:"wght@500",n6:"wght@600",n7:"wght@700",n8:"wght@800",n9:"wght@900"}},m_plus_rounded_1c:{family:"M PLUS Rounded 1c",variants:{n1:"wght@100",n3:"wght@300",n4:"wght@400",n5:"wght@500",n7:"wght@700",n8:"wght@800",n9:"wght@900"}},mochiy_pop_p_one:{family:"Mochiy Pop P One",variants:{n4:"wght@400"}},murecho:{family:"Murecho",variants:{n1:"wght@100",n2:"wght@200",n3:"wght@300",n4:"wght@400",n5:"wght@500",n6:"wght@600",n7:"wght@700",n8:"wght@800",n9:"wght@900"}},noto_sans_japanese:{family:"Noto Sans Japanese",variants:{n1:"wght@100",n2:"wght@200",n3:"wght@300",n4:"wght@400",n5:"wght@500",n6:"wght@600",n7:"wght@700",n8:"wght@800",n9:"wght@900"}},noto_serif_japanese:{family:"Noto Serif Japanese",variants:{n2:"wght@200",n3:"wght@300",n4:"wght@400",n5:"wght@500",n6:"wght@600",n7:"wght@700",n9:"wght@900"}},shippori_mincho:{family:"Shippori Mincho",variants:{n4:"wght@400",n5:"wght@500",n6:"wght@600",n7:"wght@700",n8:"wght@800"}},zen_kaku_gothic_new:{family:"Zen Kaku Gothic New",variants:{n3:"wght@300",n4:"wght@400",n5:"wght@500",n7:"wght@700",n9:"wght@900"}},zen_kurenaido:{family:"Zen Kurenaido",variants:{n4:"wght@400"}},zen_maru_gothic:{family:"Zen Maru Gothic",variants:{n3:"wght@300",n4:"wght@400",n5:"wght@500",n7:"wght@700",n9:"wght@900"}},zen_old_mincho:{family:"Zen Old Mincho",variants:{n4:"wght@400",n5:"wght@500",n6:"wght@600",n7:"wght@700",n9:"wght@900"}}};var k4={};u2(k4,{DeferredShopifyResource:()=>O,ShopifyArticle:()=>y3,ShopifyBlog:()=>d4,ShopifyCart:()=>C3,ShopifyCollection:()=>S3,ShopifyCollections:()=>u4,ShopifyCustomer:()=>$,ShopifyFont:()=>k3,ShopifyForm:()=>H3,ShopifyLink:()=>L3,ShopifyLocalization:()=>A3,ShopifyOrder:()=>t3,ShopifyPage:()=>g4,ShopifyPaginate:()=>p3,ShopifyPredictiveSearch:()=>m4,ShopifyProduct:()=>v,ShopifyRecommendations:()=>p4,ShopifyResource:()=>y,ShopifySearch:()=>f4,ShopifyVariant:()=>B,adaptShopifyFontData:()=>y4,adaptShopifyFormData:()=>S4,adaptShopifyMenuData:()=>w4});function y3(n,e,t){return e instanceof y?e.clone():(t&&(e.category=t),new y({author:d(e,i=>i.author?.name||i.author?.email),content:d(e,i=>i.content),created_at:w(()=>e.date_created),excerpt:w(()=>e.summary),excerpt_or_content:w(()=>e.summary||e.content),handle:w(()=>e.slug),id:d(e,i=>i.id),image:d(e,i=>i.image&&Z(n,i.image)),metafields:null,published_at:d(e,i=>i.date_published||i.date_created),tags:d(e,i=>i.tags),template_suffix:null,title:d(e,i=>i.title),updated_at:d(e,i=>i.date_updated||i.date_created),url:d([e,e.category],(i,r)=>r&&`/blogs/${r?.slug}/${i.slug}`),user:w(()=>e.author),comment_post_url:null,comments:null,comments_count:null,"comments_enabled?":!1,moderated:!1}))}function d4(n,e){if(e instanceof y)return e.clone();let t=d(e.blogs,i=>i?.results?.reduce((r,a)=>{for(let o of a.tags||[])r.includes(o)||r.push(o);return r},[]));return new y({all_tags:t,articles:d(e,i=>i.blogs?._cloneWithCompatibilityResult(r=>({results:r?.results?.map(a=>y3(n,a,i))}))||[]),articles_count:d(e.blogs,i=>i?.count||0),handle:w(()=>e.slug),id:d(e,i=>i.id),metafields:null,next_article:null,previous_article:null,tags:t,template_suffix:null,title:d(e,i=>i.title),url:d(e,i=>`/blogs/${i.slug}`),featured_image:d(e,i=>i.image),content:d(e,i=>i.content),"comments_enabled?":!1,moderated:!1})}var Ie=require("lodash-es");function I3(n,e){let t=e.type==="range",i=e.type==="boolean";return new y({active_values:t?void 0:e.active_options?.map(r=>s3(n,r,e)),false_value:i?s3(n,{value:""},e):void 0,inactive_values:t?void 0:e.inactive_options?.map(r=>s3(n,r,e)),label:e.label,max_value:t?s3(n,{value:e.range_max},e,"lte"):void 0,min_value:t?s3(n,{value:e.range_min},e,"gte"):void 0,operator:t?"AND":"OR",param_name:e.param_name,presentation:"text",range_max:e.range_max,true_value:i?s3(n,{value:e.options?.[0].value},e):void 0,type:e.id==="price"?"price_range":i?"boolean":"list",url_to_remove:Gt(n,`filter_${e.id}`,!0),values:e.id!=="price"&&e.options?.map(r=>s3(n,r,e))})}function s3(n,e,t,i){let r=i?`${t.param_name}[${i}]`:t.param_name;return new y({active:e.active,count:e.count,image:null,label:e.label,param_name:r,swatch:null,url_to_add:Vt(n,r,e.value),url_to_remove:qt(n,t.param_name,e.value),value:Bt(n,e,t,i)})}function Bt(n,e,t,i){let{queryParams:r}=n.swell,a=i?r[t.param_name]?.[i]:r[t.param_name];return t.type==="range"?a!==void 0&&a!==""?a:null:e.value}function c4(n){return Object.keys(n).reduce((e,t)=>{let i=n[t];return i!==""&&(e[t]=(0,Ie.isObject)(i)&&!Array.isArray(i)?c4(i):i),e},{})}function Gt(n,e,t=!1){let{queryParams:i}=n.swell,r=G({...c4(i),...t?{[`${e}[gte]`]:void 0,[`${e}[lte]`]:void 0}:void 0,[e]:void 0,page:void 0});return K5(n,r)}function qt(n,e,t){let{queryParams:i}=n.swell,r=G({...c4(i),[e]:Array.isArray(i[e])?i[e].filter(a=>a!==t):void 0,page:void 0});return K5(n,r)}function Vt(n,e,t){let{queryParams:i}=n.swell,r=G({...c4(i),[e]:Array.isArray(i[e])?i[e].concat(t):typeof i[e]=="string"?[i[e],t]:t,page:void 0});return K5(n,r)}function K5(n,e){let{url:t}=n.swell;return`${t.pathname}${e?`?${e}`:""}`}function S3(n,e){if(e instanceof y)return e.clone();let t=d(e,r=>r.products?._cloneWithCompatibilityResult(a=>({results:a?.results?.map(o=>v(n,o))}))??null);async function i(){let r=await t.resolve();return r&&"_resolve"in r?r._resolve():r}return new y({all_products_count:w(async()=>(await i())?.count||0),all_tags:w(async()=>(await i())?.results?.reduce((r,a)=>(Array.isArray(a.tags)&&r.push(...a.tags),r),[])||[]),all_types:w(async()=>{let r=await i();if(!r?.results)return[];let a=r.results.reduce((o,s)=>(s.type&&o.add(s.type),o),new Set);return Array.from(a.values())}),all_vendors:[],current_type:null,current_vendor:null,default_sort_by:d(e,r=>r.sort_options?.[0].value),description:d(e,r=>r.description),featured_image:d(e,r=>r.images?.[0]&&Z(n,r.images[0])),filters:w(async()=>(await i())?.filter_options?.map(r=>I3(n,r))||[]),handle:w(()=>e.slug),id:d(e,r=>r.id),image:null,metafields:null,next_product:null,previous_product:null,products:t,products_count:w(async()=>(await i())?.results?.length||0),published_at:null,sort_by:w(()=>e.sort),sort_options:d(e,r=>r.sort_options),tags:[],template_suffix:null,title:w(()=>e.name),url:d(e,r=>`/collections/${r.slug}`)})}function u4(n,e){return new A(n.swell,e._collection,e._query,async()=>{let t=(await e.results)?.map(i=>S3(n,i));return{page:e.page??1,count:e.count??0,results:t,page_count:e.page_count??0,limit:e.limit,pages:e.pages??{}}})}function k3(n,e){return e instanceof y?e.clone():new y({baseline_ratio:null,fallback_families:e.fallback_families,family:e.family,style:e.style,"system?":e.system,variants:e.variants.map(t=>k3(n,t)),weight:e.weight})}var Ot={account_login:{params:()=>({password_needed:!0})}};function H3(n,e){if(e instanceof y)return e.clone();let t=Ot[e.id];return new y({...t?.params?.(e)||void 0,errors:e.errors&&new W5(e.errors),"posted_successfully?":e.success})}var z5=class{code;message;field_name;field_label;type;constructor(e){this.code=e.code,this.message=e.message,this.field_name=e.field_name,this.field_label=e.field_label,this.type=this.getShopifyErrorType(e)}getShopifyErrorType(e){return e.field_name==="email"?"email":e.field_name==="password"?"password":"form"}valueOf(){return this.type}toString(){return this.type}},W5=class n{errors;pointer=0;messages;translated_fields;constructor(e){return this.errors=Array.from(e).map(t=>new z5(t)),this.messages=new C4(this.errors,this.errors.map(t=>t.message)),this.translated_fields=new C4(this.errors,this.errors.map(t=>t.field_label)),new Proxy(this.errors,{get:(t,i)=>{let r=t;return i==="toJSON"?this.errors:i==="some"?this.some.bind(this):i==="messages"?this.messages:i==="translated_fields"?this.translated_fields:r[i]},getPrototypeOf(){return n.prototype}})}*[Symbol.iterator](){yield*this.errors}some(e,t){return this.errors.some(i=>e(i?.type),t)}},C4=class{values;constructor(e,t){return this.values=t,new Proxy(t,{get:(i,r)=>{let a=i;if(r==="toJSON")return t;let o=e?.findIndex?.(s=>s?.type===r);return o!==-1?t[o]:a[r]}})}};var He=require("lodash-es");function L3(n,e,t){let i=e.handle||e.id;return new y({active:t.active,child_active:t.child_active,child_current:t.child_current,current:t.current,handle:`${i}-${(0,He.snakeCase)(t.name)}`,levels:t.levels,links:t.items?.map(r=>L3(n,t,r)),object:t.resource,title:t.name,type:Ut(t.type),url:t.url})}function Ut(n){switch(n){case"home":return"frontpage_link";case"category":return"collection_link";case"product":return"product_link";case"search":return"search_link";default:return""}}function A3(n,e,t){let i=e.currencies.find(a=>a.code===t.currency)||e.currencies[0],r=e.locales.find(a=>a.code===t.locale)||e.locales[0];return new y({available_countries:$t(e),available_languages:Ge(e),country:i&&Ve(i,e),language:r&&qe(r,e),market:null})}function $t(n){return n.currencies.map(e=>Ve(e,n))||[]}function Ge(n){return n.locales.map(e=>qe(e,n))||[]}function qe(n,e){return{endonym_name:n.name,iso_code:n.code,name:n.name,primary:n.code===e.locale,root_url:e.url}}function Ve(n,e){return{available_languages:Ge(e),continent:null,currency:{iso_code:n.code,name:n.name,symbol:n.symbol},iso_code:n.code,market:null,name:Kt(n.code),"popular?":!1,unit_system:"metric"}}function Kt(n){return n in Be?Be[n]:null}var Be=Object.freeze({USD:"United States",EUR:"Europe",GBP:"United Kingdom",JPY:"Japan",CAD:"Canada",AUD:"Australia",CHF:"Switzerland",CNY:"China",SEK:"Sweden",NZD:"New Zealand",NOK:"Norway",MXN:"Mexico",SGD:"Singapore",HKD:"Hong Kong",KRW:"South Korea",INR:"India",BRL:"Brazil",RUB:"Russia",ZAR:"South Africa",TRY:"Turkey",AED:"United Arab Emirates",THB:"Thailand",IDR:"Indonesia",SAR:"Saudi Arabia",PLN:"Poland",PHP:"Philippines",ILS:"Israel",MYR:"Malaysia",CZK:"Czech Republic",HUF:"Hungary",CLP:"Chile",DKK:"Denmark",RON:"Romania",ARS:"Argentina",COP:"Colombia",TWD:"Taiwan",BGN:"Bulgaria",EGP:"Egypt",PKR:"Pakistan",NGN:"Nigeria",VND:"Vietnam",IQD:"Iraq",MAD:"Morocco",KES:"Kenya",DZD:"Algeria",UAH:"Ukraine",XAF:"Cameroon",XOF:"C\xF4te d'Ivoire",GHS:"Ghana",BYN:"Belarus",LKR:"Sri Lanka",SDG:"Sudan",AFN:"Afghanistan",ALL:"Albania",AMD:"Armenia",AOA:"Angola",AWG:"Aruba",AZN:"Azerbaijan",BAM:"Bosnia and Herzegovina",BBD:"Barbados",BDT:"Bangladesh",BHD:"Bahrain",BIF:"Burundi",BMD:"Bermuda",BND:"Brunei",BOB:"Bolivia",BSD:"Bahamas",BTN:"Bhutan",BWP:"Botswana",BZD:"Belize",CDF:"Democratic Republic of the Congo",CLF:"Chile (Unidad de Fomento)",CRC:"Costa Rica",CVE:"Cape Verde",DJF:"Djibouti",DOP:"Dominican Republic",ERN:"Eritrea",ETB:"Ethiopia",FKP:"Falkland Islands",GEL:"Georgia",GIP:"Gibraltar",GMD:"Gambia",GNF:"Guinea",GTQ:"Guatemala",GYD:"Guyana",HNL:"Honduras",HRK:"Croatia",HTG:"Haiti",IRR:"Iran",ISK:"Iceland",JMD:"Jamaica",JOD:"Jordan",KGS:"Kyrgyzstan",KHR:"Cambodia",KMF:"Comoros",KPW:"North Korea",KWD:"Kuwait",KYD:"Cayman Islands",KZT:"Kazakhstan",LAK:"Laos",LBP:"Lebanon",LRD:"Liberia",LSL:"Lesotho",LYD:"Libya",MDL:"Moldova",MGA:"Madagascar",MKD:"North Macedonia",MMK:"Myanmar",MNT:"Mongolia",MOP:"Macau",MRO:"Mauritania",MUR:"Mauritius",MVR:"Maldives",MWK:"Malawi",NAD:"Namibia",NPR:"Nepal",OMR:"Oman",PAB:"Panama",PEN:"Peru",PGK:"Papua New Guinea",PYG:"Paraguay",QAR:"Qatar",RSD:"Serbia",RWF:"Rwanda",SBD:"Solomon Islands",SCR:"Seychelles",SHP:"Saint Helena",SLL:"Sierra Leone",SOS:"Somalia",SRD:"Suriname",STD:"S\xE3o Tom\xE9 and Pr\xEDncipe",SZL:"Eswatini",TJS:"Tajikistan",TMT:"Turkmenistan",TND:"Tunisia",TOP:"Tonga",TTD:"Trinidad and Tobago",TZS:"Tanzania",UGX:"Uganda",UYU:"Uruguay",UZS:"Uzbekistan",VEF:"Venezuela",VUV:"Vanuatu",WST:"Samoa",XCD:"Eastern Caribbean",YER:"Yemen",ZMW:"Zambia",ZWL:"Zimbabwe"});function m4(n,e){return e instanceof y?e.clone():new y({performed:d(e,t=>t.performed),resources:zt(n,e),terms:w(()=>e.query),types:["product"]})}function zt(n,e){return e instanceof y?e.clone():new y({products:d(e.products,t=>t?.results?.map(i=>{let r=v(n,i);return r.object_type="product",r}))})}function p4(n,e){return e instanceof y?e.clone():new y({products:d(e,t=>(t?.recommendations||[]).map(i=>v(n,i))),products_count:d(e,t=>t?.recommendations?.length||0),performed:!0})}function g4(n,e){return e instanceof y?e.clone():new y({content:d(e,t=>t.content),handle:w(()=>e.slug),metafields:null,published_at:w(async()=>await e.date_published||e.date_created),template_suffix:null,title:d(e,t=>t.title||t.name),url:d(e,t=>`/pages/${t.slug}`),author:null})}function f4(n,e){if(e instanceof y)return e.clone();let t=d(e,i=>i.products?._cloneWithCompatibilityResult(r=>({results:r?.results?.map(a=>{let o=v(n,a);return o.object_type="product",o})}))||[]);return new y({default_sort_by:d(e,i=>i.sort_options?.[0].value),filters:w(async()=>(await(await t.resolve())?.filter_options)?.map(r=>I3(n,r))||[]),performed:d(e,i=>i.performed),results:t,results_count:w(async()=>(await t.resolve())?.count||0),sort_by:w(()=>e.sort),sort_options:d(e,i=>i.sort_options),terms:w(()=>e.query),types:["product"]})}function w4(n,e){let t={...e,handle:e.id.replace(/_/g,"-"),title:e.name};return{...t,links:e.items?.map(i=>L3(n,t,i))}}function y4(n,e){return k3(n,e)}function S4(n,e){return H3(n,e)}function J5(n,e){let t=e.currencies.find(i=>i.code===e.currency);return new y({accepts_gift_cards:!0,address:{},brand:{},collections_count:0,currency:e.currency,customer_accounts_enabled:!0,customer_accounts_optional:!0,description:e.description,domain:e.url.replace(/^http[s]?:\/\//,""),email:e.support_email,enabled_currencies:e.currencies.map(i=>({iso_code:i.code,name:i.name,symbol:i.symbol})),enabled_payment_providers:[],id:e.id,metafields:null,metaobjects:null,money_format:e.currencies.find(i=>i.code===e.currency),money_with_currency_format:{...t,symbol:`${e.currency} ${t?.symbol||""}`},name:e.name,password_message:null,permanent_domain:`${e.id}.swell.store`,phone:e.support_phone,published_locales:e.locales.map(i=>({endonym_name:i.name,iso_code:i.code,name:i.name,primary:i.code===e.locale,root_url:e.url})),secure_url:e.url,types:[],url:e.url,vendors:[],policies:[],privacy_policy:null,refund_policy:null,shipping_policy:null,subscription_policy:null,terms_of_service:null,products_count:0})}var Oe=require("liquidjs"),B3=class extends Oe.Drop{#e;constructor(e){switch(super(),typeof e){case"object":{if(e===null){this.#e=new Map;break}this.#e=new Map(e instanceof Map?e:Object.entries(e));break}default:this.#e=new Map;break}}liquidMethodMissing(e){switch(typeof e){case"string":return this.#e.get(e);case"object":{if(e!==null&&"handle"in e){let{handle:t}=e;if(typeof t=="string")return this.#e.get(t)}break}default:break}}};var g3=class{theme;swell;pageId;pageResourceMap;objectResourceMap;formResourceMap;queryParamsMap;shopifyCompatibilityConfig;editorLocaleConfig;constructor(e){this.theme=e,this.swell=e.swell,this.shopifyCompatibilityConfig=this.swell.shopifyCompatibilityConfig??void 0,this.pageResourceMap=this.getPageResourceMap(),this.objectResourceMap=this.getObjectResourceMap(),this.formResourceMap=this.getFormResourceMap(),this.queryParamsMap=this.getQueryParamsMap()}adaptGlobals(e){let{store:t,request:i,page:r,menus:a}=e;this.pageId=this.getPageType(r?.id),e.shop=this.getShopData(e),e.page={...r||void 0},e.request={...i||void 0,design_mode:this.swell.isEditor,visual_section_preview:!1,page_type:r?.id},e.linklists=new B3(a),e.current_page=this.swell.queryParams.page||1,e.routes=this.getPageRoutes(),e.localization=this.getLocalizationObject(t,i),e.all_country_option_tags=this.getAllCountryOptionTags(e.geo)}adaptSettings(e,t){let{current:i,presets:r}=t;if(typeof i=="object"&&i)return{current:w3(e,i),presets:r};let a=r?.[i];if(!a)throw new Error(`Failed to build settings config: "${i}" preset is not defined`);return{current:i,presets:{...r,[i]:w3(e,a)}}}adaptPageData(e){let t=this.pageResourceMap.get(this.pageId||"");if(t)for(let[i,r]of Object.entries(e)){let a=`${i}.`,o=t.resources.find(({from:s})=>s===i||s.startsWith(a));o&&r instanceof T&&(e[o.to]=o.object(this,r))}this.adaptObjectData(e)}adaptObjectData(e){for(let t of Object.values(e)){let i=this.objectResourceMap.get(t?.constructor.name);if(i){let r=i.object(this,t);t instanceof T?t.setCompatibilityProps(r):Object.assign(t,r)}}}adaptQueryParams(){let e={};for(let[t,i]of Object.entries(this.swell.queryParams)){let r=this.queryParamsMap.find(({from:a})=>typeof a=="function"?a(t):a===t);if(r){let a=typeof r.to=="function"?r.to(t,i):{[r.to]:i};Object.assign(e,a)}else e[t]=i}this.swell.queryParams=e}getAdaptedFormType(e){return this.formResourceMap.find(i=>i.shopifyType===e)?.type}async getAdaptedFormClientParams(e,t,i){let r=this.formResourceMap.find(a=>a.type===e);if(r?.clientParams)return r.clientParams(t,i)}async getAdaptedFormClientHtml(e,t,i){let r=this.formResourceMap.find(o=>o.type===e),a=this.shopifyCompatibilityConfig?.forms?.find(o=>o.id===e);if(r&&a)return a.client_params?.reduce((o,s)=>`<input type="hidden" name="${s.name}" value="${s.value}" />`+o,"")}async getAdaptedFormServerParams(e,t){let i=this.formResourceMap.find(r=>r.type===e||r.shopifyType===e);if(typeof i?.serverParams=="function")return i.serverParams(t)}async getAdaptedFormServerResponse(e,t){let i=this.formResourceMap.find(r=>r.type===e||r.shopifyType===e);if(typeof i?.serverResponse=="function")return i.serverResponse(t)}getShopData({store:e}){return e?J5(this,e):{}}getContentForHeader(){return"<script>var Shopify = Shopify || {};</script>"}getMenuData(e){return w4(this,e)}getFontData(e){return y4(this,e)}getFormData(e){return S4(this,e)}getFontFromShopifySetting(e){return Fe(e)}getThemeConfig(e){return je(e)}getPresetsConfig(e){return Ze(e)}getEditorConfig(e){return Re(e)}getSectionConfigSchema(e){return Ne(e)}async getLocaleConfig(e,t="en",i=".json"){let r=await e.getThemeConfigsByPath("theme/locales/",i),a=r.get(`theme/locales/${t}${i}`)??null;if(!a){let o=t.split("-")[0];if(a=r.get(`theme/locales/${o}${i}`)??null,!a){let s=`.default${i}`;for(let l of r.values())if(l?.file_path?.endsWith(s)){a=l;break}}}if(a){a=await e.getThemeConfig(a.file_path);try{return JSON.parse(a?.file_data||"")}catch{}}return{}}async getEditorLocaleConfig(e,t){if(this.editorLocaleConfig?.[t])return this.editorLocaleConfig[t];let i=await this.getLocaleConfig(e,t,".schema.json");return this.editorLocaleConfig={[t]:i},i}async renderSchemaTranslations(e,t,i="en"){if(!(0,L4.isObject)(t))return t;let r=await this.getEditorLocaleConfig(e,i);return this.renderSchemaTranslationValue(e,t,i,r)}async renderSchemaTranslationValue(e,t,i,r){switch(typeof t){case"string":{if(t.startsWith("t:")){let a=t.slice(2),o=a?.split("."),s=o.pop()||"",l=o.join(".");return(0,L4.get)(r,l)?.[s]??a}break}case"object":{if(Array.isArray(t)){let a=[];for(let o of t)a.push(await this.renderSchemaTranslationValue(e,o,i,r));return a}if(t!==null){let a={...t};for(let[o,s]of Object.entries(t))a[o]=await this.renderSchemaTranslationValue(e,s,i,r);return a}break}default:break}return t}getPageType(e){return this.shopifyCompatibilityConfig?.page_types?.[e]||e}getPageRouteUrl(e){return this.theme.props.pages?.find(t=>t.id===e)?.url||e}getPageRoutes(){let e={account_addresses_url:this.getPageRouteUrl("account/addresses"),account_login_url:this.getPageRouteUrl("account/login"),account_logout_url:this.getPageRouteUrl("account/logout"),account_recover_url:this.getPageRouteUrl("account/recover"),account_register_url:this.getPageRouteUrl("account/signup"),account_url:this.getPageRouteUrl("account/index"),all_products_collection_url:this.getPageRouteUrl("products/index"),cart_add_url:this.getPageRouteUrl("cart/add"),cart_change_url:this.getPageRouteUrl("cart/change"),cart_clear_url:this.getPageRouteUrl("cart/clear"),cart_update_url:this.getPageRouteUrl("cart/update"),cart_url:this.getPageRouteUrl("cart/index"),collections_url:this.getPageRouteUrl("categories/index"),predictive_search_url:this.getPageRouteUrl("search/suggest"),product_recommendations_url:this.getPageRouteUrl("products/index"),root_url:this.getPageRouteUrl("index"),search_url:this.getPageRouteUrl("search")};if(this.shopifyCompatibilityConfig?.page_routes)for(let[t,i]of Object.entries(this.shopifyCompatibilityConfig.page_routes))i&&typeof i=="object"&&i.page_id?e[t]=this.getPageRouteUrl(i.page_id):typeof i=="string"&&(e[t]=i);return e}getLocalizationObject(e,t){return A3(this,e,t)}getAdaptedPageUrl(e){if(!e)return;let t,i,r={},[a,o]=e.split("?"),s=a.split("."),l=s[1]?s.pop():null,[,c,u,h]=s.join(".").split("/");switch(l==="js"&&(i="json"),c){case"account":switch(u){case"order":t="account/order",r.id=h;break;case"register":t="account/login";break;default:break}break;case"blog":u&&(t="blogs/category",r.category=u),h&&(t="blogs/blog",r.slug=h);break;case"collections":u?u==="all"?t="products/index":(t="categories/category",r.slug=u):t="categories/index";break;case"gift_card":u&&(t="gift-card",r.code=u);break}if(t){let p=this.getPageRouteUrl(t);if(p)return p.replace(/:(\w+)/g,(m,g)=>r[g])+(l?`.${l}`:"")+(o?`?${o}`:"")}else if(i)return a.replace(new RegExp(`.${l}$`),`.${i}`)+(o?`?${o}`:"")}getThemeFilePath(e,t){switch(e){case"assets":return`assets/${t}`;case"components":return`snippets/${t}`;case"config":return`config/${t}`;case"layouts":return`layout/${t}`;case"templates":return`templates/${this.getPageType(t)}`;case"sections":return`sections/${t}`;default:throw new Error(`Theme file type not supported: ${e}`)}}getPageResourceMap(){return this.shopifyCompatibilityConfig?.page_resources?this.shopifyCompatibilityConfig.page_resources.reduce((e,t)=>e.set(t.page,{page:t.page,resources:t.resources.map(({from:i,to:r,object:a})=>{let o=k4[a];if(!o)throw new Error(`ShopifyObject for '${a}' not found.`);return{from:i,to:r,object:o}})}),new Map):new Map}getObjectResourceMap(){return this.shopifyCompatibilityConfig?.object_resources?this.shopifyCompatibilityConfig.object_resources.reduce((e,t)=>{let i=k4[t.object];if(!i)throw new Error(`ShopifyObject for '${t.object}' not found.`);return e.set(t.from,{from:t.from,object:i})},new Map):new Map}getFormResourceMap(){return this.shopifyCompatibilityConfig?.forms?this.shopifyCompatibilityConfig.forms.map(e=>({shopifyType:e.shopify_type,type:e.id})):[]}getQueryParamsMap(){return[{from:"sort_by",to:"sort"},{from(e){return e.startsWith("filter.v.")},to(e,t){let i=e.split("filter.v.")[1],r=t;return{[i]:r}}}]}getAllCountryOptionTags(e){return e?.countries?.map(t=>{if(!t)return;let i=[...(e?.states||[]).filter(a=>a.country===t.id).map(a=>[a.id,a.name])],r=JSON.stringify(i).replace(/"/g,""");return`<option value="${t.id}" data-provinces="${r}">${t.name}</option>`}).filter(Boolean).join(`
|
|
943
943
|
`)}isScriptFormActionUrl(e){if(!e)return!1;let t=this.shopifyCompatibilityConfig?.editor_configs?.script_actions_routes||{};for(let i of Object.values(t))if(e===i)return!0;return!1}isScriptUrl(e){if(!e)return!1;let t=this.shopifyCompatibilityConfig?.editor_configs?.script_routes||{};for(let i of Object.values(t))if(e.startsWith(i))return!0;return!1}needRedirectToPageStart(e){return e?(this.shopifyCompatibilityConfig?.editor_configs?.redirect_to_page_start_forms||[]).includes(e):!1}isCheckoutForm(e){return e?this.shopifyCompatibilityConfig?.editor_configs?.checkout_form===e:!1}};var Q5=100,X5=15,T=class{_getter;_getterHash;_result;_compatibilityProps={};constructor(e){return e&&this._setGetter(e),this._getProxy()}_getProxy(){return new Proxy(this,{get(e,t){let i=e;switch(t){case"toLiquid":case"next":return;case"then":return!1;case"toJSON":case"toObject":return()=>i.toObject();default:break}if(typeof i[t]=="function"||t.startsWith?.("_"))return i[t];if(typeof t=="symbol"&&t===Symbol.toStringTag)return P(i._result)?"[object Promise]":i._result!==void 0?"[object Object]":"undefined";if(i._result===void 0){if(i[t]!==void 0)return i[t];i._result=i._get().catch(r=>(console.log(r),i._getCollectionResultOrProp(i,t)))}return P(i._result)?i._result.then(()=>i._getCollectionResultOrProp(i,t)).catch(r=>(console.log(r),null)):i._getCollectionResultOrProp(i,t)},set(e,t,i){return e[t]=i,!0}})}_getCollectionResultOrProp(e,t){if(e._result&&Array.isArray(e._result.results)){let i=e._result.results.find(r=>r.slug===t||r.id===t)||(typeof t=="number"?e._result.results[t]:void 0);if(i)return i}return t in e._compatibilityProps?e._compatibilityProps[t]:e._result&&t in e._result?e._result[t]:e[t]}async _get(...e){if(this._getter){let t=this._getter.bind(this);return Promise.resolve().then(()=>t()).then(i=>(this._result=i,i&&Object.assign(this,i),i)).catch(i=>(console.log(i),null))}return this._result}_setGetter(e){this._getter=e,this._getterHash=T3(e.toString())}async _resolve(){return this._result===void 0?this._get():this._result}_isResultResolved(){return this._result!==void 0&&!P(this._result)}async resolve(e=!0,t=!1){let i={},r=await this._resolve();return r===null?null:(Object.assign(i,r),Object.assign(i,this._compatibilityProps),J(i,e,t))}toObject(){if(this._result===null)return null;let e={};return Object.assign(e,this._result),Object.assign(e,this._compatibilityProps),e}toJSON(){return this.toObject()}valueOf(){return this.resolve()}setCompatibilityProps(e){this._compatibilityProps=e}getCompatibilityProp(e){return this._compatibilityProps[e]}},b3=class extends T{_swell;_resource;_resourceName;_collection;_query={};_compatibilityInstance=null;constructor(e,t,i){return super(i),this._swell=e,this._collection=t,this._getProxy()}_getProxy(){return super._getProxy()}getResourceObject(){let{_swell:e,_collection:t}=this;if(this._resource=(e?.storefront)[t],e&&t.startsWith("content/")){let i=t.split("/")[1]?.replace(/\/$/,"").trim();this._resource={list:r=>e.storefront.content.list(i,r),get:(r,a)=>e.storefront.content.get(i,r,a)}}if(!this._resource?.get)throw new Error(`Swell storefront resource for collection '${t}' does not exist.`);return this._resource}},A=class n extends b3{length=0;results;count;page;pages;page_count;limit=X5;name;constructor(e,t,i={},r){return super(e,t,r),this._query=this._initQuery(i),r||this._setGetter(this._defaultGetter()),this._getProxy()}_getProxy(){return super._getProxy()}_initQuery(e){let t=e||{};return t.limit>Q5||t.limit===null?t.limit=Q5:t.limit||(t.limit=X5),this.limit=t.limit,t}_defaultGetter(){let e=this.getResourceObject();async function t(){return e.list(this._query)}return t}async _get(e={}){if(this._query={...this._query,...e},this._getter){let t=this._getter;this._result=this._swell.getCachedResource("storefront-list",[this._collection,this._query,this._getterHash],async()=>t.call(this)).then(i=>(this._result=i,i&&Object.assign(this,i,{length:i.results?.length||0}),i)).catch(i=>(console.log(i),null))}return this._result}[Symbol.iterator](){return this.iterator()}*iterator(){for(let e of this.results||[])yield e}_clone(e){let t=new n(this._swell,this._collection,this._query,this._getter);return this._isResultResolved()&&(t._result=(0,Y5.cloneDeep)(this._result)),this._compatibilityProps&&t.setCompatibilityProps(this._compatibilityProps),e!==void 0&&(Object.assign(t,e),e._getter&&t._setGetter(e._getter)),t}_cloneWithCompatibilityResult(e){let t=this._getter,i=this._clone({_getter:async()=>{let r=await t?.call(i);if(r){let a=e(r);return{...r,...a||void 0}}return r}});if(this._isResultResolved()){let r=(0,Y5.cloneDeep)(this._result);if(r){let a=e(r);Object.assign(i,r),a&&Object.assign(i,a)}}return i}},_=class extends b3{_id;constructor(e,t,i,r={},a){return super(e,t,a),this._id=i,this._query=r,a||this._setGetter(this._defaultGetter()),this._getProxy()}_getProxy(){return super._getProxy()}_defaultGetter(){let e=this.getResourceObject();async function t(){return e.get(this._id,this._query)}return t}async _get(e,t={}){if(this._id=e||this._id,this._query={...this._query,...t},this._getter){let i=this._getter;this._result=this._swell.getCachedResource("storefront-record",[this._collection,this._id,this._query,this._getterHash],async()=>i.call(this)).then(r=>(this._result=r,r&&Object.assign(this,r),r)).catch(r=>(console.log(r),null))}return this._result}},W=class extends b3{constructor(e,t,i){return super(e,t,i),i||this._setGetter(this._defaultGetter()),this._getProxy()}_getProxy(){return super._getProxy()}_defaultGetter(){let{_collection:e,_swell:{storefrontContext:t}}=this,i=this.getResourceObject();async function r(){return t[e]!==void 0?t[e]:i.get()}return r}async _get(){if(this._getter){let e=this._getter;this._result=Promise.resolve().then(()=>e.call(this)).then(t=>(this._result=t,t&&Object.assign(this,t),t)).catch(t=>(console.log(t),null))}return this._result}},P3=class{_resource;count=0;page=0;page_count=0;limit=0;pages={};next;previous;constructor(e){this._resource=e,this.setPaginationProps()}setPaginationProps(){let{_resource:e}=this;if(this.count=e.count||0,this.page=e.page||0,this.page_count=e.page_count||0,this.limit=e.limit||0,this.pages={},e.pages)for(let[r,a]of Object.entries(e.pages))this.pages[r]={start:a.start,end:a.end,url:this.getPageUrl(Number(r))};let t=this.pages[this.page+1];this.next=t?{start:t.start,end:t.end,url:this.getPageUrl(this.page+1)}:void 0;let i=this.pages[this.page-1];this.previous=i?{start:i.start,end:i.end,url:this.getPageUrl(this.page-1)}:void 0}getPageUrl(e){let{url:t,queryParams:i}=this._resource._swell;return`${t.pathname}?${G({...i,page:e})}`}setCompatibilityProps(e){Object.assign(this,e)}};function T3(n){var e="0123456789abcdef";function t(L){var k,M="";for(k=0;k<=3;k++)M+=e.charAt(L>>k*8+4&15)+e.charAt(L>>k*8&15);return M}function i(L,k){var M=(L&65535)+(k&65535),E=(L>>16)+(k>>16)+(M>>16);return E<<16|M&65535}function r(L,k){return L<<k|L>>>32-k}function a(L,k,M,E,F,I){return i(r(i(i(k,L),i(E,I)),F),M)}function o(L,k,M,E,F,I,Q){return a(k&M|~k&E,L,k,F,I,Q)}function s(L,k,M,E,F,I,Q){return a(k&E|M&~E,L,k,F,I,Q)}function l(L,k,M,E,F,I,Q){return a(k^M^E,L,k,F,I,Q)}function c(L,k,M,E,F,I,Q){return a(M^(k|~E),L,k,F,I,Q)}function u(L){var k,M=(L.length+8>>6)+1,E=new Array(M*16);for(k=0;k<M*16;k++)E[k]=0;for(k=0;k<L.length;k++)E[k>>2]|=L.charCodeAt(k)<<k%4*8;return E[k>>2]|=128<<k%4*8,E[M*16-2]=L.length*8,E}var h,p=u(""+n),C=1732584193,m=-271733879,g=-1732584194,f=271733878,Y,l3,d2,c2;for(h=0;h<p.length;h+=16)Y=C,l3=m,d2=g,c2=f,C=o(C,m,g,f,p[h+0],7,-680876936),f=o(f,C,m,g,p[h+1],12,-389564586),g=o(g,f,C,m,p[h+2],17,606105819),m=o(m,g,f,C,p[h+3],22,-1044525330),C=o(C,m,g,f,p[h+4],7,-176418897),f=o(f,C,m,g,p[h+5],12,1200080426),g=o(g,f,C,m,p[h+6],17,-1473231341),m=o(m,g,f,C,p[h+7],22,-45705983),C=o(C,m,g,f,p[h+8],7,1770035416),f=o(f,C,m,g,p[h+9],12,-1958414417),g=o(g,f,C,m,p[h+10],17,-42063),m=o(m,g,f,C,p[h+11],22,-1990404162),C=o(C,m,g,f,p[h+12],7,1804603682),f=o(f,C,m,g,p[h+13],12,-40341101),g=o(g,f,C,m,p[h+14],17,-1502002290),m=o(m,g,f,C,p[h+15],22,1236535329),C=s(C,m,g,f,p[h+1],5,-165796510),f=s(f,C,m,g,p[h+6],9,-1069501632),g=s(g,f,C,m,p[h+11],14,643717713),m=s(m,g,f,C,p[h+0],20,-373897302),C=s(C,m,g,f,p[h+5],5,-701558691),f=s(f,C,m,g,p[h+10],9,38016083),g=s(g,f,C,m,p[h+15],14,-660478335),m=s(m,g,f,C,p[h+4],20,-405537848),C=s(C,m,g,f,p[h+9],5,568446438),f=s(f,C,m,g,p[h+14],9,-1019803690),g=s(g,f,C,m,p[h+3],14,-187363961),m=s(m,g,f,C,p[h+8],20,1163531501),C=s(C,m,g,f,p[h+13],5,-1444681467),f=s(f,C,m,g,p[h+2],9,-51403784),g=s(g,f,C,m,p[h+7],14,1735328473),m=s(m,g,f,C,p[h+12],20,-1926607734),C=l(C,m,g,f,p[h+5],4,-378558),f=l(f,C,m,g,p[h+8],11,-2022574463),g=l(g,f,C,m,p[h+11],16,1839030562),m=l(m,g,f,C,p[h+14],23,-35309556),C=l(C,m,g,f,p[h+1],4,-1530992060),f=l(f,C,m,g,p[h+4],11,1272893353),g=l(g,f,C,m,p[h+7],16,-155497632),m=l(m,g,f,C,p[h+10],23,-1094730640),C=l(C,m,g,f,p[h+13],4,681279174),f=l(f,C,m,g,p[h+0],11,-358537222),g=l(g,f,C,m,p[h+3],16,-722521979),m=l(m,g,f,C,p[h+6],23,76029189),C=l(C,m,g,f,p[h+9],4,-640364487),f=l(f,C,m,g,p[h+12],11,-421815835),g=l(g,f,C,m,p[h+15],16,530742520),m=l(m,g,f,C,p[h+2],23,-995338651),C=c(C,m,g,f,p[h+0],6,-198630844),f=c(f,C,m,g,p[h+7],10,1126891415),g=c(g,f,C,m,p[h+14],15,-1416354905),m=c(m,g,f,C,p[h+5],21,-57434055),C=c(C,m,g,f,p[h+12],6,1700485571),f=c(f,C,m,g,p[h+3],10,-1894986606),g=c(g,f,C,m,p[h+10],15,-1051523),m=c(m,g,f,C,p[h+1],21,-2054922799),C=c(C,m,g,f,p[h+8],6,1873313359),f=c(f,C,m,g,p[h+15],10,-30611744),g=c(g,f,C,m,p[h+6],15,-1560198380),m=c(m,g,f,C,p[h+13],21,1309151649),C=c(C,m,g,f,p[h+4],6,-145523070),f=c(f,C,m,g,p[h+11],10,-1120210379),g=c(g,f,C,m,p[h+2],15,718787259),m=c(m,g,f,C,p[h+9],21,-343485551),C=i(C,Y),m=i(m,l3),g=i(g,d2),f=i(f,c2);return t(C)+t(m)+t(g)+t(f)}function Wt(n,e){if(!n.file_path.startsWith("theme/sections/"))return!1;if(n.file_path.endsWith(".liquid")){if(!e.get(n.file_path.replace(/\.liquid$/,".json")))return!0}else if(n.file_path.endsWith(".json"))return!0;return!1}async function O5(n,e){let t=[];for(let i of n.values())if(Wt(i,n)){let r=await e(i);r&&t.push({...r,id:String(i.name||"").split(".").pop()??"",...r&&{presets:Jt(r)}})}return t}function Jt(n){return Array.isArray(n?.presets)?n.presets.map(e=>({label:e.label,settings:{...n.fields?.reduce((t,i)=>(i.id&&i.default!==void 0&&(t[i.id]=i.default),t),{}),...e.settings||void 0},blocks:e.blocks?.map(t=>{let i=n.blocks?.find(r=>r.type===t.type);return i?{...t,settings:{...i.fields.reduce((r,a)=>(a.id&&a.default!==void 0&&(r[a.id]=a.default),r),{}),...t.settings||void 0}}:t})})):[]}async function U5(n,e){let t=Array.from(n.values()),i=t.filter(o=>o.file_path.endsWith(".json")&&!n.has(o.file_path.replace(/\.json$/,".liquid"))),r=async o=>{let s=t.find(c=>{if(!c.file_path.endsWith(`/${o}.json`)&&!c.file_path.endsWith(`/${o}.liquid`))return!1;if(c.file_path.endsWith(".liquid")){if(!n.get(c.file_path.replace(/\.liquid$/,".json")))return!0}else if(c.file_path.endsWith(".json"))return!0;return!1});return s?{...await e(s),id:String(s.name||"").split(".").pop()}:void 0},a=[];for(let o of i){let s;try{s=JSON.parse(o.file_data),s?.name&&(s.label=s.name,delete s.name)}catch{}if(s?.type){let l=await l4(s,r);a.push({...s,id:String(o.name||"").split(".").pop(),sectionConfigs:l})}}return a}async function l4(n,e){let t=Array.isArray(n?.order)?n.order:Object.keys(n?.sections||{}),i=[];for(let r of t){let a=n.sections[r];if(!a)continue;let o=await e(a.type)||{id:a.type,label:a.type,tag:"div",class:"",fields:[],blocks:[]},s=n.id?`page__${n.id}__${r}`:o.id,c=(Array.isArray(a.block_order)?a.block_order:Object.keys(a.blocks||{})).map(h=>a.blocks?.[h]).filter(Boolean),u={section:{id:s,...a,blocks:c}};i.push({id:s,section:{id:s,...a},schema:o,settings:u,tag:o.tag||"div",class:o.class})}return i}function Yt(n){return String(n)==="[object Array]"}function f3(n){let e=typeof n;return n!==null&&(e==="object"||e==="function")}function e2(n){let e=new TextEncoder().encode(n),t="";for(let i=0;i<e.length;i+=3){let r=Array.from(e.slice(i,i+3));t+=btoa(String.fromCharCode(...r))}return t}function H5(n,e="id"){return(0,A4.reduce)(n,(t,i)=>(t[String(i[e])]=i,t),{})}function Qt(n){let e=n.toUpperCase().split(/-|_/),t=e.shift(),i=e.pop(),r="";return i&&(r=i),i||(r=j4[t.toLowerCase()]||""),r.toLowerCase()}function t2(n,e){if(!(typeof n!="object"||n===null))for(let[t,i]of Object.entries(n))e(t,n)!==!1&&typeof i=="object"&&i!==null&&t2(i,e)}function Xt(n){let e=new Set;return t2(n,(t,i)=>{if(typeof i=="object"&&i!==null){if(e.has(i))return!1;e.add(i)}return!0}),Array.from(e)}function e6(n){if(!n)return n;let e=new WeakSet;return JSON.parse(JSON.stringify(n,(t,i)=>{if(typeof i=="object"&&i!==null){if(e.has(i))return JSON.parse(JSON.stringify(i));e.add(i)}return i}))}function Ke(n){if(!(typeof n!="object"||n===null))for(let[e,t]of Object.entries(n))e==="_swell"&&"_swell"in n?n[e]=void 0:Ke(t)}function Ue(n){if(n!==void 0)return n instanceof A?"SwellStorefrontCollection":n instanceof _?"SwellStorefrontRecord":n instanceof y?"ShopifyResource":n instanceof T?"StorefrontResource":"promise"}async function J(n,e=!0,t=!1){let i=n,r=e;try{if(P(n)&&(r=!1,i=await n),n instanceof T&&(r=!1,i=await J(n.resolve(),e,t)),Array.isArray(i)){let a=await Promise.all(i.map(o=>J(o,e,t)));if(i=a,!a.some(o=>o!==void 0))return e?[]:void 0}else if(typeof i=="object"&&i!==null&&(!("_swell"in i)||!i._swell)){let a={};for(let[o,s]of Object.entries(i)){if(!e&&(P(s)||s instanceof T||s instanceof y)){a[o]={_type:Ue(s),...t?{value:await J(s,r,t)}:void 0};continue}if(s instanceof T&&t){a[o]={_type:Ue(s),value:await J(s,r,t)};continue}a[o]=await J(s,r,t)}return!e&&Object.keys(a).length===0?void 0:a}}catch(a){return console.error(a),n}return i}function G(n){return $e.default.stringify({...n,sections:void 0,section_id:void 0},{encodeValuesOnly:!0,arrayFormat:"repeat"})}function $5(n,e){return n=Array.isArray(n)?n.join(" "):n,n.split("}").map(r=>{let[a,o]=r.split("{");return!a||!o?"":`${a.split(",").map(l=>`#${e} ${l.trim()}`).join(", ")} {${o}}`}).join(" ")}function w3(n,e){return Object.entries(n).reduce((t,[i,r])=>(r?.value!==null&&r?.value!==void 0&&(t[i]=r?.value),t),(0,A4.cloneDeep)(e))}var F3="ContentSections";function o3(n){return`SectionGroup_${n}`}var ze="https://api.schema.io",We=new Map,Je=new Map,i2=class n{url;headers;swellHeaders;queryParams;workerEnv;config;shopifyCompatibilityConfig;backend;storefront;storefrontContext;instanceId="";isPreview=!1;isEditor=!1;sentResponse=!1;storefront_url;constructor(e){let{url:t,config:i,shopifyCompatibilityConfig:r,headers:a,swellHeaders:o,serverHeaders:s,queryParams:l,workerEnv:c,...u}=e;if(this.url=t instanceof URL?t:new URL(t||""),this.config=i,this.shopifyCompatibilityConfig=r,this.queryParams=n.formatQueryParams(l||this.url.searchParams),this.workerEnv=c,s){let{headers:h,swellHeaders:p}=n.formatHeaders(s);this.headers=h,this.swellHeaders=p,this.backend=new b4({storeId:p["store-id"],accessToken:p["access-token"],apiHost:p["api-host"]}),this.storefront=this.getStorefrontInstance({...e,headers:h,swellHeaders:p}),this.instanceId=["store-id","environment-id","deployment-mode","theme-id","theme-branch-id"].map(C=>p[C]||"0").join(":"),this.isEditor=u.isEditor??p["deployment-mode"]==="editor",this.isPreview=this.isEditor||p["deployment-mode"]==="preview"}else if(a&&o)Object.assign(this,u),this.headers=a,this.swellHeaders=o,this.storefront=this.getStorefrontInstance(e);else throw new Error("Swell client requires `serverHeaders` when initialized on the server-side, or `headers` and `swellHeaders` when initialized on the client-side.");this.storefrontContext=this.initStorefrontContext()}static formatHeaders(e){let t={},i={};e instanceof Headers?e.forEach((r,a)=>{t[a]=r}):e&&(t=e);for(let[r,a]of Object.entries(t))r.startsWith("swell-")&&a&&(i[r.replace("swell-","")]=a);return{headers:t,swellHeaders:i}}static formatQueryParams(e){let t={};return e instanceof URLSearchParams?t=Xe.default.parse(e.toString()):e&&(t=e),t}async getCachedResource(e,t,i){let r=this.swellHeaders["request-id"],a=Ye(e,[r,t]);return this.getResourceCache().fetch(a,i)}async updateCacheModified(e){if(e){let t="_cache-modified";await this.getResourceCache().get(t)!==e&&(await this.getRequestCache().flushAll(),await this.getResourceCache().set(t,e,1e3*60*60*24*90))}}async getAppSettings(){return await this.get("/:storefronts/{id}/configs/settings/values",{id:this.swellHeaders["storefront-id"]})||{}}async getStorefrontSettings(e=!1){try{let{settings:t,menus:i,payments:r,subscriptions:a,session:o}=await this.storefront.request("get","/settings/all",void 0,void 0,{force:e}),s=this.storefront.settings;s.localizedState={},s.set({value:t}),s.set({model:"menus",value:i}),s.set({model:"payments",value:r}),s.set({model:"subscriptions",value:a}),s.set({model:"session",value:o})}catch(t){t instanceof Error&&(t.message=`Swell: unable to load settings (${t.message})`),console.error(t)}return this.storefront.settings.get()}getStorefrontMenus(){let e=this.storefront.settings.getState("/settings/menus","menuState");return!e||P(e)?[]:e}async get(...e){return this.backend?.get(...e)}async put(...e){return this.backend?.put(...e)}async post(...e){return this.backend?.post(...e)}async delete(...e){return this.backend?.delete(...e)}getStorefrontInstance(e){let{swellHeaders:t,getCookie:i,setCookie:r,storefrontSettingStates:a}=e;if(!t)throw new Error("Swell headers are required");let o=t["store-id"],s=t["public-key"];if(!o||!s)throw new Error('Missing required headers: "swell-store-id" and "swell-public-key"');let l=Qe.default.create(o,s,{url:t["admin-url"],vaultUrl:t["vault-url"],getCookie:i,setCookie:r&&((c,u,h)=>r(c,u,h,this)),headers:{"Swell-Store-id":o,"Swell-Storefront-Id":t["storefront-id"]}});return a&&Object.assign(l.settings,a),l.request=this.getCacheableStorefrontRequestHandler(l),l}initStorefrontContext(){let e={};if(this.swellHeaders?.["storefront-context"])try{e=JSON.parse(this.swellHeaders["storefront-context"])}catch{console.error("Failed to parse swell-storefront-context. Ignoring...")}return e}isStorefrontRequestCacheable(e,t,i){if(i?.force)return!1;if(e==="get")switch(t.split("/")[1]){case"products":case"categories":case"content":case"settings":return!0;default:return!1}return!1}getCacheableStorefrontRequestHandler(e){let t=e.request;return(i,r,a,o,s)=>{if(this.isStorefrontRequestCacheable(i,r,s))return this.getRequestCache().fetch(Ye("request",[i,r,a,o,s]),()=>t(i,r,a,o,s));switch(i){case"delete":case"post":case"put":{let l=r.split("/")[1];delete this.storefrontContext[l];break}default:}return t(i,r,a,o,s)}}getResourceCache(){let e=We.get(this.instanceId);return e||(e=new M3,We.set(this.instanceId,e)),e}getRequestCache(){let e=Je.get(this.instanceId);return e||(e=new _3,Je.set(this.instanceId,e)),e}getCacheKey(e,t){let i=`${this.instanceId}:${e}`;return Array.isArray(t)&&t.length>0&&(i+=`_${JSON.stringify(t)}`),i.length>512&&(i=`${i.slice(0,480)}${T3(i)}`),i}};function Ye(n,e){let t=n;return Array.isArray(e)&&e.length>0&&(t+=`_${JSON.stringify(e)}`),t.length>512&&(t=`${t.slice(0,480)}${T3(t)}`),t}var b4=class{apiHost=ze;apiAuth="";constructor({storeId:e,accessToken:t,apiHost:i}){this.apiHost=i||ze,this.apiAuth=e2(`${e}:${t}`)}async makeRequest(e,t,i){let r={method:e,headers:{Authorization:`Basic ${this.apiAuth}`,"User-Agent":"swell-functions/1.0","Content-Type":"application/json"}},a="";if(i)try{e==="GET"?a=`?${this.stringifyQuery(i)}`:(r.body=JSON.stringify(i),r.headers["Content-Length"]=String(r.body.length))}catch{throw new Error(`Error serializing data: ${i}`)}let o=String(t).startsWith("/")?t.substring(1):t,s=`${this.apiHost}/${o}${a}`,l=await fetch(s,r),c=await l.text(),u;try{u=JSON.parse(c)}catch{u=String(c||"").trim()}if(l.status>299)throw new G3(u,{status:l.status,method:e,endpointUrl:o});if(e!=="GET"&&u?.errors)throw new G3(u.errors,{status:400,method:e,endpointUrl:o});return u}stringifyQuery(e,t){let i=[];for(let[r,a]of Object.entries(e)){let o=t?`${t}[${r}]`:r,l=a!==null&&typeof a=="object"?this.stringifyQuery(a,o):`${encodeURIComponent(o)}=${a===null?"":encodeURIComponent(a)}`;i.push(l)}return i.join("&")}async get(e,t){return this.makeRequest("GET",e,t)}async put(e,t){return this.makeRequest("PUT",e,t)}async post(e,t){return this.makeRequest("POST",e,t)}async delete(e,t){return this.makeRequest("DELETE",e,t)}},G3=class extends Error{status=200;constructor(e,t={}){let i;typeof e=="string"?i=e:i=JSON.stringify(e,null,2),t.method&&t.endpointUrl&&(i=`${t.method} /${t.endpointUrl}
|
|
944
944
|
${i}`),super(i),this.name="SwellError",this.status=t.status||500}};function n2(n,e){return new A(n,"products",e)}function t6(n,e,t){return new _(n,"products",e,t)}function i6(n,{search:e,filter:t,sort:i}){return new A(n,"products",{search:e,filter:t,sort:i})}function n6(n,e){return new A(n,"categories",e)}function e1(n,e,t){return new _(n,"categories",e,t)}async function r6(n,e,t){let i=e1(n,e,t),r=await i.id;return i.products=n2(n,{category:r}),i}function a6(n,e){return n.getCachedResource(`content-model-${e}`,[],()=>n.get("/:content/{name}",{name:e,public:!0,"storefront.enabled":!0}))}async function t1(n,e,t){return new A(n,`content/${e}`,t)}async function r2(n,e,t,i){return new _(n,`content/${e}`,t,i)}async function o6(n,e,t){return r2(n,"pages",e,t)}async function s6(n,e){return t1(n,"blogs",e)}async function l6(n,e,t){return r2(n,"blogs",e,t)}var q=require("lodash-es");async function i1(n,e){let t=[];for(let i of e)if(d6(i,e)){let r=await o2(n,i);r&&t.push({...r,id:String(i.name||"").split(".").pop()})}return t}async function a2(n,e,t=h6){let i=Array.isArray(e.order)?e.order:Object.keys(e.sections||{}),r=[];for(let a of i){let o=e.sections[a],s=await t(n,o.type);if(!s)continue;let l={...s,id:a},c=e.id?`page__${e.id}__${a}`:l.id,h=(Array.isArray(o.block_order)?o.block_order:Object.keys(o.blocks||{})).map(C=>o.blocks?.[C]).filter(Boolean),p={section:{id:c,...o,blocks:h}};r.push({id:c,settings:p,section:{id:c,...o},tag:l.tag||"div",class:l.class,schema:l})}return r}async function n1(n,e){let t=e.filter(a=>c6(a,e)),i=async(a,o)=>{let s=e.find(c=>u6(c,e,o)),l=await o2(a,s);if(l)return{...l,id:String(s?.name||"").split(".").pop()}},r=[];for(let a of t){let o;try{o=JSON.parse(a.file_data),o?.name&&(o.label=o.name,delete o.name)}catch{}if(o?.type){let s=await a2(n,o,i);r.push({...o,id:String(a.name||"").split(".").pop(),sectionConfigs:s})}}return r}async function h6(n,e){let t=await n.getThemeTemplateConfigByType("sections",e);return o2(n,t)}async function o2(n,e){let t;if(e?.file_path?.endsWith(".liquid")){if(n.shopifyCompatibility){n.liquidSwell.lastSchema=void 0,await n.renderTemplate(e);let i=n.liquidSwell.lastSchema;i&&(t=n.shopifyCompatibility.getSectionConfigSchema(i))}}else if(e?.file_data)try{t=JSON.parse(e?.file_data)||void 0}catch{}return t}function d6(n,e){return n.file_path.startsWith("theme/sections/")?r1(n,e):!1}function c6(n,e){if(!n.file_path.startsWith("theme/sections/")||!n.file_path.endsWith(".json"))return!1;let t=n.file_path.replace(/\.json$/,".liquid");return!e.some(i=>i.file_path===t)}function u6(n,e,t){return!n.file_path.endsWith(`/${t}.json`)&&!n.file_path.endsWith(`/${t}.liquid`)?!1:r1(n,e)}function r1(n,e){if(n.file_path.endsWith(".liquid")){let t=n.file_path.replace(/\.liquid$/,".json");if(!e.find(r=>r.file_path===t))return!0}else if(n.file_path.endsWith(".json"))return!0;return!1}function q3(n){let e={description:n.description,defaultValue:n.default,isLabelHidden:!0,layout:"column",params:n},t;switch(n?.type){case"text":case"short_text":t={type:"swell_short_text"};break;case"paragraph":t={type:"swell_paragraph"};break;case"textarea":case"long_text":case"liquid":t={type:"swell_long_text"};break;case"basic_html":case"rich_text":case"rich_html":case"markdown":t={type:"swell_editor"};break;case"number":t={type:"swell_number"};break;case"select":t={type:"swell_select"};break;case"radio":t={type:"swell_radio"};break;case"checkbox":t={type:"swell_boolean"};break;case"color":t={type:"swell_color"};break;case"color_scheme":t={type:"swell_color_scheme"};break;case"color_scheme_group":t={type:"swell_color_scheme_group"};break;case"font":t={type:"swell_font"};break;case"header":t={type:"swell_header"};break;case"icon":t={type:"swell_menu"};break;case"menu":t={type:"swell_menu"};break;case"url":t={type:"swell_url"};break;case"lookup":case"generic_lookup":case"product_lookup":case"category_lookup":case"customer_lookup":t={type:"swell_lookup"};break;case"image":t={type:"swell_image",defaultValue:""};break;case"asset":case"document":case"video":t={type:"swell_file"};break;default:t={type:"swell_short_text"};break}return{...e,...t}}function N(n,e,t){if(t===void 0)return null;switch(n?.find(r=>r.id===e)?.type){default:return t}}function a1(n,e){return e?.reduce((t,i)=>{for(let r of i.fields||[])r?.id&&(t[r.id]=n[r.id]);return t},{})}function o1(n,e){if(e)return{settings:e.fields.reduce((t,i)=>(i?.id&&(t[i.id]=n[i.id]),t),{}),id:e.id,blocks:n.Blocks?.filter(t=>!!t.props.compiled?._component).map(t=>{let i=t.props.compiled.props,r=t.props.compiled._component.split("__")[2],a=e.blocks?.find(o=>o.type===r);return{type:r,settings:a?.fields?.reduce((o,s)=>(s?.id&&(o[s.id]=i[s.id]),o),{})||{}}})}}async function C6(n,e,t){let i=await l1(n,t),r=await i1(n,e),a=await a2(n,i),o=await n1(n,e);return{pageTemplate:i,allSections:r,pageSections:a,layoutSectionGroups:o}}async function l1(n,e){let t=null;if(t=await n.getThemeTemplateConfigByType("templates",e),t)return JSON.parse(t.file_data)}function m6(n,e){return n.reduce((t,i)=>(i.enabled_on?T4(i.enabled_on,"groups",e)&&t.push(String(i.id)):i.disabled_on?T4(i.disabled_on,"groups",e)||t.push(String(i.id)):i.id===e&&t.push(String(i.id)),t),[])}function p6(n,e){return e.map(t=>({prop:o3(t.id),type:"component-collection",label:t.label,required:!0,accepts:m6(n,t.type)}))}function T4(n,e,t){return!!(n.templates==="*"||n[e]?.includes(t))}function g6(n,e,t){return n.reduce((i,r)=>(r.enabled_on?T4(r.enabled_on,"templates",t)&&i.push(String(r.id)):r.disabled_on?T4(r.disabled_on,"templates",t)||i.push(String(r.id)):e.some(({type:a})=>a===r.id)||i.push(String(r.id)),i),[])}function f6(n){return(n?.configs?.editor?.settings??[]).reduce((e,t)=>{for(let i of t.fields||[])e.push({prop:i.id,label:i.label,optional:!0,group:t.label,...q3(i)});return e},[])}function w6(n){let e=[];for(let t of n){let i=Array.isArray(t.blocks)&&t.blocks.length>0;e.push({id:t.id,label:t.label,schema:[...(t.fields||[]).reduce((r,a)=>(a.id&&a.type&&r.push({prop:a.id,label:a.label,optional:!0,...q3(a)}),r),[]),...i?[{prop:"Blocks",type:"component-collection",required:!0,accepts:(t.blocks||[]).map(r=>`Block__${t.id}__${r.type}`),defaultValue:t.presets?.reduce((r,a,o)=>a.blocks?a.blocks.reduce((s,l)=>{let c=t.blocks?.find(({type:u})=>u===l.type);return c&&s.push({_id:`Block__${t.id}__${l.type}__preset_${o}`,_component:`Block__${t.id}__${l.type}`,...(0,q.reduce)(c.fields,(u,h)=>(h.id&&(u[h.id]=N(c.fields,h.id,h.default)),u),{})}),s},r):r,[]),placeholderAppearance:{height:50,label:"Add block",aspectRatio:1}}]:[],{prop:"custom_css",type:"swell_css",label:"Custom CSS",description:"Add custom CSS for this section",layout:"column",isLabelHidden:!0,params:{rows:5,placeholder:"Enter custom CSS..."}}],styles:()=>({styled:{Root:{}}})}),i&&e.push(...(t.blocks||[]).map(r=>({id:`Block__${t.id}__${r.type}`,label:r.label,schema:(r.fields||[]).reduce((a,o)=>(o.id&&o.type&&a.push({prop:o.id,label:o.label,optional:!0,...q3(o)}),a),[]),styles:()=>({styled:{Root:{}}})})))}return e}function y6(n){return n?.configs?.editor?.settings?.reduce((e,t)=>{for(let i of t.fields||[])i?.id&&(e[i.id]=N(t.fields,i.id,n?.configs?.theme?.[i.id]));return e},{})}function S6(n){return n.reduce((e,t)=>(e[o3(t.id)]=t.sectionConfigs.map(({section:i,settings:r,schema:a})=>({_id:`SectionGroup__${i.type}_${s1()}`,_component:`${i.type}`,...(0,q.reduce)(r?.section.settings,(o,s,l)=>(o[l]=N(a?.fields,l,s),o),{}),custom_css:r?.section.custom_css||"",...r?.section.blocks?{Blocks:r.section.blocks.map(o=>({_id:`Block__${i.type}__${o.type}_${s1()}`,_component:`Block__${i.type}__${o.type}`,...(0,q.reduce)(o.settings,(s,l,c)=>(s[c]=N(a?.blocks?.find(({type:u})=>u===o.type)?.fields,c,l),s),{})}))}:void 0})),e),{})}function k6(n){return(n||"").replaceAll("/","_")}function L6(n){let e=[];for(let t of n)t.presets&&e.push(...t.presets.map((i,r)=>({id:`${t.id}__preset_${r}`,entry:{_id:`${t.id}__preset_${r}`,_component:t.id,custom_css:i.settings?.custom_css||"",...(0,q.reduce)(t.fields,(a,o)=>(o.id&&(a[o.id]=N(t.fields,o.id,i.settings?.[o.id])),a),{}),Blocks:i.blocks?.reduce((a,o)=>{let s=t.blocks?.find(({type:l})=>l===o.type);return s&&a.push({_id:`Block__${t.id}__${o.type}__preset_${r}`,_component:`Block__${t.id}__${o.type}`,...(0,q.reduce)(s.fields,(l,c)=>(c.id&&(l[c.id]=N(s.fields,c.id,o.settings?.[c.id])),l),{})}),a},[])}}))),t.blocks&&e.push(...t.blocks.map(i=>({id:`Block__${t.id}__${i.type}`,entry:{_id:`Block__${t.id}__${i.type}`,_component:`Block__${t.id}__${i.type}`,...(0,q.reduce)(i.fields,(r,a)=>(a.id&&a.default!==void 0&&(r[a.id]=N(i.fields,a.id,a.default)),r),{})}})));return e.filter(t=>Object.keys(t.entry).some(i=>i!=="_id"&&i!=="_component"))}function A6(n,e,t,i,r){let a={id:"swell_global",label:"Theme settings",schema:[{prop:"swell_page",type:"component",required:!0,accepts:["swell_page"],isNonChangable:!0,noInline:!0},...f6(n)],groups:(n?.configs?.editor?.settings??[]).map(u=>({key:u.label,label:u.label,collapsable:!0,collapsed:!0})),styles:()=>({styled:{Root:{}}})},o={id:"swell_page",label:"Page settings",schema:[{prop:F3,type:"component-collection",required:!0,accepts:g6(e,i,r),placeholderAppearance:{height:250,label:"Add section",aspectRatio:1}},...p6(e,i)],allowSave:!0,styles:()=>({styled:{Root:{}}})},s=[a,o,...w6(e)],l=a.schema.find(u=>u.prop==="color_schemes");if(l){let u=l.params,{fields:h=[]}=u;s.push({id:"swell_color_scheme_group",label:"Swell color scheme",schema:h.map(p=>({prop:p.id,label:p.label,optional:!0,...q3({...p,type:p.id==="background_gradient"?"text":p.type})})),styles(){return{styled:{Root:{}}}}})}let c=[{id:"swell_global",entry:{_id:"swell_global",_component:"swell_global",...y6(n),swell_page:[{_id:"swell_page",_component:"swell_page",ContentSections:t.map(({section:u,settings:h,schema:p})=>({_id:k6(u.id),_component:`${u.type}`,custom_css:h?.section?.custom_css||"",disabled:h?.section?.disabled||!1,...(0,q.reduce)(p?.fields,(C,m)=>(m?.id&&(C[m.id]=N(p?.fields,m.id,h?.section?.settings?.[m.id])),C),{}),...u?.blocks?{Blocks:Object.entries(u.blocks).map(([C,m])=>({_id:`Block__${C}__${m.type}_${Math.random()}`,_component:`Block__${u.type}__${m.type}`,disabled:m.disabled||!1,...(0,q.reduce)(m.settings,(g,f,Y)=>(g[Y]=N(p?.blocks?.find(({type:l3})=>l3===m.type)?.fields,Y,f),g),{})}))}:void 0})),...S6(i)}]}},{id:"swell_page",entry:{_id:"swell_page",_component:"swell_page"}},...L6(e)];return{easyblocksConfig:{components:s,templates:c,backend:h1(),hideCloseButton:!0,allowSave:!0,readOnly:!1,locales:[{code:"en-US",isDefault:!0}],types:{swell_css:{type:"inline",widget:{id:"SwellCSS"}},swell_boolean:{type:"inline",widget:{id:"SwellBoolean"}},swell_color:{type:"inline",widget:{id:"SwellColor"}},swell_color_scheme:{type:"inline",widget:{id:"SwellColorScheme"}},swell_color_scheme_group:{type:"inline",widget:{id:"SwellColorSchemeGroup"}},swell_font:{type:"inline",widget:{id:"SwellFont"}},swell_header:{type:"inline",widget:{id:"SwellHeader"}},swell_icon:{type:"inline",widget:{id:"SwellIcon"}},swell_lookup:{type:"inline",widget:{id:"SwellLookup"}},swell_menu:{type:"inline",widget:{id:"SwellMenu"}},swell_url:{type:"inline",widget:{id:"SwellUrl"}},swell_number:{type:"inline",widget:{id:"SwellNumber"}},swell_select:{type:"inline",widget:{id:"SwellSelect"}},swell_short_text:{type:"inline",widget:{id:"SwellText"}},swell_long_text:{type:"inline",widget:{id:"SwellTextarea"}},swell_paragraph:{type:"inline",widget:{id:"SwellParagraph"}},swell_editor:{type:"inline",widget:{id:"SwellEditor"}},swell_file:{type:"inline",widget:{id:"SwellFile"}},swell_image:{type:"inline",widget:{id:"SwellImage"}}},tokens:{colors:[],fonts:[]}}}}function b6(n,e,t){let i=n.reduce((o,s)=>(o[`${s.id}`]=t("pageSection",s),o),{}),r=e.reduce((o,s)=>(o[o3(s.id)]=t("layoutSectionGroup",s),o),{}),a=n.reduce((o,s)=>{if(s.blocks)for(let l of s.blocks){let c=`Block__${s.id}__${l.type}`;o[c]=t("block",{section:s,block:l})}return o},{});return{...i,...r,...a,swell_page:t("root"),swell_global:t("global")}}function h1(){return{documents:{get({id:e}){console.log("Easyblocks backend documents.get()",e);let t={id:e,version:1,entry:{_id:"page",_component:"swell_page"}};return Promise.resolve(t)},create(e){return console.log("Easyblocks backend documents.create()",e),Promise.resolve({})},update(e){return console.log("Easyblocks backend documents.update()",e),Promise.resolve({})}},templates:{get(e){return console.log("Easyblocks backend templates.get()",e),Promise.resolve({})},getAll(){return console.log("Easyblocks backend get templates.getAll()"),Promise.resolve([])},create(e){return console.log("Easyblocks backend get templates.create()",e),Promise.resolve({})},update(e){return console.log("Easyblocks backend get templates.update()",e),Promise.resolve({})},delete(e){return console.log("Easyblocks backend get templates.delete()",e),Promise.resolve()}}}}function s1(){return(Math.random()+1).toString(36).substring(7)}function _4(n,e){let i=n?.storefront?.options?.getCookie;return typeof i=="function"&&i(e)||""}var s2=class extends _{constructor(e,t,i={}){super(e,"",t,i,async function(){let r=await d1(e,this._resourceName,t,i);return V3(this._resourceName,r,e,"",t,i)})}},l2=class extends W{constructor(e,t,i={}){super(e,"",async function(){let r=await d1(e,this._resourceName,t,i);return V3(this._resourceName,r,e,"",t,i)})}};async function d1(n,e,t,i){let r=new URLSearchParams({...t&&{slug:t},...i&&{query:JSON.stringify(i)}}),a=r.size>0?`?${r}`:"",o=_4(n,"swell-session"),s=_4(n,"swell-data")||{};return(await fetch(`${n.storefront_url}/resources/${e}.json/${a}`,{headers:{"X-Session":o,"Swell-Data":JSON.stringify(s)}})).json()}function V3(n,e,t,i="",r,a){let o={};for(let[s,l]of Object.entries(e)){let c=i+`${i===""?"":"/"}${s}`,u;switch(l?._type){case"SwellStorefrontCollection":u=M6;break;case"SwellStorefrontRecord":u=_6;break;case"createStorefrontResource":u=T6;break;default:break}o[s]=u?u(n,t,c,r,a):l}return o}function T6(n,e,t,i,r){return new T(async function(){let a=await h2(e,n,t,i,r);return V3(n,a,e,t,i,r)})}function _6(n,e,t,i,r){let a=c1(i,r);return new _(e,n,t,a,async function(){let o=await h2(e,n,t,i,r);return V3(n,o,e,t,i,r)})}function M6(n,e,t,i,r){let a=c1(i,r);return new A(e,n,a,async function(){let o=await h2(e,n,t,i,r);return V3(n,o,e,t,i,r)})}async function h2(n,e,t,i,r){let a=new URLSearchParams({path:t,...i&&{slug:i},...r&&{query:JSON.stringify(r)}}),o=a.size>0?`?${a}`:"",s=_4(n,"swell-session"),l=_4(n,"swell-data")||{};return(await fetch(`${n.storefront_url}/resources/${e}.json${o}`,{headers:{"X-Session":s,"Swell-Data":JSON.stringify(l)}})).json()}function c1(n,e){return{...n&&{slug:n},...e}}0&&(module.exports={DEFAULT_QUERY_PAGE_LIMIT,DeferredShopifyResource,FILE_DATA_INCLUDE_QUERY,GEO_DATA,LANG_TO_COUNTRY_CODES,LiquidSwell,MAX_QUERY_PAGE_LIMIT,MockRecordResource,MockRecordSingleton,PageError,PageNotFound,SECTION_GROUP_CONTENT,ShopifyArticle,ShopifyBlog,ShopifyCart,ShopifyCollection,ShopifyCollections,ShopifyCompatibility,ShopifyCustomer,ShopifyFont,ShopifyForm,ShopifyLink,ShopifyLocalization,ShopifyOrder,ShopifyPage,ShopifyPaginate,ShopifyPredictiveSearch,ShopifyProduct,ShopifyRecommendations,ShopifyResource,ShopifySearch,ShopifyVariant,StorefrontResource,Swell,SwellBackendAPI,SwellError,SwellStorefrontCollection,SwellStorefrontPagination,SwellStorefrontRecord,SwellStorefrontResource,SwellStorefrontSingleton,SwellTheme,ThemeColor,ThemeFont,ThemeForm,ThemeFormErrors,adaptShopifyFontData,adaptShopifyFormData,adaptShopifyMenuData,arrayToObject,deferMenuItemUrlAndResource,dehydrateSwellRefsInStorefrontResources,extractSettingsFromForm,findCircularReferences,findEditorSetting,findThemeSettingsByType,fontMap,forEachKeyDeep,getAllSections,getBlog,getBlogs,getCategories,getCategory,getCategoryWithProducts,getContentEntry,getContentList,getContentModel,getCountryCodeFromLocale,getEasyblocksBackend,getEasyblocksComponentDefinitions,getEasyblocksPagePropsWithConfigs,getEasyblocksPageTemplate,getEasyblocksPropsFromThemeConfigs,getLayoutSectionGroups,getMenuItemStorefrontUrl,getMenuItemUrlAndResource,getMenuItemValueId,getPage,getPageSections,getProduct,getProducts,getProductsFiltered,getSectionGroupProp,getSectionSettingsFromProps,getThemeSettingsFromProps,isArray,isObject,md5,removeCircularReferences,resolveAsyncResources,resolveLookupCollection,resolveMenuItemUrlAndResource,resolveMenuItems,resolveMenuSettings,resolveSectionSettings,resolveThemeSettings,scopeCustomCSS,stringifyQueryParams,systemFonts,toBase64});
|
|
945
945
|
//# sourceMappingURL=index.cjs.map
|