@gem-sdk/pages 21.0.0 → 22.0.0-staging.40
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-static-page-props-preview.js +1 -1
- package/dist/cjs/libs/api/get-static-page-props-v2.js +1 -1
- package/dist/cjs/libs/interaction.js +1 -0
- package/dist/cjs/pages/headless.js +3 -3
- package/dist/cjs/pages/static-v2.js +3 -3
- package/dist/esm/libs/api/get-home-page-props-v2.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/interaction.js +1 -0
- package/dist/esm/pages/headless.js +3 -3
- package/dist/esm/pages/static-v2.js +3 -3
- package/dist/types/index.d.ts +2 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("@gem-sdk/core"),a=require("@gem-sdk/adapter-shopify"),t=require("../google-fonts.js"),l=require("../helpers/gen-css.js"),s=require("../helpers/get-fallback.js"),i=require("../helpers/normalize.js"),o=require("../helpers/parse-json.js"),r=require("@sentry/nextjs"),d=require("../../constants/index.js"),u=require("../helpers/get-metafield.js"),n=require("../custom-fonts.js"),h=require("../helpers/generate-seo-links.js");exports.getHomePagePropsV2=(g,m)=>async()=>{try{let[r,P,p
|
|
1
|
+
"use strict";var e=require("@gem-sdk/core"),a=require("@gem-sdk/adapter-shopify"),t=require("../google-fonts.js"),l=require("../helpers/gen-css.js"),s=require("../helpers/get-fallback.js"),i=require("../helpers/normalize.js"),o=require("../helpers/parse-json.js"),r=require("@sentry/nextjs"),d=require("../../constants/index.js"),u=require("../helpers/get-metafield.js"),n=require("../custom-fonts.js"),h=require("../helpers/generate-seo-links.js");exports.getHomePagePropsV2=(g,m)=>async()=>{try{let[r,P,c,p]=await Promise.allSettled([g([e.PublishedThemePagesDocument.toString(),{slugType:"STATIC"}]),g([e.StorePropertyDocument.toString()]),m([a.ShopMetaDocument]),g([e.PublishedShopMetasDocument.toString(),{keys:["source_font",d.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION,d.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL]}])]);if("rejected"===r.status)throw Error(r.reason?.[0]);let T="fulfilled"===p.status?p.value:void 0,f=T?.publishedShopMetas?.find(e=>e?.key==="source_font"),y=r.value?.publishedThemePages?.[0],M=r.value?.publishedThemePages?.[0]?.themePageCustomFonts;if(!y)throw Error("No data builder found for Home page");let b=i.parseBuilderTemplateV2(y),[S,_,A,I]=await Promise.all([t.getStaticFontFacesFromPageTemplate({pageTemplate:b,sourceFont:f?.value,data:y?.pageStyle?.data}),t.getStaticFontFacesFromGlobalStyle({data:y?.pageStyle?.data,sourceFont:f?.value}),s.getFallbackV2(g,b),n.getCustomFonts(M)]),B=y.isMobile??!1,C=u.getPublishedThemePageMetafieldByKey(d.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION,y?.metafields)||T?.publishedShopMetas?.find(e=>e?.key===d.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION)?.value,L=o.parseJson(u.getPublishedThemePageMetafieldByKey(d.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL,y?.metafields)||T?.publishedShopMetas?.find(e=>e?.key===d.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL)?.value),v="fulfilled"===c.status?c.value:void 0,D="fulfilled"===P.status?P.value:void 0,E=D?.storeProperty?.favicon??"/favicon/favicon-32x32.png",k={defaultTitle:v?.shop.name,title:y?.name??"Home",description:C??v?.shop.description,openGraph:{locale:v?.localization.country.isoCode,title:y?.name??v?.shop.name,description:C??v?.shop.description,images:L?[L]:[]},additionalMetaTags:[{name:"theme-color",content:"#000000"}],canonical:`https://${D?.storeProperty?.primaryDomain}/`,additionalLinkTags:h.generateSeoLinks({favicon:E,shopMeta:v})},F=v?.localization.language.isoCode??null,O=v?.localization.country.isoCode??null,j=F&&O?`${F}-${O}`:null;return o.serializableJson({id:r.value?.publishedThemePages?.[0]?.id??null,shopID:r.value?.publishedThemePages?.[0]?.shopID??null,themeStyle:l.genCSS(y?.pageStyle?.data,B),fontStyle:_,elementFontStyle:S,builderData:b,swr:{fallback:A},moneyFormat:v?.shop.moneyFormat??null,currency:v?.localization.country.currency.isoCode??null,languageIsoCode:F,countryIsoCode:O,locale:j,swatches:o.parseJson(D?.storeProperty?.swatchesConfig),seo:k,mobileOnly:B,gaTrackingId:u.getPublishedThemePageMetafieldByKey(d.PublishedThemePageMetafields.ANALYTICS_GA_TRACKING_ID,y?.metafields)??null,facebookPixelId:u.getPublishedThemePageMetafieldByKey(d.PublishedThemePageMetafields.ANALYTICS_FB_PIXEL_ID,y?.metafields)??null,tiktokPixelId:u.getPublishedThemePageMetafieldByKey(d.PublishedThemePageMetafields.ANALYTICS_TIKTOK_PIXEL_ID,y?.metafields)??null,customCodeHeader:u.getPublishedThemePageMetafieldByKey(d.PublishedThemePageMetafields.CUSTOM_CODE_HEADER,y?.metafields)??null,customCodeBody:u.getPublishedThemePageMetafieldByKey(d.PublishedThemePageMetafields.CUSTOM_CODE_BODY,y?.metafields)??null,pageHandle:y.handle??null,customFonts:I,interactions:y?.interactions,pageBackground:i.extractPageBackground(y)})}catch(e){throw r.captureException(e),e}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("@gem-sdk/core"),t=require("@gem-sdk/adapter-shopify"),o=require("@sentry/nextjs"),a=require("../google-fonts.js"),r=require("../helpers/gen-css.js"),l=require("../helpers/get-fallback.js"),i=require("../helpers/normalize.js"),n=require("../helpers/parse-json.js"),s=require("../custom-fonts.js"),u=require("../helpers/sentry.js"),c=require("../helpers/generate-seo-links.js");exports.getStaticPagePropsPreview=(d,m)=>async p=>{try{let o="STATIC",g={handleURL:p,pageType:o},[h,y,f]=await Promise.allSettled([d([e.PreviewThemePageDocument.toString(),g]),d([e.StorePropertyDocument.toString()]),m([t.ShopMetaDocument])]);if("rejected"===h.status)throw u.sentryCaptureException("PreviewThemePageDocument",h.reason,{variables:g,theme:h}),Error(h.reason?.[0]);let k=h.value.previewThemePage;if(!k)throw Error(`No data builder found for slug: /preview/${p}`);let P=k.customFonts,v={...k,shopID:""},S=i.parseBuilderTemplateV2(v),[w,b,C,T]=await Promise.all([a.getFontStyleFromPageTemplate(S,void 0,k?.themeStyle?.data),a.getFontLinkFromGlobalStyle(k?.themeStyle?.data),l.getFallbackV2(d,S),s.getCustomFonts(P)]),j=!!k.isMobile,q=k?.dataSEO?.find(e=>e?.key==="global-meta-description")?.value,x=n.parseJson(k?.dataSEO?.find(e=>e?.key==="global-meta-thumbnail")?.value),F="fulfilled"===f.status?f.value:void 0,D="fulfilled"===y.status?y.value:void 0,I=D?.storeProperty?.favicon??"/favicon/favicon-32x32.png",z={defaultTitle:F?.shop.name,title:k?.name,description:q??F?.shop.description,openGraph:{locale:F?.localization.country.isoCode,title:k?.name??F?.shop.name,description:q??F?.shop.description,images:x?[x]:[]},nofollow:!0,noindex:!0,canonical:`/preview/${p}`,additionalMetaTags:[{name:"theme-color",content:"#000000"}],additionalLinkTags:c.generateSeoLinks({favicon:I,shopMeta:F})},E=F?.localization.language.isoCode??null,B=F?.localization.country.isoCode??null,L=E&&B?`${E}-${B}`:null;return n.serializableJson({themeStyle:r.genCSS(k?.themeStyle?.data,j),fontStyle:b,elementFontStyle:w,builderData:S,pageType:o,moneyFormat:F?.shop?.moneyFormat??null,currency:F?.localization?.country?.currency?.isoCode??null,languageIsoCode:E,countryIsoCode:B,locale:L,swr:{fallback:C},swatches:n.parseJson(D?.storeProperty?.swatchesConfig),seo:z,mobileOnly:j,gaTrackingId:k.analytic?.gaTrackingID??null,facebookPixelId:k.analytic?.fbPixelID??null,tiktokPixelId:k.analytic?.tiktokPixelID??null,customCodeHeader:k.customCode?.header??null,customCodeBody:k.customCode?.body??null,customFonts:T,pageBackground:i.extractPageBackground(v),
|
|
1
|
+
"use strict";var e=require("@gem-sdk/core"),t=require("@gem-sdk/adapter-shopify"),o=require("@sentry/nextjs"),a=require("../google-fonts.js"),r=require("../helpers/gen-css.js"),l=require("../helpers/get-fallback.js"),i=require("../helpers/normalize.js"),n=require("../helpers/parse-json.js"),s=require("../custom-fonts.js"),u=require("../helpers/sentry.js"),c=require("../helpers/generate-seo-links.js");exports.getStaticPagePropsPreview=(d,m)=>async p=>{try{let o="STATIC",g={handleURL:p,pageType:o},[h,y,f]=await Promise.allSettled([d([e.PreviewThemePageDocument.toString(),g]),d([e.StorePropertyDocument.toString()]),m([t.ShopMetaDocument])]);if("rejected"===h.status)throw u.sentryCaptureException("PreviewThemePageDocument",h.reason,{variables:g,theme:h}),Error(h.reason?.[0]);let k=h.value.previewThemePage;if(!k)throw Error(`No data builder found for slug: /preview/${p}`);let P=k.customFonts,v={...k,shopID:""},S=i.parseBuilderTemplateV2(v),[w,b,C,T]=await Promise.all([a.getFontStyleFromPageTemplate(S,void 0,k?.themeStyle?.data),a.getFontLinkFromGlobalStyle(k?.themeStyle?.data),l.getFallbackV2(d,S),s.getCustomFonts(P)]),j=!!k.isMobile,q=k?.dataSEO?.find(e=>e?.key==="global-meta-description")?.value,x=n.parseJson(k?.dataSEO?.find(e=>e?.key==="global-meta-thumbnail")?.value),F="fulfilled"===f.status?f.value:void 0,D="fulfilled"===y.status?y.value:void 0,I=D?.storeProperty?.favicon??"/favicon/favicon-32x32.png",z={defaultTitle:F?.shop.name,title:k?.name,description:q??F?.shop.description,openGraph:{locale:F?.localization.country.isoCode,title:k?.name??F?.shop.name,description:q??F?.shop.description,images:x?[x]:[]},nofollow:!0,noindex:!0,canonical:`/preview/${p}`,additionalMetaTags:[{name:"theme-color",content:"#000000"}],additionalLinkTags:c.generateSeoLinks({favicon:I,shopMeta:F})},E=F?.localization.language.isoCode??null,B=F?.localization.country.isoCode??null,L=E&&B?`${E}-${B}`:null;return n.serializableJson({themeStyle:r.genCSS(k?.themeStyle?.data,j),fontStyle:b,elementFontStyle:w,builderData:S,pageType:o,moneyFormat:F?.shop?.moneyFormat??null,currency:F?.localization?.country?.currency?.isoCode??null,languageIsoCode:E,countryIsoCode:B,locale:L,swr:{fallback:C},swatches:n.parseJson(D?.storeProperty?.swatchesConfig),seo:z,mobileOnly:j,gaTrackingId:k.analytic?.gaTrackingID??null,facebookPixelId:k.analytic?.fbPixelID??null,tiktokPixelId:k.analytic?.tiktokPixelID??null,customCodeHeader:k.customCode?.header??null,customCodeBody:k.customCode?.body??null,customFonts:T,pageBackground:i.extractPageBackground(v),interactions:k?.interactions})}catch(e){throw o.captureException(e),e}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("@gem-sdk/core"),a=require("@gem-sdk/adapter-shopify"),l=require("../google-fonts.js"),t=require("../helpers/gen-css.js"),s=require("../helpers/get-fallback.js"),i=require("../helpers/normalize.js"),d=require("../helpers/parse-json.js"),o=require("@sentry/nextjs"),u=require("../custom-fonts.js"),h=require("../helpers/get-metafield.js"),r=require("../../constants/index.js"),n=require("../helpers/generate-seo-links.js");exports.getStaticPagePropsV2=(P,g)=>async m=>{try{let o="STATIC",[T,f,p,c]=await Promise.allSettled([P([e.PublishedThemePagesDocument.toString(),{slug:m,slugType:o}]),P([e.StorePropertyDocument.toString()]),g([a.ShopMetaDocument]),P([e.PublishedShopMetasDocument.toString(),{keys:["source_font",r.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION,r.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL,r.PublishedThemePageMetafields.SHOW_PRICE_CURRENCY,r.PublishedThemePageMetafields.MONEY_WITH_CURRENCY_FORMAT]}])]);if("rejected"===T.status)throw Error(T.reason?.[0]);let M="fulfilled"===c.status?c.value:void 0,b=M?.publishedShopMetas?.find(e=>e?.key==="source_font"),y=M?.publishedShopMetas?.find(e=>e?.key===r.PublishedThemePageMetafields.SHOW_PRICE_CURRENCY),_=M?.publishedShopMetas?.find(e=>e?.key===r.PublishedThemePageMetafields.MONEY_WITH_CURRENCY_FORMAT),S=T.value.publishedThemePages?.[0],E=T.value?.publishedThemePages?.[0]?.themePageCustomFonts;if(!S)throw Error(`No data builder found for slug: /${m}`);let I=i.parseBuilderTemplateV2(S),[C,L,A,O]=await Promise.all([l.getStaticFontFacesFromPageTemplate({pageTemplate:I,sourceFont:b?.value,data:S?.pageStyle?.data}),l.getStaticFontFacesFromGlobalStyle({data:S?.pageStyle?.data,sourceFont:b?.value}),s.getFallbackV2(P,I),u.getCustomFonts(E)]),B=S.isMobile??!1,v=h.getPublishedThemePageMetafieldByKey(r.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION,S?.metafields)||M?.publishedShopMetas?.find(e=>e?.key===r.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION)?.value,N=h.getPublishedThemePageMetafieldByKey(r.PublishedThemePageMetafields.GLOBAL_META_TITLE,S?.metafields)||M?.publishedShopMetas?.find(e=>e?.key===r.PublishedThemePageMetafields.GLOBAL_META_TITLE)?.value,k=d.parseJson(h.getPublishedThemePageMetafieldByKey(r.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL,S?.metafields)||M?.publishedShopMetas?.find(e=>e?.key===r.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL)?.value),D=h.getPublishedThemePageMetafieldByKey(r.PublishedThemePageMetafields.NOINDEX_KEY,S?.metafields)||M?.publishedShopMetas?.find(e=>e?.key===r.PublishedThemePageMetafields.NOINDEX_KEY)?.value,F=h.getPublishedThemePageMetafieldByKey(r.PublishedThemePageMetafields.NOFOLLOW_KEY,S?.metafields)||M?.publishedShopMetas?.find(e=>e?.key===r.PublishedThemePageMetafields.NOFOLLOW_KEY)?.value,K="fulfilled"===p.status?p.value:void 0,R="fulfilled"===f.status?f.value:void 0,Y=R?.storeProperty?.favicon??"/favicon/favicon-32x32.png",j={defaultTitle:K?.shop.name,title:N||S?.name,description:v??K?.shop.description,openGraph:{locale:K?.localization.country.isoCode,title:(N||S?.name)??K?.shop.name,description:v??K?.shop.description,images:k?[k]:[]},noindex:"true"===D,nofollow:"true"===F,canonical:`https://${R?.storeProperty?.primaryDomain}/${m}`,additionalMetaTags:[{name:"theme-color",content:"#000000"}],additionalLinkTags:n.generateSeoLinks({favicon:Y,shopMeta:K})},q=K?.localization.language.isoCode??null,G=K?.localization.country.isoCode??null,H=q&&G?`${q}-${G}`:null;return d.serializableJson({id:T.value?.publishedThemePages?.[0]?.id??null,shopID:T.value?.publishedThemePages?.[0]?.shopID??null,themeStyle:t.genCSS(S?.pageStyle?.data,B),fontStyle:L,elementFontStyle:C,builderData:I,pageType:o,moneyFormat:y?.value==="true"?_?.value:K?.shop.moneyFormat??null,currency:K?.localization.country.currency.isoCode??null,languageIsoCode:q,countryIsoCode:G,locale:H,swr:{fallback:A},swatches:d.parseJson(R?.storeProperty?.swatchesConfig),seo:j,mobileOnly:B,gaTrackingId:h.getPublishedThemePageMetafieldByKey(r.PublishedThemePageMetafields.ANALYTICS_GA_TRACKING_ID,S?.metafields)??null,facebookPixelId:h.getPublishedThemePageMetafieldByKey(r.PublishedThemePageMetafields.ANALYTICS_FB_PIXEL_ID,S?.metafields)??null,tiktokPixelId:h.getPublishedThemePageMetafieldByKey(r.PublishedThemePageMetafields.ANALYTICS_TIKTOK_PIXEL_ID,S?.metafields)??null,customCodeHeader:h.getPublishedThemePageMetafieldByKey(r.PublishedThemePageMetafields.CUSTOM_CODE_HEADER,S?.metafields)??null,customCodeBody:h.getPublishedThemePageMetafieldByKey(r.PublishedThemePageMetafields.CUSTOM_CODE_BODY,S?.metafields)??null,pageHandle:S.handle??null,customFonts:O,
|
|
1
|
+
"use strict";var e=require("@gem-sdk/core"),a=require("@gem-sdk/adapter-shopify"),l=require("../google-fonts.js"),t=require("../helpers/gen-css.js"),s=require("../helpers/get-fallback.js"),i=require("../helpers/normalize.js"),d=require("../helpers/parse-json.js"),o=require("@sentry/nextjs"),u=require("../custom-fonts.js"),h=require("../helpers/get-metafield.js"),r=require("../../constants/index.js"),n=require("../helpers/generate-seo-links.js");exports.getStaticPagePropsV2=(P,g)=>async m=>{try{let o="STATIC",[T,f,p,c]=await Promise.allSettled([P([e.PublishedThemePagesDocument.toString(),{slug:m,slugType:o}]),P([e.StorePropertyDocument.toString()]),g([a.ShopMetaDocument]),P([e.PublishedShopMetasDocument.toString(),{keys:["source_font",r.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION,r.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL,r.PublishedThemePageMetafields.SHOW_PRICE_CURRENCY,r.PublishedThemePageMetafields.MONEY_WITH_CURRENCY_FORMAT]}])]);if("rejected"===T.status)throw Error(T.reason?.[0]);let M="fulfilled"===c.status?c.value:void 0,b=M?.publishedShopMetas?.find(e=>e?.key==="source_font"),y=M?.publishedShopMetas?.find(e=>e?.key===r.PublishedThemePageMetafields.SHOW_PRICE_CURRENCY),_=M?.publishedShopMetas?.find(e=>e?.key===r.PublishedThemePageMetafields.MONEY_WITH_CURRENCY_FORMAT),S=T.value.publishedThemePages?.[0],E=T.value?.publishedThemePages?.[0]?.themePageCustomFonts;if(!S)throw Error(`No data builder found for slug: /${m}`);let I=i.parseBuilderTemplateV2(S),[C,L,A,O]=await Promise.all([l.getStaticFontFacesFromPageTemplate({pageTemplate:I,sourceFont:b?.value,data:S?.pageStyle?.data}),l.getStaticFontFacesFromGlobalStyle({data:S?.pageStyle?.data,sourceFont:b?.value}),s.getFallbackV2(P,I),u.getCustomFonts(E)]),B=S.isMobile??!1,v=h.getPublishedThemePageMetafieldByKey(r.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION,S?.metafields)||M?.publishedShopMetas?.find(e=>e?.key===r.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION)?.value,N=h.getPublishedThemePageMetafieldByKey(r.PublishedThemePageMetafields.GLOBAL_META_TITLE,S?.metafields)||M?.publishedShopMetas?.find(e=>e?.key===r.PublishedThemePageMetafields.GLOBAL_META_TITLE)?.value,k=d.parseJson(h.getPublishedThemePageMetafieldByKey(r.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL,S?.metafields)||M?.publishedShopMetas?.find(e=>e?.key===r.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL)?.value),D=h.getPublishedThemePageMetafieldByKey(r.PublishedThemePageMetafields.NOINDEX_KEY,S?.metafields)||M?.publishedShopMetas?.find(e=>e?.key===r.PublishedThemePageMetafields.NOINDEX_KEY)?.value,F=h.getPublishedThemePageMetafieldByKey(r.PublishedThemePageMetafields.NOFOLLOW_KEY,S?.metafields)||M?.publishedShopMetas?.find(e=>e?.key===r.PublishedThemePageMetafields.NOFOLLOW_KEY)?.value,K="fulfilled"===p.status?p.value:void 0,R="fulfilled"===f.status?f.value:void 0,Y=R?.storeProperty?.favicon??"/favicon/favicon-32x32.png",j={defaultTitle:K?.shop.name,title:N||S?.name,description:v??K?.shop.description,openGraph:{locale:K?.localization.country.isoCode,title:(N||S?.name)??K?.shop.name,description:v??K?.shop.description,images:k?[k]:[]},noindex:"true"===D,nofollow:"true"===F,canonical:`https://${R?.storeProperty?.primaryDomain}/${m}`,additionalMetaTags:[{name:"theme-color",content:"#000000"}],additionalLinkTags:n.generateSeoLinks({favicon:Y,shopMeta:K})},q=K?.localization.language.isoCode??null,G=K?.localization.country.isoCode??null,H=q&&G?`${q}-${G}`:null;return d.serializableJson({id:T.value?.publishedThemePages?.[0]?.id??null,shopID:T.value?.publishedThemePages?.[0]?.shopID??null,themeStyle:t.genCSS(S?.pageStyle?.data,B),fontStyle:L,elementFontStyle:C,builderData:I,pageType:o,moneyFormat:y?.value==="true"?_?.value:K?.shop.moneyFormat??null,currency:K?.localization.country.currency.isoCode??null,languageIsoCode:q,countryIsoCode:G,locale:H,swr:{fallback:A},swatches:d.parseJson(R?.storeProperty?.swatchesConfig),seo:j,mobileOnly:B,gaTrackingId:h.getPublishedThemePageMetafieldByKey(r.PublishedThemePageMetafields.ANALYTICS_GA_TRACKING_ID,S?.metafields)??null,facebookPixelId:h.getPublishedThemePageMetafieldByKey(r.PublishedThemePageMetafields.ANALYTICS_FB_PIXEL_ID,S?.metafields)??null,tiktokPixelId:h.getPublishedThemePageMetafieldByKey(r.PublishedThemePageMetafields.ANALYTICS_TIKTOK_PIXEL_ID,S?.metafields)??null,customCodeHeader:h.getPublishedThemePageMetafieldByKey(r.PublishedThemePageMetafields.CUSTOM_CODE_HEADER,S?.metafields)??null,customCodeBody:h.getPublishedThemePageMetafieldByKey(r.PublishedThemePageMetafields.CUSTOM_CODE_BODY,S?.metafields)??null,pageHandle:S.handle??null,customFonts:O,interactions:S?.interactions,pageBackground:i.extractPageBackground(S)})}catch(e){throw o.captureException(e),e}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";const t=t=>{let e=t.key??"";return!e||e.startsWith("gp-interaction-")?0:Number(e.split("-").pop())||0};exports.joinInteractionParts=e=>{let r=[...e??[]].filter(t=>!!t),i=r.filter(e=>t(e)>0);return(i.length?i:r).sort((e,r)=>t(e)-t(r)).flatMap(t=>t.value??[])};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
"use strict";var e=require("react/jsx-runtime"),s=require("@gem-sdk/core"),t=require("next-seo"),r=require("next/head"),a=require("next/router"),n=require("../libs/parse-html.js"),l=require("next/script"),
|
|
1
|
+
"use strict";var e=require("react/jsx-runtime"),s=require("@gem-sdk/core"),t=require("next-seo"),r=require("next/head"),a=require("next/router"),n=require("../libs/interaction.js"),i=require("../libs/parse-html.js"),l=require("next/script"),o=require("react"),d=require("../libs/hooks/usePageViewedTracking.js");exports.Headless=({components:c,builderData:g,sectionData:u,seo:p,themeStyle:m,fontStyle:h,elementFontStyle:x,customCodeHeader:f,customFonts:j,isPostPurchase:y,productOffers:_,publicStoreFrontData:v,dynamicDiscountOffer:b,isPreview:q,interactions:P,pageBackground:S,sellingPlanSetting:k,buyerConsentPreCheck:N,id:T,shopID:H,domainTrackingIlp:I})=>{let L=a.useRouter(),M=process.env.NEXT_GP_BASE_ASSET_URL||"https://assets.gemcommerce.com";d.usePageViewedTracking({id:T,shopID:H,domain:I});let B="custom-code-header";if(o.useEffect(()=>{let e=document.querySelectorAll(`[class*="${B}-"]`),s=[];e.length>1&&e.forEach(e=>{let t=e.className;if(s.includes(t)){e.remove();return}s.push(t)})},[]),L.isFallback)return e.jsx("div",{className:"gp-flex gp-h-[100vh] gp-items-center gp-justify-center",children:e.jsxs("div",{className:"gp-flex gp-gap-2",children:[e.jsx("span",{className:"gp-aspect-square gp-h-2 gp-animate-[flashing_500ms_infinite_alternate] gp-rounded-full gp-bg-slate-800"}),e.jsx("span",{className:"gp-aspect-square gp-h-2 gp-animate-[flashing_500ms_infinite_200ms_linear_alternate] gp-rounded-full gp-bg-slate-800"}),e.jsx("span",{className:"gp-aspect-square gp-h-2 gp-animate-[flashing_500ms_infinite_500ms_alternate] gp-rounded-full gp-bg-slate-800"})]})});let E=n.joinInteractionParts(P),$=E.length>0,w=S?.isUsePageBackground?S?.background:S?.themeBackground;return e.jsxs(e.Fragment,{children:[e.jsx(t.NextSeo,{...p}),e.jsxs(r,{children:[i.parseHtml(B,f,!0),m&&e.jsx("style",{"data-id":"global-style",type:"text/css",dangerouslySetInnerHTML:{__html:m}},"global-style"),h&&e.jsx("style",{"data-id":"google-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:h}},"google-fonts"),x&&x.map(s=>e.jsx("style",{"data-id":"google-element-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:s}},s)),j&&e.jsx("style",{"data-id":"custom-element-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:j}},h),w&&e.jsx("style",{children:`
|
|
2
2
|
body {
|
|
3
|
-
background: ${
|
|
3
|
+
background: ${w};
|
|
4
4
|
}
|
|
5
|
-
`},`page_background_${
|
|
5
|
+
`},`page_background_${w}`)]}),e.jsx(s.PageProvider,{productOffers:_,publicStoreFrontData:v,dynamicDiscountOffer:b,sellingPlanMeta:k,buyerConsentChecked:N,children:e.jsx(s.BuilderComponentProvider,{components:c,children:e.jsxs("div",{role:"main",children:[$&&e.jsx("div",{dangerouslySetInnerHTML:{__html:`<div id="gp-interaction" style="display: none;">${JSON.stringify(E)}</div>`}}),e.jsx(s.SectionProvider,{data:u,children:g?.map(t=>e.jsxs(s.BuilderProvider,{state:t.data,lazy:t.lazy,priority:t.priority,isPostPurchase:y,isPreview:q,children:[e.jsx(s.Render,{uid:t.uid}),$&&e.jsx(l,{defer:!0,src:`${M}/assets-v2/gp-flow-action-lip-v7-5.js`})]}))})]})})})]})};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
"use strict";var e=require("react/jsx-runtime"),s=require("@gem-sdk/core"),t=require("next-seo"),r=require("next/head"),a=require("next/router"),n=require("../libs/parse-html.js"),
|
|
1
|
+
"use strict";var e=require("react/jsx-runtime"),s=require("@gem-sdk/core"),t=require("next-seo"),r=require("next/head"),a=require("next/router"),n=require("../libs/interaction.js"),i=require("../libs/parse-html.js"),l=require("../components/builder/Header.js"),o=require("../components/FooterForPostPurchase.js"),d=require("next/script"),c=require("react"),g=require("../libs/hooks/usePageViewedTracking.js");exports.StaticPageV2=({components:u,builderData:p,sectionData:m,seo:h,themeStyle:x,fontStyle:j,elementFontStyle:f,customCodeHeader:y,customFonts:_,isPostPurchase:P,shopName:v,productOffers:b,publicStoreFrontData:q,dynamicDiscountOffer:S,isPreview:k,interactions:N,pageBackground:T,sellingPlanSetting:I,buyerConsentPreCheck:H,id:E,shopID:L,domainTrackingIlp:M})=>{let $=a.useRouter(),{t:w}=s.useI18n(),B=process.env.NEXT_GP_BASE_ASSET_URL||"https://assets.gemcommerce.com";g.usePageViewedTracking({id:E,shopID:L,domain:M});let F="custom-code-header";if(c.useEffect(()=>{let e=document.querySelectorAll(`[class*="${F}-"]`),s=[];e.length>1&&e.forEach(e=>{let t=e.className;if(s.includes(t)){e.remove();return}s.push(t)})},[]),$.isFallback)return e.jsx("div",{className:"gp-flex gp-h-[100vh] gp-items-center gp-justify-center",children:e.jsxs("div",{className:"gp-flex gp-gap-2",children:[e.jsx("span",{className:"gp-aspect-square gp-h-2 gp-animate-[flashing_500ms_infinite_alternate] gp-rounded-full gp-bg-slate-800"}),e.jsx("span",{className:"gp-aspect-square gp-h-2 gp-animate-[flashing_500ms_infinite_200ms_linear_alternate] gp-rounded-full gp-bg-slate-800"}),e.jsx("span",{className:"gp-aspect-square gp-h-2 gp-animate-[flashing_500ms_infinite_500ms_alternate] gp-rounded-full gp-bg-slate-800"})]})});let A=n.joinInteractionParts(N),C=A.length>0,O=T?.isUsePageBackground?T?.background:T?.themeBackground;return e.jsxs(e.Fragment,{children:[e.jsx(t.NextSeo,{...h}),e.jsxs(r,{children:[i.parseHtml(F,y,!0),x&&e.jsx("style",{"data-id":"global-style",type:"text/css",dangerouslySetInnerHTML:{__html:x}},"global-style"),j&&e.jsx("style",{"data-id":"google-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:j}},"google-fonts"),f&&f.map(s=>e.jsx("style",{"data-id":"google-element-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:s}},s)),_&&e.jsx("style",{"data-id":"custom-element-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:_}},j),O&&e.jsx("style",{children:`
|
|
2
2
|
body {
|
|
3
|
-
background: ${
|
|
3
|
+
background: ${O};
|
|
4
4
|
}
|
|
5
|
-
`},`page_background_${
|
|
5
|
+
`},`page_background_${O}`)]}),e.jsx(s.PageProvider,{productOffers:b,publicStoreFrontData:q,dynamicDiscountOffer:S,sellingPlanMeta:I,buyerConsentChecked:H,children:e.jsx(s.BuilderComponentProvider,{components:u,children:e.jsx(s.I18nProvider,{t:w,children:e.jsxs("div",{className:`${P?"post-purchase-page gp-bg-white":""} `,role:"main",children:[P&&e.jsx(l.default,{pageType:"POST_PURCHASE"}),C&&e.jsx("div",{dangerouslySetInnerHTML:{__html:`<div id="gp-interaction" style="display: none;">${JSON.stringify(A)}</div>`}}),e.jsx(s.SectionProvider,{data:m,children:p?.map(t=>e.jsxs(s.BuilderProvider,{state:t.data,lazy:t.lazy,priority:t.priority,isPostPurchase:P,isPreview:k,children:[e.jsx(s.Render,{uid:t.uid}),C&&e.jsx(d,{defer:!0,src:`${B}/assets-v2/gp-flow-action-lip-v7-5.js`})]},t.uid))}),P&&e.jsx(o.default,{shopName:v||""})]})})})})]})};
|
|
@@ -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{getStaticFontFacesFromPageTemplate as l,getStaticFontFacesFromGlobalStyle 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{PublishedThemePageMetafields as
|
|
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{getStaticFontFacesFromPageTemplate as l,getStaticFontFacesFromGlobalStyle 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{PublishedThemePageMetafields as c}from"../../constants/index.js";import{getPublishedThemePageMetafieldByKey as f}from"../helpers/get-metafield.js";import{getCustomFonts as h}from"../custom-fonts.js";import{generateSeoLinks as g}from"../helpers/generate-seo-links.js";let T=(T,_)=>async()=>{try{let[u,y,A,I]=await Promise.allSettled([T([e.toString(),{slugType:"STATIC"}]),T([o.toString()]),_([a]),T([t.toString(),{keys:["source_font",c.GLOBAL_META_DESCRIPTION,c.GLOBAL_META_THUMBNAIL]}])]);if("rejected"===u.status)throw Error(u.reason?.[0]);let L="fulfilled"===I.status?I.value:void 0,C=L?.publishedShopMetas?.find(e=>e?.key==="source_font"),S=u.value?.publishedThemePages?.[0],P=u.value?.publishedThemePages?.[0]?.themePageCustomFonts;if(!S)throw Error("No data builder found for Home page");let v=n(S),[E,M,O,k]=await Promise.all([l({pageTemplate:v,sourceFont:C?.value,data:S?.pageStyle?.data}),s({data:S?.pageStyle?.data,sourceFont:C?.value}),r(T,v),h(P)]),D=S.isMobile??!1,B=f(c.GLOBAL_META_DESCRIPTION,S?.metafields)||L?.publishedShopMetas?.find(e=>e?.key===c.GLOBAL_META_DESCRIPTION)?.value,b=m(f(c.GLOBAL_META_THUMBNAIL,S?.metafields)||L?.publishedShopMetas?.find(e=>e?.key===c.GLOBAL_META_THUMBNAIL)?.value),j="fulfilled"===A.status?A.value:void 0,N="fulfilled"===y.status?y.value:void 0,G=N?.storeProperty?.favicon??"/favicon/favicon-32x32.png",H={defaultTitle:j?.shop.name,title:S?.name??"Home",description:B??j?.shop.description,openGraph:{locale:j?.localization.country.isoCode,title:S?.name??j?.shop.name,description:B??j?.shop.description,images:b?[b]:[]},additionalMetaTags:[{name:"theme-color",content:"#000000"}],canonical:`https://${N?.storeProperty?.primaryDomain}/`,additionalLinkTags:g({favicon:G,shopMeta:j})},w=j?.localization.language.isoCode??null,x=j?.localization.country.isoCode??null,F=w&&x?`${w}-${x}`:null;return p({id:u.value?.publishedThemePages?.[0]?.id??null,shopID:u.value?.publishedThemePages?.[0]?.shopID??null,themeStyle:i(S?.pageStyle?.data,D),fontStyle:M,elementFontStyle:E,builderData:v,swr:{fallback:O},moneyFormat:j?.shop.moneyFormat??null,currency:j?.localization.country.currency.isoCode??null,languageIsoCode:w,countryIsoCode:x,locale:F,swatches:m(N?.storeProperty?.swatchesConfig),seo:H,mobileOnly:D,gaTrackingId:f(c.ANALYTICS_GA_TRACKING_ID,S?.metafields)??null,facebookPixelId:f(c.ANALYTICS_FB_PIXEL_ID,S?.metafields)??null,tiktokPixelId:f(c.ANALYTICS_TIKTOK_PIXEL_ID,S?.metafields)??null,customCodeHeader:f(c.CUSTOM_CODE_HEADER,S?.metafields)??null,customCodeBody:f(c.CUSTOM_CODE_BODY,S?.metafields)??null,pageHandle:S.handle??null,customFonts:k,interactions:S?.interactions,pageBackground:d(S)})}catch(e){throw u(e),e}};export{T as getHomePagePropsV2};
|
|
@@ -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,getFontLinkFromGlobalStyle as l}from"../google-fonts.js";import{genCSS as i}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 h=(h,g)=>async y=>{try{let a="STATIC",v={handleURL:y,pageType:a},[k,w,P]=await Promise.allSettled([h([e.toString(),v]),h([o.toString()]),g([t])]);if("rejected"===k.status)throw u("PreviewThemePageDocument",k.reason,{variables:v,theme:k}),Error(k.reason?.[0]);let j=k.value.previewThemePage;if(!j)throw Error(`No data builder found for slug: /preview/${y}`);let S=j.customFonts,b={...j,shopID:""},C=s(b),[T,x,I,D]=await Promise.all([r(C,void 0,j?.themeStyle?.data),l(j?.themeStyle?.data),n(h,C),p(S)]),z=!!j.isMobile,E=j?.dataSEO?.find(e=>e?.key==="global-meta-description")?.value,$=c(j?.dataSEO?.find(e=>e?.key==="global-meta-thumbnail")?.value),F="fulfilled"===P.status?P.value:void 0,B="fulfilled"===w.status?w.value:void 0,L=B?.storeProperty?.favicon??"/favicon/favicon-32x32.png",M={defaultTitle:F?.shop.name,title:j?.name,description:E??F?.shop.description,openGraph:{locale:F?.localization.country.isoCode,title:j?.name??F?.shop.name,description:E??F?.shop.description,images:$?[$]:[]},nofollow:!0,noindex:!0,canonical:`/preview/${y}`,additionalMetaTags:[{name:"theme-color",content:"#000000"}],additionalLinkTags:f({favicon:L,shopMeta:F})},O=F?.localization.language.isoCode??null,A=F?.localization.country.isoCode??null,G=O&&A?`${O}-${A}`:null;return d({themeStyle:i(j?.themeStyle?.data,z),fontStyle:x,elementFontStyle:T,builderData:C,pageType:a,moneyFormat:F?.shop?.moneyFormat??null,currency:F?.localization?.country?.currency?.isoCode??null,languageIsoCode:O,countryIsoCode:A,locale:G,swr:{fallback:I},swatches:c(B?.storeProperty?.swatchesConfig),seo:M,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:D,pageBackground:m(b),
|
|
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,getFontLinkFromGlobalStyle as l}from"../google-fonts.js";import{genCSS as i}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 h=(h,g)=>async y=>{try{let a="STATIC",v={handleURL:y,pageType:a},[k,w,P]=await Promise.allSettled([h([e.toString(),v]),h([o.toString()]),g([t])]);if("rejected"===k.status)throw u("PreviewThemePageDocument",k.reason,{variables:v,theme:k}),Error(k.reason?.[0]);let j=k.value.previewThemePage;if(!j)throw Error(`No data builder found for slug: /preview/${y}`);let S=j.customFonts,b={...j,shopID:""},C=s(b),[T,x,I,D]=await Promise.all([r(C,void 0,j?.themeStyle?.data),l(j?.themeStyle?.data),n(h,C),p(S)]),z=!!j.isMobile,E=j?.dataSEO?.find(e=>e?.key==="global-meta-description")?.value,$=c(j?.dataSEO?.find(e=>e?.key==="global-meta-thumbnail")?.value),F="fulfilled"===P.status?P.value:void 0,B="fulfilled"===w.status?w.value:void 0,L=B?.storeProperty?.favicon??"/favicon/favicon-32x32.png",M={defaultTitle:F?.shop.name,title:j?.name,description:E??F?.shop.description,openGraph:{locale:F?.localization.country.isoCode,title:j?.name??F?.shop.name,description:E??F?.shop.description,images:$?[$]:[]},nofollow:!0,noindex:!0,canonical:`/preview/${y}`,additionalMetaTags:[{name:"theme-color",content:"#000000"}],additionalLinkTags:f({favicon:L,shopMeta:F})},O=F?.localization.language.isoCode??null,A=F?.localization.country.isoCode??null,G=O&&A?`${O}-${A}`:null;return d({themeStyle:i(j?.themeStyle?.data,z),fontStyle:x,elementFontStyle:T,builderData:C,pageType:a,moneyFormat:F?.shop?.moneyFormat??null,currency:F?.localization?.country?.currency?.isoCode??null,languageIsoCode:O,countryIsoCode:A,locale:G,swr:{fallback:I},swatches:c(B?.storeProperty?.swatchesConfig),seo:M,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:D,pageBackground:m(b),interactions:j?.interactions})}catch(e){throw a(e),e}};export{h as 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{getStaticFontFacesFromPageTemplate as l,getStaticFontFacesFromGlobalStyle 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 u,serializableJson as p}from"../helpers/parse-json.js";import{captureException as m}from"@sentry/nextjs";import{getCustomFonts as f}from"../custom-fonts.js";import{getPublishedThemePageMetafieldByKey as h}from"../helpers/get-metafield.js";import{PublishedThemePageMetafields as c}from"../../constants/index.js";import{generateSeoLinks as _}from"../helpers/generate-seo-links.js";let T=(T,g)=>async E=>{try{let m="STATIC",[I,A,L,O]=await Promise.allSettled([T([e.toString(),{slug:E,slugType:m}]),T([o.toString()]),g([a]),T([t.toString(),{keys:["source_font",c.GLOBAL_META_DESCRIPTION,c.GLOBAL_META_THUMBNAIL,c.SHOW_PRICE_CURRENCY,c.MONEY_WITH_CURRENCY_FORMAT]}])]);if("rejected"===I.status)throw Error(I.reason?.[0]);let y="fulfilled"===O.status?O.value:void 0,C=y?.publishedShopMetas?.find(e=>e?.key==="source_font"),S=y?.publishedShopMetas?.find(e=>e?.key===c.SHOW_PRICE_CURRENCY),M=y?.publishedShopMetas?.find(e=>e?.key===c.MONEY_WITH_CURRENCY_FORMAT),N=I.value.publishedThemePages?.[0],v=I.value?.publishedThemePages?.[0]?.themePageCustomFonts;if(!N)throw Error(`No data builder found for slug: /${E}`);let P=n(N),[k,b,R,D]=await Promise.all([l({pageTemplate:P,sourceFont:C?.value,data:N?.pageStyle?.data}),s({data:N?.pageStyle?.data,sourceFont:C?.value}),r(T,P),f(v)]),B=N.isMobile??!1,Y=h(c.GLOBAL_META_DESCRIPTION,N?.metafields)||y?.publishedShopMetas?.find(e=>e?.key===c.GLOBAL_META_DESCRIPTION)?.value,j=h(c.GLOBAL_META_TITLE,N?.metafields)||y?.publishedShopMetas?.find(e=>e?.key===c.GLOBAL_META_TITLE)?.value,G=u(h(c.GLOBAL_META_THUMBNAIL,N?.metafields)||y?.publishedShopMetas?.find(e=>e?.key===c.GLOBAL_META_THUMBNAIL)?.value),F=h(c.NOINDEX_KEY,N?.metafields)||y?.publishedShopMetas?.find(e=>e?.key===c.NOINDEX_KEY)?.value,H=h(c.NOFOLLOW_KEY,N?.metafields)||y?.publishedShopMetas?.find(e=>e?.key===c.NOFOLLOW_KEY)?.value,w="fulfilled"===L.status?L.value:void 0,U="fulfilled"===A.status?A.value:void 0,x=U?.storeProperty?.favicon??"/favicon/favicon-32x32.png",K={defaultTitle:w?.shop.name,title:j||N?.name,description:Y??w?.shop.description,openGraph:{locale:w?.localization.country.isoCode,title:(j||N?.name)??w?.shop.name,description:Y??w?.shop.description,images:G?[G]:[]},noindex:"true"===F,nofollow:"true"===H,canonical:`https://${U?.storeProperty?.primaryDomain}/${E}`,additionalMetaTags:[{name:"theme-color",content:"#000000"}],additionalLinkTags:_({favicon:x,shopMeta:w})},W=w?.localization.language.isoCode??null,z=w?.localization.country.isoCode??null,$=W&&z?`${W}-${z}`:null;return p({id:I.value?.publishedThemePages?.[0]?.id??null,shopID:I.value?.publishedThemePages?.[0]?.shopID??null,themeStyle:i(N?.pageStyle?.data,B),fontStyle:b,elementFontStyle:k,builderData:P,pageType:m,moneyFormat:S?.value==="true"?M?.value:w?.shop.moneyFormat??null,currency:w?.localization.country.currency.isoCode??null,languageIsoCode:W,countryIsoCode:z,locale:$,swr:{fallback:R},swatches:u(U?.storeProperty?.swatchesConfig),seo:K,mobileOnly:B,gaTrackingId:h(c.ANALYTICS_GA_TRACKING_ID,N?.metafields)??null,facebookPixelId:h(c.ANALYTICS_FB_PIXEL_ID,N?.metafields)??null,tiktokPixelId:h(c.ANALYTICS_TIKTOK_PIXEL_ID,N?.metafields)??null,customCodeHeader:h(c.CUSTOM_CODE_HEADER,N?.metafields)??null,customCodeBody:h(c.CUSTOM_CODE_BODY,N?.metafields)??null,pageHandle:N.handle??null,customFonts:D,
|
|
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{getStaticFontFacesFromPageTemplate as l,getStaticFontFacesFromGlobalStyle 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 u,serializableJson as p}from"../helpers/parse-json.js";import{captureException as m}from"@sentry/nextjs";import{getCustomFonts as f}from"../custom-fonts.js";import{getPublishedThemePageMetafieldByKey as h}from"../helpers/get-metafield.js";import{PublishedThemePageMetafields as c}from"../../constants/index.js";import{generateSeoLinks as _}from"../helpers/generate-seo-links.js";let T=(T,g)=>async E=>{try{let m="STATIC",[I,A,L,O]=await Promise.allSettled([T([e.toString(),{slug:E,slugType:m}]),T([o.toString()]),g([a]),T([t.toString(),{keys:["source_font",c.GLOBAL_META_DESCRIPTION,c.GLOBAL_META_THUMBNAIL,c.SHOW_PRICE_CURRENCY,c.MONEY_WITH_CURRENCY_FORMAT]}])]);if("rejected"===I.status)throw Error(I.reason?.[0]);let y="fulfilled"===O.status?O.value:void 0,C=y?.publishedShopMetas?.find(e=>e?.key==="source_font"),S=y?.publishedShopMetas?.find(e=>e?.key===c.SHOW_PRICE_CURRENCY),M=y?.publishedShopMetas?.find(e=>e?.key===c.MONEY_WITH_CURRENCY_FORMAT),N=I.value.publishedThemePages?.[0],v=I.value?.publishedThemePages?.[0]?.themePageCustomFonts;if(!N)throw Error(`No data builder found for slug: /${E}`);let P=n(N),[k,b,R,D]=await Promise.all([l({pageTemplate:P,sourceFont:C?.value,data:N?.pageStyle?.data}),s({data:N?.pageStyle?.data,sourceFont:C?.value}),r(T,P),f(v)]),B=N.isMobile??!1,Y=h(c.GLOBAL_META_DESCRIPTION,N?.metafields)||y?.publishedShopMetas?.find(e=>e?.key===c.GLOBAL_META_DESCRIPTION)?.value,j=h(c.GLOBAL_META_TITLE,N?.metafields)||y?.publishedShopMetas?.find(e=>e?.key===c.GLOBAL_META_TITLE)?.value,G=u(h(c.GLOBAL_META_THUMBNAIL,N?.metafields)||y?.publishedShopMetas?.find(e=>e?.key===c.GLOBAL_META_THUMBNAIL)?.value),F=h(c.NOINDEX_KEY,N?.metafields)||y?.publishedShopMetas?.find(e=>e?.key===c.NOINDEX_KEY)?.value,H=h(c.NOFOLLOW_KEY,N?.metafields)||y?.publishedShopMetas?.find(e=>e?.key===c.NOFOLLOW_KEY)?.value,w="fulfilled"===L.status?L.value:void 0,U="fulfilled"===A.status?A.value:void 0,x=U?.storeProperty?.favicon??"/favicon/favicon-32x32.png",K={defaultTitle:w?.shop.name,title:j||N?.name,description:Y??w?.shop.description,openGraph:{locale:w?.localization.country.isoCode,title:(j||N?.name)??w?.shop.name,description:Y??w?.shop.description,images:G?[G]:[]},noindex:"true"===F,nofollow:"true"===H,canonical:`https://${U?.storeProperty?.primaryDomain}/${E}`,additionalMetaTags:[{name:"theme-color",content:"#000000"}],additionalLinkTags:_({favicon:x,shopMeta:w})},W=w?.localization.language.isoCode??null,z=w?.localization.country.isoCode??null,$=W&&z?`${W}-${z}`:null;return p({id:I.value?.publishedThemePages?.[0]?.id??null,shopID:I.value?.publishedThemePages?.[0]?.shopID??null,themeStyle:i(N?.pageStyle?.data,B),fontStyle:b,elementFontStyle:k,builderData:P,pageType:m,moneyFormat:S?.value==="true"?M?.value:w?.shop.moneyFormat??null,currency:w?.localization.country.currency.isoCode??null,languageIsoCode:W,countryIsoCode:z,locale:$,swr:{fallback:R},swatches:u(U?.storeProperty?.swatchesConfig),seo:K,mobileOnly:B,gaTrackingId:h(c.ANALYTICS_GA_TRACKING_ID,N?.metafields)??null,facebookPixelId:h(c.ANALYTICS_FB_PIXEL_ID,N?.metafields)??null,tiktokPixelId:h(c.ANALYTICS_TIKTOK_PIXEL_ID,N?.metafields)??null,customCodeHeader:h(c.CUSTOM_CODE_HEADER,N?.metafields)??null,customCodeBody:h(c.CUSTOM_CODE_BODY,N?.metafields)??null,pageHandle:N.handle??null,customFonts:D,interactions:N?.interactions,pageBackground:d(N)})}catch(e){throw m(e),e}};export{T as getStaticPagePropsV2};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
let t=t=>{let e=t.key??"";return!e||e.startsWith("gp-interaction-")?0:Number(e.split("-").pop())||0},e=e=>{let r=[...e??[]].filter(t=>!!t),l=r.filter(e=>t(e)>0);return(l.length?l:r).sort((e,r)=>t(e)-t(r)).flatMap(t=>t.value??[])};export{e as joinInteractionParts};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import{jsx as e,jsxs as t,Fragment as s}from"react/jsx-runtime";import{PageProvider as a,BuilderComponentProvider as r,SectionProvider as
|
|
1
|
+
import{jsx as e,jsxs as t,Fragment as s}from"react/jsx-runtime";import{PageProvider as a,BuilderComponentProvider as r,SectionProvider as n,BuilderProvider as l,Render as i}from"@gem-sdk/core";import{NextSeo as o}from"next-seo";import d from"next/head";import{useRouter as p}from"next/router";import{joinInteractionParts as m}from"../libs/interaction.js";import{parseHtml as c}from"../libs/parse-html.js";import g from"next/script";import{useEffect as u}from"react";import{usePageViewedTracking as f}from"../libs/hooks/usePageViewedTracking.js";let h=({components:h,builderData:y,sectionData:_,seo:b,themeStyle:v,fontStyle:x,elementFontStyle:S,customCodeHeader:k,customFonts:N,isPostPurchase:T,productOffers:P,publicStoreFrontData:j,dynamicDiscountOffer:H,isPreview:I,interactions:L,pageBackground:M,sellingPlanSetting:$,buyerConsentPreCheck:q,id:E,shopID:w,domainTrackingIlp:A})=>{let B=p(),D=process.env.NEXT_GP_BASE_ASSET_URL||"https://assets.gemcommerce.com";f({id:E,shopID:w,domain:A});let O="custom-code-header";if(u(()=>{let e=document.querySelectorAll(`[class*="${O}-"]`),t=[];e.length>1&&e.forEach(e=>{let s=e.className;if(t.includes(s)){e.remove();return}t.push(s)})},[]),B.isFallback)return e("div",{className:"gp-flex gp-h-[100vh] gp-items-center gp-justify-center",children:t("div",{className:"gp-flex gp-gap-2",children:[e("span",{className:"gp-aspect-square gp-h-2 gp-animate-[flashing_500ms_infinite_alternate] gp-rounded-full gp-bg-slate-800"}),e("span",{className:"gp-aspect-square gp-h-2 gp-animate-[flashing_500ms_infinite_200ms_linear_alternate] gp-rounded-full gp-bg-slate-800"}),e("span",{className:"gp-aspect-square gp-h-2 gp-animate-[flashing_500ms_infinite_500ms_alternate] gp-rounded-full gp-bg-slate-800"})]})});let z=m(L),C=z.length>0,F=M?.isUsePageBackground?M?.background:M?.themeBackground;return t(s,{children:[e(o,{...b}),t(d,{children:[c(O,k,!0),v&&e("style",{"data-id":"global-style",type:"text/css",dangerouslySetInnerHTML:{__html:v}},"global-style"),x&&e("style",{"data-id":"google-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:x}},"google-fonts"),S&&S.map(t=>e("style",{"data-id":"google-element-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:t}},t)),N&&e("style",{"data-id":"custom-element-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:N}},x),F&&e("style",{children:`
|
|
2
2
|
body {
|
|
3
|
-
background: ${
|
|
3
|
+
background: ${F};
|
|
4
4
|
}
|
|
5
|
-
`},`page_background_${
|
|
5
|
+
`},`page_background_${F}`)]}),e(a,{productOffers:P,publicStoreFrontData:j,dynamicDiscountOffer:H,sellingPlanMeta:$,buyerConsentChecked:q,children:e(r,{components:h,children:t("div",{role:"main",children:[C&&e("div",{dangerouslySetInnerHTML:{__html:`<div id="gp-interaction" style="display: none;">${JSON.stringify(z)}</div>`}}),e(n,{data:_,children:y?.map(s=>t(l,{state:s.data,lazy:s.lazy,priority:s.priority,isPostPurchase:T,isPreview:I,children:[e(i,{uid:s.uid}),C&&e(g,{defer:!0,src:`${D}/assets-v2/gp-flow-action-lip-v7-5.js`})]}))})]})})})]})};export{h as Headless};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import{jsx as e,jsxs as t,Fragment as s}from"react/jsx-runtime";import{useI18n as
|
|
1
|
+
import{jsx as e,jsxs as t,Fragment as s}from"react/jsx-runtime";import{useI18n as r,PageProvider as a,BuilderComponentProvider as n,I18nProvider as o,SectionProvider as i,BuilderProvider as l,Render as p}from"@gem-sdk/core";import{NextSeo as m}from"next-seo";import c from"next/head";import{useRouter as d}from"next/router";import{joinInteractionParts as g}from"../libs/interaction.js";import{parseHtml as u}from"../libs/parse-html.js";import h from"../components/builder/Header.js";import f from"../components/FooterForPostPurchase.js";import y from"next/script";import{useEffect as _}from"react";import{usePageViewedTracking as b}from"../libs/hooks/usePageViewedTracking.js";let S=({components:S,builderData:v,sectionData:x,seo:P,themeStyle:k,fontStyle:N,elementFontStyle:T,customCodeHeader:j,customFonts:H,isPostPurchase:I,shopName:L,productOffers:M,publicStoreFrontData:$,dynamicDiscountOffer:E,isPreview:q,interactions:w,pageBackground:A,sellingPlanSetting:F,buyerConsentPreCheck:O,id:B,shopID:C,domainTrackingIlp:D})=>{let U=d(),{t:z}=r(),R=process.env.NEXT_GP_BASE_ASSET_URL||"https://assets.gemcommerce.com";b({id:B,shopID:C,domain:D});let V="custom-code-header";if(_(()=>{let e=document.querySelectorAll(`[class*="${V}-"]`),t=[];e.length>1&&e.forEach(e=>{let s=e.className;if(t.includes(s)){e.remove();return}t.push(s)})},[]),U.isFallback)return e("div",{className:"gp-flex gp-h-[100vh] gp-items-center gp-justify-center",children:t("div",{className:"gp-flex gp-gap-2",children:[e("span",{className:"gp-aspect-square gp-h-2 gp-animate-[flashing_500ms_infinite_alternate] gp-rounded-full gp-bg-slate-800"}),e("span",{className:"gp-aspect-square gp-h-2 gp-animate-[flashing_500ms_infinite_200ms_linear_alternate] gp-rounded-full gp-bg-slate-800"}),e("span",{className:"gp-aspect-square gp-h-2 gp-animate-[flashing_500ms_infinite_500ms_alternate] gp-rounded-full gp-bg-slate-800"})]})});let G=g(w),J=G.length>0,X=A?.isUsePageBackground?A?.background:A?.themeBackground;return t(s,{children:[e(m,{...P}),t(c,{children:[u(V,j,!0),k&&e("style",{"data-id":"global-style",type:"text/css",dangerouslySetInnerHTML:{__html:k}},"global-style"),N&&e("style",{"data-id":"google-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:N}},"google-fonts"),T&&T.map(t=>e("style",{"data-id":"google-element-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:t}},t)),H&&e("style",{"data-id":"custom-element-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:H}},N),X&&e("style",{children:`
|
|
2
2
|
body {
|
|
3
|
-
background: ${
|
|
3
|
+
background: ${X};
|
|
4
4
|
}
|
|
5
|
-
`},`page_background_${
|
|
5
|
+
`},`page_background_${X}`)]}),e(a,{productOffers:M,publicStoreFrontData:$,dynamicDiscountOffer:E,sellingPlanMeta:F,buyerConsentChecked:O,children:e(n,{components:S,children:e(o,{t:z,children:t("div",{className:`${I?"post-purchase-page gp-bg-white":""} `,role:"main",children:[I&&e(h,{pageType:"POST_PURCHASE"}),J&&e("div",{dangerouslySetInnerHTML:{__html:`<div id="gp-interaction" style="display: none;">${JSON.stringify(G)}</div>`}}),e(i,{data:x,children:v?.map(s=>t(l,{state:s.data,lazy:s.lazy,priority:s.priority,isPostPurchase:I,isPreview:q,children:[e(p,{uid:s.uid}),J&&e(y,{defer:!0,src:`${R}/assets-v2/gp-flow-action-lip-v7-5.js`})]},s.uid))}),I&&e(f,{shopName:L||""})]})})})})]})};export{S as StaticPageV2};
|
package/dist/types/index.d.ts
CHANGED
|
@@ -40,7 +40,8 @@ type PageBuilderProps = {
|
|
|
40
40
|
customCodeBody?: string | null;
|
|
41
41
|
isStorefront?: boolean;
|
|
42
42
|
customFonts?: string | null;
|
|
43
|
-
|
|
43
|
+
/** Mỗi row là một Shopify metafield; ghép lại bằng `joinInteractionParts`. */
|
|
44
|
+
interactions?: ShopType.Maybe<Array<ShopType.Maybe<Pick<ShopType.PublishedPageInteraction, 'id' | 'key' | 'value'>>>>;
|
|
44
45
|
timezone?: string;
|
|
45
46
|
pageBackground?: {
|
|
46
47
|
isUsePageBackground?: boolean;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gem-sdk/pages",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "22.0.0-staging.40",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"main": "dist/cjs/index.js",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"next": "14.2.35"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
|
-
"@gem-sdk/core": "
|
|
30
|
+
"@gem-sdk/core": "22.0.0-staging.40",
|
|
31
31
|
"@gem-sdk/plugin-cookie-bar": "21.0.0",
|
|
32
32
|
"@gem-sdk/plugin-quick-view": "21.0.0",
|
|
33
33
|
"@gem-sdk/plugin-sticky-add-to-cart": "21.0.0"
|