@gem-sdk/pages 12.0.0-dev.28 → 12.0.0-dev.31
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/Toolbox.js +1 -1
- package/dist/cjs/libs/api/get-post-purchase-props-preview.js +1 -1
- package/dist/cjs/pages/static-v2.js +2 -2
- package/dist/esm/components/builder/Toolbox.js +1 -1
- package/dist/esm/libs/api/get-post-purchase-props-preview.js +1 -1
- package/dist/esm/pages/static-v2.js +2 -2
- package/dist/types/index.d.ts +1 -0
- package/package.json +9 -9
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),core=require("@gem-sdk/core"),react=require("react"),getStorefrontApi=require("../../libs/get-storefront-api.js"),googleFonts=require("../../libs/google-fonts.js"),genCss=require("../../libs/helpers/gen-css.js"),genFonts=require("../../libs/helpers/gen-fonts.js"),shopifyCdnWithGoogleFonts=require("../../libs/shopify-cdn-with-google-fonts.js"),libsStore=require("../../store/libs-store.js"),checkOptionFont=require("../../libs/helpers/check-option-font.js");const globalStyleId="global-style",ENABLE_THEME_FONT_EDITOR=!0,Toolbox=()=>{let e=core.useMatchMutate(),t=core.useShopStore(e=>e.provider),o=core.useShopStore(e=>e.changeStorefrontInfo),r=core.usePageStore(e=>e.setDynamicProduct),a=core.usePageStore(e=>e.setAssignedProductIds),n=core.usePageStore(e=>e.setIsApplyAllProducts),i=core.usePageStore(e=>e.setPostPurchaseProductOffers),d=core.usePageStore(e=>e.setDynamicDiscountOffer),l=core.usePageStore(e=>e.setSalePageProductId),s=core.usePageStore(e=>e.setDynamicCollection),c=core.useBuilderPreviewStore(e=>e.initState),u=core.useBuilderPreviewStore(e=>e.state),p=core.useBuilderPreviewStore(e=>e.forceChangeState),w=core.useBuilderPreviewStore(e=>e.forceChangeItemProp),v=core.useBuilderPreviewStore(e=>e.changeItemPropByKey),m=core.useBuilderPreviewStore(e=>e.addItem),g=core.useBuilderPreviewStore(e=>e.moveItem),y=core.useBuilderPreviewStore(e=>e.removeItem),
|
|
2
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),core=require("@gem-sdk/core"),react=require("react"),getStorefrontApi=require("../../libs/get-storefront-api.js"),googleFonts=require("../../libs/google-fonts.js"),genCss=require("../../libs/helpers/gen-css.js"),genFonts=require("../../libs/helpers/gen-fonts.js"),shopifyCdnWithGoogleFonts=require("../../libs/shopify-cdn-with-google-fonts.js"),libsStore=require("../../store/libs-store.js"),checkOptionFont=require("../../libs/helpers/check-option-font.js");const globalStyleId="global-style",ENABLE_THEME_FONT_EDITOR=!0,Toolbox=()=>{let e=core.useMatchMutate(),t=core.useShopStore(e=>e.provider),o=core.useShopStore(e=>e.changeStorefrontInfo),r=core.usePageStore(e=>e.setDynamicProduct),a=core.usePageStore(e=>e.setAssignedProductIds),n=core.usePageStore(e=>e.setIsApplyAllProducts),i=core.usePageStore(e=>e.setPostPurchaseProductOffers),d=core.usePageStore(e=>e.setDynamicDiscountOffer),l=core.usePageStore(e=>e.setSalePageProductId),s=core.usePageStore(e=>e.setDynamicCollection),c=core.useBuilderPreviewStore(e=>e.initState),u=core.useBuilderPreviewStore(e=>e.state),p=core.useBuilderPreviewStore(e=>e.forceChangeState),w=core.useBuilderPreviewStore(e=>e.forceChangeItemProp),v=core.useBuilderPreviewStore(e=>e.changeItemPropByKey),m=core.useBuilderPreviewStore(e=>e.addItem),g=core.useBuilderPreviewStore(e=>e.moveItem),y=core.useBuilderPreviewStore(e=>e.removeItem),h=core.useSectionStore(e=>e.addSection),S=core.useShopStore(e=>e.changeSwatches),f=core.useBuilderPreviewStore(e=>e.updateItemName),b=core.useBuilderPreviewStore(e=>e.updateItemAttribute),E=core.useShopStore(e=>e.changeLayoutSettings),L=core.useShopStore(e=>e.changeCreateThemeSectionCount),C=core.useShopStore(e=>e.changeShopPlan),k=core.useShopStore(e=>e.updatePriceWithCurrency),P=libsStore.libsStore(e=>e.changeFontType),I=libsStore.libsStore(e=>e.fontType),T=core.useModalStore(e=>e.clearModal),q=core.useShopStore(e=>e.changeLimitCreateThemeSection),F=core.usePageStore(e=>e.setInteractionIsSelectOnPage),A=core.usePageStore(e=>e.setInteractionItem),B=core.usePageStore(e=>e.setInteractionSelectType),j=core.usePageStore(e=>e.setInteractionSettingType),x=core.usePageStore(e=>e.setSidebarMode),M=core.usePageStore(e=>e.setSellingPlanMeta),O=core.usePageStore(e=>e.setBuyerConsentPreCheck),N=react.useMemo(()=>genFonts.getFontsFromDataBuilder(u),[u]),D=({currentFontTypeSetting:e,fontType:t,fontHref:o})=>{let r;return o.includes("bunny.net")?r="bunny":o.includes("googleapis.com")&&(r="google"),!r||t===r&&r===e},$=react.useCallback((e,t)=>{if(!I)return;if(!t?.length){let t=document.querySelectorAll(`.${e}`);t.forEach(e=>e.remove());return}let o=document.querySelectorAll(`.${e}`);for(let r of(o.forEach(e=>{let o=e.getAttribute("data-font"),r=e.getAttribute("data-font-variant"),a=e.getAttribute("href")||"";if(!o||!r){e.remove();return}let n=t.find(e=>{let t=e.family===o,n=e.variants.includes(r);return!!t&&!!n&&D({currentFontTypeSetting:e.type,fontType:I,fontHref:a})});n||e.remove()}),t))if(!(["bunny","google"].includes(r.type)&&checkOptionFont.checkNotInOptionFont(r.family,I))&&"custom"!==r.type&&r.variants?.length)for(let t of r.variants){let o={...r,variants:[t.toString()]},a=googleFonts.createFontUrls([o],void 0,I,!0)||[];if(a?.length)for(let o of a){let a=e=>window.CSS&&CSS.escape?CSS.escape(e):e.replace(/"/g,'\\"'),n=document.querySelector(`link.${e}[href="${a(o)}"]`);if(n)continue;let i=document.createElement("link");i.className=e,i.rel="stylesheet",i.href=o,i.dataset.font=r.family,i.dataset.fontVariant=t,document.head.appendChild(i)}}},[I]),H=react.useCallback(()=>{e(/query\//,{revalidate:!0})},[e]),_=react.useCallback(e=>{let r=e.detail;o({url:r.shopHandle?getStorefrontApi.getStorefrontApi(r.shopHandle,t):void 0,token:r.shopToken})},[o,t]),W=react.useCallback(e=>{let t=e.detail;try{if(t.data){let e=genCss.genCSS(t.data,t.mobileOnly),o=Object.entries(t.data?.font).map(([,e])=>e).map(e=>{if("custom"==e.type){let t=shopifyCdnWithGoogleFonts.shopifyCdnWithGoogleFonts.find(t=>t.family==e.family);if(t)return t}return e}),r=document.getElementById(globalStyleId);if($("google-font-builder",o),r)r.innerHTML=e;else{let t=document.createElement("style");t.id=globalStyleId,t.innerHTML=e,document.head.appendChild(t)}}}catch{}},[$]),G=react.useCallback(e=>{T();try{let t=e.detail;t.data&&("flat"===t.type?p(t.data):c(t.data))}catch{}},[p,c,T]),R=react.useCallback(e=>{try{let t=e.detail;t.entity&&(m({data:t.entity,id:t.id,position:t.position,type:t.type??"component"}),t?.type!=="section"||Array.isArray(t.entity)||h(t.entity.uid,t.entity))}catch{}},[m,h]),V=react.useCallback(e=>{try{let t=e.detail;t.uid&&t.propName&&v({id:t.uid,key:t.propName,data:t.propValue,group:t.group})}catch{}},[v]),K=react.useCallback(e=>{try{let t=e.detail;t.uid&&w(t.uid,t.data,t.group)}catch{}},[w]),U=react.useCallback(e=>{try{let t=e.detail;t.to&&t.uid&&g(t.uid,t.to,Number(t.position)??0)}catch{}},[g]),z=react.useCallback(e=>{try{let t=e.detail;t.uid&&y(t.uid)}catch{}},[y]),J=react.useCallback(e=>{let t=e.detail;try{t.data&&S(t.data)}catch{}},[S]),Q=react.useCallback(e=>{let t=e.detail;t&&E(t)},[E]),X=react.useCallback(e=>{let t=e.detail;t&&L(t)},[L]),Y=react.useCallback(e=>{let t=e.detail;t&&C(t)},[C]),Z=react.useCallback(e=>{let t=e.detail;t&&k(t)},[k]),ee=react.useCallback(e=>{let t=e.detail;t&&P(t)},[P]),et=react.useCallback(e=>{let t=e.detail;t&&r(t)},[r]),eo=react.useCallback(e=>{let{assignedIds:t,isApplyAllProducts:o}=e.detail;t&&a(t??[]),n(!!o)},[a,n]),er=react.useCallback(e=>{let t=e.detail;t&&s(t)},[s]);react.useEffect(()=>{N&&I&&$("google-font-element",N)},[N,I,$]);let ea=react.useCallback(e=>{let t=e.detail;t.uid&&f(t.uid,t.name||"")},[f]),en=react.useCallback(e=>{let t=e.detail;t.uid&&b(t.uid,t.value||"",t.attr||"")},[b]),ei=react.useCallback(e=>{let t=e.detail;t?.length&&i(t)},[i]),ed=react.useCallback(e=>{let t=e.detail;t&&d(t)},[d]),el=react.useCallback(e=>{let t=e.detail;t&&l(t)},[l]),es=react.useCallback(e=>{let t=e.detail;t&&q(t)},[q]),ec=react.useCallback(e=>{let t=e.detail.value,o=e.detail.mode,r=e.detail.settingType;F(t),B(o),j(r)},[F,B,j]),eu=react.useCallback(e=>{let t=e.detail.settingType;j(t)},[j]),ep=react.useCallback(e=>{let t=e.detail.mode;console.log(t),x(t)},[x]),ew=react.useCallback(e=>{let t=e.detail;A(t)},[A]),ev=react.useCallback(e=>{e.detail&&M(e.detail)},[M]),em=react.useCallback(e=>{e.detail&&O(e.detail?.data)},[O]);return react.useEffect(()=>(window.addEventListener("update-shop-info",_),window.addEventListener("revalidate-query",H),window.addEventListener("init-builder",G),window.addEventListener("add-entity",R),window.addEventListener("remove-entity",z),window.addEventListener("move-entity",U),window.addEventListener("force-update-entity-props",K),window.addEventListener("update-entity-prop",V),window.addEventListener("set-global-style",W),window.addEventListener("update-global-swatches-data",J),window.addEventListener("on-off-header-footer",Q),window.addEventListener("update-create-theme-section-count",X),window.addEventListener("update-shop-plan",Y),window.addEventListener("set-dynamic-product",et),window.addEventListener("set-assigned-product-ids",eo),window.addEventListener("set-dynamic-collection",er),window.addEventListener("update-item-name",ea),window.addEventListener("update-item-attribute",en),window.addEventListener("set-product-offer",ei),window.addEventListener("set-dynamic-discount-offer",ed),window.addEventListener("update-sale-page-product-id",el),window.addEventListener("limit-create-theme-section",es),window.addEventListener("update-interaction-is-select-on-page",ec),window.addEventListener("update-interaction-item",ew),window.addEventListener("update-interaction-setting-type",eu),window.addEventListener("change-sidebar-mode",ep),window.addEventListener("update-font-type",ee),window.addEventListener("update-price-with-currency",Z),window.addEventListener("selling-plan-meta-loaded",ev),window.addEventListener("selling-plan-meta-updated",ev),window.addEventListener("buyer-consent-pre-check-updated",em),()=>{window.removeEventListener("update-shop-info",_),window.removeEventListener("revalidate-query",H),window.removeEventListener("init-builder",G),window.removeEventListener("add-entity",R),window.removeEventListener("remove-entity",z),window.removeEventListener("move-entity",U),window.removeEventListener("update-entity-prop",V),window.removeEventListener("set-global-style",W),window.removeEventListener("update-global-swatches-data",J),window.removeEventListener("on-off-header-footer",Q),window.removeEventListener("update-create-theme-section-count",X),window.removeEventListener("update-shop-plan",Y),window.removeEventListener("update-price-with-currency",Z),window.removeEventListener("set-dynamic-product",et),window.removeEventListener("set-dynamic-collection",er),window.removeEventListener("update-item-name",ea),window.removeEventListener("update-item-attribute",en),window.removeEventListener("set-product-offer",ei),window.removeEventListener("update-sale-page-product-id",el),window.removeEventListener("limit-create-theme-section",es),window.removeEventListener("update-interaction-is-select-on-page",ec),window.removeEventListener("update-interaction-item",ew),window.removeEventListener("update-interaction-setting-type",eu),window.removeEventListener("update-font-type",ee),window.removeEventListener("selling-plan-meta-loaded",ev),window.removeEventListener("selling-plan-meta-updated",ev),window.removeEventListener("buyer-consent-pre-check-updated",em)}),[R,Y,K,V,G,U,z,W,J,H,_,Q,X,et,er,ea,en,ei,el,es,ew,ec,eu,ee,ep,ed,Z,ev,em]),jsxRuntime.jsx("div",{className:"toolbox"})};var Toolbox$1=react.memo(Toolbox);exports.default=Toolbox$1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var core=require("@gem-sdk/core"),nextjs=require("@sentry/nextjs"),googleFonts=require("../google-fonts.js"),getFallback=require("../helpers/get-fallback.js"),normalize=require("../helpers/normalize.js"),usePagePreview=require("../hooks/usePagePreview.js"),parseJson=require("../helpers/parse-json.js"),genCss=require("../helpers/gen-css.js");const PAGE_SETTINGS_KEY="page_settings",SELLING_PLAN_SETTING_KEY="sellingPlanSetting",fetchSalePageDataByID=async(e,r)=>{let t={themePageId:e.themePageId,first:1,where:{default:!0}},[a,
|
|
1
|
+
"use strict";var core=require("@gem-sdk/core"),nextjs=require("@sentry/nextjs"),googleFonts=require("../google-fonts.js"),getFallback=require("../helpers/get-fallback.js"),normalize=require("../helpers/normalize.js"),usePagePreview=require("../hooks/usePagePreview.js"),parseJson=require("../helpers/parse-json.js"),genCss=require("../helpers/gen-css.js");const PAGE_SETTINGS_KEY="page_settings",SELLING_PLAN_SETTING_KEY="sellingPlanSetting",BUYER_CONSENT_PRE_CHECK_KEY="buyerConsentPreCheck",fetchSalePageDataByID=async(e,r)=>{let t={themePageId:e.themePageId,first:1,where:{default:!0}},[a,o]=await Promise.allSettled([r([core.ThemePageDocument,t]),r([core.StorePropertyDocument])]);if("rejected"===a.status)throw Error(a.reason?.[0]);return{dataBuilder:a.value.themePage,pageStyle:a.value.themePage?.theme?.themeStyles?.edges?.[0]?.node?.data,storeProperty:o,dynamicDiscountOffer:void 0,productOffers:[],sellingPlanSetting:{},buyerConsentPreCheck:{}}},fetchPostPurchasePageDataByID=async(e,r)=>{let t={themePageId:e.themePageId,first:1,where:{default:!0}},a={themePageID:e.themePageId,where:{key:PAGE_SETTINGS_KEY}},[o,l,s,n,i]=await Promise.allSettled([r([core.ThemePageDocument,t]),r([core.StorePropertyDocument]),r([core.SaleFunnelDiscountsDocument,{where:{saleFunnelOfferID:e.currentOfferID}}]),r([core.SaleFunnelOfferDocument,{saleFunnelOfferId:e.currentOfferID}]),r([core.ThemePageMetaDocument,a])]);if("rejected"===o.status)throw Error(o.reason?.[0]);if("rejected"===s.status)throw Error(s.reason?.[0]);if("rejected"===n.status)throw Error(n.reason?.[0]);if("rejected"===i.status)throw Error(i.reason?.[0]);let c={},u={};if("fulfilled"===i.status){let e=i.value.themePageMeta?.edges?.find(e=>e?.node?.key===PAGE_SETTINGS_KEY)?.node?.value;if(e)try{let r=JSON.parse(e);c=r?.sellingPlanSetting,u=r?.buyerConsentPreCheck}catch(e){console.error("Error parsing selling plan setting:",e)}}return{dataBuilder:o.value.themePage,pageStyle:o.value.themePage?.theme?.themeStyles?.edges?.[0]?.node?.data,storeProperty:l,dynamicDiscountOffer:n.value.saleFunnelOffer?.dynamicDiscounts?.[0],productOffers:s.value.saleFunnelDiscounts?.edges?.filter(e=>e?.node?.objectType==="PRODUCT"&&e?.node?.type==="ORDER_VALUE")||[],sellingPlanSetting:c,buyerConsentPreCheck:u}},fetchThemePageDataByTemplateID=async(e,r)=>{let t={libraryTemplateId:e.libraryTemplateId},a=[],[o,l]=await Promise.allSettled([r([core.LibraryTemplateDocument,t]),r([core.StorePropertyDocument])]);if(e.currentOfferID){let[t]=await Promise.allSettled([r([core.LibrarySaleFunnelDocument,{librarySaleFunnelId:e.librarySaleFunnelID}])]);if("rejected"===t.status)throw Error(t.reason?.[0]);let o=t.value.librarySaleFunnel?.offers?.find(r=>r?.id===e.currentOfferID);o&&(a=o.discounts?.filter(e=>e?.objectType==="PRODUCT"&&"ORDER_VALUE"===e.type).map(e=>({node:{...e}}))||[])}if("rejected"===o.status)throw Error(o.reason?.[0]);return{dataBuilder:o.value.libraryTemplate,pageStyle:void 0,storeProperty:l,dynamicDiscountOffer:void 0,productOffers:a,sellingPlanSetting:{},buyerConsentPreCheck:{}}},fetchShopLibraryPageDataByID=async(e,r)=>{let t={shopLibraryPageId:e.shopLibraryPageId},[a,o,l,s]=await Promise.allSettled([r([core.ShopLibraryPageDocument,t]),r([core.StorePropertyDocument]),r([core.SaleFunnelDiscountsDocument,{where:{saleFunnelOfferID:e.currentOfferID}}]),r([core.SaleFunnelOfferDocument,{saleFunnelOfferId:e.currentOfferID}])]);if("rejected"===a.status)throw Error(a.reason?.[0]);if("rejected"===l.status)throw Error(l.reason?.[0]);if("rejected"===s.status)throw Error(s.reason?.[0]);return{dataBuilder:a.value.shopLibraryPage,pageStyle:void 0,storeProperty:o,dynamicDiscountOffer:s.value.saleFunnelOffer?.dynamicDiscounts?.[0],productOffers:l.value.saleFunnelDiscounts?.edges?.filter(e=>e?.node?.objectType==="PRODUCT"&&e?.node?.type==="ORDER_VALUE")||[],sellingPlanSetting:{},buyerConsentPreCheck:{}}},fetchLibraryTemplateDataByID=async(e,r)=>{let t={libraryTemplateId:e.libraryTemplateId},[a,o,l,s]=await Promise.allSettled([r([core.LibraryTemplateDocument,t]),r([core.StorePropertyDocument]),r([core.SaleFunnelDiscountsDocument,{where:{saleFunnelOfferID:e.currentOfferID}}]),r([core.SaleFunnelOfferDocument,{saleFunnelOfferId:e.currentOfferID}])]);if("rejected"===a.status)throw Error(a.reason?.[0]);if("rejected"===l.status)throw Error(l.reason?.[0]);if("rejected"===s.status)throw Error(s.reason?.[0]);return{dataBuilder:a.value.libraryTemplate,pageStyle:void 0,storeProperty:o,dynamicDiscountOffer:s.value.saleFunnelOffer?.dynamicDiscounts?.[0],productOffers:l.value.saleFunnelDiscounts?.edges?.filter(e=>e?.node?.objectType==="PRODUCT"&&e?.node?.type==="ORDER_VALUE")||[],sellingPlanSetting:{},buyerConsentPreCheck:{}}},getRelevantPageData=async e=>{let{id:r,currentOfferID:t,fetcher:a,isLibraryTemplate:o,librarySaleFunnelID:l,isShopLibraryPage:s}=e;return l?await fetchThemePageDataByTemplateID({libraryTemplateId:r,currentOfferID:t,librarySaleFunnelID:l},a):s&&t?await fetchShopLibraryPageDataByID({shopLibraryPageId:r,currentOfferID:t},a):o&&t?await fetchLibraryTemplateDataByID({libraryTemplateId:r,currentOfferID:t},a):t?await fetchPostPurchasePageDataByID({themePageId:r,currentOfferID:t},a):await fetchSalePageDataByID({themePageId:r},a)},getPostPurchasePropsPreview=(e,r,t)=>async a=>{try{let{id:o,currentOfferID:l,isLibraryTemplate:s,isShopLibraryPage:n}=a,{dataBuilder:i,storeProperty:c,productOffers:u,pageStyle:f,dynamicDiscountOffer:P,sellingPlanSetting:g,buyerConsentPreCheck:d}=await getRelevantPageData({id:o,currentOfferID:l,fetcher:e,isLibraryTemplate:s,isShopLibraryPage:n,librarySaleFunnelID:r});if(!i)throw Error(`No data builder found for slug: /preview/${o}`);let y=r||s&&l?normalize.parseBuilderLibraryTemplate(i):n?normalize.parseShopLibraryPageTemplate(i):normalize.parseBuilderTemplateV2(i),D=t||e,[h,m,p]=await Promise.all([googleFonts.getFontStyleFromPageTemplate(y,void 0,f),googleFonts.getFontLinkFromGlobalStyle(f,void 0),getFallback.getFallbackV2(D,y,!1)]),{seo:S,pageConfig:I}=usePagePreview.usePagePreview(i,c);return parseJson.serializableJson({themeStyle:genCss.genCSS(f),seo:S,...I,elementFontStyle:h,fontStyle:m,builderData:y,swr:{fallback:p},productOffers:u,dynamicDiscountOffer:P,sellingPlanSetting:g,buyerConsentPreCheck:d})}catch(e){throw console.log("error",e),nextjs.captureException(e),e}};exports.fetchLibraryTemplateDataByID=fetchLibraryTemplateDataByID,exports.fetchPostPurchasePageDataByID=fetchPostPurchasePageDataByID,exports.fetchSalePageDataByID=fetchSalePageDataByID,exports.fetchShopLibraryPageDataByID=fetchShopLibraryPageDataByID,exports.fetchThemePageDataByTemplateID=fetchThemePageDataByTemplateID,exports.getPostPurchasePropsPreview=getPostPurchasePropsPreview,exports.getRelevantPageData=getRelevantPageData;
|
|
@@ -1,5 +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"),useTrackingView=require("../libs/hooks/use-tracking-view.js"),parseHtml=require("../libs/parse-html.js"),Header=require("../components/builder/Header.js"),FooterForPostPurchase=require("../components/FooterForPostPurchase.js"),Script=require("next/script"),react=require("react");const StaticPageV2=({components:e,builderData:s,sectionData:t,seo:r,themeStyle:
|
|
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"),useTrackingView=require("../libs/hooks/use-tracking-view.js"),parseHtml=require("../libs/parse-html.js"),Header=require("../components/builder/Header.js"),FooterForPostPurchase=require("../components/FooterForPostPurchase.js"),Script=require("next/script"),react=require("react");const StaticPageV2=({components:e,builderData:s,sectionData:t,seo:r,themeStyle:n,fontStyle:i,elementFontStyle:a,customCodeHeader:l,shopToken:u,pageHandle:o,customFonts:c,isPostPurchase:d,shopName:m,productOffers:g,publicStoreFrontData:x,dynamicDiscountOffer:p,isPreview:j,interaction:h,pageBackground:f,sellingPlanSetting:y,buyerConsentPreCheck:R})=>{let _=router.useRouter(),{t:P}=core.useI18n(),S=process.env.NEXT_GP_BASE_ASSET_URL||"https://assets.gemcommerce.xyz";useTrackingView.useTrackingView(u,o,_.isFallback);let v="custom-code-header";if(react.useEffect(()=>{let e=document.querySelectorAll(`[class*="${v}-"]`),s=[];e.length>1&&e.forEach(e=>{let t=e.className;if(s.includes(t)){e.remove();return}s.push(t)})},[]),_.isFallback)return 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"})]})});let b=(h?.value||[]).length>0;return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(nextSeo.NextSeo,{...r}),jsxRuntime.jsxs(Head,{children:[parseHtml.parseHtml(v,l,!0),n&&jsxRuntime.jsx("style",{"data-id":"global-style",type:"text/css",dangerouslySetInnerHTML:{__html:n}},"global-style"),i&&jsxRuntime.jsx("style",{"data-id":"google-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:i}},"google-fonts"),a&&a.map(e=>jsxRuntime.jsx("style",{"data-id":"google-element-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:e}},e)),c&&jsxRuntime.jsx("style",{"data-id":"custom-element-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:c}},i),f?.isUsePageBackground&&f?.background&&jsxRuntime.jsx("style",{children:`
|
|
2
2
|
body {
|
|
3
3
|
background: ${f.background};
|
|
4
4
|
}
|
|
5
|
-
`},`page_background_${f?.background}`)]}),jsxRuntime.jsx(core.PageProvider,{productOffers:g,publicStoreFrontData:x,dynamicDiscountOffer:p,sellingPlanMeta:R,children:jsxRuntime.jsx(core.BuilderComponentProvider,{components:e,children:jsxRuntime.jsxs("div",{className:`${d?"gp-bg-white post-purchase-page":""} `,role:"main",children:[d&&jsxRuntime.jsx(Header.default,{pageType:"POST_PURCHASE"}),
|
|
5
|
+
`},`page_background_${f?.background}`)]}),jsxRuntime.jsx(core.PageProvider,{productOffers:g,publicStoreFrontData:x,dynamicDiscountOffer:p,sellingPlanMeta:y,buyerConsentPreCheck:R,children:jsxRuntime.jsx(core.BuilderComponentProvider,{components:e,children:jsxRuntime.jsxs("div",{className:`${d?"gp-bg-white post-purchase-page":""} `,role:"main",children:[d&&jsxRuntime.jsx(Header.default,{pageType:"POST_PURCHASE"}),b&&jsxRuntime.jsx("div",{dangerouslySetInnerHTML:{__html:`<div id="gp-interaction" style="display: none;">${JSON.stringify(h?.value||[])}</div>`}}),jsxRuntime.jsx(core.SectionProvider,{data:t,children:jsxRuntime.jsx(core.I18nProvider,{t:P,children:s?.map(e=>jsxRuntime.jsxs(core.BuilderProvider,{state:e.data,lazy:e.lazy,priority:e.priority,isPostPurchase:d,isPreview:j,children:[jsxRuntime.jsx(core.Render,{uid:e.uid}),b&&jsxRuntime.jsx(Script,{defer:!0,src:`${S}/assets-v2/gp-flow-action-lip-v7-5.js`})]},e.uid))})}),d&&jsxRuntime.jsx(FooterForPostPurchase.default,{shopName:m||""})]})})})]})};exports.StaticPageV2=StaticPageV2;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import{jsx as e}from"react/jsx-runtime";import{useMatchMutate as t,useShopStore as n,usePageStore as i,useBuilderPreviewStore as o,useSectionStore as d,useModalStore as a}from"@gem-sdk/core";import{memo as r,useMemo as l,useCallback as s,useEffect as c}from"react";import{getStorefrontApi as p}from"../../libs/get-storefront-api.js";import{createFontUrls as m}from"../../libs/google-fonts.js";import{genCSS as
|
|
2
|
+
import{jsx as e}from"react/jsx-runtime";import{useMatchMutate as t,useShopStore as n,usePageStore as i,useBuilderPreviewStore as o,useSectionStore as d,useModalStore as a}from"@gem-sdk/core";import{memo as r,useMemo as l,useCallback as s,useEffect as c}from"react";import{getStorefrontApi as p}from"../../libs/get-storefront-api.js";import{createFontUrls as m}from"../../libs/google-fonts.js";import{genCSS as u}from"../../libs/helpers/gen-css.js";import{getFontsFromDataBuilder as w}from"../../libs/helpers/gen-fonts.js";import{shopifyCdnWithGoogleFonts as v}from"../../libs/shopify-cdn-with-google-fonts.js";import{libsStore as y}from"../../store/libs-store.js";import{checkNotInOptionFont as f}from"../../libs/helpers/check-option-font.js";let globalStyleId="global-style",ENABLE_THEME_FONT_EDITOR=!0,Toolbox=()=>{let r=t(),g=n(e=>e.provider),E=n(e=>e.changeStorefrontInfo),h=i(e=>e.setDynamicProduct),L=i(e=>e.setAssignedProductIds),b=i(e=>e.setIsApplyAllProducts),S=i(e=>e.setPostPurchaseProductOffers),I=i(e=>e.setDynamicDiscountOffer),T=i(e=>e.setSalePageProductId),P=i(e=>e.setDynamicCollection),C=o(e=>e.initState),A=o(e=>e.state),k=o(e=>e.forceChangeState),j=o(e=>e.forceChangeItemProp),N=o(e=>e.changeItemPropByKey),x=o(e=>e.addItem),O=o(e=>e.moveItem),q=o(e=>e.removeItem),M=d(e=>e.addSection),$=n(e=>e.changeSwatches),D=o(e=>e.updateItemName),H=o(e=>e.updateItemAttribute),B=n(e=>e.changeLayoutSettings),F=n(e=>e.changeCreateThemeSectionCount),_=n(e=>e.changeShopPlan),V=n(e=>e.updatePriceWithCurrency),K=y(e=>e.changeFontType),R=y(e=>e.fontType),W=a(e=>e.clearModal),z=n(e=>e.changeLimitCreateThemeSection),G=i(e=>e.setInteractionIsSelectOnPage),J=i(e=>e.setInteractionItem),Q=i(e=>e.setInteractionSelectType),U=i(e=>e.setInteractionSettingType),X=i(e=>e.setSidebarMode),Y=i(e=>e.setSellingPlanMeta),Z=i(e=>e.setBuyerConsentPreCheck),ee=l(()=>w(A),[A]),et=({currentFontTypeSetting:e,fontType:t,fontHref:n})=>{let i;return n.includes("bunny.net")?i="bunny":n.includes("googleapis.com")&&(i="google"),!i||t===i&&i===e},en=s((e,t)=>{if(!R)return;if(!t?.length){let t=document.querySelectorAll(`.${e}`);t.forEach(e=>e.remove());return}let n=document.querySelectorAll(`.${e}`);for(let i of(n.forEach(e=>{let n=e.getAttribute("data-font"),i=e.getAttribute("data-font-variant"),o=e.getAttribute("href")||"";if(!n||!i){e.remove();return}let d=t.find(e=>{let t=e.family===n,d=e.variants.includes(i);return!!t&&!!d&&et({currentFontTypeSetting:e.type,fontType:R,fontHref:o})});d||e.remove()}),t))if(!(["bunny","google"].includes(i.type)&&f(i.family,R))&&"custom"!==i.type&&i.variants?.length)for(let t of i.variants){let n={...i,variants:[t.toString()]},o=m([n],void 0,R,!0)||[];if(o?.length)for(let n of o){let o=e=>window.CSS&&CSS.escape?CSS.escape(e):e.replace(/"/g,'\\"'),d=document.querySelector(`link.${e}[href="${o(n)}"]`);if(d)continue;let a=document.createElement("link");a.className=e,a.rel="stylesheet",a.href=n,a.dataset.font=i.family,a.dataset.fontVariant=t,document.head.appendChild(a)}}},[R]),ei=s(()=>{r(/query\//,{revalidate:!0})},[r]),eo=s(e=>{let t=e.detail;E({url:t.shopHandle?p(t.shopHandle,g):void 0,token:t.shopToken})},[E,g]),ed=s(e=>{let t=e.detail;try{if(t.data){let e=u(t.data,t.mobileOnly),n=Object.entries(t.data?.font).map(([,e])=>e).map(e=>{if("custom"==e.type){let t=v.find(t=>t.family==e.family);if(t)return t}return e}),i=document.getElementById(globalStyleId);if(en("google-font-builder",n),i)i.innerHTML=e;else{let t=document.createElement("style");t.id=globalStyleId,t.innerHTML=e,document.head.appendChild(t)}}}catch{}},[en]),ea=s(e=>{W();try{let t=e.detail;t.data&&("flat"===t.type?k(t.data):C(t.data))}catch{}},[k,C,W]),er=s(e=>{try{let t=e.detail;t.entity&&(x({data:t.entity,id:t.id,position:t.position,type:t.type??"component"}),t?.type!=="section"||Array.isArray(t.entity)||M(t.entity.uid,t.entity))}catch{}},[x,M]),el=s(e=>{try{let t=e.detail;t.uid&&t.propName&&N({id:t.uid,key:t.propName,data:t.propValue,group:t.group})}catch{}},[N]),es=s(e=>{try{let t=e.detail;t.uid&&j(t.uid,t.data,t.group)}catch{}},[j]),ec=s(e=>{try{let t=e.detail;t.to&&t.uid&&O(t.uid,t.to,Number(t.position)??0)}catch{}},[O]),ep=s(e=>{try{let t=e.detail;t.uid&&q(t.uid)}catch{}},[q]),em=s(e=>{let t=e.detail;try{t.data&&$(t.data)}catch{}},[$]),eu=s(e=>{let t=e.detail;t&&B(t)},[B]),ew=s(e=>{let t=e.detail;t&&F(t)},[F]),ev=s(e=>{let t=e.detail;t&&_(t)},[_]),ey=s(e=>{let t=e.detail;t&&V(t)},[V]),ef=s(e=>{let t=e.detail;t&&K(t)},[K]),eg=s(e=>{let t=e.detail;t&&h(t)},[h]),eE=s(e=>{let{assignedIds:t,isApplyAllProducts:n}=e.detail;t&&L(t??[]),b(!!n)},[L,b]),eh=s(e=>{let t=e.detail;t&&P(t)},[P]);c(()=>{ee&&R&&en("google-font-element",ee)},[ee,R,en]);let eL=s(e=>{let t=e.detail;t.uid&&D(t.uid,t.name||"")},[D]),eb=s(e=>{let t=e.detail;t.uid&&H(t.uid,t.value||"",t.attr||"")},[H]),eS=s(e=>{let t=e.detail;t?.length&&S(t)},[S]),eI=s(e=>{let t=e.detail;t&&I(t)},[I]),eT=s(e=>{let t=e.detail;t&&T(t)},[T]),eP=s(e=>{let t=e.detail;t&&z(t)},[z]),eC=s(e=>{let t=e.detail.value,n=e.detail.mode,i=e.detail.settingType;G(t),Q(n),U(i)},[G,Q,U]),eA=s(e=>{let t=e.detail.settingType;U(t)},[U]),ek=s(e=>{let t=e.detail.mode;console.log(t),X(t)},[X]),ej=s(e=>{let t=e.detail;J(t)},[J]),eN=s(e=>{e.detail&&Y(e.detail)},[Y]),ex=s(e=>{e.detail&&Z(e.detail?.data)},[Z]);return c(()=>(window.addEventListener("update-shop-info",eo),window.addEventListener("revalidate-query",ei),window.addEventListener("init-builder",ea),window.addEventListener("add-entity",er),window.addEventListener("remove-entity",ep),window.addEventListener("move-entity",ec),window.addEventListener("force-update-entity-props",es),window.addEventListener("update-entity-prop",el),window.addEventListener("set-global-style",ed),window.addEventListener("update-global-swatches-data",em),window.addEventListener("on-off-header-footer",eu),window.addEventListener("update-create-theme-section-count",ew),window.addEventListener("update-shop-plan",ev),window.addEventListener("set-dynamic-product",eg),window.addEventListener("set-assigned-product-ids",eE),window.addEventListener("set-dynamic-collection",eh),window.addEventListener("update-item-name",eL),window.addEventListener("update-item-attribute",eb),window.addEventListener("set-product-offer",eS),window.addEventListener("set-dynamic-discount-offer",eI),window.addEventListener("update-sale-page-product-id",eT),window.addEventListener("limit-create-theme-section",eP),window.addEventListener("update-interaction-is-select-on-page",eC),window.addEventListener("update-interaction-item",ej),window.addEventListener("update-interaction-setting-type",eA),window.addEventListener("change-sidebar-mode",ek),window.addEventListener("update-font-type",ef),window.addEventListener("update-price-with-currency",ey),window.addEventListener("selling-plan-meta-loaded",eN),window.addEventListener("selling-plan-meta-updated",eN),window.addEventListener("buyer-consent-pre-check-updated",ex),()=>{window.removeEventListener("update-shop-info",eo),window.removeEventListener("revalidate-query",ei),window.removeEventListener("init-builder",ea),window.removeEventListener("add-entity",er),window.removeEventListener("remove-entity",ep),window.removeEventListener("move-entity",ec),window.removeEventListener("update-entity-prop",el),window.removeEventListener("set-global-style",ed),window.removeEventListener("update-global-swatches-data",em),window.removeEventListener("on-off-header-footer",eu),window.removeEventListener("update-create-theme-section-count",ew),window.removeEventListener("update-shop-plan",ev),window.removeEventListener("update-price-with-currency",ey),window.removeEventListener("set-dynamic-product",eg),window.removeEventListener("set-dynamic-collection",eh),window.removeEventListener("update-item-name",eL),window.removeEventListener("update-item-attribute",eb),window.removeEventListener("set-product-offer",eS),window.removeEventListener("update-sale-page-product-id",eT),window.removeEventListener("limit-create-theme-section",eP),window.removeEventListener("update-interaction-is-select-on-page",eC),window.removeEventListener("update-interaction-item",ej),window.removeEventListener("update-interaction-setting-type",eA),window.removeEventListener("update-font-type",ef),window.removeEventListener("selling-plan-meta-loaded",eN),window.removeEventListener("selling-plan-meta-updated",eN),window.removeEventListener("buyer-consent-pre-check-updated",ex)}),[er,ev,es,el,ea,ec,ep,ed,em,ei,eo,eu,ew,eg,eh,eL,eb,eS,eT,eP,ej,eC,eA,ef,ek,eI,ey,eN,ex]),e("div",{className:"toolbox"})};var Toolbox$1=r(Toolbox);export{Toolbox$1 as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{ThemePageDocument as e,StorePropertyDocument as t,SaleFunnelDiscountsDocument as r,SaleFunnelOfferDocument as a,ThemePageMetaDocument as l,LibraryTemplateDocument as s,LibrarySaleFunnelDocument as
|
|
1
|
+
import{ThemePageDocument as e,StorePropertyDocument as t,SaleFunnelDiscountsDocument as r,SaleFunnelOfferDocument as a,ThemePageMetaDocument as l,LibraryTemplateDocument as s,LibrarySaleFunnelDocument as n,ShopLibraryPageDocument as o}from"@gem-sdk/core";import{captureException as i}from"@sentry/nextjs";import{getFontStyleFromPageTemplate as f,getFontLinkFromGlobalStyle as u}from"../google-fonts.js";import{getFallbackV2 as d}from"../helpers/get-fallback.js";import{parseBuilderLibraryTemplate as c,parseShopLibraryPageTemplate as h,parseBuilderTemplateV2 as y}from"../helpers/normalize.js";import{usePagePreview as P}from"../hooks/usePagePreview.js";import{serializableJson as g}from"../helpers/parse-json.js";import{genCSS as m}from"../helpers/gen-css.js";let PAGE_SETTINGS_KEY="page_settings",SELLING_PLAN_SETTING_KEY="sellingPlanSetting",BUYER_CONSENT_PRE_CHECK_KEY="buyerConsentPreCheck",fetchSalePageDataByID=async(r,a)=>{let l={themePageId:r.themePageId,first:1,where:{default:!0}},[s,n]=await Promise.allSettled([a([e,l]),a([t])]);if("rejected"===s.status)throw Error(s.reason?.[0]);return{dataBuilder:s.value.themePage,pageStyle:s.value.themePage?.theme?.themeStyles?.edges?.[0]?.node?.data,storeProperty:n,dynamicDiscountOffer:void 0,productOffers:[],sellingPlanSetting:{},buyerConsentPreCheck:{}}},fetchPostPurchasePageDataByID=async(s,n)=>{let o={themePageId:s.themePageId,first:1,where:{default:!0}},i={themePageID:s.themePageId,where:{key:PAGE_SETTINGS_KEY}},[f,u,d,c,h]=await Promise.allSettled([n([e,o]),n([t]),n([r,{where:{saleFunnelOfferID:s.currentOfferID}}]),n([a,{saleFunnelOfferId:s.currentOfferID}]),n([l,i])]);if("rejected"===f.status)throw Error(f.reason?.[0]);if("rejected"===d.status)throw Error(d.reason?.[0]);if("rejected"===c.status)throw Error(c.reason?.[0]);if("rejected"===h.status)throw Error(h.reason?.[0]);let y={},P={};if("fulfilled"===h.status){let e=h.value.themePageMeta?.edges?.find(e=>e?.node?.key===PAGE_SETTINGS_KEY)?.node?.value;if(e)try{let t=JSON.parse(e);y=t?.sellingPlanSetting,P=t?.buyerConsentPreCheck}catch(e){console.error("Error parsing selling plan setting:",e)}}return{dataBuilder:f.value.themePage,pageStyle:f.value.themePage?.theme?.themeStyles?.edges?.[0]?.node?.data,storeProperty:u,dynamicDiscountOffer:c.value.saleFunnelOffer?.dynamicDiscounts?.[0],productOffers:d.value.saleFunnelDiscounts?.edges?.filter(e=>e?.node?.objectType==="PRODUCT"&&e?.node?.type==="ORDER_VALUE")||[],sellingPlanSetting:y,buyerConsentPreCheck:P}},fetchThemePageDataByTemplateID=async(e,r)=>{let a={libraryTemplateId:e.libraryTemplateId},l=[],[o,i]=await Promise.allSettled([r([s,a]),r([t])]);if(e.currentOfferID){let[t]=await Promise.allSettled([r([n,{librarySaleFunnelId:e.librarySaleFunnelID}])]);if("rejected"===t.status)throw Error(t.reason?.[0]);let a=t.value.librarySaleFunnel?.offers?.find(t=>t?.id===e.currentOfferID);a&&(l=a.discounts?.filter(e=>e?.objectType==="PRODUCT"&&"ORDER_VALUE"===e.type).map(e=>({node:{...e}}))||[])}if("rejected"===o.status)throw Error(o.reason?.[0]);return{dataBuilder:o.value.libraryTemplate,pageStyle:void 0,storeProperty:i,dynamicDiscountOffer:void 0,productOffers:l,sellingPlanSetting:{},buyerConsentPreCheck:{}}},fetchShopLibraryPageDataByID=async(e,l)=>{let s={shopLibraryPageId:e.shopLibraryPageId},[n,i,f,u]=await Promise.allSettled([l([o,s]),l([t]),l([r,{where:{saleFunnelOfferID:e.currentOfferID}}]),l([a,{saleFunnelOfferId:e.currentOfferID}])]);if("rejected"===n.status)throw Error(n.reason?.[0]);if("rejected"===f.status)throw Error(f.reason?.[0]);if("rejected"===u.status)throw Error(u.reason?.[0]);return{dataBuilder:n.value.shopLibraryPage,pageStyle:void 0,storeProperty:i,dynamicDiscountOffer:u.value.saleFunnelOffer?.dynamicDiscounts?.[0],productOffers:f.value.saleFunnelDiscounts?.edges?.filter(e=>e?.node?.objectType==="PRODUCT"&&e?.node?.type==="ORDER_VALUE")||[],sellingPlanSetting:{},buyerConsentPreCheck:{}}},fetchLibraryTemplateDataByID=async(e,l)=>{let n={libraryTemplateId:e.libraryTemplateId},[o,i,f,u]=await Promise.allSettled([l([s,n]),l([t]),l([r,{where:{saleFunnelOfferID:e.currentOfferID}}]),l([a,{saleFunnelOfferId:e.currentOfferID}])]);if("rejected"===o.status)throw Error(o.reason?.[0]);if("rejected"===f.status)throw Error(f.reason?.[0]);if("rejected"===u.status)throw Error(u.reason?.[0]);return{dataBuilder:o.value.libraryTemplate,pageStyle:void 0,storeProperty:i,dynamicDiscountOffer:u.value.saleFunnelOffer?.dynamicDiscounts?.[0],productOffers:f.value.saleFunnelDiscounts?.edges?.filter(e=>e?.node?.objectType==="PRODUCT"&&e?.node?.type==="ORDER_VALUE")||[],sellingPlanSetting:{},buyerConsentPreCheck:{}}},getRelevantPageData=async e=>{let{id:t,currentOfferID:r,fetcher:a,isLibraryTemplate:l,librarySaleFunnelID:s,isShopLibraryPage:n}=e;return s?await fetchThemePageDataByTemplateID({libraryTemplateId:t,currentOfferID:r,librarySaleFunnelID:s},a):n&&r?await fetchShopLibraryPageDataByID({shopLibraryPageId:t,currentOfferID:r},a):l&&r?await fetchLibraryTemplateDataByID({libraryTemplateId:t,currentOfferID:r},a):r?await fetchPostPurchasePageDataByID({themePageId:t,currentOfferID:r},a):await fetchSalePageDataByID({themePageId:t},a)},getPostPurchasePropsPreview=(e,t,r)=>async a=>{try{let{id:l,currentOfferID:s,isLibraryTemplate:n,isShopLibraryPage:o}=a,{dataBuilder:i,storeProperty:D,productOffers:p,pageStyle:I,dynamicDiscountOffer:E,sellingPlanSetting:w,buyerConsentPreCheck:S}=await getRelevantPageData({id:l,currentOfferID:s,fetcher:e,isLibraryTemplate:n,isShopLibraryPage:o,librarySaleFunnelID:t});if(!i)throw Error(`No data builder found for slug: /preview/${l}`);let O=t||n&&s?c(i):o?h(i):y(i),b=r||e,[T,v,j]=await Promise.all([f(O,void 0,I),u(I,void 0),d(b,O,!1)]),{seo:B,pageConfig:C}=P(i,D);return g({themeStyle:m(I),seo:B,...C,elementFontStyle:T,fontStyle:v,builderData:O,swr:{fallback:j},productOffers:p,dynamicDiscountOffer:E,sellingPlanSetting:w,buyerConsentPreCheck:S})}catch(e){throw console.log("error",e),i(e),e}};export{fetchLibraryTemplateDataByID,fetchPostPurchasePageDataByID,fetchSalePageDataByID,fetchShopLibraryPageDataByID,fetchThemePageDataByTemplateID,getPostPurchasePropsPreview,getRelevantPageData};
|
|
@@ -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,SectionProvider as n,I18nProvider 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:P,fontStyle:k,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})=>{let
|
|
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,SectionProvider as n,I18nProvider 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:P,fontStyle:k,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),P&&e("style",{"data-id":"global-style",type:"text/css",dangerouslySetInnerHTML:{__html:P}},"global-style"),k&&e("style",{"data-id":"google-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:k}},"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}},k),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:E,publicStoreFrontData:F,dynamicDiscountOffer:I,sellingPlanMeta:O,children:e(l,{components:b,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(n,{data:S,children:e(i,{t:U,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};
|
|
5
|
+
`},`page_background_${A?.background}`)]}),e(r,{productOffers:E,publicStoreFrontData:F,dynamicDiscountOffer:I,sellingPlanMeta:O,buyerConsentPreCheck:z,children:e(l,{components:b,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(n,{data:S,children:e(i,{t:U,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
|
@@ -111,6 +111,7 @@ type StaticPagePropsV2 = PageBuilderPropsV2 & {
|
|
|
111
111
|
isPreview?: boolean;
|
|
112
112
|
domain?: string;
|
|
113
113
|
sellingPlanSetting?: Record<string, any>;
|
|
114
|
+
buyerConsentPreCheck?: Record<string, boolean>;
|
|
114
115
|
};
|
|
115
116
|
type SharePageAPIResponse = {
|
|
116
117
|
sharedPage: SharePageProps;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gem-sdk/pages",
|
|
3
|
-
"version": "12.0.0-dev.
|
|
3
|
+
"version": "12.0.0-dev.31",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"main": "dist/cjs/index.js",
|
|
@@ -22,18 +22,18 @@
|
|
|
22
22
|
"dependencies": {
|
|
23
23
|
"@sentry/nextjs": "7.77.0",
|
|
24
24
|
"deepmerge": "4.3.1",
|
|
25
|
-
"html-react-parser": "
|
|
26
|
-
"next-seo": "
|
|
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": "12.0.0-dev.
|
|
30
|
-
"@gem-sdk/plugin-cookie-bar": "12.0.0-dev.
|
|
31
|
-
"@gem-sdk/plugin-quick-view": "12.0.0-dev.
|
|
32
|
-
"@gem-sdk/plugin-sticky-add-to-cart": "12.0.0-dev.
|
|
33
|
-
"next": "14.2.20"
|
|
30
|
+
"@gem-sdk/core": "12.0.0-dev.31",
|
|
31
|
+
"@gem-sdk/plugin-cookie-bar": "12.0.0-dev.29",
|
|
32
|
+
"@gem-sdk/plugin-quick-view": "12.0.0-dev.29",
|
|
33
|
+
"@gem-sdk/plugin-sticky-add-to-cart": "12.0.0-dev.29"
|
|
34
34
|
},
|
|
35
35
|
"peerDependencies": {
|
|
36
|
-
"next": "
|
|
36
|
+
"next": "14.2.35"
|
|
37
37
|
},
|
|
38
38
|
"module": "dist/esm/index.js",
|
|
39
39
|
"types": "dist/types/index.d.ts",
|