@gem-sdk/pages 17.0.0-dev.9 → 17.0.0-dev.92

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.
Files changed (34) hide show
  1. package/dist/cjs/components/builder/Toolbox.js +1 -1
  2. package/dist/cjs/components/builder-upsell/BodyUpsell.js +1 -1
  3. package/dist/cjs/components/image-to-layout/AddSectionImageToLayout.js +1 -1
  4. package/dist/cjs/constants/index.js +1 -1
  5. package/dist/cjs/index.js +1 -1
  6. package/dist/cjs/layouts/main.js +1 -1
  7. package/dist/cjs/libs/api/get-home-page-props-v2.js +1 -1
  8. package/dist/cjs/libs/api/get-static-page-props-v2.js +1 -1
  9. package/dist/cjs/libs/data/fonts.js +1 -0
  10. package/dist/cjs/libs/google-fonts.js +7 -1
  11. package/dist/cjs/libs/hooks/useFirstSectionIndex.js +1 -0
  12. package/dist/cjs/pages/builder-upsell.js +1 -1
  13. package/dist/cjs/pages/headless.js +5 -0
  14. package/dist/cjs/pages/preview-template.js +3 -3
  15. package/dist/cjs/pages/static-v2.js +3 -3
  16. package/dist/esm/components/builder/Toolbox.js +1 -1
  17. package/dist/esm/components/builder-upsell/BodyUpsell.js +1 -1
  18. package/dist/esm/components/image-to-layout/AddSectionImageToLayout.js +1 -1
  19. package/dist/esm/constants/index.js +1 -1
  20. package/dist/esm/index.js +1 -1
  21. package/dist/esm/layouts/main.js +1 -1
  22. package/dist/esm/libs/api/get-home-page-props-v2.js +1 -1
  23. package/dist/esm/libs/api/get-static-page-props-v2.js +1 -1
  24. package/dist/esm/libs/data/fonts.js +1 -0
  25. package/dist/esm/libs/google-fonts.js +7 -1
  26. package/dist/esm/libs/hooks/useFirstSectionIndex.js +1 -0
  27. package/dist/esm/pages/builder-upsell.js +1 -1
  28. package/dist/esm/pages/headless.js +5 -0
  29. package/dist/esm/pages/preview-template.js +2 -2
  30. package/dist/esm/pages/static-v2.js +3 -3
  31. package/dist/types/index.d.ts +5 -4
  32. package/package.json +5 -5
  33. package/dist/cjs/libs/hooks/use-tracking-view.js +0 -2
  34. package/dist/esm/libs/hooks/use-tracking-view.js +0 -2
@@ -1,5 +1,5 @@
1
- import{jsx as e,jsxs as t,Fragment as s}from"react/jsx-runtime";import{useI18n as a,PageProvider as r,BuilderComponentProvider as n,I18nProvider as l,SectionProvider as o,BuilderProvider as i,Render as p}from"@gem-sdk/core";import{NextSeo as c}from"next-seo";import m from"next/head";import{useRouter as d}from"next/router";import{useTrackingView as g}from"../libs/hooks/use-tracking-view.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 v=({components:v,builderData:k,sectionData:S,seo:x,themeStyle:P,fontStyle:N,elementFontStyle:T,customCodeHeader:j,shopToken:H,pageHandle:I,customFonts:L,isPostPurchase:M,shopName:$,productOffers:w,publicStoreFrontData:E,dynamicDiscountOffer:F,isPreview:q,interaction:A,pageBackground:O,sellingPlanSetting:z,buyerConsentPreCheck:C,id:D,shopID:U,domainTrackingIlp:B})=>{let R=d(),{t:V}=a(),G=process.env.NEXT_GP_BASE_ASSET_URL||"https://assets.gemcommerce.xyz";g(H,I,R.isFallback),b({id:D,shopID:U,domain:B});let J="custom-code-header";if(_(()=>{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)})},[]),R.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 X=(A?.value||[]).length>0;return t(s,{children:[e(c,{...x}),t(m,{children:[u(J,j,!0),P&&e("style",{"data-id":"global-style",type:"text/css",dangerouslySetInnerHTML:{__html:P}},"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)),L&&e("style",{"data-id":"custom-element-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:L}},N),O?.isUsePageBackground&&O?.background&&e("style",{children:`
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 i,SectionProvider as o,LazyPriorityProvider as l,BuilderProvider as p,Render as c}from"@gem-sdk/core";import{NextSeo as d}from"next-seo";import m from"next/head";import{useRouter as g}from"next/router";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";import S from"../libs/hooks/useFirstSectionIndex.js";let v=({components:v,builderData:x,sectionData:k,seo:P,themeStyle:N,fontStyle:T,elementFontStyle:j,customCodeHeader:H,customFonts:I,isPostPurchase:L,shopName:M,productOffers:$,publicStoreFrontData:E,dynamicDiscountOffer:F,isPreview:q,interaction:w,pageBackground:A,sellingPlanSetting:O,buyerConsentPreCheck:z,id:C,shopID:D,domainTrackingIlp:U,disableGsFont:B})=>{let R=g(),{t:V}=r(),G=process.env.NEXT_GP_BASE_ASSET_URL||"https://assets.gemcommerce.xyz";b({id:C,shopID:D,domain:U});let J="custom-code-header",X=S(x);if(_(()=>{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)})},[]),R.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 K=(w?.value||[]).length>0;return t(s,{children:[e(d,{...P}),t(m,{children:[u(J,H,!0),N&&e("style",{"data-id":"global-style",type:"text/css",dangerouslySetInnerHTML:{__html:N}},"global-style"),T&&!B&&e("style",{"data-id":"google-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:T}},"google-fonts"),j&&j.map(t=>e("style",{"data-id":"google-element-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:t}},t)),I&&e("style",{"data-id":"custom-element-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:I}},T),A?.isUsePageBackground&&A?.background&&e("style",{children:`
2
2
  body {
3
- background: ${O.background};
3
+ background: ${A.background};
4
4
  }
5
- `},`page_background_${O?.background}`)]}),e(r,{productOffers:w,publicStoreFrontData:E,dynamicDiscountOffer:F,sellingPlanMeta:z,buyerConsentChecked:C,children:e(n,{components:v,children:e(l,{t:V,children:t("div",{className:`${M?"gp-bg-white post-purchase-page":""} `,role:"main",children:[M&&e(h,{pageType:"POST_PURCHASE"}),X&&e("div",{dangerouslySetInnerHTML:{__html:`<div id="gp-interaction" style="display: none;">${JSON.stringify(A?.value||[])}</div>`}}),e(o,{data:S,children:k?.map(s=>t(i,{state:s.data,lazy:s.lazy,priority:s.priority,isPostPurchase:M,isPreview:q,children:[e(p,{uid:s.uid}),X&&e(y,{defer:!0,src:`${G}/assets-v2/gp-flow-action-lip-v7-5.js`})]},s.uid))}),M&&e(f,{shopName:$||""})]})})})})]})};export{v as StaticPageV2};
5
+ `},`page_background_${A?.background}`)]}),e(a,{productOffers:$,publicStoreFrontData:E,dynamicDiscountOffer:F,sellingPlanMeta:O,buyerConsentChecked:z,children:e(n,{components:v,children:e(i,{t:V,children:t("div",{className:`${L?"gp-bg-white post-purchase-page":""} `,role:"main",children:[L&&e(h,{pageType:"POST_PURCHASE"}),K&&e("div",{dangerouslySetInnerHTML:{__html:`<div id="gp-interaction" style="display: none;">${JSON.stringify(w?.value||[])}</div>`}}),e(o,{data:k,children:x?.map((s,r)=>e(l,{priority:!!s.priority||r===X,children:t(p,{state:s.data,lazy:s.lazy,priority:s.priority,isPostPurchase:L,isPreview:q,children:[e(c,{uid:s.uid}),K&&e(y,{defer:!0,src:`${G}/assets-v2/gp-flow-action-lip-v7-5.js`})]})},s.uid))}),L&&e(f,{shopName:M||""})]})})})})]})};export{v as StaticPageV2};
@@ -1,4 +1,4 @@
1
- import { BuilderState, SectionData as SectionData$1, ShopType, RenderMode, CollectionQueryResponse, PublicStoreFrontData, ProductSelectFragment, ProductOffer, AppAPIType, FetchFunc, ThemePageQueryResponse, StorePropertyQueryResponse, PublishedThemePageSelectFragment, TypographyV2FontFamilyType } from '@gem-sdk/core';
1
+ import { BuilderState, SectionData as SectionData$1, ShopType, RenderMode, CollectionQueryResponse, ProductOffer, AppAPIType, PublicStoreFrontData, ProductSelectFragment, FetchFunc, ThemePageQueryResponse, StorePropertyQueryResponse, PublishedThemePageSelectFragment, TypographyV2FontFamilyType } from '@gem-sdk/core';
2
2
  import { NextPage, GetStaticPaths } from 'next';
3
3
  import * as next_seo from 'next-seo';
4
4
  import { NextSeoProps } from 'next-seo';
@@ -115,6 +115,7 @@ type StaticPagePropsV2 = PageBuilderPropsV2 & {
115
115
  id?: string | null;
116
116
  shopID?: string | null;
117
117
  domainTrackingIlp?: string;
118
+ disableGsFont?: boolean;
118
119
  isPostPurchase?: boolean;
119
120
  shopName?: string;
120
121
  productOffers?: ProductOffer[];
@@ -224,8 +225,6 @@ type SendPageViewedTrackingParams = {
224
225
  };
225
226
  declare const sendPageViewedTracking: (params: SendPageViewedTrackingParams) => void;
226
227
 
227
- declare const useTrackingView: (token?: string | null, handle?: string | null, isFallback?: boolean) => void;
228
-
229
228
  declare const usePagePreview: (dataBuilder: ThemePageQueryResponse["themePage"], storeProperty: PromiseSettledResult<StorePropertyQueryResponse>, shopifyMeta?: PromiseSettledResult<ShopMetaQueryResponse>) => {
230
229
  seo: next_seo.NextSeoProps;
231
230
  pageConfig: {
@@ -385,5 +384,7 @@ declare const StaticPageV2: React.FC<StaticPagePropsV2 & AdditionalPageBuilderPr
385
384
 
386
385
  declare const PreviewTemplate: React.FC<SharePageProps & AdditionalPageBuilderProps>;
387
386
 
388
- export { BuilderPage, BuilderUpsellPage, CollectionDetailPage, ErrorBoundary, ErrorFallback, FacebookPixel, GoogleAnalytic, Page404, Page500, PreviewPage, PreviewTemplate, ProductDetailPage, SharePageTracking, StaticPage, StaticPageV2, TikTokPixel, createAppAPIFetcher, createFetcher, createShopifyFetcher, createTemplateFetcher, genCSS, getBuilderProps, getCollectionProps, getCollectionSharePageProps, getFallbackV2, getFontFromGlobalStyle, getFontFromGroupSetting, getFontLinkFromGlobalStyle, getFonts, getFontsFromDataBuilder, getHomePageProps, getHomePagePropsV2, getLayout, getPostPurchasePropsPreview, getPreviewProps, getProductProps, getSharePageContentProps, getSharePageProps, getStaticPagePropsPreview, getStaticPagePropsV2, getStaticPaths, getStorefrontApi, isBot, normalizePageSectionResponseV2, parseBuilderTemplateV2, retryWithDelay, sendPageViewedTracking, usePagePreview, usePageViewedTracking, useTrackingView };
387
+ declare const Headless: React.FC<StaticPagePropsV2 & AdditionalPageBuilderProps>;
388
+
389
+ export { BuilderPage, BuilderUpsellPage, CollectionDetailPage, ErrorBoundary, ErrorFallback, FacebookPixel, GoogleAnalytic, Headless, Page404, Page500, PreviewPage, PreviewTemplate, ProductDetailPage, SharePageTracking, StaticPage, StaticPageV2, TikTokPixel, createAppAPIFetcher, createFetcher, createShopifyFetcher, createTemplateFetcher, genCSS, getBuilderProps, getCollectionProps, getCollectionSharePageProps, getFallbackV2, getFontFromGlobalStyle, getFontFromGroupSetting, getFontLinkFromGlobalStyle, getFonts, getFontsFromDataBuilder, getHomePageProps, getHomePagePropsV2, getLayout, getPostPurchasePropsPreview, getPreviewProps, getProductProps, getSharePageContentProps, getSharePageProps, getStaticPagePropsPreview, getStaticPagePropsV2, getStaticPaths, getStorefrontApi, isBot, normalizePageSectionResponseV2, parseBuilderTemplateV2, retryWithDelay, sendPageViewedTracking, usePagePreview, usePageViewedTracking };
389
390
  export type { AppPropsWithLayout, NextPageWithLayout, PageBuilderProps, PageBuilderPropsV2, SharePageAPIResponse, SharePageProps, StaticPagePropsV2 };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gem-sdk/pages",
3
- "version": "17.0.0-dev.9",
3
+ "version": "17.0.0-dev.92",
4
4
  "license": "MIT",
5
5
  "sideEffects": false,
6
6
  "main": "dist/cjs/index.js",
@@ -27,10 +27,10 @@
27
27
  "next": "14.2.35"
28
28
  },
29
29
  "devDependencies": {
30
- "@gem-sdk/core": "17.0.0-dev.9",
31
- "@gem-sdk/plugin-cookie-bar": "17.0.0-dev.9",
32
- "@gem-sdk/plugin-quick-view": "17.0.0-dev.9",
33
- "@gem-sdk/plugin-sticky-add-to-cart": "17.0.0-dev.9"
30
+ "@gem-sdk/core": "17.0.0-dev.90",
31
+ "@gem-sdk/plugin-cookie-bar": "17.0.0-dev.84",
32
+ "@gem-sdk/plugin-quick-view": "17.0.0-dev.84",
33
+ "@gem-sdk/plugin-sticky-add-to-cart": "17.0.0-dev.84"
34
34
  },
35
35
  "peerDependencies": {
36
36
  "next": "14.2.35"
@@ -1,2 +0,0 @@
1
- 'use client';
2
- "use strict";var e=require("@gem-sdk/core"),r=require("react");exports.useTrackingView=(s,t,a)=>{let i=s||process.env.NEXT_PUBLIC_SHOP_TOKEN,o=process.env.NEXT_PUBLIC_API_URL,c=r.useCallback(r=>{o&&i&&fetch(o,{method:"POST",headers:{"Content-Type":"application/json","X-GemX-Shop-Token":i},body:JSON.stringify({query:e.PageViewUpDocument,variables:{pageHandle:r}})}).finally(()=>{})},[o,i]);r.useEffect(()=>{t&&!a&&c(t)},[t,c,a])};
@@ -1,2 +0,0 @@
1
- 'use client';
2
- import{PageViewUpDocument as e}from"@gem-sdk/core";import{useCallback as o,useEffect as r}from"react";let t=(t,i,n)=>{let s=t||process.env.NEXT_PUBLIC_SHOP_TOKEN,p=process.env.NEXT_PUBLIC_API_URL,a=o(o=>{p&&s&&fetch(p,{method:"POST",headers:{"Content-Type":"application/json","X-GemX-Shop-Token":s},body:JSON.stringify({query:e,variables:{pageHandle:o}})}).finally(()=>{})},[p,s]);r(()=>{i&&!n&&a(i)},[i,a,n])};export{t as useTrackingView};