@gem-sdk/pages 2.0.0-dev.1136 → 2.0.0-dev.1138

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/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";var getCollectionProps=require("./libs/api/get-collection-props.js"),getHomePageProps=require("./libs/api/get-home-page-props.js"),getHomePagePropsV2=require("./libs/api/get-home-page-props-v2.js"),getPreviewProps=require("./libs/api/get-preview-props.js"),getBuilderProps=require("./libs/api/get-builder-props.js"),getProductProps=require("./libs/api/get-product-props.js"),getStaticPagePropsV2=require("./libs/api/get-static-page-props-v2.js"),getPostPurchasePropsPreview=require("./libs/api/get-post-purchase-props-preview.js"),getStaticPagePropsPreview=require("./libs/api/get-static-page-props-preview.js"),fetcher=require("./libs/fetcher.js"),getLayout=require("./libs/get-layout.js"),genCss=require("./libs/helpers/gen-css.js"),useTrackingView=require("./libs/hooks/use-tracking-view.js"),usePagePreview=require("./libs/hooks/usePagePreview.js"),userAgent=require("./libs/helpers/user-agent.js"),normalize=require("./libs/helpers/normalize.js"),getFallback=require("./libs/helpers/get-fallback.js"),common=require("./libs/helpers/common.js"),getStaticPaths=require("./libs/getStaticPaths.js"),genFonts=require("./libs/helpers/gen-fonts.js"),googleFonts=require("./libs/google-fonts.js"),getStorefrontApi=require("./libs/get-storefront-api.js"),ErrorBoundary=require("./components/ErrorBoundary.js"),ErrorFallback=require("./components/ErrorFallback.js"),_404=require("./pages/404.js"),_500=require("./pages/500.js"),GoogleAnalytic=require("./components/GoogleAnalytic.js"),FacebookPixel=require("./components/FacebookPixel.js"),TikTokPixel=require("./components/TikTokPixel.js"),collectionDetail=require("./pages/collection-detail.js"),preview=require("./pages/preview.js"),productDetail=require("./pages/product-detail.js"),_static=require("./pages/static.js"),builder=require("./pages/builder.js"),staticV2=require("./pages/static-v2.js");exports.getCollectionProps=getCollectionProps.getCollectionProps,exports.getHomePageProps=getHomePageProps.getHomePageProps,exports.getHomePagePropsV2=getHomePagePropsV2.getHomePagePropsV2,exports.getPreviewProps=getPreviewProps.getPreviewProps,exports.getBuilderProps=getBuilderProps.getBuilderProps,exports.getProductProps=getProductProps.getProductProps,exports.getStaticPagePropsV2=getStaticPagePropsV2.getStaticPagePropsV2,exports.getPostPurchasePropsPreview=getPostPurchasePropsPreview.getPostPurchasePropsPreview,exports.getStaticPagePropsPreview=getStaticPagePropsPreview.getStaticPagePropsPreview,exports.createAppAPIFetcher=fetcher.createAppAPIFetcher,exports.createFetcher=fetcher.createFetcher,exports.createShopifyFetcher=fetcher.createShopifyFetcher,exports.getLayout=getLayout.getLayout,exports.genCSS=genCss.genCSS,exports.useTrackingView=useTrackingView.useTrackingView,exports.usePagePreview=usePagePreview.usePagePreview,exports.isBot=userAgent.isBot,exports.normalizePageSectionResponseV2=normalize.normalizePageSectionResponseV2,exports.parseBuilderTemplateV2=normalize.parseBuilderTemplateV2,exports.getFallbackV2=getFallback.getFallbackV2,exports.retryWithDelay=common.retryWithDelay,exports.getStaticPaths=getStaticPaths.getStaticPaths,exports.getFontFromGroupSetting=genFonts.getFontFromGroupSetting,exports.getFontsFromDataBuilder=genFonts.getFontsFromDataBuilder,exports.getFontFromGlobalStyle=googleFonts.getFontFromGlobalStyle,exports.getFonts=googleFonts.getFonts,exports.getStorefrontApi=getStorefrontApi.getStorefrontApi,exports.ErrorBoundary=ErrorBoundary.ErrorBoundary,exports.ErrorFallback=ErrorFallback.ErrorFallback,exports.Page404=_404.Page404,exports.Page500=_500.Page500,exports.GoogleAnalytic=GoogleAnalytic.GoogleAnalytic,exports.FacebookPixel=FacebookPixel.FacebookPixel,exports.TikTokPixel=TikTokPixel.TikTokPixel,exports.CollectionDetailPage=collectionDetail.default,exports.PreviewPage=preview.PreviewPage,exports.ProductDetailPage=productDetail.default,exports.StaticPage=_static.default,exports.BuilderPage=builder.BuilderPage,exports.StaticPageV2=staticV2.StaticPageV2;
1
+ "use strict";var getCollectionProps=require("./libs/api/get-collection-props.js"),getHomePageProps=require("./libs/api/get-home-page-props.js"),getHomePagePropsV2=require("./libs/api/get-home-page-props-v2.js"),getPreviewProps=require("./libs/api/get-preview-props.js"),getBuilderProps=require("./libs/api/get-builder-props.js"),getProductProps=require("./libs/api/get-product-props.js"),getStaticPagePropsV2=require("./libs/api/get-static-page-props-v2.js"),getSharePageProps=require("./libs/api/get-share-page-props.js"),getPostPurchasePropsPreview=require("./libs/api/get-post-purchase-props-preview.js"),getStaticPagePropsPreview=require("./libs/api/get-static-page-props-preview.js"),fetcher=require("./libs/fetcher.js"),getLayout=require("./libs/get-layout.js"),genCss=require("./libs/helpers/gen-css.js"),useTrackingView=require("./libs/hooks/use-tracking-view.js"),usePagePreview=require("./libs/hooks/usePagePreview.js"),userAgent=require("./libs/helpers/user-agent.js"),normalize=require("./libs/helpers/normalize.js"),getFallback=require("./libs/helpers/get-fallback.js"),common=require("./libs/helpers/common.js"),getStaticPaths=require("./libs/getStaticPaths.js"),genFonts=require("./libs/helpers/gen-fonts.js"),googleFonts=require("./libs/google-fonts.js"),getStorefrontApi=require("./libs/get-storefront-api.js"),ErrorBoundary=require("./components/ErrorBoundary.js"),ErrorFallback=require("./components/ErrorFallback.js"),_404=require("./pages/404.js"),_500=require("./pages/500.js"),GoogleAnalytic=require("./components/GoogleAnalytic.js"),FacebookPixel=require("./components/FacebookPixel.js"),TikTokPixel=require("./components/TikTokPixel.js"),collectionDetail=require("./pages/collection-detail.js"),preview=require("./pages/preview.js"),productDetail=require("./pages/product-detail.js"),_static=require("./pages/static.js"),builder=require("./pages/builder.js"),staticV2=require("./pages/static-v2.js"),previewTemplate=require("./pages/preview-template.js");exports.getCollectionProps=getCollectionProps.getCollectionProps,exports.getHomePageProps=getHomePageProps.getHomePageProps,exports.getHomePagePropsV2=getHomePagePropsV2.getHomePagePropsV2,exports.getPreviewProps=getPreviewProps.getPreviewProps,exports.getBuilderProps=getBuilderProps.getBuilderProps,exports.getProductProps=getProductProps.getProductProps,exports.getStaticPagePropsV2=getStaticPagePropsV2.getStaticPagePropsV2,exports.getSharePageProps=getSharePageProps.getSharePageProps,exports.getPostPurchasePropsPreview=getPostPurchasePropsPreview.getPostPurchasePropsPreview,exports.getStaticPagePropsPreview=getStaticPagePropsPreview.getStaticPagePropsPreview,exports.createAppAPIFetcher=fetcher.createAppAPIFetcher,exports.createFetcher=fetcher.createFetcher,exports.createShopifyFetcher=fetcher.createShopifyFetcher,exports.createTemplateFetcher=fetcher.createTemplateFetcher,exports.getLayout=getLayout.getLayout,exports.genCSS=genCss.genCSS,exports.useTrackingView=useTrackingView.useTrackingView,exports.usePagePreview=usePagePreview.usePagePreview,exports.isBot=userAgent.isBot,exports.normalizePageSectionResponseV2=normalize.normalizePageSectionResponseV2,exports.parseBuilderTemplateV2=normalize.parseBuilderTemplateV2,exports.getFallbackV2=getFallback.getFallbackV2,exports.retryWithDelay=common.retryWithDelay,exports.getStaticPaths=getStaticPaths.getStaticPaths,exports.getFontFromGroupSetting=genFonts.getFontFromGroupSetting,exports.getFontsFromDataBuilder=genFonts.getFontsFromDataBuilder,exports.getFontFromGlobalStyle=googleFonts.getFontFromGlobalStyle,exports.getFonts=googleFonts.getFonts,exports.getStorefrontApi=getStorefrontApi.getStorefrontApi,exports.ErrorBoundary=ErrorBoundary.ErrorBoundary,exports.ErrorFallback=ErrorFallback.ErrorFallback,exports.Page404=_404.Page404,exports.Page500=_500.Page500,exports.GoogleAnalytic=GoogleAnalytic.GoogleAnalytic,exports.FacebookPixel=FacebookPixel.FacebookPixel,exports.TikTokPixel=TikTokPixel.TikTokPixel,exports.CollectionDetailPage=collectionDetail.default,exports.PreviewPage=preview.PreviewPage,exports.ProductDetailPage=productDetail.default,exports.StaticPage=_static.default,exports.BuilderPage=builder.BuilderPage,exports.StaticPageV2=staticV2.StaticPageV2,exports.PreviewTemplate=previewTemplate.PreviewTemplate;
@@ -0,0 +1 @@
1
+ "use strict";var nextjs=require("@sentry/nextjs"),normalize=require("../helpers/normalize.js"),parseJson=require("../helpers/parse-json.js"),genCss=require("../helpers/gen-css.js"),googleFonts=require("../google-fonts.js"),customFonts=require("../custom-fonts.js");const getSharePageProps=e=>async t=>{try{let{sharedPage:s,customFonts:o}=await e([t]);if(!s)return null;let{page:r,themeStyle:n,share:a,pageSections:l,pageMeta:i,shopMeta:u,products:p,collections:g,articles:m}=s,c=normalize.parseBuilderTemplateV2(s),[h,F,d]=await Promise.all([googleFonts.getFontStyleFromPageTemplate(c),googleFonts.getFontFromGlobalStyle(n?.data),customFonts.getCustomFonts(o)]),j={defaultTitle:u?.shop?.name??"",title:a?.title,openGraph:{site_name:u?.shop?.name??"",locale:u?.localization?.country?.isoCode??"",title:a?.title??u?.shop?.name??"",description:a?.description??u?.shop?.description??"",images:a?.thumbnails?a.thumbnails:[]},nofollow:!0,noindex:!0};return parseJson.serializableJson({seo:j,builderData:c,page:r,themeStyle:genCss.genCSS(n?.data,!1),share:a,pageSections:l,pageMeta:i,shopMeta:u,products:p,collections:g,articles:m,elementFontStyle:h,fontStyle:F,customFonts:d})}catch(e){return nextjs.captureException(e),null}};exports.getSharePageProps=getSharePageProps;
@@ -1 +1 @@
1
- "use strict";var getStorefrontApi=require("./get-storefront-api.js"),extractOperation=require("./helpers/extract-operation.js");const createFetcher=e=>{let r=e||process.env.NEXT_PUBLIC_SHOP_TOKEN;return async e=>{let[t,o,n]=e;if(!r)throw Error("shopToken is not defined");let i=process.env.NEXT_PUBLIC_API_URL;if(!i)throw Error("NEXT_PUBLIC_API_URL is not defined");let s=extractOperation.extractOperation(t);s&&(i=`${i}?gp-online-store-operation=${s}`);let p={"Content-Type":"application/json","X-GemX-Shop-Token":r};return fetch(i,{method:"POST",headers:p,body:JSON.stringify({query:t,variables:o,operationName:n})}).then(e=>e.json()).then(e=>e.errors?Promise.reject(e.errors):e.data)}},createAppAPIFetcher=(e,r)=>{let t=process.env.NEXT_APP_API_URL;return async o=>{let[n,i,s]=o;if(!e)throw Error("shopToken is not defined");if(!t)throw Error("NEXT_APP_API_URL is not defined");let p=extractOperation.extractOperation(n);p&&(t=`${t}?gp-online-store-operation=${p}`);let c={"Content-Type":"application/json",Authorization:`Token ${e}`,"X-GemX-Shop-ID":r||""};return fetch(`${t}?gp-online-store-operation=${s}`,{method:"POST",headers:c,body:JSON.stringify({query:n,variables:i,operationName:s})}).then(e=>e.json()).then(e=>e.errors?Promise.reject(e.errors):e.data)}},createShopifyFetcher=(e,r)=>{let t=e??process.env.NEXT_PUBLIC_STOREFRONT_TOKEN,o=r??process.env.NEXT_PUBLIC_STOREFRONT_HANDLE;return async e=>{if(!t)throw Error("NEXT_PUBLIC_STOREFRONT_TOKEN is not defined");if(!o)throw Error("NEXT_PUBLIC_STOREFRONT_HANDLE is not defined");let r={"Content-Type":"application/json","X-Shopify-Storefront-Access-Token":t},[n,i]=e;return fetch(getStorefrontApi.getStorefrontApi(o),{method:"POST",headers:r,body:JSON.stringify({query:n,variables:i})}).then(e=>e.json()).then(e=>e.errors?Promise.reject(e.errors):e.data)}};exports.createAppAPIFetcher=createAppAPIFetcher,exports.createFetcher=createFetcher,exports.createShopifyFetcher=createShopifyFetcher;
1
+ "use strict";var getStorefrontApi=require("./get-storefront-api.js"),extractOperation=require("./helpers/extract-operation.js");const createFetcher=e=>{let r=e||process.env.NEXT_PUBLIC_SHOP_TOKEN;return async e=>{let[t,o,n]=e;if(!r)throw Error("shopToken is not defined");let s=process.env.NEXT_PUBLIC_API_URL;if(!s)throw Error("NEXT_PUBLIC_API_URL is not defined");let i=extractOperation.extractOperation(t);i&&(s=`${s}?gp-online-store-operation=${i}`);let a={"Content-Type":"application/json","X-GemX-Shop-Token":r};return fetch(s,{method:"POST",headers:a,body:JSON.stringify({query:t,variables:o,operationName:n})}).then(e=>e.json()).then(e=>e.errors?Promise.reject(e.errors):e.data)}},createAppAPIFetcher=(e,r)=>{let t=process.env.NEXT_APP_API_URL;return async o=>{let[n,s,i]=o;if(!e)throw Error("shopToken is not defined");if(!t)throw Error("NEXT_APP_API_URL is not defined");let a=extractOperation.extractOperation(n);a&&(t=`${t}?gp-online-store-operation=${a}`);let c={"Content-Type":"application/json",Authorization:`Token ${e}`,"X-GemX-Shop-ID":r||""};return fetch(`${t}?gp-online-store-operation=${i}`,{method:"POST",headers:c,body:JSON.stringify({query:n,variables:s,operationName:i})}).then(e=>e.json()).then(e=>e.errors?Promise.reject(e.errors):e.data)}},createShopifyFetcher=(e,r)=>{let t=e??process.env.NEXT_PUBLIC_STOREFRONT_TOKEN,o=r??process.env.NEXT_PUBLIC_STOREFRONT_HANDLE;return async e=>{if(!t)throw Error("NEXT_PUBLIC_STOREFRONT_TOKEN is not defined");if(!o)throw Error("NEXT_PUBLIC_STOREFRONT_HANDLE is not defined");let r={"Content-Type":"application/json","X-Shopify-Storefront-Access-Token":t},[n,s]=e;return fetch(getStorefrontApi.getStorefrontApi(o),{method:"POST",headers:r,body:JSON.stringify({query:n,variables:s})}).then(e=>e.json()).then(e=>e.errors?Promise.reject(e.errors):e.data)}},createTemplateFetcher=e=>{let r=process.env.NEXT_PUBLIC_URL_SHARE_PAGE;return async()=>{if(!r)throw Error("NEXT_PUBLIC_URL_SHARE_PAGE is not defined");try{let t=await fetch(`${r}/share/page/${e}`,{method:"GET"});if(!t.ok)throw Error(`HTTP error! status: ${t.status}`);let o=await t.json();if(o.errors)throw Error(`API errors: ${JSON.stringify(o.errors)}`);return o.result}catch(e){throw console.error("Template fetcher error:",e),e}}};exports.createAppAPIFetcher=createAppAPIFetcher,exports.createFetcher=createFetcher,exports.createShopifyFetcher=createShopifyFetcher,exports.createTemplateFetcher=createTemplateFetcher;
@@ -0,0 +1,5 @@
1
+ "use strict";var jsxRuntime=require("react/jsx-runtime"),core=require("@gem-sdk/core"),nextSeo=require("next-seo"),Head=require("next/head"),router=require("next/router"),parseHtml=require("../libs/parse-html.js"),react=require("react");const PreviewTemplate=({components:e,builderData:t,sectionData:s,seo:r,themeStyle:n,fontStyle:a,elementFontStyle:i,customCodeHeader:l,customFonts:u,productOffers:o,publicStoreFrontData:m,dynamicDiscountOffer:c,isPreview:d,pageBackground:x})=>{let g=router.useRouter(),{t:p}=core.useI18n(),j="custom-code-header";return(react.useEffect(()=>{let e=document.querySelectorAll(`[class*="${j}-"]`),t=[];e.length>1&&e.forEach(e=>{let s=e.className;if(t.includes(s)){e.remove();return}t.push(s)})},[]),g.isFallback)?jsxRuntime.jsx("div",{className:"gp-flex gp-h-[100vh] gp-items-center gp-justify-center",children:jsxRuntime.jsxs("div",{className:"gp-flex gp-gap-2",children:[jsxRuntime.jsx("span",{className:"gp-aspect-square gp-h-2 gp-animate-[flashing_500ms_infinite_alternate] gp-rounded-full gp-bg-slate-800"}),jsxRuntime.jsx("span",{className:"gp-aspect-square gp-h-2 gp-animate-[flashing_500ms_infinite_200ms_linear_alternate] gp-rounded-full gp-bg-slate-800"}),jsxRuntime.jsx("span",{className:"gp-aspect-square gp-h-2 gp-animate-[flashing_500ms_infinite_500ms_alternate] gp-rounded-full gp-bg-slate-800"})]})}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(nextSeo.NextSeo,{...r}),jsxRuntime.jsxs(Head,{children:[parseHtml.parseHtml(j,l,!0),n&&jsxRuntime.jsx("style",{"data-id":"global-style",type:"text/css",dangerouslySetInnerHTML:{__html:n}},"global-style"),a&&jsxRuntime.jsx("style",{"data-id":"google-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:a}},"google-fonts"),i&&i.map(e=>jsxRuntime.jsx("style",{"data-id":"google-element-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:e}},e)),u&&jsxRuntime.jsx("style",{"data-id":"custom-element-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:u}},a),x?.isUsePageBackground&&x?.background&&jsxRuntime.jsx("style",{children:`
2
+ body {
3
+ background: ${x.background};
4
+ }
5
+ `},`page_background_${x?.background}`)]}),jsxRuntime.jsx(core.PageProvider,{productOffers:o,publicStoreFrontData:m,dynamicDiscountOffer:c,children:jsxRuntime.jsx(core.BuilderComponentProvider,{components:e,children:jsxRuntime.jsx("div",{children:jsxRuntime.jsx(core.SectionProvider,{data:s,children:jsxRuntime.jsx(core.I18nProvider,{t:p,children:t?.map(e=>jsxRuntime.jsx(jsxRuntime.Fragment,{children:jsxRuntime.jsx(core.BuilderProvider,{state:e.data,lazy:e.lazy,priority:e.priority,isPreview:d,children:jsxRuntime.jsx(core.Render,{uid:e.uid})},e.uid)}))})})})})})]})};exports.PreviewTemplate=PreviewTemplate;
package/dist/esm/index.js CHANGED
@@ -1 +1 @@
1
- export{getCollectionProps}from"./libs/api/get-collection-props.js";export{getHomePageProps}from"./libs/api/get-home-page-props.js";export{getHomePagePropsV2}from"./libs/api/get-home-page-props-v2.js";export{getPreviewProps}from"./libs/api/get-preview-props.js";export{getBuilderProps}from"./libs/api/get-builder-props.js";export{getProductProps}from"./libs/api/get-product-props.js";export{getStaticPagePropsV2}from"./libs/api/get-static-page-props-v2.js";export{getPostPurchasePropsPreview}from"./libs/api/get-post-purchase-props-preview.js";export{getStaticPagePropsPreview}from"./libs/api/get-static-page-props-preview.js";export{createAppAPIFetcher,createFetcher,createShopifyFetcher}from"./libs/fetcher.js";export{getLayout}from"./libs/get-layout.js";export{genCSS}from"./libs/helpers/gen-css.js";export{useTrackingView}from"./libs/hooks/use-tracking-view.js";export{usePagePreview}from"./libs/hooks/usePagePreview.js";export{isBot}from"./libs/helpers/user-agent.js";export{normalizePageSectionResponseV2,parseBuilderTemplateV2}from"./libs/helpers/normalize.js";export{getFallbackV2}from"./libs/helpers/get-fallback.js";export{retryWithDelay}from"./libs/helpers/common.js";export{getStaticPaths}from"./libs/getStaticPaths.js";export{getFontFromGroupSetting,getFontsFromDataBuilder}from"./libs/helpers/gen-fonts.js";export{getFontFromGlobalStyle,getFonts}from"./libs/google-fonts.js";export{getStorefrontApi}from"./libs/get-storefront-api.js";export{ErrorBoundary}from"./components/ErrorBoundary.js";export{ErrorFallback}from"./components/ErrorFallback.js";export{Page404}from"./pages/404.js";export{Page500}from"./pages/500.js";export{GoogleAnalytic}from"./components/GoogleAnalytic.js";export{FacebookPixel}from"./components/FacebookPixel.js";export{TikTokPixel}from"./components/TikTokPixel.js";export{default as CollectionDetailPage}from"./pages/collection-detail.js";export{PreviewPage}from"./pages/preview.js";export{default as ProductDetailPage}from"./pages/product-detail.js";export{default as StaticPage}from"./pages/static.js";export{BuilderPage}from"./pages/builder.js";export{StaticPageV2}from"./pages/static-v2.js";
1
+ export{getCollectionProps}from"./libs/api/get-collection-props.js";export{getHomePageProps}from"./libs/api/get-home-page-props.js";export{getHomePagePropsV2}from"./libs/api/get-home-page-props-v2.js";export{getPreviewProps}from"./libs/api/get-preview-props.js";export{getBuilderProps}from"./libs/api/get-builder-props.js";export{getProductProps}from"./libs/api/get-product-props.js";export{getStaticPagePropsV2}from"./libs/api/get-static-page-props-v2.js";export{getSharePageProps}from"./libs/api/get-share-page-props.js";export{getPostPurchasePropsPreview}from"./libs/api/get-post-purchase-props-preview.js";export{getStaticPagePropsPreview}from"./libs/api/get-static-page-props-preview.js";export{createAppAPIFetcher,createFetcher,createShopifyFetcher,createTemplateFetcher}from"./libs/fetcher.js";export{getLayout}from"./libs/get-layout.js";export{genCSS}from"./libs/helpers/gen-css.js";export{useTrackingView}from"./libs/hooks/use-tracking-view.js";export{usePagePreview}from"./libs/hooks/usePagePreview.js";export{isBot}from"./libs/helpers/user-agent.js";export{normalizePageSectionResponseV2,parseBuilderTemplateV2}from"./libs/helpers/normalize.js";export{getFallbackV2}from"./libs/helpers/get-fallback.js";export{retryWithDelay}from"./libs/helpers/common.js";export{getStaticPaths}from"./libs/getStaticPaths.js";export{getFontFromGroupSetting,getFontsFromDataBuilder}from"./libs/helpers/gen-fonts.js";export{getFontFromGlobalStyle,getFonts}from"./libs/google-fonts.js";export{getStorefrontApi}from"./libs/get-storefront-api.js";export{ErrorBoundary}from"./components/ErrorBoundary.js";export{ErrorFallback}from"./components/ErrorFallback.js";export{Page404}from"./pages/404.js";export{Page500}from"./pages/500.js";export{GoogleAnalytic}from"./components/GoogleAnalytic.js";export{FacebookPixel}from"./components/FacebookPixel.js";export{TikTokPixel}from"./components/TikTokPixel.js";export{default as CollectionDetailPage}from"./pages/collection-detail.js";export{PreviewPage}from"./pages/preview.js";export{default as ProductDetailPage}from"./pages/product-detail.js";export{default as StaticPage}from"./pages/static.js";export{BuilderPage}from"./pages/builder.js";export{StaticPageV2}from"./pages/static-v2.js";export{PreviewTemplate}from"./pages/preview-template.js";
@@ -0,0 +1 @@
1
+ import{captureException as e}from"@sentry/nextjs";import{parseBuilderTemplateV2 as t}from"../helpers/normalize.js";import{serializableJson as o}from"../helpers/parse-json.js";import{genCSS as r}from"../helpers/gen-css.js";import{getFontStyleFromPageTemplate as s,getFontFromGlobalStyle as a}from"../google-fonts.js";import{getCustomFonts as i}from"../custom-fonts.js";let getSharePageProps=l=>async n=>{try{let{sharedPage:e,customFonts:m}=await l([n]);if(!e)return null;let{page:p,themeStyle:h,share:c,pageSections:u,pageMeta:f,shopMeta:d,products:g,collections:j,articles:y}=e,P=t(e),[b,w,x]=await Promise.all([s(P),a(h?.data),i(m)]),S={defaultTitle:d?.shop?.name??"",title:c?.title,openGraph:{site_name:d?.shop?.name??"",locale:d?.localization?.country?.isoCode??"",title:c?.title??d?.shop?.name??"",description:c?.description??d?.shop?.description??"",images:c?.thumbnails?c.thumbnails:[]},nofollow:!0,noindex:!0};return o({seo:S,builderData:P,page:p,themeStyle:r(h?.data,!1),share:c,pageSections:u,pageMeta:f,shopMeta:d,products:g,collections:j,articles:y,elementFontStyle:b,fontStyle:w,customFonts:x})}catch(t){return e(t),null}};export{getSharePageProps};
@@ -1 +1 @@
1
- import{getStorefrontApi as e}from"./get-storefront-api.js";import{extractOperation as r}from"./helpers/extract-operation.js";let createFetcher=e=>{let t=e||process.env.NEXT_PUBLIC_SHOP_TOKEN;return async e=>{let[o,n,i]=e;if(!t)throw Error("shopToken is not defined");let s=process.env.NEXT_PUBLIC_API_URL;if(!s)throw Error("NEXT_PUBLIC_API_URL is not defined");let p=r(o);p&&(s=`${s}?gp-online-store-operation=${p}`);let h={"Content-Type":"application/json","X-GemX-Shop-Token":t};return fetch(s,{method:"POST",headers:h,body:JSON.stringify({query:o,variables:n,operationName:i})}).then(e=>e.json()).then(e=>e.errors?Promise.reject(e.errors):e.data)}},createAppAPIFetcher=(e,t)=>{let o=process.env.NEXT_APP_API_URL;return async n=>{let[i,s,p]=n;if(!e)throw Error("shopToken is not defined");if(!o)throw Error("NEXT_APP_API_URL is not defined");let h=r(i);h&&(o=`${o}?gp-online-store-operation=${h}`);let c={"Content-Type":"application/json",Authorization:`Token ${e}`,"X-GemX-Shop-ID":t||""};return fetch(`${o}?gp-online-store-operation=${p}`,{method:"POST",headers:c,body:JSON.stringify({query:i,variables:s,operationName:p})}).then(e=>e.json()).then(e=>e.errors?Promise.reject(e.errors):e.data)}},createShopifyFetcher=(r,t)=>{let o=r??process.env.NEXT_PUBLIC_STOREFRONT_TOKEN,n=t??process.env.NEXT_PUBLIC_STOREFRONT_HANDLE;return async r=>{if(!o)throw Error("NEXT_PUBLIC_STOREFRONT_TOKEN is not defined");if(!n)throw Error("NEXT_PUBLIC_STOREFRONT_HANDLE is not defined");let t={"Content-Type":"application/json","X-Shopify-Storefront-Access-Token":o},[i,s]=r;return fetch(e(n),{method:"POST",headers:t,body:JSON.stringify({query:i,variables:s})}).then(e=>e.json()).then(e=>e.errors?Promise.reject(e.errors):e.data)}};export{createAppAPIFetcher,createFetcher,createShopifyFetcher};
1
+ import{getStorefrontApi as e}from"./get-storefront-api.js";import{extractOperation as r}from"./helpers/extract-operation.js";let createFetcher=e=>{let t=e||process.env.NEXT_PUBLIC_SHOP_TOKEN;return async e=>{let[o,n,s]=e;if(!t)throw Error("shopToken is not defined");let i=process.env.NEXT_PUBLIC_API_URL;if(!i)throw Error("NEXT_PUBLIC_API_URL is not defined");let h=r(o);h&&(i=`${i}?gp-online-store-operation=${h}`);let a={"Content-Type":"application/json","X-GemX-Shop-Token":t};return fetch(i,{method:"POST",headers:a,body:JSON.stringify({query:o,variables:n,operationName:s})}).then(e=>e.json()).then(e=>e.errors?Promise.reject(e.errors):e.data)}},createAppAPIFetcher=(e,t)=>{let o=process.env.NEXT_APP_API_URL;return async n=>{let[s,i,h]=n;if(!e)throw Error("shopToken is not defined");if(!o)throw Error("NEXT_APP_API_URL is not defined");let a=r(s);a&&(o=`${o}?gp-online-store-operation=${a}`);let c={"Content-Type":"application/json",Authorization:`Token ${e}`,"X-GemX-Shop-ID":t||""};return fetch(`${o}?gp-online-store-operation=${h}`,{method:"POST",headers:c,body:JSON.stringify({query:s,variables:i,operationName:h})}).then(e=>e.json()).then(e=>e.errors?Promise.reject(e.errors):e.data)}},createShopifyFetcher=(r,t)=>{let o=r??process.env.NEXT_PUBLIC_STOREFRONT_TOKEN,n=t??process.env.NEXT_PUBLIC_STOREFRONT_HANDLE;return async r=>{if(!o)throw Error("NEXT_PUBLIC_STOREFRONT_TOKEN is not defined");if(!n)throw Error("NEXT_PUBLIC_STOREFRONT_HANDLE is not defined");let t={"Content-Type":"application/json","X-Shopify-Storefront-Access-Token":o},[s,i]=r;return fetch(e(n),{method:"POST",headers:t,body:JSON.stringify({query:s,variables:i})}).then(e=>e.json()).then(e=>e.errors?Promise.reject(e.errors):e.data)}},createTemplateFetcher=e=>{let r=process.env.NEXT_PUBLIC_URL_SHARE_PAGE;return async()=>{if(!r)throw Error("NEXT_PUBLIC_URL_SHARE_PAGE is not defined");try{let t=await fetch(`${r}/share/page/${e}`,{method:"GET"});if(!t.ok)throw Error(`HTTP error! status: ${t.status}`);let o=await t.json();if(o.errors)throw Error(`API errors: ${JSON.stringify(o.errors)}`);return o.result}catch(e){throw console.error("Template fetcher error:",e),e}}};export{createAppAPIFetcher,createFetcher,createShopifyFetcher,createTemplateFetcher};
@@ -0,0 +1,5 @@
1
+ import{jsx as e,jsxs as t,Fragment as a}from"react/jsx-runtime";import{useI18n as r,PageProvider as l,BuilderComponentProvider as s,SectionProvider as n,I18nProvider as i,BuilderProvider as o,Render as d}from"@gem-sdk/core";import{NextSeo as p}from"next-seo";import c from"next/head";import{useRouter as g}from"next/router";import{parseHtml as m}from"../libs/parse-html.js";import{useEffect as u}from"react";let PreviewTemplate=({components:h,builderData:f,sectionData:y,seo:_,themeStyle:b,fontStyle:x,elementFontStyle:k,customCodeHeader:v,customFonts:N,productOffers:S,publicStoreFrontData:T,dynamicDiscountOffer:q,isPreview:H,pageBackground:I})=>{let L=g(),{t:M}=r(),P="custom-code-header";return(u(()=>{let e=document.querySelectorAll(`[class*="${P}-"]`),t=[];e.length>1&&e.forEach(e=>{let a=e.className;if(t.includes(a)){e.remove();return}t.push(a)})},[]),L.isFallback)?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"})]})}):t(a,{children:[e(p,{..._}),t(c,{children:[m(P,v,!0),b&&e("style",{"data-id":"global-style",type:"text/css",dangerouslySetInnerHTML:{__html:b}},"global-style"),x&&e("style",{"data-id":"google-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:x}},"google-fonts"),k&&k.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),I?.isUsePageBackground&&I?.background&&e("style",{children:`
2
+ body {
3
+ background: ${I.background};
4
+ }
5
+ `},`page_background_${I?.background}`)]}),e(l,{productOffers:S,publicStoreFrontData:T,dynamicDiscountOffer:q,children:e(s,{components:h,children:e("div",{children:e(n,{data:y,children:e(i,{t:M,children:f?.map(t=>e(a,{children:e(o,{state:t.data,lazy:t.lazy,priority:t.priority,isPreview:H,children:e(d,{uid:t.uid})},t.uid)}))})})})})})]})};export{PreviewTemplate};
@@ -102,6 +102,30 @@ type StaticPagePropsV2 = PageBuilderPropsV2 & {
102
102
  isPreview?: boolean;
103
103
  domain?: string;
104
104
  };
105
+ type SharePageAPIResponse = {
106
+ sharedPage: SharePageProps;
107
+ products: any;
108
+ collections: any;
109
+ customFonts: ShopType.CustomFont[];
110
+ };
111
+ type SharePageProps = {
112
+ seo?: NextSeoProps;
113
+ builderData?: {
114
+ uid: string;
115
+ lazy?: boolean;
116
+ priority?: boolean;
117
+ data: BuilderState;
118
+ }[];
119
+ page?: any;
120
+ themeStyle?: any;
121
+ share?: any;
122
+ pageSections?: any;
123
+ pageMeta?: any;
124
+ shopMeta?: any;
125
+ products?: any;
126
+ collections?: any;
127
+ articles?: any;
128
+ };
105
129
 
106
130
  declare const getCollectionProps: (fetcher: FetchFunc) => (handle?: string) => Promise<CollectionDetailPageProps>;
107
131
 
@@ -118,6 +142,8 @@ declare const getProductProps: (fetcher: FetchFunc) => (handle?: string) => Prom
118
142
 
119
143
  declare const getStaticPagePropsV2: (fetcher: FetchFunc, shopifyFetcher: FetchFunc) => (slug: string) => Promise<PageBuilderPropsV2>;
120
144
 
145
+ declare const getSharePageProps: (fetcher: FetchFunc) => (slug: string) => Promise<SharePageProps | null>;
146
+
121
147
  declare const getPostPurchasePropsPreview: (fetcher: FetchFunc, librarySaleFunnelID?: string, storeFrontFetcher?: FetchFunc) => (data: {
122
148
  id: string;
123
149
  currentOfferID: string;
@@ -130,6 +156,7 @@ declare const getStaticPagePropsPreview: (fetcher: FetchFunc, shopifyFetcher: Fe
130
156
  declare const createFetcher: (token?: string | null) => FetchFunc;
131
157
  declare const createAppAPIFetcher: (token?: string | null, shopID?: string) => FetchFunc;
132
158
  declare const createShopifyFetcher: (storefrontToken?: string, handle?: string) => FetchFunc;
159
+ declare const createTemplateFetcher: (token: string) => FetchFunc;
133
160
 
134
161
  declare const getLayout: (page: React.ReactElement, pageProps?: any) => react_jsx_runtime.JSX.Element;
135
162
 
@@ -268,4 +295,6 @@ declare const BuilderPage: React.FC<BuilderPageProps>;
268
295
 
269
296
  declare const StaticPageV2: React.FC<StaticPagePropsV2 & AdditionalPageBuilderProps>;
270
297
 
271
- export { AppPropsWithLayout, BuilderPage, CollectionDetailPage, ErrorBoundary, ErrorFallback, FacebookPixel, GoogleAnalytic, NextPageWithLayout, Page404, Page500, PageBuilderProps, PageBuilderPropsV2, PreviewPage, ProductDetailPage, StaticPage, StaticPagePropsV2, StaticPageV2, TikTokPixel, createAppAPIFetcher, createFetcher, createShopifyFetcher, genCSS, getBuilderProps, getCollectionProps, getFallbackV2, getFontFromGlobalStyle, getFontFromGroupSetting, getFonts, getFontsFromDataBuilder, getHomePageProps, getHomePagePropsV2, getLayout, getPostPurchasePropsPreview, getPreviewProps, getProductProps, getStaticPagePropsPreview, getStaticPagePropsV2, getStaticPaths, getStorefrontApi, isBot, normalizePageSectionResponseV2, parseBuilderTemplateV2, retryWithDelay, usePagePreview, useTrackingView };
298
+ declare const PreviewTemplate: React.FC<StaticPagePropsV2 & AdditionalPageBuilderProps>;
299
+
300
+ export { AppPropsWithLayout, BuilderPage, CollectionDetailPage, ErrorBoundary, ErrorFallback, FacebookPixel, GoogleAnalytic, NextPageWithLayout, Page404, Page500, PageBuilderProps, PageBuilderPropsV2, PreviewPage, PreviewTemplate, ProductDetailPage, SharePageAPIResponse, SharePageProps, StaticPage, StaticPagePropsV2, StaticPageV2, TikTokPixel, createAppAPIFetcher, createFetcher, createShopifyFetcher, createTemplateFetcher, genCSS, getBuilderProps, getCollectionProps, getFallbackV2, getFontFromGlobalStyle, getFontFromGroupSetting, getFonts, getFontsFromDataBuilder, getHomePageProps, getHomePagePropsV2, getLayout, getPostPurchasePropsPreview, getPreviewProps, getProductProps, getSharePageProps, getStaticPagePropsPreview, getStaticPagePropsV2, getStaticPaths, getStorefrontApi, isBot, normalizePageSectionResponseV2, parseBuilderTemplateV2, retryWithDelay, usePagePreview, useTrackingView };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gem-sdk/pages",
3
- "version": "2.0.0-dev.1136",
3
+ "version": "2.0.0-dev.1138",
4
4
  "license": "MIT",
5
5
  "sideEffects": false,
6
6
  "main": "dist/cjs/index.js",