@gem-sdk/pages 7.0.0 → 7.0.1-dev.1
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/cjs/libs/api/get-home-page-props-v2.js +1 -1
- package/dist/cjs/libs/api/get-home-page-props.js +1 -1
- package/dist/cjs/libs/api/get-post-purchase-props-preview.js +1 -1
- package/dist/cjs/libs/api/get-preview-content-props.js +1 -1
- package/dist/cjs/libs/api/get-static-page-props-preview.js +1 -1
- package/dist/cjs/libs/api/get-static-page-props-v2.js +1 -1
- package/dist/cjs/libs/api/get-static-page-props.js +1 -1
- package/dist/cjs/libs/google-fonts.js +1 -1
- package/dist/cjs/libs/helpers/gen-fonts.js +1 -1
- package/dist/esm/libs/api/get-home-page-props-v2.js +1 -1
- package/dist/esm/libs/api/get-home-page-props.js +1 -1
- package/dist/esm/libs/api/get-post-purchase-props-preview.js +1 -1
- package/dist/esm/libs/api/get-preview-content-props.js +1 -1
- package/dist/esm/libs/api/get-static-page-props-preview.js +1 -1
- package/dist/esm/libs/api/get-static-page-props-v2.js +1 -1
- package/dist/esm/libs/api/get-static-page-props.js +1 -1
- package/dist/esm/libs/google-fonts.js +1 -1
- package/dist/esm/libs/helpers/gen-fonts.js +1 -1
- package/dist/types/index.d.ts +1 -1
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var core=require("@gem-sdk/core"),adapterShopify=require("@gem-sdk/adapter-shopify"),googleFonts=require("../google-fonts.js"),genCss=require("../helpers/gen-css.js"),getFallback=require("../helpers/get-fallback.js"),normalize=require("../helpers/normalize.js"),parseJson=require("../helpers/parse-json.js"),nextjs=require("@sentry/nextjs"),index=require("../../constants/index.js"),getMetafield=require("../helpers/get-metafield.js"),customFonts=require("../custom-fonts.js"),generateSeoLinks=require("../helpers/generate-seo-links.js");const getHomePagePropsV2=(e,t)=>async()=>{try{let a={slugType:"STATIC"},[s,l,i,o]=await Promise.allSettled([e([core.PublishedThemePagesDocument,a]),e([core.StorePropertyDocument]),t([adapterShopify.ShopMetaDocument]),e([core.PublishedShopMetasDocument,{keys:[index.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION,index.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL]}])]);if("rejected"===s.status)throw Error(s.reason?.[0]);let n="fulfilled"===o.status?o.value:void 0,
|
|
1
|
+
"use strict";var core=require("@gem-sdk/core"),adapterShopify=require("@gem-sdk/adapter-shopify"),googleFonts=require("../google-fonts.js"),genCss=require("../helpers/gen-css.js"),getFallback=require("../helpers/get-fallback.js"),normalize=require("../helpers/normalize.js"),parseJson=require("../helpers/parse-json.js"),nextjs=require("@sentry/nextjs"),index=require("../../constants/index.js"),getMetafield=require("../helpers/get-metafield.js"),customFonts=require("../custom-fonts.js"),generateSeoLinks=require("../helpers/generate-seo-links.js");const getHomePagePropsV2=(e,t)=>async()=>{try{let a={slugType:"STATIC"},[s,l,i,o]=await Promise.allSettled([e([core.PublishedThemePagesDocument,a]),e([core.StorePropertyDocument]),t([adapterShopify.ShopMetaDocument]),e([core.PublishedShopMetasDocument,{keys:[index.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION,index.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL]}])]);if("rejected"===s.status)throw Error(s.reason?.[0]);let n="fulfilled"===o.status?o.value:void 0,d=s.value?.publishedThemePages?.[0],r=s.value?.publishedThemePages?.[0]?.themePageCustomFonts;if(!d)throw Error("No data builder found for Home page");let u=normalize.parseBuilderTemplateV2(d),[g,h,m,P]=await Promise.all([googleFonts.getFontStyleFromPageTemplate(u),googleFonts.getFontFromGlobalStyle(d?.pageStyle?.data,void 0,u),getFallback.getFallbackV2(e,u),customFonts.getCustomFonts(r)]),p=d.isMobile??!1,f=getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION,d?.metafields)||n?.publishedShopMetas?.find(e=>e?.key===index.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION)?.value,c=parseJson.parseJson(getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL,d?.metafields)||n?.publishedShopMetas?.find(e=>e?.key===index.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL)?.value),T="fulfilled"===i.status?i.value:void 0,M="fulfilled"===l.status?l.value:void 0,y=M?.storeProperty?.favicon??"/favicon/favicon-32x32.png",b={defaultTitle:T?.shop.name,title:d?.name??"Home",description:f??T?.shop.description,openGraph:{site_name:T?.shop.name,locale:T?.localization.country.isoCode,title:d?.name??T?.shop.name,description:f??T?.shop.description,images:c?[c]:[]},additionalMetaTags:[{name:"theme-color",content:"#000000"}],canonical:`https://${M?.storeProperty?.primaryDomain}/`,additionalLinkTags:generateSeoLinks.generateSeoLinks({favicon:y,shopMeta:T})},S=T?.localization.language.isoCode??null,_=T?.localization.country.isoCode??null,A=S&&_?`${S}-${_}`:null;return parseJson.serializableJson({themeStyle:genCss.genCSS(d?.pageStyle?.data,p),fontStyle:h,elementFontStyle:g,builderData:u,swr:{fallback:m},moneyFormat:T?.shop.moneyFormat??null,currency:T?.localization.country.currency.isoCode??null,languageIsoCode:S,countryIsoCode:_,locale:A,swatches:parseJson.parseJson(M?.storeProperty?.swatchesConfig),seo:b,mobileOnly:p,gaTrackingId:getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.ANALYTICS_GA_TRACKING_ID,d?.metafields)??null,facebookPixelId:getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.ANALYTICS_FB_PIXEL_ID,d?.metafields)??null,tiktokPixelId:getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.ANALYTICS_TIKTOK_PIXEL_ID,d?.metafields)??null,customCodeHeader:getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.CUSTOM_CODE_HEADER,d?.metafields)??null,customCodeBody:getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.CUSTOM_CODE_BODY,d?.metafields)??null,pageHandle:d.handle??null,customFonts:P})}catch(e){throw nextjs.captureException(e),e}};exports.getHomePagePropsV2=getHomePagePropsV2;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var core=require("@gem-sdk/core"),adapterShopify=require("@gem-sdk/adapter-shopify"),googleFonts=require("../google-fonts.js"),genCss=require("../helpers/gen-css.js"),generateManifres=require("../helpers/generate-manifres.js"),normalize=require("../helpers/normalize.js"),parseJson=require("../helpers/parse-json.js"),index=require("../../constants/index.js"),getMetafield=require("../helpers/get-metafield.js");const getHomePageProps=(e,s)=>async()=>{let a="STATIC",t={slugType:a},[r,i,o,l]=await Promise.allSettled([e([core.PublishedThemePagesDocument,t]),e([core.StorePropertyDocument]),s([adapterShopify.ShopMetaDocument]),e([core.PublishedShopMetasDocument,{keys:[index.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION,index.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL]}])]);if("rejected"===r.status)return{pageType:a};let n="fulfilled"===l.status?l.value:void 0,d=r.value.publishedThemePages?.[0],p=normalize.parseBuilderTemplate(d),u=await googleFonts.getFontFromGlobalStyle(d?.pageStyle?.data),c=core.prefetchQueries(p),m=await Promise.allSettled(c.map(({query:s,variables:a,func:t})=>t?t(e,a):s?e([s,a]):{})),h=c.reduce((e,{key:s},a)=>{let t=m[a];return t?.status==="fulfilled"?{...e,[s]:t.value}:e},{}),g=getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION,d?.metafields)||n?.publishedShopMetas?.find(e=>e?.key===index.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION)?.value,f=parseJson.parseJson(getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL,d?.metafields)||n?.publishedShopMetas?.find(e=>e?.key===index.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL)?.value),P="fulfilled"===o.status?o.value:void 0,y="fulfilled"===i.status?i.value:void 0,T=y?.storeProperty?.favicon??"/favicon/favicon-32x32.png",M={defaultTitle:P?.shop.name,title:d?.name??"Home",description:g??P?.shop.description,openGraph:{site_name:P?.shop.name,locale:P?.localization.country.isoCode,title:d?.name??P?.shop.name,description:g??P?.shop.description,images:f?[f]:[]},additionalMetaTags:[{name:"theme-color",content:"#000000"}],canonical:"/",additionalLinkTags:[{rel:"icon",sizes:"32x32",href:`${T}-/crop/1:1/center/-/smart_resize/32x32/`},{rel:"icon",sizes:"16x16",href:`${T}-/crop/1:1/center/-/smart_resize/16x16/`},{rel:"apple-touch-icon",sizes:"180x180",href:`${T}-/crop/1:1/center/-/smart_resize/180x180/`},{rel:"manifest",href:generateManifres.generateManifest({theme_color:"#000000",background_color:"#ffffff",display:"standalone",scope:"/",start_url:"/",name:P?.shop.name,short_name:P?.shop.name,description:P?.shop.description,icons:[{src:`${T}-/crop/1:1/center/-/smart_resize/192x192/`,sizes:"192x192",type:"image/png",purpose:"any maskable"},{src:`${T}-/crop/1:1/center/-/smart_resize/512x512/`,sizes:"512x512",type:"image/png"}]})}]},_=P?.localization.language.isoCode??null,x=P?.localization.country.isoCode??null,S=_&&x?`${_}-${x}`:null;return parseJson.serializableJson({themeStyle:genCss.genCSS(d?.pageStyle?.data),fontStyle:u,builderData:p,pageType:a,swr:{fallback:h},moneyFormat:P?.shop.moneyFormat??null,currency:P?.localization.country.currency.isoCode??null,locale:S,languageIsoCode:_,countryIsoCode:x,swatches:parseJson.parseJson(y?.storeProperty?.swatchesConfig),seo:M})};exports.getHomePageProps=getHomePageProps;
|
|
1
|
+
"use strict";var core=require("@gem-sdk/core"),adapterShopify=require("@gem-sdk/adapter-shopify"),googleFonts=require("../google-fonts.js"),genCss=require("../helpers/gen-css.js"),generateManifres=require("../helpers/generate-manifres.js"),normalize=require("../helpers/normalize.js"),parseJson=require("../helpers/parse-json.js"),index=require("../../constants/index.js"),getMetafield=require("../helpers/get-metafield.js");const getHomePageProps=(e,s)=>async()=>{let a="STATIC",t={slugType:a},[r,i,o,l]=await Promise.allSettled([e([core.PublishedThemePagesDocument,t]),e([core.StorePropertyDocument]),s([adapterShopify.ShopMetaDocument]),e([core.PublishedShopMetasDocument,{keys:[index.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION,index.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL]}])]);if("rejected"===r.status)return{pageType:a};let n="fulfilled"===l.status?l.value:void 0,d=r.value.publishedThemePages?.[0],p=normalize.parseBuilderTemplate(d),u=await googleFonts.getFontFromGlobalStyle(d?.pageStyle?.data,void 0,p),c=core.prefetchQueries(p),m=await Promise.allSettled(c.map(({query:s,variables:a,func:t})=>t?t(e,a):s?e([s,a]):{})),h=c.reduce((e,{key:s},a)=>{let t=m[a];return t?.status==="fulfilled"?{...e,[s]:t.value}:e},{}),g=getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION,d?.metafields)||n?.publishedShopMetas?.find(e=>e?.key===index.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION)?.value,f=parseJson.parseJson(getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL,d?.metafields)||n?.publishedShopMetas?.find(e=>e?.key===index.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL)?.value),P="fulfilled"===o.status?o.value:void 0,y="fulfilled"===i.status?i.value:void 0,T=y?.storeProperty?.favicon??"/favicon/favicon-32x32.png",M={defaultTitle:P?.shop.name,title:d?.name??"Home",description:g??P?.shop.description,openGraph:{site_name:P?.shop.name,locale:P?.localization.country.isoCode,title:d?.name??P?.shop.name,description:g??P?.shop.description,images:f?[f]:[]},additionalMetaTags:[{name:"theme-color",content:"#000000"}],canonical:"/",additionalLinkTags:[{rel:"icon",sizes:"32x32",href:`${T}-/crop/1:1/center/-/smart_resize/32x32/`},{rel:"icon",sizes:"16x16",href:`${T}-/crop/1:1/center/-/smart_resize/16x16/`},{rel:"apple-touch-icon",sizes:"180x180",href:`${T}-/crop/1:1/center/-/smart_resize/180x180/`},{rel:"manifest",href:generateManifres.generateManifest({theme_color:"#000000",background_color:"#ffffff",display:"standalone",scope:"/",start_url:"/",name:P?.shop.name,short_name:P?.shop.name,description:P?.shop.description,icons:[{src:`${T}-/crop/1:1/center/-/smart_resize/192x192/`,sizes:"192x192",type:"image/png",purpose:"any maskable"},{src:`${T}-/crop/1:1/center/-/smart_resize/512x512/`,sizes:"512x512",type:"image/png"}]})}]},_=P?.localization.language.isoCode??null,x=P?.localization.country.isoCode??null,S=_&&x?`${_}-${x}`:null;return parseJson.serializableJson({themeStyle:genCss.genCSS(d?.pageStyle?.data),fontStyle:u,builderData:p,pageType:a,swr:{fallback:h},moneyFormat:P?.shop.moneyFormat??null,currency:P?.localization.country.currency.isoCode??null,locale:S,languageIsoCode:_,countryIsoCode:x,swatches:parseJson.parseJson(y?.storeProperty?.swatchesConfig),seo:M})};exports.getHomePageProps=getHomePageProps;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var core=require("@gem-sdk/core"),nextjs=require("@sentry/nextjs"),googleFonts=require("../google-fonts.js"),getFallback=require("../helpers/get-fallback.js"),normalize=require("../helpers/normalize.js"),usePagePreview=require("../hooks/usePagePreview.js"),parseJson=require("../helpers/parse-json.js"),genCss=require("../helpers/gen-css.js");const fetchSalePageDataByID=async(e,r)=>{let a={themePageId:e.themePageId,first:1,where:{default:!0}},[t,o]=await Promise.allSettled([r([core.ThemePageDocument,a]),r([core.StorePropertyDocument])]);if("rejected"===t.status)throw Error(t.reason?.[0]);return{dataBuilder:t.value.themePage,pageStyle:t.value.themePage?.theme?.themeStyles?.edges?.[0]?.node?.data,storeProperty:o,dynamicDiscountOffer:void 0,productOffers:[]}},fetchPostPurchasePageDataByID=async(e,r)=>{let a={themePageId:e.themePageId,first:1,where:{default:!0}},[t,o,l,s]=await Promise.allSettled([r([core.ThemePageDocument,a]),r([core.StorePropertyDocument]),r([core.SaleFunnelDiscountsDocument,{where:{saleFunnelOfferID:e.currentOfferID}}]),r([core.SaleFunnelOfferDocument,{saleFunnelOfferId:e.currentOfferID}])]);if("rejected"===t.status)throw Error(t.reason?.[0]);if("rejected"===l.status)throw Error(l.reason?.[0]);if("rejected"===s.status)throw Error(s.reason?.[0]);return{dataBuilder:t.value.themePage,pageStyle:t.value.themePage?.theme?.themeStyles?.edges?.[0]?.node?.data,storeProperty:o,dynamicDiscountOffer:s.value.saleFunnelOffer?.dynamicDiscounts?.[0],productOffers:l.value.saleFunnelDiscounts?.edges?.filter(e=>e?.node?.objectType==="PRODUCT"&&e?.node?.type==="ORDER_VALUE")||[]}},fetchThemePageDataByTemplateID=async(e,r)=>{let a={libraryTemplateId:e.libraryTemplateId},t=[],[o,l]=await Promise.allSettled([r([core.LibraryTemplateDocument,a]),r([core.StorePropertyDocument])]);if(e.currentOfferID){let[a]=await Promise.allSettled([r([core.LibrarySaleFunnelDocument,{librarySaleFunnelId:e.librarySaleFunnelID}])]);if("rejected"===a.status)throw Error(a.reason?.[0]);let o=a.value.librarySaleFunnel?.offers?.find(r=>r?.id===e.currentOfferID);o&&(t=o.discounts?.filter(e=>e?.objectType==="PRODUCT"&&"ORDER_VALUE"===e.type).map(e=>({node:{...e}}))||[])}if("rejected"===o.status)throw Error(o.reason?.[0]);return{dataBuilder:o.value.libraryTemplate,pageStyle:void 0,storeProperty:l,dynamicDiscountOffer:void 0,productOffers:t}},fetchShopLibraryPageDataByID=async(e,r)=>{let a={shopLibraryPageId:e.shopLibraryPageId},[t,o,l,s]=await Promise.allSettled([r([core.ShopLibraryPageDocument,a]),r([core.StorePropertyDocument]),r([core.SaleFunnelDiscountsDocument,{where:{saleFunnelOfferID:e.currentOfferID}}]),r([core.SaleFunnelOfferDocument,{saleFunnelOfferId:e.currentOfferID}])]);if("rejected"===t.status)throw Error(t.reason?.[0]);if("rejected"===l.status)throw Error(l.reason?.[0]);if("rejected"===s.status)throw Error(s.reason?.[0]);return{dataBuilder:t.value.shopLibraryPage,pageStyle:void 0,storeProperty:o,dynamicDiscountOffer:s.value.saleFunnelOffer?.dynamicDiscounts?.[0],productOffers:l.value.saleFunnelDiscounts?.edges?.filter(e=>e?.node?.objectType==="PRODUCT"&&e?.node?.type==="ORDER_VALUE")||[]}},fetchLibraryTemplateDataByID=async(e,r)=>{let a={libraryTemplateId:e.libraryTemplateId},[t,o,l,s]=await Promise.allSettled([r([core.LibraryTemplateDocument,a]),r([core.StorePropertyDocument]),r([core.SaleFunnelDiscountsDocument,{where:{saleFunnelOfferID:e.currentOfferID}}]),r([core.SaleFunnelOfferDocument,{saleFunnelOfferId:e.currentOfferID}])]);if("rejected"===t.status)throw Error(t.reason?.[0]);if("rejected"===l.status)throw Error(l.reason?.[0]);if("rejected"===s.status)throw Error(s.reason?.[0]);return{dataBuilder:t.value.libraryTemplate,pageStyle:void 0,storeProperty:o,dynamicDiscountOffer:s.value.saleFunnelOffer?.dynamicDiscounts?.[0],productOffers:l.value.saleFunnelDiscounts?.edges?.filter(e=>e?.node?.objectType==="PRODUCT"&&e?.node?.type==="ORDER_VALUE")||[]}},getRelevantPageData=async e=>{let{id:r,currentOfferID:a,fetcher:t,isLibraryTemplate:o,librarySaleFunnelID:l,isShopLibraryPage:s}=e;return l?await fetchThemePageDataByTemplateID({libraryTemplateId:r,currentOfferID:a,librarySaleFunnelID:l},t):s&&a?await fetchShopLibraryPageDataByID({shopLibraryPageId:r,currentOfferID:a},t):o&&a?await fetchLibraryTemplateDataByID({libraryTemplateId:r,currentOfferID:a},t):a?await fetchPostPurchasePageDataByID({themePageId:r,currentOfferID:a},t):await fetchSalePageDataByID({themePageId:r},t)},getPostPurchasePropsPreview=(e,r,a)=>async t=>{try{let{id:o,currentOfferID:l,isLibraryTemplate:s,isShopLibraryPage:n}=t,{dataBuilder:c,storeProperty:
|
|
1
|
+
"use strict";var core=require("@gem-sdk/core"),nextjs=require("@sentry/nextjs"),googleFonts=require("../google-fonts.js"),getFallback=require("../helpers/get-fallback.js"),normalize=require("../helpers/normalize.js"),usePagePreview=require("../hooks/usePagePreview.js"),parseJson=require("../helpers/parse-json.js"),genCss=require("../helpers/gen-css.js");const fetchSalePageDataByID=async(e,r)=>{let a={themePageId:e.themePageId,first:1,where:{default:!0}},[t,o]=await Promise.allSettled([r([core.ThemePageDocument,a]),r([core.StorePropertyDocument])]);if("rejected"===t.status)throw Error(t.reason?.[0]);return{dataBuilder:t.value.themePage,pageStyle:t.value.themePage?.theme?.themeStyles?.edges?.[0]?.node?.data,storeProperty:o,dynamicDiscountOffer:void 0,productOffers:[]}},fetchPostPurchasePageDataByID=async(e,r)=>{let a={themePageId:e.themePageId,first:1,where:{default:!0}},[t,o,l,s]=await Promise.allSettled([r([core.ThemePageDocument,a]),r([core.StorePropertyDocument]),r([core.SaleFunnelDiscountsDocument,{where:{saleFunnelOfferID:e.currentOfferID}}]),r([core.SaleFunnelOfferDocument,{saleFunnelOfferId:e.currentOfferID}])]);if("rejected"===t.status)throw Error(t.reason?.[0]);if("rejected"===l.status)throw Error(l.reason?.[0]);if("rejected"===s.status)throw Error(s.reason?.[0]);return{dataBuilder:t.value.themePage,pageStyle:t.value.themePage?.theme?.themeStyles?.edges?.[0]?.node?.data,storeProperty:o,dynamicDiscountOffer:s.value.saleFunnelOffer?.dynamicDiscounts?.[0],productOffers:l.value.saleFunnelDiscounts?.edges?.filter(e=>e?.node?.objectType==="PRODUCT"&&e?.node?.type==="ORDER_VALUE")||[]}},fetchThemePageDataByTemplateID=async(e,r)=>{let a={libraryTemplateId:e.libraryTemplateId},t=[],[o,l]=await Promise.allSettled([r([core.LibraryTemplateDocument,a]),r([core.StorePropertyDocument])]);if(e.currentOfferID){let[a]=await Promise.allSettled([r([core.LibrarySaleFunnelDocument,{librarySaleFunnelId:e.librarySaleFunnelID}])]);if("rejected"===a.status)throw Error(a.reason?.[0]);let o=a.value.librarySaleFunnel?.offers?.find(r=>r?.id===e.currentOfferID);o&&(t=o.discounts?.filter(e=>e?.objectType==="PRODUCT"&&"ORDER_VALUE"===e.type).map(e=>({node:{...e}}))||[])}if("rejected"===o.status)throw Error(o.reason?.[0]);return{dataBuilder:o.value.libraryTemplate,pageStyle:void 0,storeProperty:l,dynamicDiscountOffer:void 0,productOffers:t}},fetchShopLibraryPageDataByID=async(e,r)=>{let a={shopLibraryPageId:e.shopLibraryPageId},[t,o,l,s]=await Promise.allSettled([r([core.ShopLibraryPageDocument,a]),r([core.StorePropertyDocument]),r([core.SaleFunnelDiscountsDocument,{where:{saleFunnelOfferID:e.currentOfferID}}]),r([core.SaleFunnelOfferDocument,{saleFunnelOfferId:e.currentOfferID}])]);if("rejected"===t.status)throw Error(t.reason?.[0]);if("rejected"===l.status)throw Error(l.reason?.[0]);if("rejected"===s.status)throw Error(s.reason?.[0]);return{dataBuilder:t.value.shopLibraryPage,pageStyle:void 0,storeProperty:o,dynamicDiscountOffer:s.value.saleFunnelOffer?.dynamicDiscounts?.[0],productOffers:l.value.saleFunnelDiscounts?.edges?.filter(e=>e?.node?.objectType==="PRODUCT"&&e?.node?.type==="ORDER_VALUE")||[]}},fetchLibraryTemplateDataByID=async(e,r)=>{let a={libraryTemplateId:e.libraryTemplateId},[t,o,l,s]=await Promise.allSettled([r([core.LibraryTemplateDocument,a]),r([core.StorePropertyDocument]),r([core.SaleFunnelDiscountsDocument,{where:{saleFunnelOfferID:e.currentOfferID}}]),r([core.SaleFunnelOfferDocument,{saleFunnelOfferId:e.currentOfferID}])]);if("rejected"===t.status)throw Error(t.reason?.[0]);if("rejected"===l.status)throw Error(l.reason?.[0]);if("rejected"===s.status)throw Error(s.reason?.[0]);return{dataBuilder:t.value.libraryTemplate,pageStyle:void 0,storeProperty:o,dynamicDiscountOffer:s.value.saleFunnelOffer?.dynamicDiscounts?.[0],productOffers:l.value.saleFunnelDiscounts?.edges?.filter(e=>e?.node?.objectType==="PRODUCT"&&e?.node?.type==="ORDER_VALUE")||[]}},getRelevantPageData=async e=>{let{id:r,currentOfferID:a,fetcher:t,isLibraryTemplate:o,librarySaleFunnelID:l,isShopLibraryPage:s}=e;return l?await fetchThemePageDataByTemplateID({libraryTemplateId:r,currentOfferID:a,librarySaleFunnelID:l},t):s&&a?await fetchShopLibraryPageDataByID({shopLibraryPageId:r,currentOfferID:a},t):o&&a?await fetchLibraryTemplateDataByID({libraryTemplateId:r,currentOfferID:a},t):a?await fetchPostPurchasePageDataByID({themePageId:r,currentOfferID:a},t):await fetchSalePageDataByID({themePageId:r},t)},getPostPurchasePropsPreview=(e,r,a)=>async t=>{try{let{id:o,currentOfferID:l,isLibraryTemplate:s,isShopLibraryPage:n}=t,{dataBuilder:c,storeProperty:i,productOffers:u,pageStyle:f,dynamicDiscountOffer:D}=await getRelevantPageData({id:o,currentOfferID:l,fetcher:e,isLibraryTemplate:s,isShopLibraryPage:n,librarySaleFunnelID:r});if(!c)throw Error(`No data builder found for slug: /preview/${o}`);let d=r||s&&l?normalize.parseBuilderLibraryTemplate(c):n?normalize.parseShopLibraryPageTemplate(c):normalize.parseBuilderTemplateV2(c),y=a||e,[m,h,P]=await Promise.all([googleFonts.getFontStyleFromPageTemplate(d),googleFonts.getFontFromGlobalStyle(f,void 0,d),getFallback.getFallbackV2(y,d,!1)]),{seo:g,pageConfig:p}=usePagePreview.usePagePreview(c,i);return parseJson.serializableJson({themeStyle:genCss.genCSS(f),seo:g,...p,elementFontStyle:m,fontStyle:h,builderData:d,swr:{fallback:P},productOffers:u,dynamicDiscountOffer:D})}catch(e){throw console.log("error",e),nextjs.captureException(e),e}};exports.fetchLibraryTemplateDataByID=fetchLibraryTemplateDataByID,exports.fetchPostPurchasePageDataByID=fetchPostPurchasePageDataByID,exports.fetchSalePageDataByID=fetchSalePageDataByID,exports.fetchShopLibraryPageDataByID=fetchShopLibraryPageDataByID,exports.fetchThemePageDataByTemplateID=fetchThemePageDataByTemplateID,exports.getPostPurchasePropsPreview=getPostPurchasePropsPreview,exports.getRelevantPageData=getRelevantPageData;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var core=require("@gem-sdk/core"),nextjs=require("@sentry/nextjs"),customFonts=require("../custom-fonts.js"),googleFonts=require("../google-fonts.js"),genCss=require("../helpers/gen-css.js"),normalize=require("../helpers/normalize.js"),parseJson=require("../helpers/parse-json.js"),fetcher=require("../fetcher.js"),getCollectionSharePageProps=require("./get-collection-share-page-props.js");const getSharePageContentProps=e=>async t=>{try{let{sharedPage:l,customFonts:o,publicToken:r}=await e([t]);if(!l||!r)return null;let{page:s,themeStyle:n,pageMeta:a,shopMeta:u,moneyFormat:
|
|
1
|
+
"use strict";var core=require("@gem-sdk/core"),nextjs=require("@sentry/nextjs"),customFonts=require("../custom-fonts.js"),googleFonts=require("../google-fonts.js"),genCss=require("../helpers/gen-css.js"),normalize=require("../helpers/normalize.js"),parseJson=require("../helpers/parse-json.js"),fetcher=require("../fetcher.js"),getCollectionSharePageProps=require("./get-collection-share-page-props.js");const getSharePageContentProps=e=>async t=>{try{let{sharedPage:l,customFonts:o,publicToken:r}=await e([t]);if(!l||!r)return null;let{page:s,themeStyle:n,pageMeta:a,shopMeta:u,moneyFormat:i,moneyWithCurrencyFormat:c}=l,{sectionPosition:p}=s??{},g=normalize.parseBuilderTemplateV2({...l,sectionPosition:p}),P=null,d=null,f=null;if(s?.type==="GP_COLLECTION"){let e=(a??[]).find(e=>"selected_preview_collection"===e.key)?.value,t=e?JSON.parse(e??{}):null;d=t?.collectionId,f=t?.collectionTitle}let C=null;if(s?.type==="GP_PRODUCT"){let e=(a??[]).find(e=>"selected_preview_product"===e.key)?.value;C=e?JSON.parse(e??{}):null}let[h,m,y,S,F]=await Promise.allSettled([googleFonts.getFontStyleFromPageTemplate(g),googleFonts.getFontFromGlobalStyle(n?.data,void 0,g),customFonts.getCustomFonts(o),fetcher.createFetcher(r)([core.StorePropertyDocument]),s?.type==="GP_COLLECTION"?getCollectionSharePageProps.getCollectionSharePageProps(fetcher.createFetcher(r))(d??void 0):null]);P="fulfilled"===F.status?F.value?.collection:null;let v="fulfilled"===h.status?h.value:null,_="fulfilled"===m.status?m.value:null,j="fulfilled"===y.status?y.value:null,O="fulfilled"===S.status?S.value:void 0;return parseJson.serializableJson({builderData:g,page:s,themeStyle:genCss.genCSS(n?.data,!1),pageMeta:a,shopMeta:u,elementFontStyle:v,fontStyle:_,customFonts:j,publicStoreFrontData:r?{token:r,endpoint:process.env.NEXT_PUBLIC_API_URL??""}:null,pageType:s?.type,moneyFormat:i,moneyWithCurrencyFormat:c,swatches:parseJson.parseJson(O?.storeProperty?.swatchesConfig),collection:P,dynamicCollection:s?.type==="GP_COLLECTION"?{collectionId:P?.baseID,collectionTitle:f}:null,dynamicProduct:s?.type==="GP_PRODUCT"?C:null})}catch(e){return nextjs.captureException(e),null}};exports.getSharePageContentProps=getSharePageContentProps;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var core=require("@gem-sdk/core"),adapterShopify=require("@gem-sdk/adapter-shopify"),nextjs=require("@sentry/nextjs"),googleFonts=require("../google-fonts.js"),genCss=require("../helpers/gen-css.js"),getFallback=require("../helpers/get-fallback.js"),normalize=require("../helpers/normalize.js"),parseJson=require("../helpers/parse-json.js"),customFonts=require("../custom-fonts.js"),sentry=require("../helpers/sentry.js"),generateSeoLinks=require("../helpers/generate-seo-links.js");const getStaticPagePropsPreview=(e,o)=>async t=>{try{let a="STATIC",r={handleURL:t,pageType:a},[n,s,l]=await Promise.allSettled([e([core.PreviewThemePageDocument,r]),e([core.StorePropertyDocument]),o([adapterShopify.ShopMetaDocument])]);if("rejected"===n.status)throw sentry.sentryCaptureException("PreviewThemePageDocument",n.reason,{variables:r,theme:n}),Error(n.reason?.[0]);let i=n.value.previewThemePage;if(!i)throw Error(`No data builder found for slug: /preview/${t}`);let c=i.customFonts,u=normalize.parseBuilderTemplateV2(i),[g,p,
|
|
1
|
+
"use strict";var core=require("@gem-sdk/core"),adapterShopify=require("@gem-sdk/adapter-shopify"),nextjs=require("@sentry/nextjs"),googleFonts=require("../google-fonts.js"),genCss=require("../helpers/gen-css.js"),getFallback=require("../helpers/get-fallback.js"),normalize=require("../helpers/normalize.js"),parseJson=require("../helpers/parse-json.js"),customFonts=require("../custom-fonts.js"),sentry=require("../helpers/sentry.js"),generateSeoLinks=require("../helpers/generate-seo-links.js");const getStaticPagePropsPreview=(e,o)=>async t=>{try{let a="STATIC",r={handleURL:t,pageType:a},[n,s,l]=await Promise.allSettled([e([core.PreviewThemePageDocument,r]),e([core.StorePropertyDocument]),o([adapterShopify.ShopMetaDocument])]);if("rejected"===n.status)throw sentry.sentryCaptureException("PreviewThemePageDocument",n.reason,{variables:r,theme:n}),Error(n.reason?.[0]);let i=n.value.previewThemePage;if(!i)throw Error(`No data builder found for slug: /preview/${t}`);let c=i.customFonts,u=normalize.parseBuilderTemplateV2(i),[g,d,p,m]=await Promise.all([googleFonts.getFontStyleFromPageTemplate(u),googleFonts.getFontFromGlobalStyle(i?.themeStyle?.data,void 0,u),getFallback.getFallbackV2(e,u),customFonts.getCustomFonts(c)]),h=!!i.isMobile,y=i?.dataSEO?.find(e=>e?.key==="global-meta-description")?.value,P=parseJson.parseJson(i?.dataSEO?.find(e=>e?.key==="global-meta-thumbnail")?.value),f="fulfilled"===l.status?l.value:void 0,k="fulfilled"===s.status?s.value:void 0,S=k?.storeProperty?.favicon??"/favicon/favicon-32x32.png",v={defaultTitle:f?.shop.name,title:i?.name,description:y??f?.shop.description,openGraph:{site_name:f?.shop.name,locale:f?.localization.country.isoCode,title:i?.name??f?.shop.name,description:y??f?.shop.description,images:P?[P]:[]},nofollow:!0,noindex:!0,canonical:`/preview/${t}`,additionalMetaTags:[{name:"theme-color",content:"#000000"}],additionalLinkTags:generateSeoLinks.generateSeoLinks({favicon:S,shopMeta:f})},w=f?.localization.language.isoCode??null,F=f?.localization.country.isoCode??null,b=w&&F?`${w}-${F}`:null;return parseJson.serializableJson({themeStyle:genCss.genCSS(i?.themeStyle?.data,h),fontStyle:d,elementFontStyle:g,builderData:u,pageType:a,moneyFormat:f?.shop?.moneyFormat??null,currency:f?.localization?.country?.currency?.isoCode??null,languageIsoCode:w,countryIsoCode:F,locale:b,swr:{fallback:p},swatches:parseJson.parseJson(k?.storeProperty?.swatchesConfig),seo:v,mobileOnly:h,gaTrackingId:i.analytic?.gaTrackingID??null,facebookPixelId:i.analytic?.fbPixelID??null,tiktokPixelId:i.analytic?.tiktokPixelID??null,customCodeHeader:i.customCode?.header??null,customCodeBody:i.customCode?.body??null,customFonts:m,pageBackground:normalize.extractPageBackground(i),interaction:i?.interaction})}catch(e){throw nextjs.captureException(e),e}};exports.getStaticPagePropsPreview=getStaticPagePropsPreview;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var core=require("@gem-sdk/core"),adapterShopify=require("@gem-sdk/adapter-shopify"),googleFonts=require("../google-fonts.js"),genCss=require("../helpers/gen-css.js"),getFallback=require("../helpers/get-fallback.js"),normalize=require("../helpers/normalize.js"),parseJson=require("../helpers/parse-json.js"),nextjs=require("@sentry/nextjs"),customFonts=require("../custom-fonts.js"),getMetafield=require("../helpers/get-metafield.js"),index=require("../../constants/index.js"),generateSeoLinks=require("../helpers/generate-seo-links.js");const getStaticPagePropsV2=(e,t)=>async a=>{try{let i="STATIC",l={slug:a,slugType:i},[s,o,d,n]=await Promise.allSettled([e([core.PublishedThemePagesDocument,l]),e([core.StorePropertyDocument]),t([adapterShopify.ShopMetaDocument]),e([core.PublishedShopMetasDocument,{keys:["source_font",index.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION,index.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL]}])]);if("rejected"===s.status)throw Error(s.reason?.[0]);let r="fulfilled"===n.status?n.value:void 0,u=r?.publishedShopMetas?.find(e=>e?.key==="source_font"),g=s.value.publishedThemePages?.[0],h=s.value?.publishedThemePages?.[0]?.themePageCustomFonts;if(!g)throw Error(`No data builder found for slug: /${a}`);let m=normalize.parseBuilderTemplateV2(g),[P,f,p,c]=await Promise.all([googleFonts.getFontStyleFromPageTemplate(m,u?.value),googleFonts.getFontFromGlobalStyle(g?.pageStyle?.data,u?.value),getFallback.getFallbackV2(e,m),customFonts.getCustomFonts(h)]),T=g.isMobile??!1,M=getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION,g?.metafields)||r?.publishedShopMetas?.find(e=>e?.key===index.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION)?.value,y=getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.GLOBAL_META_TITLE,g?.metafields)||r?.publishedShopMetas?.find(e=>e?.key===index.PublishedThemePageMetafields.GLOBAL_META_TITLE)?.value,b=parseJson.parseJson(getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL,g?.metafields)||r?.publishedShopMetas?.find(e=>e?.key===index.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL)?.value),_=getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.NOINDEX_KEY,g?.metafields)||r?.publishedShopMetas?.find(e=>e?.key===index.PublishedThemePageMetafields.NOINDEX_KEY)?.value,L=getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.NOFOLLOW_KEY,g?.metafields)||r?.publishedShopMetas?.find(e=>e?.key===index.PublishedThemePageMetafields.NOFOLLOW_KEY)?.value,S="fulfilled"===d.status?d.value:void 0,x="fulfilled"===o.status?o.value:void 0,A=x?.storeProperty?.favicon??"/favicon/favicon-32x32.png",E={defaultTitle:S?.shop.name,title:y||g?.name,description:M??S?.shop.description,openGraph:{site_name:S?.shop.name,locale:S?.localization.country.isoCode,title:(y||g?.name)??S?.shop.name,description:M??S?.shop.description,images:b?[b]:[]},noindex:"true"===_,nofollow:"true"===L,canonical:`https://${x?.storeProperty?.primaryDomain}/${a}`,additionalMetaTags:[{name:"theme-color",content:"#000000"}],additionalLinkTags:generateSeoLinks.generateSeoLinks({favicon:A,shopMeta:S})},B=S?.localization.language.isoCode??null,I=S?.localization.country.isoCode??null,O=B&&I?`${B}-${I}`:null;return parseJson.serializableJson({themeStyle:genCss.genCSS(g?.pageStyle?.data,T),fontStyle:f,elementFontStyle:P,builderData:m,pageType:i,moneyFormat:S?.shop.moneyFormat??null,currency:S?.localization.country.currency.isoCode??null,languageIsoCode:B,countryIsoCode:I,locale:O,swr:{fallback:p},swatches:parseJson.parseJson(x?.storeProperty?.swatchesConfig),seo:E,mobileOnly:T,gaTrackingId:getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.ANALYTICS_GA_TRACKING_ID,g?.metafields)??null,facebookPixelId:getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.ANALYTICS_FB_PIXEL_ID,g?.metafields)??null,tiktokPixelId:getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.ANALYTICS_TIKTOK_PIXEL_ID,g?.metafields)??null,customCodeHeader:getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.CUSTOM_CODE_HEADER,g?.metafields)??null,customCodeBody:getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.CUSTOM_CODE_BODY,g?.metafields)??null,pageHandle:g.handle??null,customFonts:c,interaction:g?.interaction,pageBackground:normalize.extractPageBackground(g)})}catch(e){throw nextjs.captureException(e),e}};exports.getStaticPagePropsV2=getStaticPagePropsV2;
|
|
1
|
+
"use strict";var core=require("@gem-sdk/core"),adapterShopify=require("@gem-sdk/adapter-shopify"),googleFonts=require("../google-fonts.js"),genCss=require("../helpers/gen-css.js"),getFallback=require("../helpers/get-fallback.js"),normalize=require("../helpers/normalize.js"),parseJson=require("../helpers/parse-json.js"),nextjs=require("@sentry/nextjs"),customFonts=require("../custom-fonts.js"),getMetafield=require("../helpers/get-metafield.js"),index=require("../../constants/index.js"),generateSeoLinks=require("../helpers/generate-seo-links.js");const getStaticPagePropsV2=(e,t)=>async a=>{try{let i="STATIC",l={slug:a,slugType:i},[s,o,d,n]=await Promise.allSettled([e([core.PublishedThemePagesDocument,l]),e([core.StorePropertyDocument]),t([adapterShopify.ShopMetaDocument]),e([core.PublishedShopMetasDocument,{keys:["source_font",index.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION,index.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL]}])]);if("rejected"===s.status)throw Error(s.reason?.[0]);let r="fulfilled"===n.status?n.value:void 0,u=r?.publishedShopMetas?.find(e=>e?.key==="source_font"),g=s.value.publishedThemePages?.[0],h=s.value?.publishedThemePages?.[0]?.themePageCustomFonts;if(!g)throw Error(`No data builder found for slug: /${a}`);let m=normalize.parseBuilderTemplateV2(g),[P,f,p,c]=await Promise.all([googleFonts.getFontStyleFromPageTemplate(m,u?.value),googleFonts.getFontFromGlobalStyle(g?.pageStyle?.data,u?.value,m),getFallback.getFallbackV2(e,m),customFonts.getCustomFonts(h)]),T=g.isMobile??!1,M=getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION,g?.metafields)||r?.publishedShopMetas?.find(e=>e?.key===index.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION)?.value,y=getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.GLOBAL_META_TITLE,g?.metafields)||r?.publishedShopMetas?.find(e=>e?.key===index.PublishedThemePageMetafields.GLOBAL_META_TITLE)?.value,b=parseJson.parseJson(getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL,g?.metafields)||r?.publishedShopMetas?.find(e=>e?.key===index.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL)?.value),_=getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.NOINDEX_KEY,g?.metafields)||r?.publishedShopMetas?.find(e=>e?.key===index.PublishedThemePageMetafields.NOINDEX_KEY)?.value,L=getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.NOFOLLOW_KEY,g?.metafields)||r?.publishedShopMetas?.find(e=>e?.key===index.PublishedThemePageMetafields.NOFOLLOW_KEY)?.value,S="fulfilled"===d.status?d.value:void 0,x="fulfilled"===o.status?o.value:void 0,A=x?.storeProperty?.favicon??"/favicon/favicon-32x32.png",E={defaultTitle:S?.shop.name,title:y||g?.name,description:M??S?.shop.description,openGraph:{site_name:S?.shop.name,locale:S?.localization.country.isoCode,title:(y||g?.name)??S?.shop.name,description:M??S?.shop.description,images:b?[b]:[]},noindex:"true"===_,nofollow:"true"===L,canonical:`https://${x?.storeProperty?.primaryDomain}/${a}`,additionalMetaTags:[{name:"theme-color",content:"#000000"}],additionalLinkTags:generateSeoLinks.generateSeoLinks({favicon:A,shopMeta:S})},B=S?.localization.language.isoCode??null,I=S?.localization.country.isoCode??null,O=B&&I?`${B}-${I}`:null;return parseJson.serializableJson({themeStyle:genCss.genCSS(g?.pageStyle?.data,T),fontStyle:f,elementFontStyle:P,builderData:m,pageType:i,moneyFormat:S?.shop.moneyFormat??null,currency:S?.localization.country.currency.isoCode??null,languageIsoCode:B,countryIsoCode:I,locale:O,swr:{fallback:p},swatches:parseJson.parseJson(x?.storeProperty?.swatchesConfig),seo:E,mobileOnly:T,gaTrackingId:getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.ANALYTICS_GA_TRACKING_ID,g?.metafields)??null,facebookPixelId:getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.ANALYTICS_FB_PIXEL_ID,g?.metafields)??null,tiktokPixelId:getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.ANALYTICS_TIKTOK_PIXEL_ID,g?.metafields)??null,customCodeHeader:getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.CUSTOM_CODE_HEADER,g?.metafields)??null,customCodeBody:getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.CUSTOM_CODE_BODY,g?.metafields)??null,pageHandle:g.handle??null,customFonts:c,interaction:g?.interaction,pageBackground:normalize.extractPageBackground(g)})}catch(e){throw nextjs.captureException(e),e}};exports.getStaticPagePropsV2=getStaticPagePropsV2;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var core=require("@gem-sdk/core"),adapterShopify=require("@gem-sdk/adapter-shopify"),googleFonts=require("../google-fonts.js"),genCss=require("../helpers/gen-css.js"),generateManifres=require("../helpers/generate-manifres.js"),normalize=require("../helpers/normalize.js"),parseJson=require("../helpers/parse-json.js"),index=require("../../constants/index.js"),getMetafield=require("../helpers/get-metafield.js");const getStaticPageProps=(e,s)=>async a=>{let t="STATIC",r={slug:a,slugType:t},[i,o,l,n]=await Promise.allSettled([e([core.PublishedThemePagesDocument,r]),e([core.StorePropertyDocument]),s([adapterShopify.ShopMetaDocument]),e([core.PublishedShopMetasDocument,{keys:["source_font",index.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION,index.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL]}])]);if("rejected"===i.status)return{pageType:t};let d="fulfilled"===n.status?n.value:void 0,p=i.value.publishedThemePages?.[0],c=normalize.parseBuilderTemplate(p),u=await googleFonts.getFontFromGlobalStyle(p?.pageStyle?.data),h=core.prefetchQueries(c),m=await Promise.allSettled(h.map(({query:s,variables:a,func:t})=>t?t(e,a):s?e([s,a]):{})),g=h.reduce((e,{key:s},a)=>{let t=m[a];return t?.status==="fulfilled"?{...e,[s]:t.value}:e},{}),f=getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION,p?.metafields)||d?.publishedShopMetas?.find(e=>e?.key===index.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION)?.value,P=parseJson.parseJson(getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL,p?.metafields)||d?.publishedShopMetas?.find(e=>e?.key===index.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL)?.value),y="fulfilled"===l.status?l.value:void 0,T="fulfilled"===o.status?o.value:void 0,M=T?.storeProperty?.favicon??"/favicon/favicon-32x32.png",_={defaultTitle:y?.shop.name??"",title:p?.name??"",description:f??y?.shop.description??"",openGraph:{site_name:y?.shop.name??"",locale:y?.localization.country.isoCode??"",title:p?.name??y?.shop.name??"",description:f??y?.shop.description??"",images:P?[P]:[]},additionalMetaTags:[{name:"theme-color",content:"#000000"}],canonical:`/${a}`,additionalLinkTags:[{rel:"icon",sizes:"32x32",href:`${M}-/crop/1:1/center/-/smart_resize/32x32/`},{rel:"icon",sizes:"16x16",href:`${M}-/crop/1:1/center/-/smart_resize/16x16/`},{rel:"apple-touch-icon",sizes:"180x180",href:`${M}-/crop/1:1/center/-/smart_resize/180x180/`},{rel:"manifest",href:generateManifres.generateManifest({theme_color:"#000000",background_color:"#ffffff",display:"standalone",scope:"/",start_url:"/",name:y?.shop.name,short_name:y?.shop.name,description:y?.shop.description,icons:[{src:`${M}-/crop/1:1/center/-/smart_resize/192x192/`,sizes:"192x192",type:"image/png",purpose:"any maskable"},{src:`${M}-/crop/1:1/center/-/smart_resize/512x512/`,sizes:"512x512",type:"image/png"}]})}]},S=y?.localization.language.isoCode??null,x=y?.localization.country.isoCode??null,b=S&&x?`${S}-${x}`:null;return parseJson.serializableJson({themeStyle:genCss.genCSS(p?.pageStyle?.data),fontStyle:u,builderData:c,pageType:t,moneyFormat:y?.shop.moneyFormat??null,currency:y?.localization.country.currency.isoCode??null,languageIsoCode:S,countryIsoCode:x,locale:b,swr:{fallback:g},swatches:parseJson.parseJson(T?.storeProperty?.swatchesConfig),seo:_})};exports.getStaticPageProps=getStaticPageProps;
|
|
1
|
+
"use strict";var core=require("@gem-sdk/core"),adapterShopify=require("@gem-sdk/adapter-shopify"),googleFonts=require("../google-fonts.js"),genCss=require("../helpers/gen-css.js"),generateManifres=require("../helpers/generate-manifres.js"),normalize=require("../helpers/normalize.js"),parseJson=require("../helpers/parse-json.js"),index=require("../../constants/index.js"),getMetafield=require("../helpers/get-metafield.js");const getStaticPageProps=(e,s)=>async a=>{let t="STATIC",r={slug:a,slugType:t},[i,o,l,n]=await Promise.allSettled([e([core.PublishedThemePagesDocument,r]),e([core.StorePropertyDocument]),s([adapterShopify.ShopMetaDocument]),e([core.PublishedShopMetasDocument,{keys:["source_font",index.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION,index.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL]}])]);if("rejected"===i.status)return{pageType:t};let d="fulfilled"===n.status?n.value:void 0,p=i.value.publishedThemePages?.[0],c=normalize.parseBuilderTemplate(p),u=await googleFonts.getFontFromGlobalStyle(p?.pageStyle?.data,void 0,c),h=core.prefetchQueries(c),m=await Promise.allSettled(h.map(({query:s,variables:a,func:t})=>t?t(e,a):s?e([s,a]):{})),g=h.reduce((e,{key:s},a)=>{let t=m[a];return t?.status==="fulfilled"?{...e,[s]:t.value}:e},{}),f=getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION,p?.metafields)||d?.publishedShopMetas?.find(e=>e?.key===index.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION)?.value,P=parseJson.parseJson(getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL,p?.metafields)||d?.publishedShopMetas?.find(e=>e?.key===index.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL)?.value),y="fulfilled"===l.status?l.value:void 0,T="fulfilled"===o.status?o.value:void 0,M=T?.storeProperty?.favicon??"/favicon/favicon-32x32.png",_={defaultTitle:y?.shop.name??"",title:p?.name??"",description:f??y?.shop.description??"",openGraph:{site_name:y?.shop.name??"",locale:y?.localization.country.isoCode??"",title:p?.name??y?.shop.name??"",description:f??y?.shop.description??"",images:P?[P]:[]},additionalMetaTags:[{name:"theme-color",content:"#000000"}],canonical:`/${a}`,additionalLinkTags:[{rel:"icon",sizes:"32x32",href:`${M}-/crop/1:1/center/-/smart_resize/32x32/`},{rel:"icon",sizes:"16x16",href:`${M}-/crop/1:1/center/-/smart_resize/16x16/`},{rel:"apple-touch-icon",sizes:"180x180",href:`${M}-/crop/1:1/center/-/smart_resize/180x180/`},{rel:"manifest",href:generateManifres.generateManifest({theme_color:"#000000",background_color:"#ffffff",display:"standalone",scope:"/",start_url:"/",name:y?.shop.name,short_name:y?.shop.name,description:y?.shop.description,icons:[{src:`${M}-/crop/1:1/center/-/smart_resize/192x192/`,sizes:"192x192",type:"image/png",purpose:"any maskable"},{src:`${M}-/crop/1:1/center/-/smart_resize/512x512/`,sizes:"512x512",type:"image/png"}]})}]},S=y?.localization.language.isoCode??null,x=y?.localization.country.isoCode??null,b=S&&x?`${S}-${x}`:null;return parseJson.serializableJson({themeStyle:genCss.genCSS(p?.pageStyle?.data),fontStyle:u,builderData:c,pageType:t,moneyFormat:y?.shop.moneyFormat??null,currency:y?.localization.country.currency.isoCode??null,languageIsoCode:S,countryIsoCode:x,locale:b,swr:{fallback:g},swatches:parseJson.parseJson(T?.storeProperty?.swatchesConfig),seo:_})};exports.getStaticPageProps=getStaticPageProps;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var checkOptionFont=require("./helpers/check-option-font.js"),genFonts=require("./helpers/gen-fonts.js"),sentry=require("./helpers/sentry.js");const CHROME_UA="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36",IE_UA="Mozilla/5.0 (Windows NT 10.0; Trident/7.0; rv:11.0) like Gecko";async function getFontForUA(e
|
|
1
|
+
"use strict";var checkOptionFont=require("./helpers/check-option-font.js"),genFonts=require("./helpers/gen-fonts.js"),sentry=require("./helpers/sentry.js");const CHROME_UA="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36",IE_UA="Mozilla/5.0 (Windows NT 10.0; Trident/7.0; rv:11.0) like Gecko";async function getFontForUA(t,e){try{return fetch(t,{headers:{"User-Agent":e}}).then(r=>200===r.status?r.text():(sentry.sentryCaptureException("getFontForUA",`Unexpected status ${r.status}`,{url:t,UA:e}),""))}catch(r){return sentry.sentryCaptureException("getFontForUA","Error fetching font",{url:t,UA:e,error:r}),""}}const composeFonts=t=>{let e=t.filter((t,e,r)=>e===r.findIndex(e=>e.family===t.family));return e.map(e=>{let r=t.filter(t=>t.family===e.family).reduce((t,e)=>[...t,...e.variants],[]).filter((t,e,r)=>e===r.findIndex(e=>e===t));return{...e,variants:r}})},GOOGLE_CSS2_OVERRIDES={"Roboto Flex":"https://fonts.googleapis.com/css2?family=Roboto+Flex:opsz,wght@8..144,100..1000&display=swap"},normalizeFamily=t=>t?.trim().replace(/\s+/g,"+")??"",getOverrideUrlForFamily=t=>{let e=normalizeFamily(t);return GOOGLE_CSS2_OVERRIDES[t]??GOOGLE_CSS2_OVERRIDES[e]},VARIANT_WEIGHT_MAP={regular:"400",normal:"400",bold:"700",italic:"400italic"},isValidFont=(t,e,r)=>{let n="google"===t.type||"bunny"===t.type,o="theme"===t.type&&r,a=checkOptionFont.checkNotInOptionFont(t.family,e);return!(n&&a)&&(n||!t.type||o)},normalizeVariant=t=>{let e=String(t).toLowerCase().trim();return VARIANT_WEIGHT_MAP[e]??t},sortFontVariants=t=>{let e=t=>{let e=String(t).toLowerCase().trim(),r=e.includes("italic"),n=e.replace("italic","").trim(),o=VARIANT_WEIGHT_MAP[n]??n,a=parseInt(o,10)||400;return{weight:a,isItalic:r}};return[...t].sort((t,r)=>{let n=e(t),o=e(r);return n.weight!==o.weight?n.weight-o.weight:n.isItalic!==o.isItalic?n.isItalic?1:-1:0})},makeUrlBySourceFont=(t,e,r)=>{let n=composeFonts(t).map(t=>{let e=t.variants.map(t=>normalizeVariant(t)),r=sortFontVariants(e);return`${t.family.replace(/ /g,"+")}:${r.join(",")}`}).join("|");if("sans-serif"===n)return;let o=new URLSearchParams;o.append("family",n),o.append("display",r?.display||"swap"),r?.subset&&o.append("subset",r.subset),r?.effect&&o.append("effect",r.effect);let a=`https://fonts.bunny.net/css?family=${n}`,l=`https://fonts.googleapis.com/css?${decodeURIComponent(o.toString())}`;return"bunny"===e?a:l},createFontUrls=(t,e,r,n)=>{let o=t.filter(t=>isValidFont(t,r||"google",n));if(!o.length)return;let a=o.filter((t,e,r)=>e===r.findIndex(e=>e.family===t.family)),l=[],i=[];for(let t of a){let e=getOverrideUrlForFamily(t.family);e&&"bunny"!==r?l.push(e):i.push(t)}let s=i.length?makeUrlBySourceFont(i,r||"google",e):void 0;return l.length&&s?[...l,s]:s?[s,...l]:l};async function getFonts(t,e,r=!0,n){let o=createFontUrls(t,e,n),a=Array.isArray(o)?o:o?[o]:[];if(!a.length)return"";if(r)return a.map(t=>`@import url('${t}');`).join("");let l="",i="";for(let t of a)try{let[e,r]=await Promise.all([getFontForUA(t,"Mozilla/5.0 (Windows NT 10.0; Trident/7.0; rv:11.0) like Gecko"),getFontForUA(t,"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36")]),n=`${e}${r}`;l+=n,i+=`@import url('${t}');`}catch(e){sentry.sentryCaptureException("getFonts","Error fetching font",{url:t,fontType:n,error:String(e)}),i+="",l+=""}let s=new TextEncoder().encode(l).length;return s<51200?l:i}const buildPageTemplateFontMap=t=>{let e=new Map;return t.forEach(t=>{let r=t.variants.map(normalizeVariant),n=e.get(t.family);n?r.forEach(t=>n.add(t)):e.set(t.family,new Set(r))}),e},filterGlobalStyleFontsByPageTemplate=(t,e)=>{let r=buildPageTemplateFontMap(e);return t.filter(t=>{let e=r.has(t.family);return!e})},extractFontsFromPageTemplate=t=>{let e=[];return t.forEach(t=>{e.push(...genFonts.getFontsFromDataBuilder(t.data))}),composeFonts(e)},getFontFromGlobalStyle=(t,e,r)=>{if(!t)return"";try{let n=JSON.parse(t),o=n?.font??{},a=Object.values(o);if(r){let t=extractFontsFromPageTemplate(r);a=filterGlobalStyleFontsByPageTemplate(a,t)}return getFonts(a,void 0,void 0,e)}catch{return""}};async function getFontStyleFromPageTemplate(t,e){let r=extractFontsFromPageTemplate(t);if(0===r.length)return[];let n=await getFonts(r,void 0,void 0,e);return n?[n]:[]}exports.composeFonts=composeFonts,exports.createFontUrls=createFontUrls,exports.getFontFromGlobalStyle=getFontFromGlobalStyle,exports.getFontStyleFromPageTemplate=getFontStyleFromPageTemplate,exports.getFonts=getFonts;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const EXCLUDED_FONT_FAMILIES=["sans-serif"],getFontsFromDataBuilder=t=>{let e=[];for(let o in t)if(Object.prototype.hasOwnProperty.call(t,o)){let r=t[o],n=r.styles,i=r.settings;getFontFromGroupSetting(e,n),getFontFromGroupSetting(e,i)}return e},getFontFromGroupSetting=(t,e)=>{let o=["normal","hover","focus","active","disabled","price","compareAtPrice"];for(let r in e)if(Object.prototype.hasOwnProperty.call(e,r)){let n=e[r];if(!n)continue;for(let e of(getFontValue(t,n),o))n[e]&&getFontValue(t,n[e])}},uniqueArray=t=>Array.from(new Set(t)),getFontValue=(t,e)=>{let o=e.custom?.fontFamily;"string"==typeof o&&(o={value:e.custom?.fontFamily||"",type:"google"});let r=o?.value;if(EXCLUDED_FONT_FAMILIES.includes(r))return;let n=e.custom?.fontVariants;if(n?.length||(n=[e.custom?.fontWeight]),o&&n?.length){let i=n.map(t=>"regular"===t?"400":t),
|
|
1
|
+
"use strict";const EXCLUDED_FONT_FAMILIES=["sans-serif"],getFontsFromDataBuilder=t=>{let e=[];for(let o in t)if(Object.prototype.hasOwnProperty.call(t,o)){let r=t[o],n=r.styles,i=r.settings;getFontFromGroupSetting(e,n),getFontFromGroupSetting(e,i)}return e},getFontFromGroupSetting=(t,e)=>{let o=["normal","hover","focus","active","disabled","price","compareAtPrice"];for(let r in e)if(Object.prototype.hasOwnProperty.call(e,r)){let n=e[r];if(!n)continue;for(let e of(getFontValue(t,n),o))n[e]&&getFontValue(t,n[e])}},uniqueArray=t=>Array.from(new Set(t)),getFontValue=(t,e)=>{let o=e.custom?.fontFamily;"string"==typeof o&&(o={value:e.custom?.fontFamily||"",type:"google"});let r=o?.value;if(EXCLUDED_FONT_FAMILIES.includes(r))return;let n=e.custom?.fontVariants;if(n?.length||(n=[e.custom?.fontWeight]),o&&n?.length){let i=n.map(t=>"regular"===t?"400":t),l=e.custom?.fontWeight&&i.includes(e.custom?.fontWeight)?e.custom?.fontWeight:i[0];if(l){let n=uniqueArray([l,...e?.attrs?.isAlwaysLoadBold?["700"]:[],...e?.attrs?.loadFontStyles?.includes("bold")?["700"]:[]]);if(e?.attrs?.loadFontStyles?.includes("italic")){let t=n.map(t=>{if("string"==typeof t&&/^\d+$/.test(t))return`${t}i`});n.push(...t)}let s=t.find(t=>t.family==r&&t.variants.includes(l));if(!s){let e=t.find(t=>t.family==r);e?e.variants.push(l):("700"!==l&&i.includes("700")&&n.push("700"),t.push({family:r||"",variants:n,subsets:[],type:o.type}))}}}};exports.getFontFromGroupSetting=getFontFromGroupSetting,exports.getFontsFromDataBuilder=getFontsFromDataBuilder;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{PublishedThemePagesDocument as e,StorePropertyDocument as o,PublishedShopMetasDocument as t}from"@gem-sdk/core";import{ShopMetaDocument as a}from"@gem-sdk/adapter-shopify";import{getFontStyleFromPageTemplate as l,getFontFromGlobalStyle as s}from"../google-fonts.js";import{genCSS as i}from"../helpers/gen-css.js";import{getFallbackV2 as r}from"../helpers/get-fallback.js";import{parseBuilderTemplateV2 as n}from"../helpers/normalize.js";import{parseJson as m,serializableJson as d}from"../helpers/parse-json.js";import{captureException as p}from"@sentry/nextjs";import{PublishedThemePageMetafields as u}from"../../constants/index.js";import{getPublishedThemePageMetafieldByKey as f}from"../helpers/get-metafield.js";import{getCustomFonts as c}from"../custom-fonts.js";import{generateSeoLinks as h}from"../helpers/generate-seo-links.js";let getHomePagePropsV2=(g,T)=>async()=>{try{let p={slugType:"STATIC"},[_,A,y,I]=await Promise.allSettled([g([e,p]),g([o]),T([a]),g([t,{keys:[u.GLOBAL_META_DESCRIPTION,u.GLOBAL_META_THUMBNAIL]}])]);if("rejected"===_.status)throw Error(_.reason?.[0]);let L="fulfilled"===I.status?I.value:void 0,C=_.value?.publishedThemePages?.[0],P=_.value?.publishedThemePages?.[0]?.themePageCustomFonts;if(!C)throw Error("No data builder found for Home page");let E=n(C),[M,O,S,v]=await Promise.all([l(E),s(C?.pageStyle?.data),r(g,E),c(P)]),j=C.isMobile??!1,k=f(u.GLOBAL_META_DESCRIPTION,C?.metafields)||L?.publishedShopMetas?.find(e=>e?.key===u.GLOBAL_META_DESCRIPTION)?.value,B=m(f(u.GLOBAL_META_THUMBNAIL,C?.metafields)||L?.publishedShopMetas?.find(e=>e?.key===u.GLOBAL_META_THUMBNAIL)?.value),D="fulfilled"===y.status?y.value:void 0,N="fulfilled"===A.status?A.value:void 0,H=N?.storeProperty?.favicon??"/favicon/favicon-32x32.png",b={defaultTitle:D?.shop.name,title:C?.name??"Home",description:k??D?.shop.description,openGraph:{site_name:D?.shop.name,locale:D?.localization.country.isoCode,title:C?.name??D?.shop.name,description:k??D?.shop.description,images:B?[B]:[]},additionalMetaTags:[{name:"theme-color",content:"#000000"}],canonical:`https://${N?.storeProperty?.primaryDomain}/`,additionalLinkTags:h({favicon:H,shopMeta:D})},G=D?.localization.language.isoCode??null,w=D?.localization.country.isoCode??null,x=G&&w?`${G}-${w}`:null;return d({themeStyle:i(C?.pageStyle?.data,j),fontStyle:O,elementFontStyle:M,builderData:E,swr:{fallback:S},moneyFormat:D?.shop.moneyFormat??null,currency:D?.localization.country.currency.isoCode??null,languageIsoCode:G,countryIsoCode:w,locale:x,swatches:m(N?.storeProperty?.swatchesConfig),seo:b,mobileOnly:j,gaTrackingId:f(u.ANALYTICS_GA_TRACKING_ID,C?.metafields)??null,facebookPixelId:f(u.ANALYTICS_FB_PIXEL_ID,C?.metafields)??null,tiktokPixelId:f(u.ANALYTICS_TIKTOK_PIXEL_ID,C?.metafields)??null,customCodeHeader:f(u.CUSTOM_CODE_HEADER,C?.metafields)??null,customCodeBody:f(u.CUSTOM_CODE_BODY,C?.metafields)??null,pageHandle:C.handle??null,customFonts:v})}catch(e){throw p(e),e}};export{getHomePagePropsV2};
|
|
1
|
+
import{PublishedThemePagesDocument as e,StorePropertyDocument as o,PublishedShopMetasDocument as t}from"@gem-sdk/core";import{ShopMetaDocument as a}from"@gem-sdk/adapter-shopify";import{getFontStyleFromPageTemplate as l,getFontFromGlobalStyle as s}from"../google-fonts.js";import{genCSS as i}from"../helpers/gen-css.js";import{getFallbackV2 as r}from"../helpers/get-fallback.js";import{parseBuilderTemplateV2 as n}from"../helpers/normalize.js";import{parseJson as m,serializableJson as d}from"../helpers/parse-json.js";import{captureException as p}from"@sentry/nextjs";import{PublishedThemePageMetafields as u}from"../../constants/index.js";import{getPublishedThemePageMetafieldByKey as f}from"../helpers/get-metafield.js";import{getCustomFonts as c}from"../custom-fonts.js";import{generateSeoLinks as h}from"../helpers/generate-seo-links.js";let getHomePagePropsV2=(g,T)=>async()=>{try{let p={slugType:"STATIC"},[_,A,y,I]=await Promise.allSettled([g([e,p]),g([o]),T([a]),g([t,{keys:[u.GLOBAL_META_DESCRIPTION,u.GLOBAL_META_THUMBNAIL]}])]);if("rejected"===_.status)throw Error(_.reason?.[0]);let L="fulfilled"===I.status?I.value:void 0,C=_.value?.publishedThemePages?.[0],P=_.value?.publishedThemePages?.[0]?.themePageCustomFonts;if(!C)throw Error("No data builder found for Home page");let E=n(C),[M,O,S,v]=await Promise.all([l(E),s(C?.pageStyle?.data,void 0,E),r(g,E),c(P)]),j=C.isMobile??!1,k=f(u.GLOBAL_META_DESCRIPTION,C?.metafields)||L?.publishedShopMetas?.find(e=>e?.key===u.GLOBAL_META_DESCRIPTION)?.value,B=m(f(u.GLOBAL_META_THUMBNAIL,C?.metafields)||L?.publishedShopMetas?.find(e=>e?.key===u.GLOBAL_META_THUMBNAIL)?.value),D="fulfilled"===y.status?y.value:void 0,N="fulfilled"===A.status?A.value:void 0,H=N?.storeProperty?.favicon??"/favicon/favicon-32x32.png",b={defaultTitle:D?.shop.name,title:C?.name??"Home",description:k??D?.shop.description,openGraph:{site_name:D?.shop.name,locale:D?.localization.country.isoCode,title:C?.name??D?.shop.name,description:k??D?.shop.description,images:B?[B]:[]},additionalMetaTags:[{name:"theme-color",content:"#000000"}],canonical:`https://${N?.storeProperty?.primaryDomain}/`,additionalLinkTags:h({favicon:H,shopMeta:D})},G=D?.localization.language.isoCode??null,w=D?.localization.country.isoCode??null,x=G&&w?`${G}-${w}`:null;return d({themeStyle:i(C?.pageStyle?.data,j),fontStyle:O,elementFontStyle:M,builderData:E,swr:{fallback:S},moneyFormat:D?.shop.moneyFormat??null,currency:D?.localization.country.currency.isoCode??null,languageIsoCode:G,countryIsoCode:w,locale:x,swatches:m(N?.storeProperty?.swatchesConfig),seo:b,mobileOnly:j,gaTrackingId:f(u.ANALYTICS_GA_TRACKING_ID,C?.metafields)??null,facebookPixelId:f(u.ANALYTICS_FB_PIXEL_ID,C?.metafields)??null,tiktokPixelId:f(u.ANALYTICS_TIKTOK_PIXEL_ID,C?.metafields)??null,customCodeHeader:f(u.CUSTOM_CODE_HEADER,C?.metafields)??null,customCodeBody:f(u.CUSTOM_CODE_BODY,C?.metafields)??null,pageHandle:C.handle??null,customFonts:v})}catch(e){throw p(e),e}};export{getHomePagePropsV2};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{PublishedThemePagesDocument as e,StorePropertyDocument as o,PublishedShopMetasDocument as s,prefetchQueries as t}from"@gem-sdk/core";import{ShopMetaDocument as r}from"@gem-sdk/adapter-shopify";import{getFontFromGlobalStyle as a}from"../google-fonts.js";import{genCSS as i}from"../helpers/gen-css.js";import{generateManifest as l}from"../helpers/generate-manifres.js";import{parseBuilderTemplate as n}from"../helpers/normalize.js";import{parseJson as p,serializableJson as m}from"../helpers/parse-json.js";import{PublishedThemePageMetafields as c}from"../../constants/index.js";import{getPublishedThemePageMetafieldByKey as d}from"../helpers/get-metafield.js";let getHomePageProps=(f,u)=>async()=>{let h="STATIC",g={slugType:h},[y,_,T,A]=await Promise.allSettled([f([e,g]),f([o]),u([r]),f([s,{keys:[c.GLOBAL_META_DESCRIPTION,c.GLOBAL_META_THUMBNAIL]}])]);if("rejected"===y.status)return{pageType:h};let L="fulfilled"===A.status?A.value:void 0,z=y.value.publishedThemePages?.[0],v=n(z),x=await a(z?.pageStyle?.data),M=t(v),P=await Promise.allSettled(M.map(({query:e,variables:o,func:s})=>s?s(f,o):e?f([e,o]):{})),S=M.reduce((e,{key:o},s)=>{let t=P[s];return t?.status==="fulfilled"?{...e,[o]:t.value}:e},{}),I=d(c.GLOBAL_META_DESCRIPTION,z?.metafields)||L?.publishedShopMetas?.find(e=>e?.key===c.GLOBAL_META_DESCRIPTION)?.value,j=p(d(c.GLOBAL_META_THUMBNAIL,z?.metafields)||L?.publishedShopMetas?.find(e=>e?.key===c.GLOBAL_META_THUMBNAIL)?.value),B="fulfilled"===T.status?T.value:void 0,C="fulfilled"===_.status?_.value:void 0,E=C?.storeProperty?.favicon??"/favicon/favicon-32x32.png",O={defaultTitle:B?.shop.name,title:z?.name??"Home",description:I??B?.shop.description,openGraph:{site_name:B?.shop.name,locale:B?.localization.country.isoCode,title:z?.name??B?.shop.name,description:I??B?.shop.description,images:j?[j]:[]},additionalMetaTags:[{name:"theme-color",content:"#000000"}],canonical:"/",additionalLinkTags:[{rel:"icon",sizes:"32x32",href:`${E}-/crop/1:1/center/-/smart_resize/32x32/`},{rel:"icon",sizes:"16x16",href:`${E}-/crop/1:1/center/-/smart_resize/16x16/`},{rel:"apple-touch-icon",sizes:"180x180",href:`${E}-/crop/1:1/center/-/smart_resize/180x180/`},{rel:"manifest",href:l({theme_color:"#000000",background_color:"#ffffff",display:"standalone",scope:"/",start_url:"/",name:B?.shop.name,short_name:B?.shop.name,description:B?.shop.description,icons:[{src:`${E}-/crop/1:1/center/-/smart_resize/192x192/`,sizes:"192x192",type:"image/png",purpose:"any maskable"},{src:`${E}-/crop/1:1/center/-/smart_resize/512x512/`,sizes:"512x512",type:"image/png"}]})}]},k=B?.localization.language.isoCode??null,G=B?.localization.country.isoCode??null,$=k&&G?`${k}-${G}`:null;return m({themeStyle:i(z?.pageStyle?.data),fontStyle:x,builderData:v,pageType:h,swr:{fallback:S},moneyFormat:B?.shop.moneyFormat??null,currency:B?.localization.country.currency.isoCode??null,locale:$,languageIsoCode:k,countryIsoCode:G,swatches:p(C?.storeProperty?.swatchesConfig),seo:O})};export{getHomePageProps};
|
|
1
|
+
import{PublishedThemePagesDocument as e,StorePropertyDocument as o,PublishedShopMetasDocument as s,prefetchQueries as t}from"@gem-sdk/core";import{ShopMetaDocument as r}from"@gem-sdk/adapter-shopify";import{getFontFromGlobalStyle as a}from"../google-fonts.js";import{genCSS as i}from"../helpers/gen-css.js";import{generateManifest as l}from"../helpers/generate-manifres.js";import{parseBuilderTemplate as n}from"../helpers/normalize.js";import{parseJson as p,serializableJson as m}from"../helpers/parse-json.js";import{PublishedThemePageMetafields as c}from"../../constants/index.js";import{getPublishedThemePageMetafieldByKey as d}from"../helpers/get-metafield.js";let getHomePageProps=(f,u)=>async()=>{let h="STATIC",g={slugType:h},[y,_,T,A]=await Promise.allSettled([f([e,g]),f([o]),u([r]),f([s,{keys:[c.GLOBAL_META_DESCRIPTION,c.GLOBAL_META_THUMBNAIL]}])]);if("rejected"===y.status)return{pageType:h};let L="fulfilled"===A.status?A.value:void 0,z=y.value.publishedThemePages?.[0],v=n(z),x=await a(z?.pageStyle?.data,void 0,v),M=t(v),P=await Promise.allSettled(M.map(({query:e,variables:o,func:s})=>s?s(f,o):e?f([e,o]):{})),S=M.reduce((e,{key:o},s)=>{let t=P[s];return t?.status==="fulfilled"?{...e,[o]:t.value}:e},{}),I=d(c.GLOBAL_META_DESCRIPTION,z?.metafields)||L?.publishedShopMetas?.find(e=>e?.key===c.GLOBAL_META_DESCRIPTION)?.value,j=p(d(c.GLOBAL_META_THUMBNAIL,z?.metafields)||L?.publishedShopMetas?.find(e=>e?.key===c.GLOBAL_META_THUMBNAIL)?.value),B="fulfilled"===T.status?T.value:void 0,C="fulfilled"===_.status?_.value:void 0,E=C?.storeProperty?.favicon??"/favicon/favicon-32x32.png",O={defaultTitle:B?.shop.name,title:z?.name??"Home",description:I??B?.shop.description,openGraph:{site_name:B?.shop.name,locale:B?.localization.country.isoCode,title:z?.name??B?.shop.name,description:I??B?.shop.description,images:j?[j]:[]},additionalMetaTags:[{name:"theme-color",content:"#000000"}],canonical:"/",additionalLinkTags:[{rel:"icon",sizes:"32x32",href:`${E}-/crop/1:1/center/-/smart_resize/32x32/`},{rel:"icon",sizes:"16x16",href:`${E}-/crop/1:1/center/-/smart_resize/16x16/`},{rel:"apple-touch-icon",sizes:"180x180",href:`${E}-/crop/1:1/center/-/smart_resize/180x180/`},{rel:"manifest",href:l({theme_color:"#000000",background_color:"#ffffff",display:"standalone",scope:"/",start_url:"/",name:B?.shop.name,short_name:B?.shop.name,description:B?.shop.description,icons:[{src:`${E}-/crop/1:1/center/-/smart_resize/192x192/`,sizes:"192x192",type:"image/png",purpose:"any maskable"},{src:`${E}-/crop/1:1/center/-/smart_resize/512x512/`,sizes:"512x512",type:"image/png"}]})}]},k=B?.localization.language.isoCode??null,G=B?.localization.country.isoCode??null,$=k&&G?`${k}-${G}`:null;return m({themeStyle:i(z?.pageStyle?.data),fontStyle:x,builderData:v,pageType:h,swr:{fallback:S},moneyFormat:B?.shop.moneyFormat??null,currency:B?.localization.country.currency.isoCode??null,locale:$,languageIsoCode:k,countryIsoCode:G,swatches:p(C?.storeProperty?.swatchesConfig),seo:O})};export{getHomePageProps};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{ThemePageDocument as e,StorePropertyDocument as r,SaleFunnelDiscountsDocument as a,SaleFunnelOfferDocument as t,LibraryTemplateDocument as l,LibrarySaleFunnelDocument as s,ShopLibraryPageDocument as o}from"@gem-sdk/core";import{captureException as i}from"@sentry/nextjs";import{getFontStyleFromPageTemplate as f,getFontFromGlobalStyle as n}from"../google-fonts.js";import{getFallbackV2 as d}from"../helpers/get-fallback.js";import{parseBuilderLibraryTemplate as u,parseShopLibraryPageTemplate as c,parseBuilderTemplateV2 as h}from"../helpers/normalize.js";import{usePagePreview as y}from"../hooks/usePagePreview.js";import{serializableJson as m}from"../helpers/parse-json.js";import{genCSS as D}from"../helpers/gen-css.js";let fetchSalePageDataByID=async(a,t)=>{let l={themePageId:a.themePageId,first:1,where:{default:!0}},[s,o]=await Promise.allSettled([t([e,l]),t([r])]);if("rejected"===s.status)throw Error(s.reason?.[0]);return{dataBuilder:s.value.themePage,pageStyle:s.value.themePage?.theme?.themeStyles?.edges?.[0]?.node?.data,storeProperty:o,dynamicDiscountOffer:void 0,productOffers:[]}},fetchPostPurchasePageDataByID=async(l,s)=>{let o={themePageId:l.themePageId,first:1,where:{default:!0}},[i,f,n,d]=await Promise.allSettled([s([e,o]),s([r]),s([a,{where:{saleFunnelOfferID:l.currentOfferID}}]),s([t,{saleFunnelOfferId:l.currentOfferID}])]);if("rejected"===i.status)throw Error(i.reason?.[0]);if("rejected"===n.status)throw Error(n.reason?.[0]);if("rejected"===d.status)throw Error(d.reason?.[0]);return{dataBuilder:i.value.themePage,pageStyle:i.value.themePage?.theme?.themeStyles?.edges?.[0]?.node?.data,storeProperty:f,dynamicDiscountOffer:d.value.saleFunnelOffer?.dynamicDiscounts?.[0],productOffers:n.value.saleFunnelDiscounts?.edges?.filter(e=>e?.node?.objectType==="PRODUCT"&&e?.node?.type==="ORDER_VALUE")||[]}},fetchThemePageDataByTemplateID=async(e,a)=>{let t={libraryTemplateId:e.libraryTemplateId},o=[],[i,f]=await Promise.allSettled([a([l,t]),a([r])]);if(e.currentOfferID){let[r]=await Promise.allSettled([a([s,{librarySaleFunnelId:e.librarySaleFunnelID}])]);if("rejected"===r.status)throw Error(r.reason?.[0]);let t=r.value.librarySaleFunnel?.offers?.find(r=>r?.id===e.currentOfferID);t&&(o=t.discounts?.filter(e=>e?.objectType==="PRODUCT"&&"ORDER_VALUE"===e.type).map(e=>({node:{...e}}))||[])}if("rejected"===i.status)throw Error(i.reason?.[0]);return{dataBuilder:i.value.libraryTemplate,pageStyle:void 0,storeProperty:f,dynamicDiscountOffer:void 0,productOffers:o}},fetchShopLibraryPageDataByID=async(e,l)=>{let s={shopLibraryPageId:e.shopLibraryPageId},[i,f,n,d]=await Promise.allSettled([l([o,s]),l([r]),l([a,{where:{saleFunnelOfferID:e.currentOfferID}}]),l([t,{saleFunnelOfferId:e.currentOfferID}])]);if("rejected"===i.status)throw Error(i.reason?.[0]);if("rejected"===n.status)throw Error(n.reason?.[0]);if("rejected"===d.status)throw Error(d.reason?.[0]);return{dataBuilder:i.value.shopLibraryPage,pageStyle:void 0,storeProperty:f,dynamicDiscountOffer:d.value.saleFunnelOffer?.dynamicDiscounts?.[0],productOffers:n.value.saleFunnelDiscounts?.edges?.filter(e=>e?.node?.objectType==="PRODUCT"&&e?.node?.type==="ORDER_VALUE")||[]}},fetchLibraryTemplateDataByID=async(e,s)=>{let o={libraryTemplateId:e.libraryTemplateId},[i,f,n,d]=await Promise.allSettled([s([l,o]),s([r]),s([a,{where:{saleFunnelOfferID:e.currentOfferID}}]),s([t,{saleFunnelOfferId:e.currentOfferID}])]);if("rejected"===i.status)throw Error(i.reason?.[0]);if("rejected"===n.status)throw Error(n.reason?.[0]);if("rejected"===d.status)throw Error(d.reason?.[0]);return{dataBuilder:i.value.libraryTemplate,pageStyle:void 0,storeProperty:f,dynamicDiscountOffer:d.value.saleFunnelOffer?.dynamicDiscounts?.[0],productOffers:n.value.saleFunnelDiscounts?.edges?.filter(e=>e?.node?.objectType==="PRODUCT"&&e?.node?.type==="ORDER_VALUE")||[]}},getRelevantPageData=async e=>{let{id:r,currentOfferID:a,fetcher:t,isLibraryTemplate:l,librarySaleFunnelID:s,isShopLibraryPage:o}=e;return s?await fetchThemePageDataByTemplateID({libraryTemplateId:r,currentOfferID:a,librarySaleFunnelID:s},t):o&&a?await fetchShopLibraryPageDataByID({shopLibraryPageId:r,currentOfferID:a},t):l&&a?await fetchLibraryTemplateDataByID({libraryTemplateId:r,currentOfferID:a},t):a?await fetchPostPurchasePageDataByID({themePageId:r,currentOfferID:a},t):await fetchSalePageDataByID({themePageId:r},t)},getPostPurchasePropsPreview=(e,r,a)=>async t=>{try{let{id:l,currentOfferID:s,isLibraryTemplate:o,isShopLibraryPage:i}=t,{dataBuilder:p,storeProperty:P,productOffers:g,pageStyle:I,dynamicDiscountOffer:w}=await getRelevantPageData({id:l,currentOfferID:s,fetcher:e,isLibraryTemplate:o,isShopLibraryPage:i,librarySaleFunnelID:r});if(!p)throw Error(`No data builder found for slug: /preview/${l}`);let O=r||o&&s?u(p):i?c(p):h(p),b=a||e,[v,T,j]=await Promise.all([f(O),n(I),d(b,O,!1)]),{seo:S,pageConfig:E}=y(p,P);return m({themeStyle:D(I),seo:S,...E,elementFontStyle:v,fontStyle:T,builderData:O,swr:{fallback:j},productOffers:g,dynamicDiscountOffer:w})}catch(e){throw console.log("error",e),i(e),e}};export{fetchLibraryTemplateDataByID,fetchPostPurchasePageDataByID,fetchSalePageDataByID,fetchShopLibraryPageDataByID,fetchThemePageDataByTemplateID,getPostPurchasePropsPreview,getRelevantPageData};
|
|
1
|
+
import{ThemePageDocument as e,StorePropertyDocument as r,SaleFunnelDiscountsDocument as a,SaleFunnelOfferDocument as t,LibraryTemplateDocument as l,LibrarySaleFunnelDocument as s,ShopLibraryPageDocument as o}from"@gem-sdk/core";import{captureException as i}from"@sentry/nextjs";import{getFontStyleFromPageTemplate as f,getFontFromGlobalStyle as n}from"../google-fonts.js";import{getFallbackV2 as d}from"../helpers/get-fallback.js";import{parseBuilderLibraryTemplate as u,parseShopLibraryPageTemplate as c,parseBuilderTemplateV2 as h}from"../helpers/normalize.js";import{usePagePreview as y}from"../hooks/usePagePreview.js";import{serializableJson as m}from"../helpers/parse-json.js";import{genCSS as D}from"../helpers/gen-css.js";let fetchSalePageDataByID=async(a,t)=>{let l={themePageId:a.themePageId,first:1,where:{default:!0}},[s,o]=await Promise.allSettled([t([e,l]),t([r])]);if("rejected"===s.status)throw Error(s.reason?.[0]);return{dataBuilder:s.value.themePage,pageStyle:s.value.themePage?.theme?.themeStyles?.edges?.[0]?.node?.data,storeProperty:o,dynamicDiscountOffer:void 0,productOffers:[]}},fetchPostPurchasePageDataByID=async(l,s)=>{let o={themePageId:l.themePageId,first:1,where:{default:!0}},[i,f,n,d]=await Promise.allSettled([s([e,o]),s([r]),s([a,{where:{saleFunnelOfferID:l.currentOfferID}}]),s([t,{saleFunnelOfferId:l.currentOfferID}])]);if("rejected"===i.status)throw Error(i.reason?.[0]);if("rejected"===n.status)throw Error(n.reason?.[0]);if("rejected"===d.status)throw Error(d.reason?.[0]);return{dataBuilder:i.value.themePage,pageStyle:i.value.themePage?.theme?.themeStyles?.edges?.[0]?.node?.data,storeProperty:f,dynamicDiscountOffer:d.value.saleFunnelOffer?.dynamicDiscounts?.[0],productOffers:n.value.saleFunnelDiscounts?.edges?.filter(e=>e?.node?.objectType==="PRODUCT"&&e?.node?.type==="ORDER_VALUE")||[]}},fetchThemePageDataByTemplateID=async(e,a)=>{let t={libraryTemplateId:e.libraryTemplateId},o=[],[i,f]=await Promise.allSettled([a([l,t]),a([r])]);if(e.currentOfferID){let[r]=await Promise.allSettled([a([s,{librarySaleFunnelId:e.librarySaleFunnelID}])]);if("rejected"===r.status)throw Error(r.reason?.[0]);let t=r.value.librarySaleFunnel?.offers?.find(r=>r?.id===e.currentOfferID);t&&(o=t.discounts?.filter(e=>e?.objectType==="PRODUCT"&&"ORDER_VALUE"===e.type).map(e=>({node:{...e}}))||[])}if("rejected"===i.status)throw Error(i.reason?.[0]);return{dataBuilder:i.value.libraryTemplate,pageStyle:void 0,storeProperty:f,dynamicDiscountOffer:void 0,productOffers:o}},fetchShopLibraryPageDataByID=async(e,l)=>{let s={shopLibraryPageId:e.shopLibraryPageId},[i,f,n,d]=await Promise.allSettled([l([o,s]),l([r]),l([a,{where:{saleFunnelOfferID:e.currentOfferID}}]),l([t,{saleFunnelOfferId:e.currentOfferID}])]);if("rejected"===i.status)throw Error(i.reason?.[0]);if("rejected"===n.status)throw Error(n.reason?.[0]);if("rejected"===d.status)throw Error(d.reason?.[0]);return{dataBuilder:i.value.shopLibraryPage,pageStyle:void 0,storeProperty:f,dynamicDiscountOffer:d.value.saleFunnelOffer?.dynamicDiscounts?.[0],productOffers:n.value.saleFunnelDiscounts?.edges?.filter(e=>e?.node?.objectType==="PRODUCT"&&e?.node?.type==="ORDER_VALUE")||[]}},fetchLibraryTemplateDataByID=async(e,s)=>{let o={libraryTemplateId:e.libraryTemplateId},[i,f,n,d]=await Promise.allSettled([s([l,o]),s([r]),s([a,{where:{saleFunnelOfferID:e.currentOfferID}}]),s([t,{saleFunnelOfferId:e.currentOfferID}])]);if("rejected"===i.status)throw Error(i.reason?.[0]);if("rejected"===n.status)throw Error(n.reason?.[0]);if("rejected"===d.status)throw Error(d.reason?.[0]);return{dataBuilder:i.value.libraryTemplate,pageStyle:void 0,storeProperty:f,dynamicDiscountOffer:d.value.saleFunnelOffer?.dynamicDiscounts?.[0],productOffers:n.value.saleFunnelDiscounts?.edges?.filter(e=>e?.node?.objectType==="PRODUCT"&&e?.node?.type==="ORDER_VALUE")||[]}},getRelevantPageData=async e=>{let{id:r,currentOfferID:a,fetcher:t,isLibraryTemplate:l,librarySaleFunnelID:s,isShopLibraryPage:o}=e;return s?await fetchThemePageDataByTemplateID({libraryTemplateId:r,currentOfferID:a,librarySaleFunnelID:s},t):o&&a?await fetchShopLibraryPageDataByID({shopLibraryPageId:r,currentOfferID:a},t):l&&a?await fetchLibraryTemplateDataByID({libraryTemplateId:r,currentOfferID:a},t):a?await fetchPostPurchasePageDataByID({themePageId:r,currentOfferID:a},t):await fetchSalePageDataByID({themePageId:r},t)},getPostPurchasePropsPreview=(e,r,a)=>async t=>{try{let{id:l,currentOfferID:s,isLibraryTemplate:o,isShopLibraryPage:i}=t,{dataBuilder:p,storeProperty:P,productOffers:g,pageStyle:I,dynamicDiscountOffer:w}=await getRelevantPageData({id:l,currentOfferID:s,fetcher:e,isLibraryTemplate:o,isShopLibraryPage:i,librarySaleFunnelID:r});if(!p)throw Error(`No data builder found for slug: /preview/${l}`);let O=r||o&&s?u(p):i?c(p):h(p),b=a||e,[v,T,j]=await Promise.all([f(O),n(I,void 0,O),d(b,O,!1)]),{seo:S,pageConfig:E}=y(p,P);return m({themeStyle:D(I),seo:S,...E,elementFontStyle:v,fontStyle:T,builderData:O,swr:{fallback:j},productOffers:g,dynamicDiscountOffer:w})}catch(e){throw console.log("error",e),i(e),e}};export{fetchLibraryTemplateDataByID,fetchPostPurchasePageDataByID,fetchSalePageDataByID,fetchShopLibraryPageDataByID,fetchThemePageDataByTemplateID,getPostPurchasePropsPreview,getRelevantPageData};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{StorePropertyDocument as e}from"@gem-sdk/core";import{captureException as l}from"@sentry/nextjs";import{getCustomFonts as t}from"../custom-fonts.js";import{getFontStyleFromPageTemplate as o,getFontFromGlobalStyle as r}from"../google-fonts.js";import{genCSS as s}from"../helpers/gen-css.js";import{parseBuilderTemplateV2 as n}from"../helpers/normalize.js";import{serializableJson as a,parseJson as
|
|
1
|
+
import{StorePropertyDocument as e}from"@gem-sdk/core";import{captureException as l}from"@sentry/nextjs";import{getCustomFonts as t}from"../custom-fonts.js";import{getFontStyleFromPageTemplate as o,getFontFromGlobalStyle as r}from"../google-fonts.js";import{genCSS as s}from"../helpers/gen-css.js";import{parseBuilderTemplateV2 as n}from"../helpers/normalize.js";import{serializableJson as a,parseJson as i}from"../helpers/parse-json.js";import{createFetcher as u}from"../fetcher.js";import{getCollectionSharePageProps as p}from"./get-collection-share-page-props.js";let getSharePageContentProps=c=>async f=>{try{let{sharedPage:l,customFonts:m,publicToken:d}=await c([f]);if(!l||!d)return null;let{page:y,themeStyle:P,pageMeta:v,shopMeta:C,moneyFormat:g,moneyWithCurrencyFormat:_}=l,{sectionPosition:h}=y??{},O=n({...l,sectionPosition:h}),j=null,I=null,L=null;if(y?.type==="GP_COLLECTION"){let e=(v??[]).find(e=>"selected_preview_collection"===e.key)?.value,l=e?JSON.parse(e??{}):null;I=l?.collectionId,L=l?.collectionTitle}let T=null;if(y?.type==="GP_PRODUCT"){let e=(v??[]).find(e=>"selected_preview_product"===e.key)?.value;T=e?JSON.parse(e??{}):null}let[S,w,N,D,G]=await Promise.allSettled([o(O),r(P?.data,void 0,O),t(m),u(d)([e]),y?.type==="GP_COLLECTION"?p(u(d))(I??void 0):null]);j="fulfilled"===G.status?G.value?.collection:null;let k="fulfilled"===S.status?S.value:null,E="fulfilled"===w.status?w.value:null,U="fulfilled"===N.status?N.value:null,b="fulfilled"===D.status?D.value:void 0;return a({builderData:O,page:y,themeStyle:s(P?.data,!1),pageMeta:v,shopMeta:C,elementFontStyle:k,fontStyle:E,customFonts:U,publicStoreFrontData:d?{token:d,endpoint:process.env.NEXT_PUBLIC_API_URL??""}:null,pageType:y?.type,moneyFormat:g,moneyWithCurrencyFormat:_,swatches:i(b?.storeProperty?.swatchesConfig),collection:j,dynamicCollection:y?.type==="GP_COLLECTION"?{collectionId:j?.baseID,collectionTitle:L}:null,dynamicProduct:y?.type==="GP_PRODUCT"?T:null})}catch(e){return l(e),null}};export{getSharePageContentProps};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{PreviewThemePageDocument as e,StorePropertyDocument as o}from"@gem-sdk/core";import{ShopMetaDocument as t}from"@gem-sdk/adapter-shopify";import{captureException as a}from"@sentry/nextjs";import{getFontStyleFromPageTemplate as r,getFontFromGlobalStyle as i}from"../google-fonts.js";import{genCSS as l}from"../helpers/gen-css.js";import{getFallbackV2 as n}from"../helpers/get-fallback.js";import{parseBuilderTemplateV2 as s,extractPageBackground as m}from"../helpers/normalize.js";import{parseJson as c,serializableJson as d}from"../helpers/parse-json.js";import{getCustomFonts as p}from"../custom-fonts.js";import{sentryCaptureException as u}from"../helpers/sentry.js";import{generateSeoLinks as f}from"../helpers/generate-seo-links.js";let getStaticPagePropsPreview=(g,h)=>async y=>{try{let a="STATIC",
|
|
1
|
+
import{PreviewThemePageDocument as e,StorePropertyDocument as o}from"@gem-sdk/core";import{ShopMetaDocument as t}from"@gem-sdk/adapter-shopify";import{captureException as a}from"@sentry/nextjs";import{getFontStyleFromPageTemplate as r,getFontFromGlobalStyle as i}from"../google-fonts.js";import{genCSS as l}from"../helpers/gen-css.js";import{getFallbackV2 as n}from"../helpers/get-fallback.js";import{parseBuilderTemplateV2 as s,extractPageBackground as m}from"../helpers/normalize.js";import{parseJson as c,serializableJson as d}from"../helpers/parse-json.js";import{getCustomFonts as p}from"../custom-fonts.js";import{sentryCaptureException as u}from"../helpers/sentry.js";import{generateSeoLinks as f}from"../helpers/generate-seo-links.js";let getStaticPagePropsPreview=(g,h)=>async y=>{try{let a="STATIC",v={handleURL:y,pageType:a},[P,k,w]=await Promise.allSettled([g([e,v]),g([o]),h([t])]);if("rejected"===P.status)throw u("PreviewThemePageDocument",P.reason,{variables:v,theme:P}),Error(P.reason?.[0]);let j=P.value.previewThemePage;if(!j)throw Error(`No data builder found for slug: /preview/${y}`);let b=j.customFonts,C=s(j),[S,T,x,I]=await Promise.all([r(C),i(j?.themeStyle?.data,void 0,C),n(g,C),p(b)]),z=!!j.isMobile,D=j?.dataSEO?.find(e=>e?.key==="global-meta-description")?.value,E=c(j?.dataSEO?.find(e=>e?.key==="global-meta-thumbnail")?.value),$="fulfilled"===w.status?w.value:void 0,F="fulfilled"===k.status?k.value:void 0,B=F?.storeProperty?.favicon??"/favicon/favicon-32x32.png",L={defaultTitle:$?.shop.name,title:j?.name,description:D??$?.shop.description,openGraph:{site_name:$?.shop.name,locale:$?.localization.country.isoCode,title:j?.name??$?.shop.name,description:D??$?.shop.description,images:E?[E]:[]},nofollow:!0,noindex:!0,canonical:`/preview/${y}`,additionalMetaTags:[{name:"theme-color",content:"#000000"}],additionalLinkTags:f({favicon:B,shopMeta:$})},M=$?.localization.language.isoCode??null,O=$?.localization.country.isoCode??null,A=M&&O?`${M}-${O}`:null;return d({themeStyle:l(j?.themeStyle?.data,z),fontStyle:T,elementFontStyle:S,builderData:C,pageType:a,moneyFormat:$?.shop?.moneyFormat??null,currency:$?.localization?.country?.currency?.isoCode??null,languageIsoCode:M,countryIsoCode:O,locale:A,swr:{fallback:x},swatches:c(F?.storeProperty?.swatchesConfig),seo:L,mobileOnly:z,gaTrackingId:j.analytic?.gaTrackingID??null,facebookPixelId:j.analytic?.fbPixelID??null,tiktokPixelId:j.analytic?.tiktokPixelID??null,customCodeHeader:j.customCode?.header??null,customCodeBody:j.customCode?.body??null,customFonts:I,pageBackground:m(j),interaction:j?.interaction})}catch(e){throw a(e),e}};export{getStaticPagePropsPreview};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{PublishedThemePagesDocument as e,StorePropertyDocument as o,PublishedShopMetasDocument as t}from"@gem-sdk/core";import{ShopMetaDocument as a}from"@gem-sdk/adapter-shopify";import{getFontStyleFromPageTemplate as l,getFontFromGlobalStyle as s}from"../google-fonts.js";import{genCSS as i}from"../helpers/gen-css.js";import{getFallbackV2 as r}from"../helpers/get-fallback.js";import{parseBuilderTemplateV2 as n,extractPageBackground as d}from"../helpers/normalize.js";import{parseJson as m,serializableJson as p}from"../helpers/parse-json.js";import{captureException as u}from"@sentry/nextjs";import{getCustomFonts as f}from"../custom-fonts.js";import{getPublishedThemePageMetafieldByKey as c}from"../helpers/get-metafield.js";import{PublishedThemePageMetafields as h}from"../../constants/index.js";import{generateSeoLinks as _}from"../helpers/generate-seo-links.js";let getStaticPagePropsV2=(T,g)=>async L=>{try{let u="STATIC",A={slug:L,slugType:u},[y,E,I,O]=await Promise.allSettled([T([e,A]),T([o]),g([a]),T([t,{keys:["source_font",h.GLOBAL_META_DESCRIPTION,h.GLOBAL_META_THUMBNAIL]}])]);if("rejected"===y.status)throw Error(y.reason?.[0]);let M="fulfilled"===O.status?O.value:void 0,S=M?.publishedShopMetas?.find(e=>e?.key==="source_font"),C=y.value.publishedThemePages?.[0],P=y.value?.publishedThemePages?.[0]?.themePageCustomFonts;if(!C)throw Error(`No data builder found for slug: /${L}`);let v=n(C),[k,N,B,D]=await Promise.all([l(v,S?.value),s(C?.pageStyle?.data,S?.value),r(T,v),f(P)]),b=C.isMobile??!1,j=c(h.GLOBAL_META_DESCRIPTION,C?.metafields)||M?.publishedShopMetas?.find(e=>e?.key===h.GLOBAL_META_DESCRIPTION)?.value,G=c(h.GLOBAL_META_TITLE,C?.metafields)||M?.publishedShopMetas?.find(e=>e?.key===h.GLOBAL_META_TITLE)?.value,w=m(c(h.GLOBAL_META_THUMBNAIL,C?.metafields)||M?.publishedShopMetas?.find(e=>e?.key===h.GLOBAL_META_THUMBNAIL)?.value),Y=c(h.NOINDEX_KEY,C?.metafields)||M?.publishedShopMetas?.find(e=>e?.key===h.NOINDEX_KEY)?.value,x=c(h.NOFOLLOW_KEY,C?.metafields)||M?.publishedShopMetas?.find(e=>e?.key===h.NOFOLLOW_KEY)?.value,K="fulfilled"===I.status?I.value:void 0,F="fulfilled"===E.status?E.value:void 0,H=F?.storeProperty?.favicon??"/favicon/favicon-32x32.png",z={defaultTitle:K?.shop.name,title:G||C?.name,description:j??K?.shop.description,openGraph:{site_name:K?.shop.name,locale:K?.localization.country.isoCode,title:(G||C?.name)??K?.shop.name,description:j??K?.shop.description,images:w?[w]:[]},noindex:"true"===Y,nofollow:"true"===x,canonical:`https://${F?.storeProperty?.primaryDomain}/${L}`,additionalMetaTags:[{name:"theme-color",content:"#000000"}],additionalLinkTags:_({favicon:H,shopMeta:K})},R=K?.localization.language.isoCode??null,U=K?.localization.country.isoCode??null,$=R&&U?`${R}-${U}`:null;return p({themeStyle:i(C?.pageStyle?.data,b),fontStyle:N,elementFontStyle:k,builderData:v,pageType:u,moneyFormat:K?.shop.moneyFormat??null,currency:K?.localization.country.currency.isoCode??null,languageIsoCode:R,countryIsoCode:U,locale:$,swr:{fallback:B},swatches:m(F?.storeProperty?.swatchesConfig),seo:z,mobileOnly:b,gaTrackingId:c(h.ANALYTICS_GA_TRACKING_ID,C?.metafields)??null,facebookPixelId:c(h.ANALYTICS_FB_PIXEL_ID,C?.metafields)??null,tiktokPixelId:c(h.ANALYTICS_TIKTOK_PIXEL_ID,C?.metafields)??null,customCodeHeader:c(h.CUSTOM_CODE_HEADER,C?.metafields)??null,customCodeBody:c(h.CUSTOM_CODE_BODY,C?.metafields)??null,pageHandle:C.handle??null,customFonts:D,interaction:C?.interaction,pageBackground:d(C)})}catch(e){throw u(e),e}};export{getStaticPagePropsV2};
|
|
1
|
+
import{PublishedThemePagesDocument as e,StorePropertyDocument as o,PublishedShopMetasDocument as t}from"@gem-sdk/core";import{ShopMetaDocument as a}from"@gem-sdk/adapter-shopify";import{getFontStyleFromPageTemplate as l,getFontFromGlobalStyle as s}from"../google-fonts.js";import{genCSS as i}from"../helpers/gen-css.js";import{getFallbackV2 as r}from"../helpers/get-fallback.js";import{parseBuilderTemplateV2 as n,extractPageBackground as d}from"../helpers/normalize.js";import{parseJson as m,serializableJson as p}from"../helpers/parse-json.js";import{captureException as u}from"@sentry/nextjs";import{getCustomFonts as f}from"../custom-fonts.js";import{getPublishedThemePageMetafieldByKey as c}from"../helpers/get-metafield.js";import{PublishedThemePageMetafields as h}from"../../constants/index.js";import{generateSeoLinks as _}from"../helpers/generate-seo-links.js";let getStaticPagePropsV2=(T,g)=>async L=>{try{let u="STATIC",A={slug:L,slugType:u},[y,E,I,O]=await Promise.allSettled([T([e,A]),T([o]),g([a]),T([t,{keys:["source_font",h.GLOBAL_META_DESCRIPTION,h.GLOBAL_META_THUMBNAIL]}])]);if("rejected"===y.status)throw Error(y.reason?.[0]);let M="fulfilled"===O.status?O.value:void 0,S=M?.publishedShopMetas?.find(e=>e?.key==="source_font"),C=y.value.publishedThemePages?.[0],P=y.value?.publishedThemePages?.[0]?.themePageCustomFonts;if(!C)throw Error(`No data builder found for slug: /${L}`);let v=n(C),[k,N,B,D]=await Promise.all([l(v,S?.value),s(C?.pageStyle?.data,S?.value,v),r(T,v),f(P)]),b=C.isMobile??!1,j=c(h.GLOBAL_META_DESCRIPTION,C?.metafields)||M?.publishedShopMetas?.find(e=>e?.key===h.GLOBAL_META_DESCRIPTION)?.value,G=c(h.GLOBAL_META_TITLE,C?.metafields)||M?.publishedShopMetas?.find(e=>e?.key===h.GLOBAL_META_TITLE)?.value,w=m(c(h.GLOBAL_META_THUMBNAIL,C?.metafields)||M?.publishedShopMetas?.find(e=>e?.key===h.GLOBAL_META_THUMBNAIL)?.value),Y=c(h.NOINDEX_KEY,C?.metafields)||M?.publishedShopMetas?.find(e=>e?.key===h.NOINDEX_KEY)?.value,x=c(h.NOFOLLOW_KEY,C?.metafields)||M?.publishedShopMetas?.find(e=>e?.key===h.NOFOLLOW_KEY)?.value,K="fulfilled"===I.status?I.value:void 0,F="fulfilled"===E.status?E.value:void 0,H=F?.storeProperty?.favicon??"/favicon/favicon-32x32.png",z={defaultTitle:K?.shop.name,title:G||C?.name,description:j??K?.shop.description,openGraph:{site_name:K?.shop.name,locale:K?.localization.country.isoCode,title:(G||C?.name)??K?.shop.name,description:j??K?.shop.description,images:w?[w]:[]},noindex:"true"===Y,nofollow:"true"===x,canonical:`https://${F?.storeProperty?.primaryDomain}/${L}`,additionalMetaTags:[{name:"theme-color",content:"#000000"}],additionalLinkTags:_({favicon:H,shopMeta:K})},R=K?.localization.language.isoCode??null,U=K?.localization.country.isoCode??null,$=R&&U?`${R}-${U}`:null;return p({themeStyle:i(C?.pageStyle?.data,b),fontStyle:N,elementFontStyle:k,builderData:v,pageType:u,moneyFormat:K?.shop.moneyFormat??null,currency:K?.localization.country.currency.isoCode??null,languageIsoCode:R,countryIsoCode:U,locale:$,swr:{fallback:B},swatches:m(F?.storeProperty?.swatchesConfig),seo:z,mobileOnly:b,gaTrackingId:c(h.ANALYTICS_GA_TRACKING_ID,C?.metafields)??null,facebookPixelId:c(h.ANALYTICS_FB_PIXEL_ID,C?.metafields)??null,tiktokPixelId:c(h.ANALYTICS_TIKTOK_PIXEL_ID,C?.metafields)??null,customCodeHeader:c(h.CUSTOM_CODE_HEADER,C?.metafields)??null,customCodeBody:c(h.CUSTOM_CODE_BODY,C?.metafields)??null,pageHandle:C.handle??null,customFonts:D,interaction:C?.interaction,pageBackground:d(C)})}catch(e){throw u(e),e}};export{getStaticPagePropsV2};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{PublishedThemePagesDocument as e,StorePropertyDocument as t,PublishedShopMetasDocument as o,prefetchQueries as s}from"@gem-sdk/core";import{ShopMetaDocument as a}from"@gem-sdk/adapter-shopify";import{getFontFromGlobalStyle as r}from"../google-fonts.js";import{genCSS as i}from"../helpers/gen-css.js";import{generateManifest as l}from"../helpers/generate-manifres.js";import{parseBuilderTemplate as n}from"../helpers/normalize.js";import{parseJson as p,serializableJson as c}from"../helpers/parse-json.js";import{PublishedThemePageMetafields as m}from"../../constants/index.js";import{getPublishedThemePageMetafieldByKey as d}from"../helpers/get-metafield.js";let getStaticPageProps=(f,u)=>async h=>{let g="STATIC",_={slug:h,slugType:g},[y,T,A,L]=await Promise.allSettled([f([e,_]),f([t]),u([a]),f([o,{keys:["source_font",m.GLOBAL_META_DESCRIPTION,m.GLOBAL_META_THUMBNAIL]}])]);if("rejected"===y.status)return{pageType:g};let z="fulfilled"===L.status?L.value:void 0,v=y.value.publishedThemePages?.[0],x=n(v),S=await r(v?.pageStyle?.data),M=s(x),P=await Promise.allSettled(M.map(({query:e,variables:t,func:o})=>o?o(f,t):e?f([e,t]):{})),I=M.reduce((e,{key:t},o)=>{let s=P[o];return s?.status==="fulfilled"?{...e,[t]:s.value}:e},{}),j=d(m.GLOBAL_META_DESCRIPTION,v?.metafields)||z?.publishedShopMetas?.find(e=>e?.key===m.GLOBAL_META_DESCRIPTION)?.value,B=p(d(m.GLOBAL_META_THUMBNAIL,v?.metafields)||z?.publishedShopMetas?.find(e=>e?.key===m.GLOBAL_META_THUMBNAIL)?.value),C="fulfilled"===A.status?A.value:void 0,E="fulfilled"===T.status?T.value:void 0,O=E?.storeProperty?.favicon??"/favicon/favicon-32x32.png",k={defaultTitle:C?.shop.name??"",title:v?.name??"",description:j??C?.shop.description??"",openGraph:{site_name:C?.shop.name??"",locale:C?.localization.country.isoCode??"",title:v?.name??C?.shop.name??"",description:j??C?.shop.description??"",images:B?[B]:[]},additionalMetaTags:[{name:"theme-color",content:"#000000"}],canonical:`/${h}`,additionalLinkTags:[{rel:"icon",sizes:"32x32",href:`${O}-/crop/1:1/center/-/smart_resize/32x32/`},{rel:"icon",sizes:"16x16",href:`${O}-/crop/1:1/center/-/smart_resize/16x16/`},{rel:"apple-touch-icon",sizes:"180x180",href:`${O}-/crop/1:1/center/-/smart_resize/180x180/`},{rel:"manifest",href:l({theme_color:"#000000",background_color:"#ffffff",display:"standalone",scope:"/",start_url:"/",name:C?.shop.name,short_name:C?.shop.name,description:C?.shop.description,icons:[{src:`${O}-/crop/1:1/center/-/smart_resize/192x192/`,sizes:"192x192",type:"image/png",purpose:"any maskable"},{src:`${O}-/crop/1:1/center/-/smart_resize/512x512/`,sizes:"512x512",type:"image/png"}]})}]},$=C?.localization.language.isoCode??null,G=C?.localization.country.isoCode??null,b=$&&G?`${$}-${G}`:null;return c({themeStyle:i(v?.pageStyle?.data),fontStyle:S,builderData:x,pageType:g,moneyFormat:C?.shop.moneyFormat??null,currency:C?.localization.country.currency.isoCode??null,languageIsoCode:$,countryIsoCode:G,locale:b,swr:{fallback:I},swatches:p(E?.storeProperty?.swatchesConfig),seo:k})};export{getStaticPageProps};
|
|
1
|
+
import{PublishedThemePagesDocument as e,StorePropertyDocument as t,PublishedShopMetasDocument as o,prefetchQueries as s}from"@gem-sdk/core";import{ShopMetaDocument as a}from"@gem-sdk/adapter-shopify";import{getFontFromGlobalStyle as r}from"../google-fonts.js";import{genCSS as i}from"../helpers/gen-css.js";import{generateManifest as l}from"../helpers/generate-manifres.js";import{parseBuilderTemplate as n}from"../helpers/normalize.js";import{parseJson as p,serializableJson as c}from"../helpers/parse-json.js";import{PublishedThemePageMetafields as m}from"../../constants/index.js";import{getPublishedThemePageMetafieldByKey as d}from"../helpers/get-metafield.js";let getStaticPageProps=(f,u)=>async h=>{let g="STATIC",_={slug:h,slugType:g},[y,T,A,L]=await Promise.allSettled([f([e,_]),f([t]),u([a]),f([o,{keys:["source_font",m.GLOBAL_META_DESCRIPTION,m.GLOBAL_META_THUMBNAIL]}])]);if("rejected"===y.status)return{pageType:g};let z="fulfilled"===L.status?L.value:void 0,v=y.value.publishedThemePages?.[0],x=n(v),S=await r(v?.pageStyle?.data,void 0,x),M=s(x),P=await Promise.allSettled(M.map(({query:e,variables:t,func:o})=>o?o(f,t):e?f([e,t]):{})),I=M.reduce((e,{key:t},o)=>{let s=P[o];return s?.status==="fulfilled"?{...e,[t]:s.value}:e},{}),j=d(m.GLOBAL_META_DESCRIPTION,v?.metafields)||z?.publishedShopMetas?.find(e=>e?.key===m.GLOBAL_META_DESCRIPTION)?.value,B=p(d(m.GLOBAL_META_THUMBNAIL,v?.metafields)||z?.publishedShopMetas?.find(e=>e?.key===m.GLOBAL_META_THUMBNAIL)?.value),C="fulfilled"===A.status?A.value:void 0,E="fulfilled"===T.status?T.value:void 0,O=E?.storeProperty?.favicon??"/favicon/favicon-32x32.png",k={defaultTitle:C?.shop.name??"",title:v?.name??"",description:j??C?.shop.description??"",openGraph:{site_name:C?.shop.name??"",locale:C?.localization.country.isoCode??"",title:v?.name??C?.shop.name??"",description:j??C?.shop.description??"",images:B?[B]:[]},additionalMetaTags:[{name:"theme-color",content:"#000000"}],canonical:`/${h}`,additionalLinkTags:[{rel:"icon",sizes:"32x32",href:`${O}-/crop/1:1/center/-/smart_resize/32x32/`},{rel:"icon",sizes:"16x16",href:`${O}-/crop/1:1/center/-/smart_resize/16x16/`},{rel:"apple-touch-icon",sizes:"180x180",href:`${O}-/crop/1:1/center/-/smart_resize/180x180/`},{rel:"manifest",href:l({theme_color:"#000000",background_color:"#ffffff",display:"standalone",scope:"/",start_url:"/",name:C?.shop.name,short_name:C?.shop.name,description:C?.shop.description,icons:[{src:`${O}-/crop/1:1/center/-/smart_resize/192x192/`,sizes:"192x192",type:"image/png",purpose:"any maskable"},{src:`${O}-/crop/1:1/center/-/smart_resize/512x512/`,sizes:"512x512",type:"image/png"}]})}]},$=C?.localization.language.isoCode??null,G=C?.localization.country.isoCode??null,b=$&&G?`${$}-${G}`:null;return c({themeStyle:i(v?.pageStyle?.data),fontStyle:S,builderData:x,pageType:g,moneyFormat:C?.shop.moneyFormat??null,currency:C?.localization.country.currency.isoCode??null,languageIsoCode:$,countryIsoCode:G,locale:b,swr:{fallback:I},swatches:p(E?.storeProperty?.swatchesConfig),seo:k})};export{getStaticPageProps};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{checkNotInOptionFont as e}from"./helpers/check-option-font.js";import{getFontsFromDataBuilder as t}from"./helpers/gen-fonts.js";import{sentryCaptureException as r}from"./helpers/sentry.js";let CHROME_UA="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36",IE_UA="Mozilla/5.0 (Windows NT 10.0; Trident/7.0; rv:11.0) like Gecko";async function getFontForUA(e,t){try{return fetch(e,{headers:{"User-Agent":t}}).then(o=>200===o.status?o.text():(r("getFontForUA",`Unexpected status ${o.status}`,{url:e,UA:t}),""))}catch(o){return r("getFontForUA","Error fetching font",{url:e,UA:t,error:o}),""}}let composeFonts=e=>{let t=e.filter((e,t,r)=>t===r.findIndex(t=>t.family===e.family));return t.map(t=>{let r=e.filter(e=>e.family===t.family).reduce((e,t)=>[...e,...t.variants],[]).filter((e,t,r)=>t===r.findIndex(t=>t===e));return{...t,variants:r}})},GOOGLE_CSS2_OVERRIDES={"Roboto Flex":"https://fonts.googleapis.com/css2?family=Roboto+Flex:opsz,wght@8..144,100..1000&display=swap"},normalizeFamily=e=>e?.trim().replace(/\s+/g,"+")??"",getOverrideUrlForFamily=e=>{let t=normalizeFamily(e);return GOOGLE_CSS2_OVERRIDES[e]??GOOGLE_CSS2_OVERRIDES[t]},isValidFont=(t,r,o)=>{let
|
|
1
|
+
import{checkNotInOptionFont as e}from"./helpers/check-option-font.js";import{getFontsFromDataBuilder as t}from"./helpers/gen-fonts.js";import{sentryCaptureException as r}from"./helpers/sentry.js";let CHROME_UA="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36",IE_UA="Mozilla/5.0 (Windows NT 10.0; Trident/7.0; rv:11.0) like Gecko";async function getFontForUA(e,t){try{return fetch(e,{headers:{"User-Agent":t}}).then(o=>200===o.status?o.text():(r("getFontForUA",`Unexpected status ${o.status}`,{url:e,UA:t}),""))}catch(o){return r("getFontForUA","Error fetching font",{url:e,UA:t,error:o}),""}}let composeFonts=e=>{let t=e.filter((e,t,r)=>t===r.findIndex(t=>t.family===e.family));return t.map(t=>{let r=e.filter(e=>e.family===t.family).reduce((e,t)=>[...e,...t.variants],[]).filter((e,t,r)=>t===r.findIndex(t=>t===e));return{...t,variants:r}})},GOOGLE_CSS2_OVERRIDES={"Roboto Flex":"https://fonts.googleapis.com/css2?family=Roboto+Flex:opsz,wght@8..144,100..1000&display=swap"},normalizeFamily=e=>e?.trim().replace(/\s+/g,"+")??"",getOverrideUrlForFamily=e=>{let t=normalizeFamily(e);return GOOGLE_CSS2_OVERRIDES[e]??GOOGLE_CSS2_OVERRIDES[t]},VARIANT_WEIGHT_MAP={regular:"400",normal:"400",bold:"700",italic:"400italic"},isValidFont=(t,r,o)=>{let l="google"===t.type||"bunny"===t.type,n="theme"===t.type&&o,a=e(t.family,r);return!(l&&a)&&(l||!t.type||n)},normalizeVariant=e=>{let t=String(e).toLowerCase().trim();return VARIANT_WEIGHT_MAP[t]??e},sortFontVariants=e=>{let t=e=>{let t=String(e).toLowerCase().trim(),r=t.includes("italic"),o=t.replace("italic","").trim(),l=VARIANT_WEIGHT_MAP[o]??o,n=parseInt(l,10)||400;return{weight:n,isItalic:r}};return[...e].sort((e,r)=>{let o=t(e),l=t(r);return o.weight!==l.weight?o.weight-l.weight:o.isItalic!==l.isItalic?o.isItalic?1:-1:0})},makeUrlBySourceFont=(e,t,r)=>{let o=composeFonts(e).map(e=>{let t=e.variants.map(e=>normalizeVariant(e)),r=sortFontVariants(t);return`${e.family.replace(/ /g,"+")}:${r.join(",")}`}).join("|");if("sans-serif"===o)return;let l=new URLSearchParams;l.append("family",o),l.append("display",r?.display||"swap"),r?.subset&&l.append("subset",r.subset),r?.effect&&l.append("effect",r.effect);let n=`https://fonts.bunny.net/css?family=${o}`,a=`https://fonts.googleapis.com/css?${decodeURIComponent(l.toString())}`;return"bunny"===t?n:a},createFontUrls=(e,t,r,o)=>{let l=e.filter(e=>isValidFont(e,r||"google",o));if(!l.length)return;let n=l.filter((e,t,r)=>t===r.findIndex(t=>t.family===e.family)),a=[],i=[];for(let e of n){let t=getOverrideUrlForFamily(e.family);t&&"bunny"!==r?a.push(t):i.push(e)}let s=i.length?makeUrlBySourceFont(i,r||"google",t):void 0;return a.length&&s?[...a,s]:s?[s,...a]:a};async function getFonts(e,t,o=!0,l){let n=createFontUrls(e,t,l),a=Array.isArray(n)?n:n?[n]:[];if(!a.length)return"";if(o)return a.map(e=>`@import url('${e}');`).join("");let i="",s="";for(let e of a)try{let[t,r]=await Promise.all([getFontForUA(e,"Mozilla/5.0 (Windows NT 10.0; Trident/7.0; rv:11.0) like Gecko"),getFontForUA(e,"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36")]),o=`${t}${r}`;i+=o,s+=`@import url('${e}');`}catch(t){r("getFonts","Error fetching font",{url:e,fontType:l,error:String(t)}),s+="",i+=""}let m=new TextEncoder().encode(i).length;return m<51200?i:s}let buildPageTemplateFontMap=e=>{let t=new Map;return e.forEach(e=>{let r=e.variants.map(normalizeVariant),o=t.get(e.family);o?r.forEach(e=>o.add(e)):t.set(e.family,new Set(r))}),t},filterGlobalStyleFontsByPageTemplate=(e,t)=>{let r=buildPageTemplateFontMap(t);return e.filter(e=>{let t=r.has(e.family);return!t})},extractFontsFromPageTemplate=e=>{let r=[];return e.forEach(e=>{r.push(...t(e.data))}),composeFonts(r)},getFontFromGlobalStyle=(e,t,r)=>{if(!e)return"";try{let o=JSON.parse(e),l=o?.font??{},n=Object.values(l);if(r){let e=extractFontsFromPageTemplate(r);n=filterGlobalStyleFontsByPageTemplate(n,e)}return getFonts(n,void 0,void 0,t)}catch{return""}};async function getFontStyleFromPageTemplate(e,t){let r=extractFontsFromPageTemplate(e);if(0===r.length)return[];let o=await getFonts(r,void 0,void 0,t);return o?[o]:[]}export{composeFonts,createFontUrls,getFontFromGlobalStyle,getFontStyleFromPageTemplate,getFonts};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
let EXCLUDED_FONT_FAMILIES=["sans-serif"],getFontsFromDataBuilder=t=>{let e=[];for(let o in t)if(Object.prototype.hasOwnProperty.call(t,o)){let
|
|
1
|
+
let EXCLUDED_FONT_FAMILIES=["sans-serif"],getFontsFromDataBuilder=t=>{let e=[];for(let o in t)if(Object.prototype.hasOwnProperty.call(t,o)){let i=t[o],l=i.styles,n=i.settings;getFontFromGroupSetting(e,l),getFontFromGroupSetting(e,n)}return e},getFontFromGroupSetting=(t,e)=>{let o=["normal","hover","focus","active","disabled","price","compareAtPrice"];for(let i in e)if(Object.prototype.hasOwnProperty.call(e,i)){let l=e[i];if(!l)continue;for(let e of(getFontValue(t,l),o))l[e]&&getFontValue(t,l[e])}},uniqueArray=t=>Array.from(new Set(t)),getFontValue=(t,e)=>{let o=e.custom?.fontFamily;"string"==typeof o&&(o={value:e.custom?.fontFamily||"",type:"google"});let i=o?.value;if(EXCLUDED_FONT_FAMILIES.includes(i))return;let l=e.custom?.fontVariants;if(l?.length||(l=[e.custom?.fontWeight]),o&&l?.length){let n=l.map(t=>"regular"===t?"400":t),r=e.custom?.fontWeight&&n.includes(e.custom?.fontWeight)?e.custom?.fontWeight:n[0];if(r){let l=uniqueArray([r,...e?.attrs?.isAlwaysLoadBold?["700"]:[],...e?.attrs?.loadFontStyles?.includes("bold")?["700"]:[]]);if(e?.attrs?.loadFontStyles?.includes("italic")){let t=l.map(t=>{if("string"==typeof t&&/^\d+$/.test(t))return`${t}i`});l.push(...t)}let s=t.find(t=>t.family==i&&t.variants.includes(r));if(!s){let e=t.find(t=>t.family==i);e?e.variants.push(r):("700"!==r&&n.includes("700")&&l.push("700"),t.push({family:i||"",variants:l,subsets:[],type:o.type}))}}}};export{getFontFromGroupSetting,getFontsFromDataBuilder};
|
package/dist/types/index.d.ts
CHANGED
|
@@ -280,7 +280,7 @@ type FontOption = {
|
|
|
280
280
|
effect?: string;
|
|
281
281
|
};
|
|
282
282
|
declare function getFonts(fonts: FontItem[], option?: FontOption, isImportFontByUrl?: boolean, fontType?: FontType): Promise<string>;
|
|
283
|
-
declare const getFontFromGlobalStyle: (data?: string, sourceFont?: FontType) => "" | Promise<string>;
|
|
283
|
+
declare const getFontFromGlobalStyle: (data?: string, sourceFont?: FontType, pageTemplate?: ReturnType<typeof parseBuilderTemplateV2>) => "" | Promise<string>;
|
|
284
284
|
|
|
285
285
|
declare const getFontsFromDataBuilder: (dataBuilder: Record<string, any>) => FontItem[];
|
|
286
286
|
declare const getFontFromGroupSetting: (fonts: FontItem[], groupSetting: Record<string, any>) => void;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gem-sdk/pages",
|
|
3
|
-
"version": "7.0.
|
|
3
|
+
"version": "7.0.1-dev.1",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"main": "dist/cjs/index.js",
|
|
@@ -26,10 +26,10 @@
|
|
|
26
26
|
"next": "14.2.20"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
|
-
"@gem-sdk/core": "7.0.
|
|
30
|
-
"@gem-sdk/plugin-cookie-bar": "7.0.
|
|
31
|
-
"@gem-sdk/plugin-quick-view": "7.0.
|
|
32
|
-
"@gem-sdk/plugin-sticky-add-to-cart": "7.0.
|
|
29
|
+
"@gem-sdk/core": "7.0.1-dev.1",
|
|
30
|
+
"@gem-sdk/plugin-cookie-bar": "7.0.1-dev.1",
|
|
31
|
+
"@gem-sdk/plugin-quick-view": "7.0.1-dev.1",
|
|
32
|
+
"@gem-sdk/plugin-sticky-add-to-cart": "7.0.1-dev.1"
|
|
33
33
|
},
|
|
34
34
|
"peerDependencies": {
|
|
35
35
|
"next": ">=14"
|