@gem-sdk/pages 11.2.0 → 12.0.0-dev.112
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/components/builder/Footer.js +1 -1
- package/dist/cjs/components/builder/Header.js +1 -1
- package/dist/cjs/components/builder/SwitchView.js +1 -1
- package/dist/cjs/components/builder/Toolbox.js +1 -1
- package/dist/cjs/components/image-to-layout/DropElement.js +1 -1
- package/dist/cjs/components/image-to-layout-upsell/DropElement.js +2 -0
- package/dist/cjs/components/image-to-layout-upsell/ImageToLayout.js +2 -0
- package/dist/cjs/constants/googleFontV1.js +1 -0
- package/dist/cjs/constants/index.js +1 -1
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/libs/api/get-home-page-props-v2.js +1 -1
- package/dist/cjs/libs/api/get-home-page-props.js +1 -1
- package/dist/cjs/libs/api/get-post-purchase-props-preview.js +1 -1
- package/dist/cjs/libs/api/get-static-page-props-preview.js +1 -1
- package/dist/cjs/libs/api/get-static-page-props-v2.js +1 -1
- package/dist/cjs/libs/api/get-static-page-props.js +1 -1
- package/dist/cjs/libs/constants/theme-font-keys.js +1 -0
- package/dist/cjs/libs/google-fonts.js +1 -1
- package/dist/cjs/libs/helpers/gen-css.js +1 -1
- package/dist/cjs/libs/helpers/sendPageViewedTracking.js +1 -0
- package/dist/cjs/pages/builder-upsell.js +2 -0
- package/dist/cjs/pages/static-v2.js +2 -2
- package/dist/esm/components/builder/Footer.js +1 -1
- package/dist/esm/components/builder/Header.js +1 -1
- package/dist/esm/components/builder/SwitchView.js +1 -1
- package/dist/esm/components/builder/Toolbox.js +1 -1
- package/dist/esm/components/image-to-layout/DropElement.js +1 -1
- package/dist/esm/components/image-to-layout-upsell/DropElement.js +2 -0
- package/dist/esm/components/image-to-layout-upsell/ImageToLayout.js +2 -0
- package/dist/esm/constants/googleFontV1.js +1 -0
- package/dist/esm/constants/index.js +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/libs/api/get-home-page-props-v2.js +1 -1
- package/dist/esm/libs/api/get-home-page-props.js +1 -1
- package/dist/esm/libs/api/get-post-purchase-props-preview.js +1 -1
- package/dist/esm/libs/api/get-static-page-props-preview.js +1 -1
- package/dist/esm/libs/api/get-static-page-props-v2.js +1 -1
- package/dist/esm/libs/api/get-static-page-props.js +1 -1
- package/dist/esm/libs/constants/theme-font-keys.js +1 -0
- package/dist/esm/libs/google-fonts.js +1 -1
- package/dist/esm/libs/helpers/gen-css.js +1 -1
- package/dist/esm/libs/helpers/sendPageViewedTracking.js +1 -0
- package/dist/esm/pages/builder-upsell.js +2 -0
- package/dist/esm/pages/static-v2.js +2 -2
- package/dist/types/index.d.ts +17 -1
- package/package.json +11 -10
|
@@ -1 +1 @@
|
|
|
1
|
-
import{checkNotInOptionFont as t}from"./helpers/check-option-font.js";import{getFontsFromDataBuilder as e}from"./helpers/gen-fonts.js";import{sentryCaptureException as r}from"./helpers/sentry.js";let CHROME_UA="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36",IE_UA="Mozilla/5.0 (Windows NT 10.0; Trident/7.0; rv:11.0) like Gecko";async function getFontForUA(t,e){try{return fetch(t,{headers:{"User-Agent":e}}).then(
|
|
1
|
+
import{checkNotInOptionFont as t}from"./helpers/check-option-font.js";import{getFontsFromDataBuilder as e}from"./helpers/gen-fonts.js";import{sentryCaptureException as r}from"./helpers/sentry.js";import{THEME_FONT_CSS_KEYS as o}from"./constants/theme-font-keys.js";import{googleFontFamilies as n}from"../constants/googleFontV1.js";let CHROME_UA="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36",IE_UA="Mozilla/5.0 (Windows NT 10.0; Trident/7.0; rv:11.0) like Gecko";async function getFontForUA(t,e){try{return fetch(t,{headers:{"User-Agent":e}}).then(o=>200===o.status?o.text():(r("getFontForUA",`Unexpected status ${o.status}`,{url:t,UA:e}),""))}catch(o){return r("getFontForUA","Error fetching font",{url:t,UA:e,error:o}),""}}let composeFonts=t=>{let e=t.filter((t,e,r)=>e===r.findIndex(e=>e.family===t.family));return e.map(e=>{let r=t.filter(t=>t.family===e.family).reduce((t,e)=>[...t,...e.variants],[]).filter((t,e,r)=>e===r.findIndex(e=>e===t));return{...e,variants:r}})},GOOGLE_CSS2_OVERRIDES={"Roboto Flex":"https://fonts.googleapis.com/css2?family=Roboto+Flex:opsz,wght@8..144,100..1000&display=swap"},normalizeFamily=t=>t?.trim().replace(/\s+/g,"+")??"",getFontApiVersion=t=>t.includes("fonts.googleapis.com/css2")?"css2":t.includes("fonts.bunny.net")?"bunny":"css1",getOverrideUrlForFamily=t=>{let e=normalizeFamily(t);return GOOGLE_CSS2_OVERRIDES[t]??GOOGLE_CSS2_OVERRIDES[e]},VARIANT_WEIGHT_MAP={regular:"400",normal:"400",bold:"700",italic:"400italic"},googleFontFamiliesSet=new Set(n),IGNORED_FONT_FAMILIES=[...o,...o.map(t=>`--g-${t}`)],isValidFont=(e,r,o)=>{if(("google"===r||"google"===e.type)&&!googleFontFamiliesSet.has(e.family))return!1;let n="google"===e.type||"bunny"===e.type,a="theme"===e.type&&o,i=t(e.family,r);return!(n&&i)&&(n||!e.type||a)},normalizeVariant=t=>{let e=String(t).toLowerCase().trim();return VARIANT_WEIGHT_MAP[e]??t},sortFontVariants=t=>{let e=t=>{let e=String(t).toLowerCase().trim(),r=e.includes("italic"),o=e.replace("italic","").trim(),n=VARIANT_WEIGHT_MAP[o]??o,a=parseInt(n,10)||400;return{weight:a,isItalic:r}};return[...t].sort((t,r)=>{let o=e(t),n=e(r);return o.weight!==n.weight?o.weight-n.weight:o.isItalic!==n.isItalic?o.isItalic?1:-1:0})},makeUrlBySourceFont=(t,e,r)=>{let o=composeFonts(t).map(t=>{let e=t.variants.map(t=>normalizeVariant(t)),r=sortFontVariants(e);return`${t.family.replace(/ /g,"+")}:${r.join(",")}`}).join("|");if("sans-serif"===o)return;let n=new URLSearchParams;return(n.append("family",o),n.append("display",r?.display||"swap"),"bunny"===e)?`https://fonts.bunny.net/css?${decodeURIComponent(n.toString())}`:(r?.subset&&n.append("subset",r.subset),r?.effect&&n.append("effect",r.effect),`https://fonts.googleapis.com/css?${decodeURIComponent(n.toString())}`)},createFontUrls=(t,e,r,o)=>{let n=t.filter(t=>isValidFont(t,r||"google",o));if(!n.length)return;let a=n.filter((t,e,r)=>e===r.findIndex(e=>e.family===t.family)),i=[],l=[];for(let t of a){let e=getOverrideUrlForFamily(t.family);e&&"bunny"!==r?i.push(e):l.push(t)}let s=l.length?makeUrlBySourceFont(l,r||"google",e):void 0;return i.length&&s?[...i,s]:s?[s,...i]:i};async function getFonts(t,e,o=!0,n){let a=t.filter(t=>!IGNORED_FONT_FAMILIES.includes(t.family)),i=createFontUrls(a,e,n),l=Array.isArray(i)?i:i?[i]:[];if(!l.length)return"";if(o)return l.map(t=>`@import url('${t}');`).join("");let s="",f="";for(let t of l)try{let[e,r]=await Promise.all([getFontForUA(t,"Mozilla/5.0 (Windows NT 10.0; Trident/7.0; rv:11.0) like Gecko"),getFontForUA(t,"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36")]),o=`${e}${r}`;s+=o,f+=`@import url('${t}');`}catch(o){let e=getFontApiVersion(t);r("getFonts",`Error fetching font ${e}`,{url:t,fontType:n,fontApiVersion:e,error:String(o)}),f+="",s+=""}let p=new TextEncoder().encode(s).length;return p<51200?s:f}let extractFontsFromPageTemplate=(t,r)=>{let o=[];return t.forEach(t=>{o.push(...e(t.data,r))}),composeFonts(o)},extractVariantFromTypography=(t,e)=>{let r="400";if(null!=t){let e=String(t).toLowerCase().trim();r=normalizeVariant(e)}let o=r,n=e&&"italic"===e.toLowerCase();return n&&!r.includes("italic")&&(o=r.includes("i")?r:`${r}italic`),o},HEADING_FONT_PREFIX="heading-",SUBHEADING_FONT_PREFIX="subheading-",PARAGRAPH_FONT_PREFIX="paragraph-",extractTypographyVariants=t=>{let e=t?.typography??{},r=t?.font??{},o=new Map;Object.entries(e).forEach(([t,e])=>{if(!e||"object"!=typeof e)return;let n=t.startsWith(HEADING_FONT_PREFIX)||t.startsWith(SUBHEADING_FONT_PREFIX)?r.heading?"heading":void 0:t.startsWith(PARAGRAPH_FONT_PREFIX)&&r.body?"body":void 0,a=e.desktop,i=a?.fontFamily,l=i||n;["desktop","mobile","tablet"].forEach(t=>{let n=e[t];if(!n||"object"!=typeof n)return;let i=n.fontFamily||l;if(!i||"string"!=typeof i||!r[i])return;let s=n.fontWeight??a?.fontWeight,f=n.fontStyle??a?.fontStyle;if(null==s)return;let p=extractVariantFromTypography(s,f);o.has(i)||o.set(i,new Set),o.get(i).add(p)})});let n={};return o.forEach((t,e)=>{let o=r[e];o&&(n[e]={variants:Array.from(t).sort(),family:o.family})}),n},mapTypographyToFontFamily=t=>{let e=t?.typography??{},r=t?.font??{},o=t?.font??{},n={};return Object.entries(e).forEach(([t,e])=>{if(!e||"object"!=typeof e)return;let a=e.desktop,i=e.mobile,l=e.tablet,s=t.startsWith(HEADING_FONT_PREFIX)||t.startsWith(SUBHEADING_FONT_PREFIX)?o.heading?"heading":void 0:t.startsWith(PARAGRAPH_FONT_PREFIX)&&o.body?"body":void 0,f=a?.fontFamily||i?.fontFamily||l?.fontFamily||s;if(!f||"string"!=typeof f)return;let p=r[f],y=o[f],c=p?.family||y?.family||f,m=p?.type||y?.type||"google";c&&(n[t]={family:c,type:m})}),n},getFontLinkFromGlobalStyle=async(t,e)=>{if(!t)return"";try{let r=JSON.parse(t),o=r?.font??{},n=Object.values(o),a=extractTypographyVariants(r);Object.keys(a).length>0&&(n=Object.entries(o).filter(([t])=>a[t]).map(([t,e])=>({...e,variants:a[t].variants})));let i=composeFonts(n);return getFonts(i,void 0,void 0,e)}catch{return""}},getFontFromGlobalStyle=(t,e)=>{if(!t)return"";try{let r=JSON.parse(t),o=r?.font??{},n=Object.entries(o).map(([,t])=>t);return getFonts(n,void 0,void 0,e)}catch{return""}};async function getFontStyleFromPageTemplate(t,e,r){let o,n=null;if(r)try{n=JSON.parse(r),o=mapTypographyToFontFamily(n)}catch{}let a=extractFontsFromPageTemplate(t,o);if(!n){if(0===a.length)return[];let t=await getFonts(a,void 0,void 0,e);return t?[t]:[]}let i=extractTypographyVariants(n),l=new Map;for(let t of Object.values(i)){let e=l.get(t.family);if(!e){l.set(t.family,new Set(t.variants));continue}t.variants.forEach(t=>e.add(t))}if(0===(a=a.map(t=>{let e=l.get(t.family);if(!e)return t;let r=t.variants.filter(t=>!e.has(t));return 0===r.length?null:{...t,variants:r}}).filter(t=>null!==t)).length)return[];let s=await getFonts(a,void 0,void 0,e);return s?[s]:[]}export{composeFonts,createFontUrls,extractTypographyVariants,getFontFromGlobalStyle,getFontLinkFromGlobalStyle,getFontStyleFromPageTemplate,getFonts,mapTypographyToFontFamily};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{DEVICES as e,getShortName as t}from"@gem-sdk/core";import r from"deepmerge";let baseDevices={tablet:"1024px",mobile:"767px"},flattenObject=(e,t)=>Object.keys(e).reduce((r,n)=>{let o=t?`${t}-`:"";return"object"==typeof e[n]&&null!==e[n]&&Object.keys(e[n]).length>0?Object.assign(r,flattenObject(e[n],o+n)):r[o+n]=e[n],r},{}),mapObject=e=>Object.entries(e??{}).reduce((e,[r,n])=>({...e,[t(r)]:"object"==typeof n?mapObject(n):n}),{}),getValueByDevice=(e,t)=>{let r={typography:Object.fromEntries(Object.entries(e?.typography??{}).map(([e,r])=>{let n={...r?.[t]};return n?(n.fontFamily&&(n.fontFamily=`var(--g-font-${n.fontFamily}, ${n.fontFamily})`),[e,n]):[e,void 0]})),spacing:Object.fromEntries(Object.entries(e?.spacing??{}).map(([e,r])=>[e,r?.[t]])),container:Object.fromEntries(Object.entries(e?.container??{}).map(([e,r])=>[e,r?.[t]])),font:Object.fromEntries(Object.entries(e?.font??{}).map(([e,t])=>[e,t?.family])),theme:{font:Object.fromEntries(Object.entries(e?.theme?.font??{}).map(([e,t])=>[e,t?.family]))}};return r},quoteFontName=e=>["sans-serif"].includes(e)?e:`'${e}'`,convertLetterSpacingToEm=e=>"string"==typeof e&&e.includes("%")?`${(.01*parseFloat(e)).toFixed(2)}em`:e,genCSSVariable=e=>Object.entries(mapObject(flattenObject(e))).map(([e,t])=>{if(void 0!==t){if(
|
|
1
|
+
import{DEVICES as e,getShortName as t}from"@gem-sdk/core";import{THEME_FONT_CSS_KEYS as r}from"../constants/theme-font-keys.js";import n from"deepmerge";let baseDevices={tablet:"1024px",mobile:"767px"},flattenObject=(e,t)=>Object.keys(e).reduce((r,n)=>{let o=t?`${t}-`:"";return"object"==typeof e[n]&&null!==e[n]&&Object.keys(e[n]).length>0?Object.assign(r,flattenObject(e[n],o+n)):r[o+n]=e[n],r},{}),mapObject=e=>Object.entries(e??{}).reduce((e,[r,n])=>({...e,[t(r)]:"object"==typeof n?mapObject(n):n}),{}),getValueByDevice=(e,t)=>{let r={typography:Object.fromEntries(Object.entries(e?.typography??{}).map(([e,r])=>{let n={...r?.[t]};return n?(n.fontFamily&&(n.fontFamily=`var(--g-font-${n.fontFamily}, ${n.fontFamily})`),[e,n]):[e,void 0]})),spacing:Object.fromEntries(Object.entries(e?.spacing??{}).map(([e,r])=>[e,r?.[t]])),container:Object.fromEntries(Object.entries(e?.container??{}).map(([e,r])=>[e,r?.[t]])),font:Object.fromEntries(Object.entries(e?.font??{}).map(([e,t])=>[e,t?.family])),theme:{font:Object.fromEntries(Object.entries(e?.theme?.font??{}).map(([e,t])=>[e,t?.family]))}};return r},quoteFontName=e=>["sans-serif"].includes(e)?e:`'${e}'`,convertLetterSpacingToEm=e=>"string"==typeof e&&e.includes("%")?`${(.01*parseFloat(e)).toFixed(2)}em`:e,genCSSVariable=e=>Object.entries(mapObject(flattenObject(e))).map(([e,t])=>{if(void 0!==t){if(r.includes(e))return`--g-${e}: ${quoteFontName(t)}`;if(e.includes("-ls")){let r=convertLetterSpacingToEm(t);return`--g-${e}:${r}`}return`--g-${e}:${t}`}}).filter(e=>void 0!==e).join(";"),genCSS=(t,r)=>{if(!t)return"";let o={};try{if(o="string"==typeof t?JSON.parse(t):t,r){let e=getValueByDevice(o,"desktop"),t=getValueByDevice(o,"mobile"),r=n(e,t);r.color=o.color,r.radius=o.radius;let i=genCSSVariable(r);return`:root{${i}}`}return e.map(e=>{let t=getValueByDevice(o,e);"desktop"===e&&(t.color=o.color,t.radius=o.radius);let r=genCSSVariable(t);return"desktop"===e?`:root{${r}}`:`@media (max-width: ${baseDevices[e]}) {:root{${r}}}`}).join("\n")}catch{return""}};export{genCSS};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
let sendPageViewedTracking=e=>{let{id:n,shopID:t}=e,s=process.env.NEXT_PUBLIC_ANALYTICS_API_URL,a=`${s}/events/gempagesv7`;s&&null!=n&&""!==n&&null!=t&&""!==t&&fetch(a,{method:"POST",body:JSON.stringify({id:n,name:"PAGE_VIEWED",timestamp:new Date().toISOString(),shopId:t})})};export{sendPageViewedTracking};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import{jsxs as e,Fragment as o,jsx as t}from"react/jsx-runtime";import{useI18n as r,PageProvider as i,BuilderComponentProvider as n,SectionProvider as p,I18nProvider as m,BuilderPreviewProvider as l}from"@gem-sdk/core";import{NextSeo as s}from"next-seo";import a from"next/head";import{useState as d,useMemo as g,useEffect as c}from"react";import u from"../components/builder/Toolbox.js";import f from"../components/builder/Header.js";import y from"../components/builder/Footer.js";import h from"../components/builder/PopupManager.js";import T from"../components/image-to-layout-upsell/ImageToLayout.js";import b from"../components/image-to-layout/AddSectionImageToLayout.js";import j from"../components/builder/Toolbar.js";import x from"../components/builder/SwitchView.js";import S from"../components/builder/Body.js";let BuilderUpsellPage=({components:O,seo:v,themeStyle:I,fontStyle:L,sectionData:w,pageType:P,editorImageToLayout:M,isThemeSectionEditor:N,hiddenToolbar:R,pageName:_,isOriginTemplate:B})=>{let[H,E]=d(!1),{t:U}=r(),k=g(()=>({ROOT:{uid:"ROOT",tag:"Root",label:"Root",childrens:[]}}),[]);c(()=>{E(!0)},[]);let z=()=>{window?.parent?.postMessage(JSON.stringify({type:"open-page-setting"}),"*")};return e(o,{children:[t(s,{...v}),e(a,{children:[I&&t("style",{type:"text/css",id:"global-style",dangerouslySetInnerHTML:{__html:I}}),L&&t("style",{"data-id":"google-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:L}})]}),t(i,{children:t(n,{components:O,children:t(p,{data:w,children:t(m,{t:U,children:e(l,{pageName:_,state:k,isThemeSectionEditor:N,children:[t(u,{}),!R&&t(j,{}),t(h,{}),H&&e("div",{className:"builder gp-z-1 gp-relative",children:[!R&&(N?t("div",{className:"gp-h-[40px] gp-bg-[#ffffff] gp-border-b-[1px] gp-border-[#eeeeee]",children:t(x,{})}):t(f,{pageType:P,isOriginTemplate:B,openPageSetting:z})),t(S,{pageType:P,isThemeSectionEditor:N}),t(T,{editorImageToLayout:M||!1}),t(b,{editorImageToLayout:M||!1}),t("div",{id:"visual-content"}),!N&&!R&&t(y,{pageType:P,isOriginTemplate:B,openPageSetting:z})]})]},"preview")})})})})]})};export{BuilderUpsellPage};
|
|
@@ -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 l,
|
|
1
|
+
import{jsx as e,jsxs as t,Fragment as s}from"react/jsx-runtime";import{useI18n as a,PageProvider as r,BuilderComponentProvider as l,I18nProvider as n,SectionProvider as i,BuilderProvider as o,Render as p}from"@gem-sdk/core";import{NextSeo as c}from"next-seo";import g from"next/head";import{useRouter as m}from"next/router";import{useTrackingView as d}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";let StaticPageV2=({components:b,builderData:v,sectionData:S,seo:x,themeStyle:k,fontStyle:P,elementFontStyle:N,customCodeHeader:T,shopToken:j,pageHandle:H,customFonts:L,isPostPurchase:M,shopName:$,productOffers:E,publicStoreFrontData:F,dynamicDiscountOffer:I,isPreview:q,interaction:w,pageBackground:A,sellingPlanSetting:O,buyerConsentPreCheck:z})=>{let C=m(),{t:U}=a(),B=process.env.NEXT_GP_BASE_ASSET_URL||"https://assets.gemcommerce.xyz";d(j,H,C.isFallback);let D="custom-code-header";if(_(()=>{let e=document.querySelectorAll(`[class*="${D}-"]`),t=[];e.length>1&&e.forEach(e=>{let s=e.className;if(t.includes(s)){e.remove();return}t.push(s)})},[]),C.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 R=(w?.value||[]).length>0;return t(s,{children:[e(c,{...x}),t(g,{children:[u(D,T,!0),k&&e("style",{"data-id":"global-style",type:"text/css",dangerouslySetInnerHTML:{__html:k}},"global-style"),P&&e("style",{"data-id":"google-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:P}},"google-fonts"),N&&N.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}},P),A?.isUsePageBackground&&A?.background&&e("style",{children:`
|
|
2
2
|
body {
|
|
3
3
|
background: ${A.background};
|
|
4
4
|
}
|
|
5
|
-
`},`page_background_${A?.background}`)]}),e(r,{productOffers:
|
|
5
|
+
`},`page_background_${A?.background}`)]}),e(r,{productOffers:E,publicStoreFrontData:F,dynamicDiscountOffer:I,sellingPlanMeta:O,buyerConsentChecked:z,children:e(l,{components:b,children:e(n,{t:U,children:t("div",{className:`${M?"gp-bg-white post-purchase-page":""} `,role:"main",children:[M&&e(h,{pageType:"POST_PURCHASE"}),R&&e("div",{dangerouslySetInnerHTML:{__html:`<div id="gp-interaction" style="display: none;">${JSON.stringify(w?.value||[])}</div>`}}),e(i,{data:S,children:v?.map(s=>t(o,{state:s.data,lazy:s.lazy,priority:s.priority,isPostPurchase:M,isPreview:q,children:[e(p,{uid:s.uid}),R&&e(y,{defer:!0,src:`${B}/assets-v2/gp-flow-action-lip-v7-5.js`})]},s.uid))}),M&&e(f,{shopName:$||""})]})})})})]})};export{StaticPageV2};
|
package/dist/types/index.d.ts
CHANGED
|
@@ -46,6 +46,8 @@ type PageBuilderProps = {
|
|
|
46
46
|
isUsePageBackground?: boolean;
|
|
47
47
|
background?: string;
|
|
48
48
|
};
|
|
49
|
+
id?: string | null;
|
|
50
|
+
shopID?: string | null;
|
|
49
51
|
};
|
|
50
52
|
type PageBuilderPropsV2 = {
|
|
51
53
|
builderData?: {
|
|
@@ -92,6 +94,9 @@ type BuilderPageProps = {
|
|
|
92
94
|
pageName: string;
|
|
93
95
|
isOriginTemplate?: boolean;
|
|
94
96
|
};
|
|
97
|
+
type BuilderUpsellPageProps = BuilderPageProps & {
|
|
98
|
+
isUpsellBuilder?: boolean;
|
|
99
|
+
};
|
|
95
100
|
type CollectionDetailPageProps = PageBuilderProps & {
|
|
96
101
|
collection?: CollectionQueryResponse['collection'];
|
|
97
102
|
};
|
|
@@ -110,6 +115,8 @@ type StaticPagePropsV2 = PageBuilderPropsV2 & {
|
|
|
110
115
|
publicStoreFrontData?: PublicStoreFrontData | null;
|
|
111
116
|
isPreview?: boolean;
|
|
112
117
|
domain?: string;
|
|
118
|
+
sellingPlanSetting?: Record<string, any>;
|
|
119
|
+
buyerConsentPreCheck?: Record<string, boolean>;
|
|
113
120
|
};
|
|
114
121
|
type SharePageAPIResponse = {
|
|
115
122
|
sharedPage: SharePageProps;
|
|
@@ -187,6 +194,7 @@ declare const getPostPurchasePropsPreview: (fetcher: FetchFunc, librarySaleFunne
|
|
|
187
194
|
currentOfferID: string;
|
|
188
195
|
isLibraryTemplate?: boolean;
|
|
189
196
|
isShopLibraryPage?: boolean;
|
|
197
|
+
sellingPlanSetting?: Record<string, any>;
|
|
190
198
|
}) => Promise<Omit<StaticPagePropsV2, 'publicStoreFrontData'>>;
|
|
191
199
|
|
|
192
200
|
declare const getStaticPagePropsPreview: (fetcher: FetchFunc, shopifyFetcher: FetchFunc) => (slug: string) => Promise<PageBuilderPropsV2>;
|
|
@@ -202,6 +210,12 @@ declare const getLayout: (page: React.ReactElement, pageProps?: any) => react_js
|
|
|
202
210
|
|
|
203
211
|
declare const genCSS: (input?: string | Record<string, any>, mobileOnly?: boolean) => string;
|
|
204
212
|
|
|
213
|
+
type SendPageViewedTrackingParams = {
|
|
214
|
+
id: string | number | null | undefined;
|
|
215
|
+
shopID: string | number | null | undefined;
|
|
216
|
+
};
|
|
217
|
+
declare const sendPageViewedTracking: (params: SendPageViewedTrackingParams) => void;
|
|
218
|
+
|
|
205
219
|
declare const useTrackingView: (token?: string | null, handle?: string | null, isFallback?: boolean) => void;
|
|
206
220
|
|
|
207
221
|
declare const usePagePreview: (dataBuilder: ThemePageQueryResponse['themePage'], storeProperty: PromiseSettledResult<StorePropertyQueryResponse>, shopifyMeta?: PromiseSettledResult<ShopMetaQueryResponse>) => {
|
|
@@ -349,8 +363,10 @@ declare const StaticPage: React.FC<PageBuilderProps & AdditionalPageBuilderProps
|
|
|
349
363
|
|
|
350
364
|
declare const BuilderPage: React.FC<BuilderPageProps>;
|
|
351
365
|
|
|
366
|
+
declare const BuilderUpsellPage: React.FC<BuilderUpsellPageProps>;
|
|
367
|
+
|
|
352
368
|
declare const StaticPageV2: React.FC<StaticPagePropsV2 & AdditionalPageBuilderProps>;
|
|
353
369
|
|
|
354
370
|
declare const PreviewTemplate: React.FC<SharePageProps & AdditionalPageBuilderProps>;
|
|
355
371
|
|
|
356
|
-
export { AppPropsWithLayout, BuilderPage, CollectionDetailPage, ErrorBoundary, ErrorFallback, FacebookPixel, GoogleAnalytic, NextPageWithLayout, Page404, Page500, PageBuilderProps, PageBuilderPropsV2, PreviewPage, PreviewTemplate, ProductDetailPage, SharePageAPIResponse, SharePageProps, SharePageTracking, StaticPage, StaticPagePropsV2, 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, usePagePreview, useTrackingView };
|
|
372
|
+
export { AppPropsWithLayout, BuilderPage, BuilderUpsellPage, CollectionDetailPage, ErrorBoundary, ErrorFallback, FacebookPixel, GoogleAnalytic, NextPageWithLayout, Page404, Page500, PageBuilderProps, PageBuilderPropsV2, PreviewPage, PreviewTemplate, ProductDetailPage, SharePageAPIResponse, SharePageProps, SharePageTracking, StaticPage, StaticPagePropsV2, 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, useTrackingView };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gem-sdk/pages",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "12.0.0-dev.112",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"main": "dist/cjs/index.js",
|
|
@@ -16,23 +16,24 @@
|
|
|
16
16
|
"build": "rollup -c ./../../helpers/rollup.config.mjs --environment NODE_ENV:production",
|
|
17
17
|
"lint": "eslint ./src --ext .tsx,.ts",
|
|
18
18
|
"type-check": "yarn tsc --noEmit",
|
|
19
|
-
"test": "jest -c ./../../helpers/jest.config.ts"
|
|
19
|
+
"test": "jest -c ./../../helpers/jest.config.ts",
|
|
20
|
+
"gen-google-fonts": "node ./scripts/genFontGoogle.js"
|
|
20
21
|
},
|
|
21
22
|
"dependencies": {
|
|
22
23
|
"@sentry/nextjs": "7.77.0",
|
|
23
24
|
"deepmerge": "4.3.1",
|
|
24
|
-
"html-react-parser": "
|
|
25
|
-
"next-seo": "
|
|
26
|
-
"next": "14.2.
|
|
25
|
+
"html-react-parser": "4.2.10",
|
|
26
|
+
"next-seo": "6.8.0",
|
|
27
|
+
"next": "14.2.35"
|
|
27
28
|
},
|
|
28
29
|
"devDependencies": {
|
|
29
|
-
"@gem-sdk/core": "
|
|
30
|
-
"@gem-sdk/plugin-cookie-bar": "
|
|
31
|
-
"@gem-sdk/plugin-quick-view": "
|
|
32
|
-
"@gem-sdk/plugin-sticky-add-to-cart": "
|
|
30
|
+
"@gem-sdk/core": "12.0.0-dev.111",
|
|
31
|
+
"@gem-sdk/plugin-cookie-bar": "12.0.0-dev.53",
|
|
32
|
+
"@gem-sdk/plugin-quick-view": "12.0.0-dev.53",
|
|
33
|
+
"@gem-sdk/plugin-sticky-add-to-cart": "12.0.0-dev.53"
|
|
33
34
|
},
|
|
34
35
|
"peerDependencies": {
|
|
35
|
-
"next": "
|
|
36
|
+
"next": "14.2.35"
|
|
36
37
|
},
|
|
37
38
|
"module": "dist/esm/index.js",
|
|
38
39
|
"types": "dist/types/index.d.ts",
|