@gem-sdk/pages 8.0.0-dev.26 → 8.0.0-staging.16

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.
@@ -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),f=core.useSectionStore(e=>e.addSection),h=core.useShopStore(e=>e.changeSwatches),S=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),O=react.useMemo(()=>genFonts.getFontsFromDataBuilder(u),[u]),M=({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},N=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&&M({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(),`${t.toString()}i`]},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]),$=react.useCallback(()=>{e(/query\//,{revalidate:!0})},[e]),D=react.useCallback(e=>{let r=e.detail;o({url:r.shopHandle?getStorefrontApi.getStorefrontApi(r.shopHandle,t):void 0,token:r.shopToken})},[o,t]),H=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(N("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{}},[N]),_=react.useCallback(e=>{T();try{let t=e.detail;t.data&&("flat"===t.type?p(t.data):c(t.data))}catch{}},[p,c,T]),W=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)||f(t.entity.uid,t.entity))}catch{}},[m,f]),G=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]),R=react.useCallback(e=>{try{let t=e.detail;t.uid&&w(t.uid,t.data,t.group)}catch{}},[w]),V=react.useCallback(e=>{try{let t=e.detail;t.to&&t.uid&&g(t.uid,t.to,Number(t.position)??0)}catch{}},[g]),K=react.useCallback(e=>{try{let t=e.detail;t.uid&&y(t.uid)}catch{}},[y]),U=react.useCallback(e=>{let t=e.detail;try{t.data&&h(t.data)}catch{}},[h]),z=react.useCallback(e=>{let t=e.detail;t&&E(t)},[E]),J=react.useCallback(e=>{let t=e.detail;t&&L(t)},[L]),Q=react.useCallback(e=>{let t=e.detail;t&&C(t)},[C]),X=react.useCallback(e=>{let t=e.detail;t&&k(t)},[k]),Y=react.useCallback(e=>{let t=e.detail;t&&P(t)},[P]),Z=react.useCallback(e=>{let t=e.detail;t&&r(t)},[r]),ee=react.useCallback(e=>{let{assignedIds:t,isApplyAllProducts:o}=e.detail;t&&a(t??[]),n(!!o)},[a,n]),et=react.useCallback(e=>{let t=e.detail;t&&s(t)},[s]);react.useEffect(()=>{O&&I&&N("google-font-element",O)},[O,I,N]);let eo=react.useCallback(e=>{let t=e.detail;t.uid&&S(t.uid,t.name||"")},[S]),er=react.useCallback(e=>{let t=e.detail;t.uid&&b(t.uid,t.value||"",t.attr||"")},[b]),ea=react.useCallback(e=>{let t=e.detail;t?.length&&i(t)},[i]),en=react.useCallback(e=>{let t=e.detail;t&&d(t)},[d]),ei=react.useCallback(e=>{let t=e.detail;t&&l(t)},[l]),ed=react.useCallback(e=>{let t=e.detail;t&&q(t)},[q]),el=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]),es=react.useCallback(e=>{let t=e.detail.settingType;j(t)},[j]),ec=react.useCallback(e=>{let t=e.detail.mode;console.log(t),x(t)},[x]),eu=react.useCallback(e=>{let t=e.detail;A(t)},[A]);return react.useEffect(()=>(window.addEventListener("update-shop-info",D),window.addEventListener("revalidate-query",$),window.addEventListener("init-builder",_),window.addEventListener("add-entity",W),window.addEventListener("remove-entity",K),window.addEventListener("move-entity",V),window.addEventListener("force-update-entity-props",R),window.addEventListener("update-entity-prop",G),window.addEventListener("set-global-style",H),window.addEventListener("update-global-swatches-data",U),window.addEventListener("on-off-header-footer",z),window.addEventListener("update-create-theme-section-count",J),window.addEventListener("update-shop-plan",Q),window.addEventListener("set-dynamic-product",Z),window.addEventListener("set-assigned-product-ids",ee),window.addEventListener("set-dynamic-collection",et),window.addEventListener("update-item-name",eo),window.addEventListener("update-item-attribute",er),window.addEventListener("set-product-offer",ea),window.addEventListener("set-dynamic-discount-offer",en),window.addEventListener("update-sale-page-product-id",ei),window.addEventListener("limit-create-theme-section",ed),window.addEventListener("update-interaction-is-select-on-page",el),window.addEventListener("update-interaction-item",eu),window.addEventListener("update-interaction-setting-type",es),window.addEventListener("change-sidebar-mode",ec),window.addEventListener("update-font-type",Y),window.addEventListener("update-price-with-currency",X),()=>{window.removeEventListener("update-shop-info",D),window.removeEventListener("revalidate-query",$),window.removeEventListener("init-builder",_),window.removeEventListener("add-entity",W),window.removeEventListener("remove-entity",K),window.removeEventListener("move-entity",V),window.removeEventListener("update-entity-prop",G),window.removeEventListener("set-global-style",H),window.removeEventListener("update-global-swatches-data",U),window.removeEventListener("on-off-header-footer",z),window.removeEventListener("update-create-theme-section-count",J),window.removeEventListener("update-shop-plan",Q),window.removeEventListener("update-price-with-currency",X),window.removeEventListener("set-dynamic-product",Z),window.removeEventListener("set-dynamic-collection",et),window.removeEventListener("update-item-name",eo),window.removeEventListener("update-item-attribute",er),window.removeEventListener("set-product-offer",ea),window.removeEventListener("update-sale-page-product-id",ei),window.removeEventListener("limit-create-theme-section",ed),window.removeEventListener("update-interaction-is-select-on-page",el),window.removeEventListener("update-interaction-item",eu),window.removeEventListener("update-interaction-setting-type",es),window.removeEventListener("update-font-type",Y)}),[W,Q,R,G,_,V,K,H,U,$,D,z,J,Z,et,eo,er,ea,ei,ed,eu,el,es,Y,ec,en,X]),jsxRuntime.jsx("div",{className:"toolbox"})};var Toolbox$1=react.memo(Toolbox);exports.default=Toolbox$1;
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),n=core.usePageStore(e=>e.setPostPurchaseProductOffers),a=core.usePageStore(e=>e.setDynamicDiscountOffer),i=core.usePageStore(e=>e.setSalePageProductId),d=core.usePageStore(e=>e.setDynamicCollection),l=core.useBuilderPreviewStore(e=>e.initState),s=core.useBuilderPreviewStore(e=>e.state),c=core.useBuilderPreviewStore(e=>e.forceChangeState),u=core.useBuilderPreviewStore(e=>e.forceChangeItemProp),p=core.useBuilderPreviewStore(e=>e.changeItemPropByKey),w=core.useBuilderPreviewStore(e=>e.addItem),v=core.useBuilderPreviewStore(e=>e.moveItem),m=core.useBuilderPreviewStore(e=>e.removeItem),g=core.useSectionStore(e=>e.addSection),y=core.useShopStore(e=>e.changeSwatches),f=core.useBuilderPreviewStore(e=>e.updateItemName),h=core.useBuilderPreviewStore(e=>e.updateItemAttribute),S=core.useShopStore(e=>e.changeLayoutSettings),b=core.useShopStore(e=>e.changeCreateThemeSectionCount),E=core.useShopStore(e=>e.changeShopPlan),L=core.useShopStore(e=>e.updatePriceWithCurrency),C=libsStore.libsStore(e=>e.changeFontType),k=libsStore.libsStore(e=>e.fontType),P=core.useModalStore(e=>e.clearModal),I=core.useShopStore(e=>e.changeLimitCreateThemeSection),T=core.usePageStore(e=>e.setInteractionIsSelectOnPage),q=core.usePageStore(e=>e.setInteractionItem),F=core.usePageStore(e=>e.setInteractionSelectType),B=core.usePageStore(e=>e.setInteractionSettingType),j=core.usePageStore(e=>e.setSidebarMode),A=react.useMemo(()=>genFonts.getFontsFromDataBuilder(s),[s]),x=({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},O=react.useCallback((e,t)=>{if(!k)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"),n=e.getAttribute("href")||"";if(!o||!r){e.remove();return}let a=t.find(e=>{let t=e.family===o,a=e.variants.includes(r);return!!t&&!!a&&x({currentFontTypeSetting:e.type,fontType:k,fontHref:n})});a||e.remove()}),t))if(!(["bunny","google"].includes(r.type)&&checkOptionFont.checkNotInOptionFont(r.family,k))&&"custom"!==r.type&&r.variants?.length)for(let t of r.variants){let o={...r,variants:[t.toString()]},n=googleFonts.createFontUrls([o],void 0,k,!0)||[];if(n?.length)for(let o of n){let n=e=>window.CSS&&CSS.escape?CSS.escape(e):e.replace(/"/g,'\\"'),a=document.querySelector(`link.${e}[href="${n(o)}"]`);if(a)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)}}},[k]),M=react.useCallback(()=>{e(/query\//,{revalidate:!0})},[e]),N=react.useCallback(e=>{let r=e.detail;o({url:r.shopHandle?getStorefrontApi.getStorefrontApi(r.shopHandle,t):void 0,token:r.shopToken})},[o,t]),D=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(O("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{}},[O]),$=react.useCallback(e=>{P();try{let t=e.detail;t.data&&("flat"===t.type?c(t.data):l(t.data))}catch{}},[c,l,P]),H=react.useCallback(e=>{try{let t=e.detail;t.entity&&(w({data:t.entity,id:t.id,position:t.position,type:t.type??"component"}),t?.type!=="section"||Array.isArray(t.entity)||g(t.entity.uid,t.entity))}catch{}},[w,g]),_=react.useCallback(e=>{try{let t=e.detail;t.uid&&t.propName&&p({id:t.uid,key:t.propName,data:t.propValue,group:t.group})}catch{}},[p]),W=react.useCallback(e=>{try{let t=e.detail;t.uid&&u(t.uid,t.data,t.group)}catch{}},[u]),G=react.useCallback(e=>{try{let t=e.detail;t.to&&t.uid&&v(t.uid,t.to,Number(t.position)??0)}catch{}},[v]),R=react.useCallback(e=>{try{let t=e.detail;t.uid&&m(t.uid)}catch{}},[m]),V=react.useCallback(e=>{let t=e.detail;try{t.data&&y(t.data)}catch{}},[y]),K=react.useCallback(e=>{let t=e.detail;t&&S(t)},[S]),U=react.useCallback(e=>{let t=e.detail;t&&b(t)},[b]),z=react.useCallback(e=>{let t=e.detail;t&&E(t)},[E]),J=react.useCallback(e=>{let t=e.detail;t&&L(t)},[L]),Q=react.useCallback(e=>{let t=e.detail;t&&C(t)},[C]),X=react.useCallback(e=>{let t=e.detail;t&&r(t)},[r]),Y=react.useCallback(e=>{let t=e.detail;t&&d(t)},[d]);react.useEffect(()=>{A&&k&&O("google-font-element",A)},[A,k,O]);let Z=react.useCallback(e=>{let t=e.detail;t.uid&&f(t.uid,t.name||"")},[f]),ee=react.useCallback(e=>{let t=e.detail;t.uid&&h(t.uid,t.value||"",t.attr||"")},[h]),et=react.useCallback(e=>{let t=e.detail;t?.length&&n(t)},[n]),eo=react.useCallback(e=>{let t=e.detail;t&&a(t)},[a]),er=react.useCallback(e=>{let t=e.detail;t&&i(t)},[i]),en=react.useCallback(e=>{let t=e.detail;t&&I(t)},[I]),ea=react.useCallback(e=>{let t=e.detail.value,o=e.detail.mode,r=e.detail.settingType;T(t),F(o),B(r)},[T,F,B]),ei=react.useCallback(e=>{let t=e.detail.settingType;B(t)},[B]),ed=react.useCallback(e=>{let t=e.detail.mode;console.log(t),j(t)},[j]),el=react.useCallback(e=>{let t=e.detail;q(t)},[q]);return react.useEffect(()=>(window.addEventListener("update-shop-info",N),window.addEventListener("revalidate-query",M),window.addEventListener("init-builder",$),window.addEventListener("add-entity",H),window.addEventListener("remove-entity",R),window.addEventListener("move-entity",G),window.addEventListener("force-update-entity-props",W),window.addEventListener("update-entity-prop",_),window.addEventListener("set-global-style",D),window.addEventListener("update-global-swatches-data",V),window.addEventListener("on-off-header-footer",K),window.addEventListener("update-create-theme-section-count",U),window.addEventListener("update-shop-plan",z),window.addEventListener("set-dynamic-product",X),window.addEventListener("set-dynamic-collection",Y),window.addEventListener("update-item-name",Z),window.addEventListener("update-item-attribute",ee),window.addEventListener("set-product-offer",et),window.addEventListener("set-dynamic-discount-offer",eo),window.addEventListener("update-sale-page-product-id",er),window.addEventListener("limit-create-theme-section",en),window.addEventListener("update-interaction-is-select-on-page",ea),window.addEventListener("update-interaction-item",el),window.addEventListener("update-interaction-setting-type",ei),window.addEventListener("change-sidebar-mode",ed),window.addEventListener("update-font-type",Q),window.addEventListener("update-price-with-currency",J),()=>{window.removeEventListener("update-shop-info",N),window.removeEventListener("revalidate-query",M),window.removeEventListener("init-builder",$),window.removeEventListener("add-entity",H),window.removeEventListener("remove-entity",R),window.removeEventListener("move-entity",G),window.removeEventListener("update-entity-prop",_),window.removeEventListener("set-global-style",D),window.removeEventListener("update-global-swatches-data",V),window.removeEventListener("on-off-header-footer",K),window.removeEventListener("update-create-theme-section-count",U),window.removeEventListener("update-shop-plan",z),window.removeEventListener("update-price-with-currency",J),window.removeEventListener("set-dynamic-product",X),window.removeEventListener("set-dynamic-collection",Y),window.removeEventListener("update-item-name",Z),window.removeEventListener("update-item-attribute",ee),window.removeEventListener("set-product-offer",et),window.removeEventListener("update-sale-page-product-id",er),window.removeEventListener("limit-create-theme-section",en),window.removeEventListener("update-interaction-is-select-on-page",ea),window.removeEventListener("update-interaction-item",el),window.removeEventListener("update-interaction-setting-type",ei),window.removeEventListener("update-font-type",Q)}),[H,z,W,_,$,G,R,D,V,M,N,K,U,X,Y,Z,ee,et,er,en,el,ea,ei,Q,ed,eo,J]),jsxRuntime.jsx("div",{className:"toolbox"})};var Toolbox$1=react.memo(Toolbox);exports.default=Toolbox$1;
package/dist/cjs/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";var getCollectionProps=require("./libs/api/get-collection-props.js"),getCollectionSharePageProps=require("./libs/api/get-collection-share-page-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"),getPreviewContentProps=require("./libs/api/get-preview-content-props.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"),SharePageTracking=require("./components/SharePageTracking.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.getCollectionSharePageProps=getCollectionSharePageProps.getCollectionSharePageProps,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.getSharePageContentProps=getPreviewContentProps.getSharePageContentProps,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.SharePageTracking=SharePageTracking.SharePageTracking,exports.getStaticPaths=getStaticPaths.getStaticPaths,exports.getFontFromGroupSetting=genFonts.getFontFromGroupSetting,exports.getFontsFromDataBuilder=genFonts.getFontsFromDataBuilder,exports.getFontFromGlobalStyle=googleFonts.getFontFromGlobalStyle,exports.getFontLinkFromGlobalStyle=googleFonts.getFontLinkFromGlobalStyle,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;
1
+ "use strict";var getCollectionProps=require("./libs/api/get-collection-props.js"),getCollectionSharePageProps=require("./libs/api/get-collection-share-page-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"),getPreviewContentProps=require("./libs/api/get-preview-content-props.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"),SharePageTracking=require("./components/SharePageTracking.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.getCollectionSharePageProps=getCollectionSharePageProps.getCollectionSharePageProps,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.getSharePageContentProps=getPreviewContentProps.getSharePageContentProps,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.SharePageTracking=SharePageTracking.SharePageTracking,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;
@@ -1 +1 @@
1
- "use strict";var core=require("@gem-sdk/core"),adapterShopify=require("@gem-sdk/adapter-shopify"),googleFonts=require("../google-fonts.js"),genCss=require("../helpers/gen-css.js"),getFallback=require("../helpers/get-fallback.js"),normalize=require("../helpers/normalize.js"),parseJson=require("../helpers/parse-json.js"),nextjs=require("@sentry/nextjs"),index=require("../../constants/index.js"),getMetafield=require("../helpers/get-metafield.js"),customFonts=require("../custom-fonts.js"),generateSeoLinks=require("../helpers/generate-seo-links.js");const getHomePagePropsV2=(e,t)=>async()=>{try{let a={slugType:"STATIC"},[s,l,i,o]=await Promise.allSettled([e([core.PublishedThemePagesDocument,a]),e([core.StorePropertyDocument]),t([adapterShopify.ShopMetaDocument]),e([core.PublishedShopMetasDocument,{keys:[index.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION,index.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL]}])]);if("rejected"===s.status)throw Error(s.reason?.[0]);let d="fulfilled"===o.status?o.value:void 0,n=s.value?.publishedThemePages?.[0],r=s.value?.publishedThemePages?.[0]?.themePageCustomFonts;if(!n)throw Error("No data builder found for Home page");let u=normalize.parseBuilderTemplateV2(n),[g,h,m,P]=await Promise.all([googleFonts.getFontStyleFromPageTemplate(u,void 0,n?.pageStyle?.data),googleFonts.getFontLinkFromGlobalStyle(n?.pageStyle?.data,void 0),getFallback.getFallbackV2(e,u),customFonts.getCustomFonts(r)]),p=n.isMobile??!1,f=getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION,n?.metafields)||d?.publishedShopMetas?.find(e=>e?.key===index.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION)?.value,c=parseJson.parseJson(getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL,n?.metafields)||d?.publishedShopMetas?.find(e=>e?.key===index.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL)?.value),T="fulfilled"===i.status?i.value:void 0,y="fulfilled"===l.status?l.value:void 0,M=y?.storeProperty?.favicon??"/favicon/favicon-32x32.png",b={defaultTitle:T?.shop.name,title:n?.name??"Home",description:f??T?.shop.description,openGraph:{site_name:T?.shop.name,locale:T?.localization.country.isoCode,title:n?.name??T?.shop.name,description:f??T?.shop.description,images:c?[c]:[]},additionalMetaTags:[{name:"theme-color",content:"#000000"}],canonical:`https://${y?.storeProperty?.primaryDomain}/`,additionalLinkTags:generateSeoLinks.generateSeoLinks({favicon:M,shopMeta:T})},S=T?.localization.language.isoCode??null,_=T?.localization.country.isoCode??null,A=S&&_?`${S}-${_}`:null;return parseJson.serializableJson({themeStyle:genCss.genCSS(n?.pageStyle?.data,p),fontStyle:h,elementFontStyle:g,builderData:u,swr:{fallback:m},moneyFormat:T?.shop.moneyFormat??null,currency:T?.localization.country.currency.isoCode??null,languageIsoCode:S,countryIsoCode:_,locale:A,swatches:parseJson.parseJson(y?.storeProperty?.swatchesConfig),seo:b,mobileOnly:p,gaTrackingId:getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.ANALYTICS_GA_TRACKING_ID,n?.metafields)??null,facebookPixelId:getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.ANALYTICS_FB_PIXEL_ID,n?.metafields)??null,tiktokPixelId:getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.ANALYTICS_TIKTOK_PIXEL_ID,n?.metafields)??null,customCodeHeader:getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.CUSTOM_CODE_HEADER,n?.metafields)??null,customCodeBody:getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.CUSTOM_CODE_BODY,n?.metafields)??null,pageHandle:n.handle??null,customFonts:P})}catch(e){throw nextjs.captureException(e),e}};exports.getHomePagePropsV2=getHomePagePropsV2;
1
+ "use strict";var core=require("@gem-sdk/core"),adapterShopify=require("@gem-sdk/adapter-shopify"),googleFonts=require("../google-fonts.js"),genCss=require("../helpers/gen-css.js"),getFallback=require("../helpers/get-fallback.js"),normalize=require("../helpers/normalize.js"),parseJson=require("../helpers/parse-json.js"),nextjs=require("@sentry/nextjs"),index=require("../../constants/index.js"),getMetafield=require("../helpers/get-metafield.js"),customFonts=require("../custom-fonts.js"),generateSeoLinks=require("../helpers/generate-seo-links.js");const getHomePagePropsV2=(e,t)=>async()=>{try{let a={slugType:"STATIC"},[s,l,i,o]=await Promise.allSettled([e([core.PublishedThemePagesDocument,a]),e([core.StorePropertyDocument]),t([adapterShopify.ShopMetaDocument]),e([core.PublishedShopMetasDocument,{keys:[index.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION,index.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL]}])]);if("rejected"===s.status)throw Error(s.reason?.[0]);let n="fulfilled"===o.status?o.value:void 0,r=s.value?.publishedThemePages?.[0],d=s.value?.publishedThemePages?.[0]?.themePageCustomFonts;if(!r)throw Error("No data builder found for Home page");let u=normalize.parseBuilderTemplateV2(r),[g,h,m,P]=await Promise.all([googleFonts.getFontStyleFromPageTemplate(u),googleFonts.getFontFromGlobalStyle(r?.pageStyle?.data),getFallback.getFallbackV2(e,u),customFonts.getCustomFonts(d)]),p=r.isMobile??!1,f=getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION,r?.metafields)||n?.publishedShopMetas?.find(e=>e?.key===index.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION)?.value,c=parseJson.parseJson(getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL,r?.metafields)||n?.publishedShopMetas?.find(e=>e?.key===index.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL)?.value),T="fulfilled"===i.status?i.value:void 0,M="fulfilled"===l.status?l.value:void 0,y=M?.storeProperty?.favicon??"/favicon/favicon-32x32.png",b={defaultTitle:T?.shop.name,title:r?.name??"Home",description:f??T?.shop.description,openGraph:{site_name:T?.shop.name,locale:T?.localization.country.isoCode,title:r?.name??T?.shop.name,description:f??T?.shop.description,images:c?[c]:[]},additionalMetaTags:[{name:"theme-color",content:"#000000"}],canonical:`https://${M?.storeProperty?.primaryDomain}/`,additionalLinkTags:generateSeoLinks.generateSeoLinks({favicon:y,shopMeta:T})},S=T?.localization.language.isoCode??null,_=T?.localization.country.isoCode??null,A=S&&_?`${S}-${_}`:null;return parseJson.serializableJson({themeStyle:genCss.genCSS(r?.pageStyle?.data,p),fontStyle:h,elementFontStyle:g,builderData:u,swr:{fallback:m},moneyFormat:T?.shop.moneyFormat??null,currency:T?.localization.country.currency.isoCode??null,languageIsoCode:S,countryIsoCode:_,locale:A,swatches:parseJson.parseJson(M?.storeProperty?.swatchesConfig),seo:b,mobileOnly:p,gaTrackingId:getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.ANALYTICS_GA_TRACKING_ID,r?.metafields)??null,facebookPixelId:getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.ANALYTICS_FB_PIXEL_ID,r?.metafields)??null,tiktokPixelId:getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.ANALYTICS_TIKTOK_PIXEL_ID,r?.metafields)??null,customCodeHeader:getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.CUSTOM_CODE_HEADER,r?.metafields)??null,customCodeBody:getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.CUSTOM_CODE_BODY,r?.metafields)??null,pageHandle:r.handle??null,customFonts:P})}catch(e){throw nextjs.captureException(e),e}};exports.getHomePagePropsV2=getHomePagePropsV2;
@@ -1 +1 @@
1
- "use strict";var core=require("@gem-sdk/core"),adapterShopify=require("@gem-sdk/adapter-shopify"),googleFonts=require("../google-fonts.js"),genCss=require("../helpers/gen-css.js"),generateManifres=require("../helpers/generate-manifres.js"),normalize=require("../helpers/normalize.js"),parseJson=require("../helpers/parse-json.js"),index=require("../../constants/index.js"),getMetafield=require("../helpers/get-metafield.js");const getHomePageProps=(e,s)=>async()=>{let a="STATIC",t={slugType:a},[r,i,o,l]=await Promise.allSettled([e([core.PublishedThemePagesDocument,t]),e([core.StorePropertyDocument]),s([adapterShopify.ShopMetaDocument]),e([core.PublishedShopMetasDocument,{keys:[index.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION,index.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL]}])]);if("rejected"===r.status)return{pageType:a};let n="fulfilled"===l.status?l.value:void 0,d=r.value.publishedThemePages?.[0],p=normalize.parseBuilderTemplate(d),u=await googleFonts.getFontFromGlobalStyle(d?.pageStyle?.data,void 0),c=core.prefetchQueries(p),m=await Promise.allSettled(c.map(({query:s,variables:a,func:t})=>t?t(e,a):s?e([s,a]):{})),h=c.reduce((e,{key:s},a)=>{let t=m[a];return t?.status==="fulfilled"?{...e,[s]:t.value}:e},{}),g=getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION,d?.metafields)||n?.publishedShopMetas?.find(e=>e?.key===index.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION)?.value,f=parseJson.parseJson(getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL,d?.metafields)||n?.publishedShopMetas?.find(e=>e?.key===index.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL)?.value),P="fulfilled"===o.status?o.value:void 0,y="fulfilled"===i.status?i.value:void 0,T=y?.storeProperty?.favicon??"/favicon/favicon-32x32.png",M={defaultTitle:P?.shop.name,title:d?.name??"Home",description:g??P?.shop.description,openGraph:{site_name:P?.shop.name,locale:P?.localization.country.isoCode,title:d?.name??P?.shop.name,description:g??P?.shop.description,images:f?[f]:[]},additionalMetaTags:[{name:"theme-color",content:"#000000"}],canonical:"/",additionalLinkTags:[{rel:"icon",sizes:"32x32",href:`${T}-/crop/1:1/center/-/smart_resize/32x32/`},{rel:"icon",sizes:"16x16",href:`${T}-/crop/1:1/center/-/smart_resize/16x16/`},{rel:"apple-touch-icon",sizes:"180x180",href:`${T}-/crop/1:1/center/-/smart_resize/180x180/`},{rel:"manifest",href:generateManifres.generateManifest({theme_color:"#000000",background_color:"#ffffff",display:"standalone",scope:"/",start_url:"/",name:P?.shop.name,short_name:P?.shop.name,description:P?.shop.description,icons:[{src:`${T}-/crop/1:1/center/-/smart_resize/192x192/`,sizes:"192x192",type:"image/png",purpose:"any maskable"},{src:`${T}-/crop/1:1/center/-/smart_resize/512x512/`,sizes:"512x512",type:"image/png"}]})}]},_=P?.localization.language.isoCode??null,x=P?.localization.country.isoCode??null,S=_&&x?`${_}-${x}`:null;return parseJson.serializableJson({themeStyle:genCss.genCSS(d?.pageStyle?.data),fontStyle:u,builderData:p,pageType:a,swr:{fallback:h},moneyFormat:P?.shop.moneyFormat??null,currency:P?.localization.country.currency.isoCode??null,locale:S,languageIsoCode:_,countryIsoCode:x,swatches:parseJson.parseJson(y?.storeProperty?.swatchesConfig),seo:M})};exports.getHomePageProps=getHomePageProps;
1
+ "use strict";var core=require("@gem-sdk/core"),adapterShopify=require("@gem-sdk/adapter-shopify"),googleFonts=require("../google-fonts.js"),genCss=require("../helpers/gen-css.js"),generateManifres=require("../helpers/generate-manifres.js"),normalize=require("../helpers/normalize.js"),parseJson=require("../helpers/parse-json.js"),index=require("../../constants/index.js"),getMetafield=require("../helpers/get-metafield.js");const getHomePageProps=(e,s)=>async()=>{let a="STATIC",t={slugType:a},[r,i,o,l]=await Promise.allSettled([e([core.PublishedThemePagesDocument,t]),e([core.StorePropertyDocument]),s([adapterShopify.ShopMetaDocument]),e([core.PublishedShopMetasDocument,{keys:[index.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION,index.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL]}])]);if("rejected"===r.status)return{pageType:a};let n="fulfilled"===l.status?l.value:void 0,d=r.value.publishedThemePages?.[0],p=normalize.parseBuilderTemplate(d),u=await googleFonts.getFontFromGlobalStyle(d?.pageStyle?.data),c=core.prefetchQueries(p),m=await Promise.allSettled(c.map(({query:s,variables:a,func:t})=>t?t(e,a):s?e([s,a]):{})),h=c.reduce((e,{key:s},a)=>{let t=m[a];return t?.status==="fulfilled"?{...e,[s]:t.value}:e},{}),g=getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION,d?.metafields)||n?.publishedShopMetas?.find(e=>e?.key===index.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION)?.value,f=parseJson.parseJson(getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL,d?.metafields)||n?.publishedShopMetas?.find(e=>e?.key===index.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL)?.value),P="fulfilled"===o.status?o.value:void 0,y="fulfilled"===i.status?i.value:void 0,T=y?.storeProperty?.favicon??"/favicon/favicon-32x32.png",M={defaultTitle:P?.shop.name,title:d?.name??"Home",description:g??P?.shop.description,openGraph:{site_name:P?.shop.name,locale:P?.localization.country.isoCode,title:d?.name??P?.shop.name,description:g??P?.shop.description,images:f?[f]:[]},additionalMetaTags:[{name:"theme-color",content:"#000000"}],canonical:"/",additionalLinkTags:[{rel:"icon",sizes:"32x32",href:`${T}-/crop/1:1/center/-/smart_resize/32x32/`},{rel:"icon",sizes:"16x16",href:`${T}-/crop/1:1/center/-/smart_resize/16x16/`},{rel:"apple-touch-icon",sizes:"180x180",href:`${T}-/crop/1:1/center/-/smart_resize/180x180/`},{rel:"manifest",href:generateManifres.generateManifest({theme_color:"#000000",background_color:"#ffffff",display:"standalone",scope:"/",start_url:"/",name:P?.shop.name,short_name:P?.shop.name,description:P?.shop.description,icons:[{src:`${T}-/crop/1:1/center/-/smart_resize/192x192/`,sizes:"192x192",type:"image/png",purpose:"any maskable"},{src:`${T}-/crop/1:1/center/-/smart_resize/512x512/`,sizes:"512x512",type:"image/png"}]})}]},_=P?.localization.language.isoCode??null,x=P?.localization.country.isoCode??null,S=_&&x?`${_}-${x}`:null;return parseJson.serializableJson({themeStyle:genCss.genCSS(d?.pageStyle?.data),fontStyle:u,builderData:p,pageType:a,swr:{fallback:h},moneyFormat:P?.shop.moneyFormat??null,currency:P?.localization.country.currency.isoCode??null,locale:S,languageIsoCode:_,countryIsoCode:x,swatches:parseJson.parseJson(y?.storeProperty?.swatchesConfig),seo:M})};exports.getHomePageProps=getHomePageProps;
@@ -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 fetchSalePageDataByID=async(e,r)=>{let a={themePageId:e.themePageId,first:1,where:{default:!0}},[t,o]=await Promise.allSettled([r([core.ThemePageDocument,a]),r([core.StorePropertyDocument])]);if("rejected"===t.status)throw Error(t.reason?.[0]);return{dataBuilder:t.value.themePage,pageStyle:t.value.themePage?.theme?.themeStyles?.edges?.[0]?.node?.data,storeProperty:o,dynamicDiscountOffer:void 0,productOffers:[]}},fetchPostPurchasePageDataByID=async(e,r)=>{let a={themePageId:e.themePageId,first:1,where:{default:!0}},[t,o,l,s]=await Promise.allSettled([r([core.ThemePageDocument,a]),r([core.StorePropertyDocument]),r([core.SaleFunnelDiscountsDocument,{where:{saleFunnelOfferID:e.currentOfferID}}]),r([core.SaleFunnelOfferDocument,{saleFunnelOfferId:e.currentOfferID}])]);if("rejected"===t.status)throw Error(t.reason?.[0]);if("rejected"===l.status)throw Error(l.reason?.[0]);if("rejected"===s.status)throw Error(s.reason?.[0]);return{dataBuilder:t.value.themePage,pageStyle:t.value.themePage?.theme?.themeStyles?.edges?.[0]?.node?.data,storeProperty:o,dynamicDiscountOffer:s.value.saleFunnelOffer?.dynamicDiscounts?.[0],productOffers:l.value.saleFunnelDiscounts?.edges?.filter(e=>e?.node?.objectType==="PRODUCT"&&e?.node?.type==="ORDER_VALUE")||[]}},fetchThemePageDataByTemplateID=async(e,r)=>{let a={libraryTemplateId:e.libraryTemplateId},t=[],[o,l]=await Promise.allSettled([r([core.LibraryTemplateDocument,a]),r([core.StorePropertyDocument])]);if(e.currentOfferID){let[a]=await Promise.allSettled([r([core.LibrarySaleFunnelDocument,{librarySaleFunnelId:e.librarySaleFunnelID}])]);if("rejected"===a.status)throw Error(a.reason?.[0]);let o=a.value.librarySaleFunnel?.offers?.find(r=>r?.id===e.currentOfferID);o&&(t=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:t}},fetchShopLibraryPageDataByID=async(e,r)=>{let a={shopLibraryPageId:e.shopLibraryPageId},[t,o,l,s]=await Promise.allSettled([r([core.ShopLibraryPageDocument,a]),r([core.StorePropertyDocument]),r([core.SaleFunnelDiscountsDocument,{where:{saleFunnelOfferID:e.currentOfferID}}]),r([core.SaleFunnelOfferDocument,{saleFunnelOfferId:e.currentOfferID}])]);if("rejected"===t.status)throw Error(t.reason?.[0]);if("rejected"===l.status)throw Error(l.reason?.[0]);if("rejected"===s.status)throw Error(s.reason?.[0]);return{dataBuilder:t.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")||[]}},fetchLibraryTemplateDataByID=async(e,r)=>{let a={libraryTemplateId:e.libraryTemplateId},[t,o,l,s]=await Promise.allSettled([r([core.LibraryTemplateDocument,a]),r([core.StorePropertyDocument]),r([core.SaleFunnelDiscountsDocument,{where:{saleFunnelOfferID:e.currentOfferID}}]),r([core.SaleFunnelOfferDocument,{saleFunnelOfferId:e.currentOfferID}])]);if("rejected"===t.status)throw Error(t.reason?.[0]);if("rejected"===l.status)throw Error(l.reason?.[0]);if("rejected"===s.status)throw Error(s.reason?.[0]);return{dataBuilder:t.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")||[]}},getRelevantPageData=async e=>{let{id:r,currentOfferID:a,fetcher:t,isLibraryTemplate:o,librarySaleFunnelID:l,isShopLibraryPage:s}=e;return l?await fetchThemePageDataByTemplateID({libraryTemplateId:r,currentOfferID:a,librarySaleFunnelID:l},t):s&&a?await fetchShopLibraryPageDataByID({shopLibraryPageId:r,currentOfferID:a},t):o&&a?await fetchLibraryTemplateDataByID({libraryTemplateId:r,currentOfferID:a},t):a?await fetchPostPurchasePageDataByID({themePageId:r,currentOfferID:a},t):await fetchSalePageDataByID({themePageId:r},t)},getPostPurchasePropsPreview=(e,r,a)=>async t=>{try{let{id:o,currentOfferID:l,isLibraryTemplate:s,isShopLibraryPage:n}=t,{dataBuilder:i,storeProperty:c,productOffers:u,pageStyle:f,dynamicDiscountOffer: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 d=r||s&&l?normalize.parseBuilderLibraryTemplate(i):n?normalize.parseShopLibraryPageTemplate(i):normalize.parseBuilderTemplateV2(i),y=a||e,[m,h,P]=await Promise.all([googleFonts.getFontStyleFromPageTemplate(d,void 0,f),googleFonts.getFontLinkFromGlobalStyle(f,void 0),getFallback.getFallbackV2(y,d,!1)]),{seo:g,pageConfig:p}=usePagePreview.usePagePreview(i,c);return parseJson.serializableJson({themeStyle:genCss.genCSS(f),seo:g,...p,elementFontStyle:m,fontStyle:h,builderData:d,swr:{fallback:P},productOffers:u,dynamicDiscountOffer: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
+ "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 fetchSalePageDataByID=async(e,r)=>{let a={themePageId:e.themePageId,first:1,where:{default:!0}},[t,o]=await Promise.allSettled([r([core.ThemePageDocument,a]),r([core.StorePropertyDocument])]);if("rejected"===t.status)throw Error(t.reason?.[0]);return{dataBuilder:t.value.themePage,pageStyle:t.value.themePage?.theme?.themeStyles?.edges?.[0]?.node?.data,storeProperty:o,dynamicDiscountOffer:void 0,productOffers:[]}},fetchPostPurchasePageDataByID=async(e,r)=>{let a={themePageId:e.themePageId,first:1,where:{default:!0}},[t,o,l,s]=await Promise.allSettled([r([core.ThemePageDocument,a]),r([core.StorePropertyDocument]),r([core.SaleFunnelDiscountsDocument,{where:{saleFunnelOfferID:e.currentOfferID}}]),r([core.SaleFunnelOfferDocument,{saleFunnelOfferId:e.currentOfferID}])]);if("rejected"===t.status)throw Error(t.reason?.[0]);if("rejected"===l.status)throw Error(l.reason?.[0]);if("rejected"===s.status)throw Error(s.reason?.[0]);return{dataBuilder:t.value.themePage,pageStyle:t.value.themePage?.theme?.themeStyles?.edges?.[0]?.node?.data,storeProperty:o,dynamicDiscountOffer:s.value.saleFunnelOffer?.dynamicDiscounts?.[0],productOffers:l.value.saleFunnelDiscounts?.edges?.filter(e=>e?.node?.objectType==="PRODUCT"&&e?.node?.type==="ORDER_VALUE")||[]}},fetchThemePageDataByTemplateID=async(e,r)=>{let a={libraryTemplateId:e.libraryTemplateId},t=[],[o,l]=await Promise.allSettled([r([core.LibraryTemplateDocument,a]),r([core.StorePropertyDocument])]);if(e.currentOfferID){let[a]=await Promise.allSettled([r([core.LibrarySaleFunnelDocument,{librarySaleFunnelId:e.librarySaleFunnelID}])]);if("rejected"===a.status)throw Error(a.reason?.[0]);let o=a.value.librarySaleFunnel?.offers?.find(r=>r?.id===e.currentOfferID);o&&(t=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:t}},fetchShopLibraryPageDataByID=async(e,r)=>{let a={shopLibraryPageId:e.shopLibraryPageId},[t,o,l,s]=await Promise.allSettled([r([core.ShopLibraryPageDocument,a]),r([core.StorePropertyDocument]),r([core.SaleFunnelDiscountsDocument,{where:{saleFunnelOfferID:e.currentOfferID}}]),r([core.SaleFunnelOfferDocument,{saleFunnelOfferId:e.currentOfferID}])]);if("rejected"===t.status)throw Error(t.reason?.[0]);if("rejected"===l.status)throw Error(l.reason?.[0]);if("rejected"===s.status)throw Error(s.reason?.[0]);return{dataBuilder:t.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")||[]}},fetchLibraryTemplateDataByID=async(e,r)=>{let a={libraryTemplateId:e.libraryTemplateId},[t,o,l,s]=await Promise.allSettled([r([core.LibraryTemplateDocument,a]),r([core.StorePropertyDocument]),r([core.SaleFunnelDiscountsDocument,{where:{saleFunnelOfferID:e.currentOfferID}}]),r([core.SaleFunnelOfferDocument,{saleFunnelOfferId:e.currentOfferID}])]);if("rejected"===t.status)throw Error(t.reason?.[0]);if("rejected"===l.status)throw Error(l.reason?.[0]);if("rejected"===s.status)throw Error(s.reason?.[0]);return{dataBuilder:t.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")||[]}},getRelevantPageData=async e=>{let{id:r,currentOfferID:a,fetcher:t,isLibraryTemplate:o,librarySaleFunnelID:l,isShopLibraryPage:s}=e;return l?await fetchThemePageDataByTemplateID({libraryTemplateId:r,currentOfferID:a,librarySaleFunnelID:l},t):s&&a?await fetchShopLibraryPageDataByID({shopLibraryPageId:r,currentOfferID:a},t):o&&a?await fetchLibraryTemplateDataByID({libraryTemplateId:r,currentOfferID:a},t):a?await fetchPostPurchasePageDataByID({themePageId:r,currentOfferID:a},t):await fetchSalePageDataByID({themePageId:r},t)},getPostPurchasePropsPreview=(e,r,a)=>async t=>{try{let{id:o,currentOfferID:l,isLibraryTemplate:s,isShopLibraryPage:n}=t,{dataBuilder:c,storeProperty:u,productOffers:i,pageStyle:f,dynamicDiscountOffer:D}=await getRelevantPageData({id:o,currentOfferID:l,fetcher:e,isLibraryTemplate:s,isShopLibraryPage:n,librarySaleFunnelID:r});if(!c)throw Error(`No data builder found for slug: /preview/${o}`);let d=r||s&&l?normalize.parseBuilderLibraryTemplate(c):n?normalize.parseShopLibraryPageTemplate(c):normalize.parseBuilderTemplateV2(c),y=a||e,[m,h,P]=await Promise.all([googleFonts.getFontStyleFromPageTemplate(d),googleFonts.getFontFromGlobalStyle(f),getFallback.getFallbackV2(y,d,!1)]),{seo:g,pageConfig:p}=usePagePreview.usePagePreview(c,u);return parseJson.serializableJson({themeStyle:genCss.genCSS(f),seo:g,...p,elementFontStyle:m,fontStyle:h,builderData:d,swr:{fallback:P},productOffers:i,dynamicDiscountOffer: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 +1 @@
1
- "use strict";var core=require("@gem-sdk/core"),nextjs=require("@sentry/nextjs"),customFonts=require("../custom-fonts.js"),googleFonts=require("../google-fonts.js"),genCss=require("../helpers/gen-css.js"),normalize=require("../helpers/normalize.js"),parseJson=require("../helpers/parse-json.js"),fetcher=require("../fetcher.js"),getCollectionSharePageProps=require("./get-collection-share-page-props.js");const getSharePageContentProps=e=>async t=>{try{let{sharedPage:l,customFonts:o,publicToken:r}=await e([t]);if(!l||!r)return null;let{page:s,themeStyle:n,pageMeta:a,shopMeta:u,moneyFormat:i,moneyWithCurrencyFormat:c}=l,{sectionPosition:p}=s??{},g=normalize.parseBuilderTemplateV2({...l,sectionPosition:p}),d=null,P=null,f=null;if(s?.type==="GP_COLLECTION"){let e=(a??[]).find(e=>"selected_preview_collection"===e.key)?.value,t=e?JSON.parse(e??{}):null;P=t?.collectionId,f=t?.collectionTitle}let C=null;if(s?.type==="GP_PRODUCT"){let e=(a??[]).find(e=>"selected_preview_product"===e.key)?.value;C=e?JSON.parse(e??{}):null}let[h,m,y,S,F]=await Promise.allSettled([googleFonts.getFontStyleFromPageTemplate(g,void 0,n?.data),googleFonts.getFontLinkFromGlobalStyle(n?.data),customFonts.getCustomFonts(o),fetcher.createFetcher(r)([core.StorePropertyDocument]),s?.type==="GP_COLLECTION"?getCollectionSharePageProps.getCollectionSharePageProps(fetcher.createFetcher(r))(P??void 0):null]);d="fulfilled"===F.status?F.value?.collection:null;let v="fulfilled"===h.status?h.value:null,_="fulfilled"===m.status?m.value:null,j="fulfilled"===y.status?y.value:null,O="fulfilled"===S.status?S.value:void 0;return parseJson.serializableJson({builderData:g,page:s,themeStyle:genCss.genCSS(n?.data,!1),pageMeta:a,shopMeta:u,elementFontStyle:v,fontStyle:_,customFonts:j,publicStoreFrontData:r?{token:r,endpoint:process.env.NEXT_PUBLIC_API_URL??""}:null,pageType:s?.type,moneyFormat:i,moneyWithCurrencyFormat:c,swatches:parseJson.parseJson(O?.storeProperty?.swatchesConfig),collection:d,dynamicCollection:s?.type==="GP_COLLECTION"?{collectionId:d?.baseID,collectionTitle:f}:null,dynamicProduct:s?.type==="GP_PRODUCT"?C:null})}catch(e){return nextjs.captureException(e),null}};exports.getSharePageContentProps=getSharePageContentProps;
1
+ "use strict";var core=require("@gem-sdk/core"),nextjs=require("@sentry/nextjs"),customFonts=require("../custom-fonts.js"),googleFonts=require("../google-fonts.js"),genCss=require("../helpers/gen-css.js"),normalize=require("../helpers/normalize.js"),parseJson=require("../helpers/parse-json.js"),fetcher=require("../fetcher.js"),getCollectionSharePageProps=require("./get-collection-share-page-props.js");const getSharePageContentProps=e=>async t=>{try{let{sharedPage:l,customFonts:o,publicToken:r}=await e([t]);if(!l||!r)return null;let{page:s,themeStyle:n,pageMeta:a,shopMeta:u,moneyFormat:c,moneyWithCurrencyFormat:i}=l,{sectionPosition:p}=s??{},g=normalize.parseBuilderTemplateV2({...l,sectionPosition:p}),P=null,d=null,f=null;if(s?.type==="GP_COLLECTION"){let e=(a??[]).find(e=>"selected_preview_collection"===e.key)?.value,t=e?JSON.parse(e??{}):null;d=t?.collectionId,f=t?.collectionTitle}let C=null;if(s?.type==="GP_PRODUCT"){let e=(a??[]).find(e=>"selected_preview_product"===e.key)?.value;C=e?JSON.parse(e??{}):null}let[h,m,y,S,F]=await Promise.allSettled([googleFonts.getFontStyleFromPageTemplate(g),googleFonts.getFontFromGlobalStyle(n?.data),customFonts.getCustomFonts(o),fetcher.createFetcher(r)([core.StorePropertyDocument]),s?.type==="GP_COLLECTION"?getCollectionSharePageProps.getCollectionSharePageProps(fetcher.createFetcher(r))(d??void 0):null]);P="fulfilled"===F.status?F.value?.collection:null;let v="fulfilled"===h.status?h.value:null,_="fulfilled"===m.status?m.value:null,j="fulfilled"===y.status?y.value:null,O="fulfilled"===S.status?S.value:void 0;return parseJson.serializableJson({builderData:g,page:s,themeStyle:genCss.genCSS(n?.data,!1),pageMeta:a,shopMeta:u,elementFontStyle:v,fontStyle:_,customFonts:j,publicStoreFrontData:r?{token:r,endpoint:process.env.NEXT_PUBLIC_API_URL??""}:null,pageType:s?.type,moneyFormat:c,moneyWithCurrencyFormat:i,swatches:parseJson.parseJson(O?.storeProperty?.swatchesConfig),collection:P,dynamicCollection:s?.type==="GP_COLLECTION"?{collectionId:P?.baseID,collectionTitle:f}:null,dynamicProduct:s?.type==="GP_PRODUCT"?C:null})}catch(e){return nextjs.captureException(e),null}};exports.getSharePageContentProps=getSharePageContentProps;
@@ -1 +1 @@
1
- "use strict";var core=require("@gem-sdk/core"),adapterShopify=require("@gem-sdk/adapter-shopify"),nextjs=require("@sentry/nextjs"),googleFonts=require("../google-fonts.js"),genCss=require("../helpers/gen-css.js"),getFallback=require("../helpers/get-fallback.js"),normalize=require("../helpers/normalize.js"),parseJson=require("../helpers/parse-json.js"),customFonts=require("../custom-fonts.js"),sentry=require("../helpers/sentry.js"),generateSeoLinks=require("../helpers/generate-seo-links.js");const getStaticPagePropsPreview=(e,o)=>async t=>{try{let a="STATIC",r={handleURL:t,pageType:a},[n,s,l]=await Promise.allSettled([e([core.PreviewThemePageDocument,r]),e([core.StorePropertyDocument]),o([adapterShopify.ShopMetaDocument])]);if("rejected"===n.status)throw sentry.sentryCaptureException("PreviewThemePageDocument",n.reason,{variables:r,theme:n}),Error(n.reason?.[0]);let i=n.value.previewThemePage;if(!i)throw Error(`No data builder found for slug: /preview/${t}`);let c=i.customFonts,u=normalize.parseBuilderTemplateV2(i),[d,g,p,m]=await Promise.all([googleFonts.getFontStyleFromPageTemplate(u,void 0,i?.themeStyle?.data),googleFonts.getFontLinkFromGlobalStyle(i?.themeStyle?.data),getFallback.getFallbackV2(e,u),customFonts.getCustomFonts(c)]),h=!!i.isMobile,y=i?.dataSEO?.find(e=>e?.key==="global-meta-description")?.value,P=parseJson.parseJson(i?.dataSEO?.find(e=>e?.key==="global-meta-thumbnail")?.value),f="fulfilled"===l.status?l.value:void 0,k="fulfilled"===s.status?s.value:void 0,S=k?.storeProperty?.favicon??"/favicon/favicon-32x32.png",v={defaultTitle:f?.shop.name,title:i?.name,description:y??f?.shop.description,openGraph:{site_name:f?.shop.name,locale:f?.localization.country.isoCode,title:i?.name??f?.shop.name,description:y??f?.shop.description,images:P?[P]:[]},nofollow:!0,noindex:!0,canonical:`/preview/${t}`,additionalMetaTags:[{name:"theme-color",content:"#000000"}],additionalLinkTags:generateSeoLinks.generateSeoLinks({favicon:S,shopMeta:f})},w=f?.localization.language.isoCode??null,F=f?.localization.country.isoCode??null,b=w&&F?`${w}-${F}`:null;return parseJson.serializableJson({themeStyle:genCss.genCSS(i?.themeStyle?.data,h),fontStyle:g,elementFontStyle:d,builderData:u,pageType:a,moneyFormat:f?.shop?.moneyFormat??null,currency:f?.localization?.country?.currency?.isoCode??null,languageIsoCode:w,countryIsoCode:F,locale:b,swr:{fallback:p},swatches:parseJson.parseJson(k?.storeProperty?.swatchesConfig),seo:v,mobileOnly:h,gaTrackingId:i.analytic?.gaTrackingID??null,facebookPixelId:i.analytic?.fbPixelID??null,tiktokPixelId:i.analytic?.tiktokPixelID??null,customCodeHeader:i.customCode?.header??null,customCodeBody:i.customCode?.body??null,customFonts:m,pageBackground:normalize.extractPageBackground(i),interaction:i?.interaction})}catch(e){throw nextjs.captureException(e),e}};exports.getStaticPagePropsPreview=getStaticPagePropsPreview;
1
+ "use strict";var core=require("@gem-sdk/core"),adapterShopify=require("@gem-sdk/adapter-shopify"),nextjs=require("@sentry/nextjs"),googleFonts=require("../google-fonts.js"),genCss=require("../helpers/gen-css.js"),getFallback=require("../helpers/get-fallback.js"),normalize=require("../helpers/normalize.js"),parseJson=require("../helpers/parse-json.js"),customFonts=require("../custom-fonts.js"),sentry=require("../helpers/sentry.js"),generateSeoLinks=require("../helpers/generate-seo-links.js");const getStaticPagePropsPreview=(e,o)=>async t=>{try{let a="STATIC",r={handleURL:t,pageType:a},[n,s,l]=await Promise.allSettled([e([core.PreviewThemePageDocument,r]),e([core.StorePropertyDocument]),o([adapterShopify.ShopMetaDocument])]);if("rejected"===n.status)throw sentry.sentryCaptureException("PreviewThemePageDocument",n.reason,{variables:r,theme:n}),Error(n.reason?.[0]);let i=n.value.previewThemePage;if(!i)throw Error(`No data builder found for slug: /preview/${t}`);let c=i.customFonts,u=normalize.parseBuilderTemplateV2(i),[g,p,d,m]=await Promise.all([googleFonts.getFontStyleFromPageTemplate(u),googleFonts.getFontFromGlobalStyle(i?.themeStyle?.data),getFallback.getFallbackV2(e,u),customFonts.getCustomFonts(c)]),h=!!i.isMobile,y=i?.dataSEO?.find(e=>e?.key==="global-meta-description")?.value,P=parseJson.parseJson(i?.dataSEO?.find(e=>e?.key==="global-meta-thumbnail")?.value),f="fulfilled"===l.status?l.value:void 0,k="fulfilled"===s.status?s.value:void 0,S=k?.storeProperty?.favicon??"/favicon/favicon-32x32.png",v={defaultTitle:f?.shop.name,title:i?.name,description:y??f?.shop.description,openGraph:{site_name:f?.shop.name,locale:f?.localization.country.isoCode,title:i?.name??f?.shop.name,description:y??f?.shop.description,images:P?[P]:[]},nofollow:!0,noindex:!0,canonical:`/preview/${t}`,additionalMetaTags:[{name:"theme-color",content:"#000000"}],additionalLinkTags:generateSeoLinks.generateSeoLinks({favicon:S,shopMeta:f})},w=f?.localization.language.isoCode??null,F=f?.localization.country.isoCode??null,b=w&&F?`${w}-${F}`:null;return parseJson.serializableJson({themeStyle:genCss.genCSS(i?.themeStyle?.data,h),fontStyle:p,elementFontStyle:g,builderData:u,pageType:a,moneyFormat:f?.shop?.moneyFormat??null,currency:f?.localization?.country?.currency?.isoCode??null,languageIsoCode:w,countryIsoCode:F,locale:b,swr:{fallback:d},swatches:parseJson.parseJson(k?.storeProperty?.swatchesConfig),seo:v,mobileOnly:h,gaTrackingId:i.analytic?.gaTrackingID??null,facebookPixelId:i.analytic?.fbPixelID??null,tiktokPixelId:i.analytic?.tiktokPixelID??null,customCodeHeader:i.customCode?.header??null,customCodeBody:i.customCode?.body??null,customFonts:m,pageBackground:normalize.extractPageBackground(i),interaction:i?.interaction})}catch(e){throw nextjs.captureException(e),e}};exports.getStaticPagePropsPreview=getStaticPagePropsPreview;
@@ -1 +1 @@
1
- "use strict";var core=require("@gem-sdk/core"),adapterShopify=require("@gem-sdk/adapter-shopify"),googleFonts=require("../google-fonts.js"),genCss=require("../helpers/gen-css.js"),getFallback=require("../helpers/get-fallback.js"),normalize=require("../helpers/normalize.js"),parseJson=require("../helpers/parse-json.js"),nextjs=require("@sentry/nextjs"),customFonts=require("../custom-fonts.js"),getMetafield=require("../helpers/get-metafield.js"),index=require("../../constants/index.js"),generateSeoLinks=require("../helpers/generate-seo-links.js");const getStaticPagePropsV2=(e,t)=>async a=>{try{let i="STATIC",l={slug:a,slugType:i},[s,o,d,n]=await Promise.allSettled([e([core.PublishedThemePagesDocument,l]),e([core.StorePropertyDocument]),t([adapterShopify.ShopMetaDocument]),e([core.PublishedShopMetasDocument,{keys:["source_font",index.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION,index.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL]}])]);if("rejected"===s.status)throw Error(s.reason?.[0]);let r="fulfilled"===n.status?n.value:void 0,u=r?.publishedShopMetas?.find(e=>e?.key==="source_font"),g=s.value.publishedThemePages?.[0],h=s.value?.publishedThemePages?.[0]?.themePageCustomFonts;if(!g)throw Error(`No data builder found for slug: /${a}`);let m=normalize.parseBuilderTemplateV2(g),[P,f,p,c]=await Promise.all([googleFonts.getFontStyleFromPageTemplate(m,u?.value,g?.pageStyle?.data),googleFonts.getFontLinkFromGlobalStyle(g?.pageStyle?.data,u?.value),getFallback.getFallbackV2(e,m),customFonts.getCustomFonts(h)]),T=g.isMobile??!1,M=getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION,g?.metafields)||r?.publishedShopMetas?.find(e=>e?.key===index.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION)?.value,y=getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.GLOBAL_META_TITLE,g?.metafields)||r?.publishedShopMetas?.find(e=>e?.key===index.PublishedThemePageMetafields.GLOBAL_META_TITLE)?.value,b=parseJson.parseJson(getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL,g?.metafields)||r?.publishedShopMetas?.find(e=>e?.key===index.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL)?.value),_=getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.NOINDEX_KEY,g?.metafields)||r?.publishedShopMetas?.find(e=>e?.key===index.PublishedThemePageMetafields.NOINDEX_KEY)?.value,L=getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.NOFOLLOW_KEY,g?.metafields)||r?.publishedShopMetas?.find(e=>e?.key===index.PublishedThemePageMetafields.NOFOLLOW_KEY)?.value,S="fulfilled"===d.status?d.value:void 0,x="fulfilled"===o.status?o.value:void 0,A=x?.storeProperty?.favicon??"/favicon/favicon-32x32.png",E={defaultTitle:S?.shop.name,title:y||g?.name,description:M??S?.shop.description,openGraph:{site_name:S?.shop.name,locale:S?.localization.country.isoCode,title:(y||g?.name)??S?.shop.name,description:M??S?.shop.description,images:b?[b]:[]},noindex:"true"===_,nofollow:"true"===L,canonical:`https://${x?.storeProperty?.primaryDomain}/${a}`,additionalMetaTags:[{name:"theme-color",content:"#000000"}],additionalLinkTags:generateSeoLinks.generateSeoLinks({favicon:A,shopMeta:S})},B=S?.localization.language.isoCode??null,I=S?.localization.country.isoCode??null,k=B&&I?`${B}-${I}`:null;return parseJson.serializableJson({themeStyle:genCss.genCSS(g?.pageStyle?.data,T),fontStyle:f,elementFontStyle:P,builderData:m,pageType:i,moneyFormat:S?.shop.moneyFormat??null,currency:S?.localization.country.currency.isoCode??null,languageIsoCode:B,countryIsoCode:I,locale:k,swr:{fallback:p},swatches:parseJson.parseJson(x?.storeProperty?.swatchesConfig),seo:E,mobileOnly:T,gaTrackingId:getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.ANALYTICS_GA_TRACKING_ID,g?.metafields)??null,facebookPixelId:getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.ANALYTICS_FB_PIXEL_ID,g?.metafields)??null,tiktokPixelId:getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.ANALYTICS_TIKTOK_PIXEL_ID,g?.metafields)??null,customCodeHeader:getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.CUSTOM_CODE_HEADER,g?.metafields)??null,customCodeBody:getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.CUSTOM_CODE_BODY,g?.metafields)??null,pageHandle:g.handle??null,customFonts:c,interaction:g?.interaction,pageBackground:normalize.extractPageBackground(g)})}catch(e){throw nextjs.captureException(e),e}};exports.getStaticPagePropsV2=getStaticPagePropsV2;
1
+ "use strict";var core=require("@gem-sdk/core"),adapterShopify=require("@gem-sdk/adapter-shopify"),googleFonts=require("../google-fonts.js"),genCss=require("../helpers/gen-css.js"),getFallback=require("../helpers/get-fallback.js"),normalize=require("../helpers/normalize.js"),parseJson=require("../helpers/parse-json.js"),nextjs=require("@sentry/nextjs"),customFonts=require("../custom-fonts.js"),getMetafield=require("../helpers/get-metafield.js"),index=require("../../constants/index.js"),generateSeoLinks=require("../helpers/generate-seo-links.js");const getStaticPagePropsV2=(e,t)=>async a=>{try{let i="STATIC",l={slug:a,slugType:i},[s,o,d,n]=await Promise.allSettled([e([core.PublishedThemePagesDocument,l]),e([core.StorePropertyDocument]),t([adapterShopify.ShopMetaDocument]),e([core.PublishedShopMetasDocument,{keys:["source_font",index.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION,index.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL]}])]);if("rejected"===s.status)throw Error(s.reason?.[0]);let r="fulfilled"===n.status?n.value:void 0,u=r?.publishedShopMetas?.find(e=>e?.key==="source_font"),g=s.value.publishedThemePages?.[0],h=s.value?.publishedThemePages?.[0]?.themePageCustomFonts;if(!g)throw Error(`No data builder found for slug: /${a}`);let m=normalize.parseBuilderTemplateV2(g),[P,f,p,c]=await Promise.all([googleFonts.getFontStyleFromPageTemplate(m,u?.value),googleFonts.getFontFromGlobalStyle(g?.pageStyle?.data,u?.value),getFallback.getFallbackV2(e,m),customFonts.getCustomFonts(h)]),T=g.isMobile??!1,M=getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION,g?.metafields)||r?.publishedShopMetas?.find(e=>e?.key===index.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION)?.value,y=getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.GLOBAL_META_TITLE,g?.metafields)||r?.publishedShopMetas?.find(e=>e?.key===index.PublishedThemePageMetafields.GLOBAL_META_TITLE)?.value,b=parseJson.parseJson(getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL,g?.metafields)||r?.publishedShopMetas?.find(e=>e?.key===index.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL)?.value),_=getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.NOINDEX_KEY,g?.metafields)||r?.publishedShopMetas?.find(e=>e?.key===index.PublishedThemePageMetafields.NOINDEX_KEY)?.value,L=getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.NOFOLLOW_KEY,g?.metafields)||r?.publishedShopMetas?.find(e=>e?.key===index.PublishedThemePageMetafields.NOFOLLOW_KEY)?.value,S="fulfilled"===d.status?d.value:void 0,x="fulfilled"===o.status?o.value:void 0,A=x?.storeProperty?.favicon??"/favicon/favicon-32x32.png",E={defaultTitle:S?.shop.name,title:y||g?.name,description:M??S?.shop.description,openGraph:{site_name:S?.shop.name,locale:S?.localization.country.isoCode,title:(y||g?.name)??S?.shop.name,description:M??S?.shop.description,images:b?[b]:[]},noindex:"true"===_,nofollow:"true"===L,canonical:`https://${x?.storeProperty?.primaryDomain}/${a}`,additionalMetaTags:[{name:"theme-color",content:"#000000"}],additionalLinkTags:generateSeoLinks.generateSeoLinks({favicon:A,shopMeta:S})},B=S?.localization.language.isoCode??null,I=S?.localization.country.isoCode??null,O=B&&I?`${B}-${I}`:null;return parseJson.serializableJson({themeStyle:genCss.genCSS(g?.pageStyle?.data,T),fontStyle:f,elementFontStyle:P,builderData:m,pageType:i,moneyFormat:S?.shop.moneyFormat??null,currency:S?.localization.country.currency.isoCode??null,languageIsoCode:B,countryIsoCode:I,locale:O,swr:{fallback:p},swatches:parseJson.parseJson(x?.storeProperty?.swatchesConfig),seo:E,mobileOnly:T,gaTrackingId:getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.ANALYTICS_GA_TRACKING_ID,g?.metafields)??null,facebookPixelId:getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.ANALYTICS_FB_PIXEL_ID,g?.metafields)??null,tiktokPixelId:getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.ANALYTICS_TIKTOK_PIXEL_ID,g?.metafields)??null,customCodeHeader:getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.CUSTOM_CODE_HEADER,g?.metafields)??null,customCodeBody:getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.CUSTOM_CODE_BODY,g?.metafields)??null,pageHandle:g.handle??null,customFonts:c,interaction:g?.interaction,pageBackground:normalize.extractPageBackground(g)})}catch(e){throw nextjs.captureException(e),e}};exports.getStaticPagePropsV2=getStaticPagePropsV2;
@@ -1 +1 @@
1
- "use strict";var core=require("@gem-sdk/core"),adapterShopify=require("@gem-sdk/adapter-shopify"),googleFonts=require("../google-fonts.js"),genCss=require("../helpers/gen-css.js"),generateManifres=require("../helpers/generate-manifres.js"),normalize=require("../helpers/normalize.js"),parseJson=require("../helpers/parse-json.js"),index=require("../../constants/index.js"),getMetafield=require("../helpers/get-metafield.js");const getStaticPageProps=(e,s)=>async a=>{let t="STATIC",r={slug:a,slugType:t},[i,o,l,n]=await Promise.allSettled([e([core.PublishedThemePagesDocument,r]),e([core.StorePropertyDocument]),s([adapterShopify.ShopMetaDocument]),e([core.PublishedShopMetasDocument,{keys:["source_font",index.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION,index.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL]}])]);if("rejected"===i.status)return{pageType:t};let d="fulfilled"===n.status?n.value:void 0,p=i.value.publishedThemePages?.[0],c=normalize.parseBuilderTemplate(p),u=await googleFonts.getFontLinkFromGlobalStyle(p?.pageStyle?.data),h=core.prefetchQueries(c),m=await Promise.allSettled(h.map(({query:s,variables:a,func:t})=>t?t(e,a):s?e([s,a]):{})),g=h.reduce((e,{key:s},a)=>{let t=m[a];return t?.status==="fulfilled"?{...e,[s]:t.value}:e},{}),f=getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION,p?.metafields)||d?.publishedShopMetas?.find(e=>e?.key===index.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION)?.value,P=parseJson.parseJson(getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL,p?.metafields)||d?.publishedShopMetas?.find(e=>e?.key===index.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL)?.value),y="fulfilled"===l.status?l.value:void 0,T="fulfilled"===o.status?o.value:void 0,M=T?.storeProperty?.favicon??"/favicon/favicon-32x32.png",_={defaultTitle:y?.shop.name??"",title:p?.name??"",description:f??y?.shop.description??"",openGraph:{site_name:y?.shop.name??"",locale:y?.localization.country.isoCode??"",title:p?.name??y?.shop.name??"",description:f??y?.shop.description??"",images:P?[P]:[]},additionalMetaTags:[{name:"theme-color",content:"#000000"}],canonical:`/${a}`,additionalLinkTags:[{rel:"icon",sizes:"32x32",href:`${M}-/crop/1:1/center/-/smart_resize/32x32/`},{rel:"icon",sizes:"16x16",href:`${M}-/crop/1:1/center/-/smart_resize/16x16/`},{rel:"apple-touch-icon",sizes:"180x180",href:`${M}-/crop/1:1/center/-/smart_resize/180x180/`},{rel:"manifest",href:generateManifres.generateManifest({theme_color:"#000000",background_color:"#ffffff",display:"standalone",scope:"/",start_url:"/",name:y?.shop.name,short_name:y?.shop.name,description:y?.shop.description,icons:[{src:`${M}-/crop/1:1/center/-/smart_resize/192x192/`,sizes:"192x192",type:"image/png",purpose:"any maskable"},{src:`${M}-/crop/1:1/center/-/smart_resize/512x512/`,sizes:"512x512",type:"image/png"}]})}]},S=y?.localization.language.isoCode??null,x=y?.localization.country.isoCode??null,b=S&&x?`${S}-${x}`:null;return parseJson.serializableJson({themeStyle:genCss.genCSS(p?.pageStyle?.data),fontStyle:u,builderData:c,pageType:t,moneyFormat:y?.shop.moneyFormat??null,currency:y?.localization.country.currency.isoCode??null,languageIsoCode:S,countryIsoCode:x,locale:b,swr:{fallback:g},swatches:parseJson.parseJson(T?.storeProperty?.swatchesConfig),seo:_})};exports.getStaticPageProps=getStaticPageProps;
1
+ "use strict";var core=require("@gem-sdk/core"),adapterShopify=require("@gem-sdk/adapter-shopify"),googleFonts=require("../google-fonts.js"),genCss=require("../helpers/gen-css.js"),generateManifres=require("../helpers/generate-manifres.js"),normalize=require("../helpers/normalize.js"),parseJson=require("../helpers/parse-json.js"),index=require("../../constants/index.js"),getMetafield=require("../helpers/get-metafield.js");const getStaticPageProps=(e,s)=>async a=>{let t="STATIC",r={slug:a,slugType:t},[i,o,l,n]=await Promise.allSettled([e([core.PublishedThemePagesDocument,r]),e([core.StorePropertyDocument]),s([adapterShopify.ShopMetaDocument]),e([core.PublishedShopMetasDocument,{keys:["source_font",index.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION,index.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL]}])]);if("rejected"===i.status)return{pageType:t};let d="fulfilled"===n.status?n.value:void 0,p=i.value.publishedThemePages?.[0],c=normalize.parseBuilderTemplate(p),u=await googleFonts.getFontFromGlobalStyle(p?.pageStyle?.data),h=core.prefetchQueries(c),m=await Promise.allSettled(h.map(({query:s,variables:a,func:t})=>t?t(e,a):s?e([s,a]):{})),g=h.reduce((e,{key:s},a)=>{let t=m[a];return t?.status==="fulfilled"?{...e,[s]:t.value}:e},{}),f=getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION,p?.metafields)||d?.publishedShopMetas?.find(e=>e?.key===index.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION)?.value,P=parseJson.parseJson(getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL,p?.metafields)||d?.publishedShopMetas?.find(e=>e?.key===index.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL)?.value),y="fulfilled"===l.status?l.value:void 0,T="fulfilled"===o.status?o.value:void 0,M=T?.storeProperty?.favicon??"/favicon/favicon-32x32.png",_={defaultTitle:y?.shop.name??"",title:p?.name??"",description:f??y?.shop.description??"",openGraph:{site_name:y?.shop.name??"",locale:y?.localization.country.isoCode??"",title:p?.name??y?.shop.name??"",description:f??y?.shop.description??"",images:P?[P]:[]},additionalMetaTags:[{name:"theme-color",content:"#000000"}],canonical:`/${a}`,additionalLinkTags:[{rel:"icon",sizes:"32x32",href:`${M}-/crop/1:1/center/-/smart_resize/32x32/`},{rel:"icon",sizes:"16x16",href:`${M}-/crop/1:1/center/-/smart_resize/16x16/`},{rel:"apple-touch-icon",sizes:"180x180",href:`${M}-/crop/1:1/center/-/smart_resize/180x180/`},{rel:"manifest",href:generateManifres.generateManifest({theme_color:"#000000",background_color:"#ffffff",display:"standalone",scope:"/",start_url:"/",name:y?.shop.name,short_name:y?.shop.name,description:y?.shop.description,icons:[{src:`${M}-/crop/1:1/center/-/smart_resize/192x192/`,sizes:"192x192",type:"image/png",purpose:"any maskable"},{src:`${M}-/crop/1:1/center/-/smart_resize/512x512/`,sizes:"512x512",type:"image/png"}]})}]},S=y?.localization.language.isoCode??null,x=y?.localization.country.isoCode??null,b=S&&x?`${S}-${x}`:null;return parseJson.serializableJson({themeStyle:genCss.genCSS(p?.pageStyle?.data),fontStyle:u,builderData:c,pageType:t,moneyFormat:y?.shop.moneyFormat??null,currency:y?.localization.country.currency.isoCode??null,languageIsoCode:S,countryIsoCode:x,locale:b,swr:{fallback:g},swatches:parseJson.parseJson(T?.storeProperty?.swatchesConfig),seo:_})};exports.getStaticPageProps=getStaticPageProps;
@@ -1 +1 @@
1
- "use strict";var checkOptionFont=require("./helpers/check-option-font.js"),genFonts=require("./helpers/gen-fonts.js"),sentry=require("./helpers/sentry.js");const 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(r=>200===r.status?r.text():(sentry.sentryCaptureException("getFontForUA",`Unexpected status ${r.status}`,{url:t,UA:e}),""))}catch(r){return sentry.sentryCaptureException("getFontForUA","Error fetching font",{url:t,UA:e,error:r}),""}}const 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,"+")??"",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"},isValidFont=(t,e,r)=>{let o="google"===t.type||"bunny"===t.type,n="theme"===t.type&&r,a=checkOptionFont.checkNotInOptionFont(t.family,e);return!(o&&a)&&(o||!t.type||n)},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=r?.display||"swap",a=new URLSearchParams;return(a.append("family",o),a.append("display",n),"bunny"===e)?`https://fonts.bunny.net/css?${a.toString()}`:(r?.subset&&a.append("subset",r.subset),r?.effect&&a.append("effect",r.effect),`https://fonts.googleapis.com/css?${decodeURIComponent(a.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,r=!0,o){let n=createFontUrls(t,e,o),a=Array.isArray(n)?n:n?[n]:[];if(!a.length)return"";if(r)return a.map(t=>`@import url('${t}');`).join("");let i="",l="";for(let t of a)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}`;i+=o,l+=`@import url('${t}');`}catch(e){sentry.sentryCaptureException("getFonts","Error fetching font",{url:t,fontType:o,error:String(e)}),l+="",i+=""}let s=new TextEncoder().encode(i).length;return s<51200?i:l}const extractFontsFromPageTemplate=(t,e)=>{let r=[];return t.forEach(t=>{r.push(...genFonts.getFontsFromDataBuilder(t.data,e))}),composeFonts(r)},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,p=n.fontStyle??a?.fontStyle;if(null==s)return;let y=extractVariantFromTypography(s,p);o.has(i)||o.set(i,new Set),o.get(i).add(y)})});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,p=a?.fontFamily||i?.fontFamily||l?.fontFamily||s;if(!p||"string"!=typeof p)return;let y=r[p],c=o[p],F=y?.family||c?.family||p,f=y?.type||c?.type||"google";F&&(n[t]={family:F,type:f})}),n},getFontLinkFromGlobalStyle=async(t,e)=>{if(!t)return"";try{let r=JSON.parse(t),o=r?.font??{},n=Object.values(o),a=extractTypographyVariants(r);return Object.keys(a).length>0&&(n=Object.entries(o).filter(([t])=>a[t]).map(([t,e])=>({...e,variants:a[t].variants}))),getFonts(n,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){let t=extractTypographyVariants(n),e=new Map;for(let r of Object.values(t))e.set(r.family,new Set(r.variants));a=a.map(t=>{let r=e.get(t.family);if(!r)return t;let o=t.variants.filter(t=>!r.has(t));return 0===o.length?null:{...t,variants:o}}).filter(t=>null!==t)}if(0===a.length)return[];let i=await getFonts(a,void 0,void 0,e);return i?[i]:[]}exports.composeFonts=composeFonts,exports.createFontUrls=createFontUrls,exports.extractTypographyVariants=extractTypographyVariants,exports.getFontFromGlobalStyle=getFontFromGlobalStyle,exports.getFontLinkFromGlobalStyle=getFontLinkFromGlobalStyle,exports.getFontStyleFromPageTemplate=getFontStyleFromPageTemplate,exports.getFonts=getFonts,exports.mapTypographyToFontFamily=mapTypographyToFontFamily;
1
+ "use strict";var checkOptionFont=require("./helpers/check-option-font.js"),genFonts=require("./helpers/gen-fonts.js"),sentry=require("./helpers/sentry.js");const 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(e,t){try{return fetch(e,{headers:{"User-Agent":t}}).then(o=>200===o.status?o.text():(sentry.sentryCaptureException("getFontForUA",`Unexpected status ${o.status}`,{url:e,UA:t}),""))}catch(o){return sentry.sentryCaptureException("getFontForUA","Error fetching font",{url:e,UA:t,error:o}),""}}const composeFonts=e=>{let t=e.filter((e,t,o)=>t===o.findIndex(t=>t.family===e.family));return t.map(t=>{let o=e.filter(e=>e.family===t.family).reduce((e,t)=>[...e,...t.variants],[]).filter((e,t,o)=>t===o.findIndex(t=>t===e));return{...t,variants:o}})},GOOGLE_CSS2_OVERRIDES={"Roboto Flex":"https://fonts.googleapis.com/css2?family=Roboto+Flex:opsz,wght@8..144,100..1000&display=swap"},normalizeFamily=e=>e?.trim().replace(/\s+/g,"+")??"",getOverrideUrlForFamily=e=>{let t=normalizeFamily(e);return GOOGLE_CSS2_OVERRIDES[e]??GOOGLE_CSS2_OVERRIDES[t]},isValidFont=(e,t,o)=>{let r="google"===e.type||"bunny"===e.type,n="theme"===e.type&&o,l=checkOptionFont.checkNotInOptionFont(e.family,t);return!(r&&l)&&(r||!e.type||n)},makeUrlBySourceFont=(e,t,o)=>{let r=composeFonts(e).map(e=>`${e.family.replace(/ /g,"+")}:${e.variants.join(",")}`).join("|");if("sans-serif"===r)return;let n=o?.display||"swap",l=new URLSearchParams;return(l.append("family",r),l.append("display",n),"bunny"===t)?`https://fonts.bunny.net/css?${l.toString()}`:(o?.subset&&l.append("subset",o.subset),o?.effect&&l.append("effect",o.effect),`https://fonts.googleapis.com/css?${decodeURIComponent(l.toString())}`)},createFontUrls=(e,t,o,r)=>{let n=e.filter(e=>isValidFont(e,o||"google",r));if(!n.length)return;let l=n.filter((e,t,o)=>t===o.findIndex(t=>t.family===e.family)),s=[],i=[];for(let e of l){let t=getOverrideUrlForFamily(e.family);t&&"bunny"!==o?s.push(t):i.push(e)}let a=i.length?makeUrlBySourceFont(i,o||"google",t):void 0;return s.length&&a?[...s,a]:a?[a,...s]:s};async function getFonts(e,t,o=!0,r){let n=createFontUrls(e,t,r),l=Array.isArray(n)?n:n?[n]:[];if(!l.length)return"";if(o)return l.map(e=>`@import url('${e}');`).join("");let s="",i="";for(let e of l)try{let[t,o]=await Promise.all([getFontForUA(e,"Mozilla/5.0 (Windows NT 10.0; Trident/7.0; rv:11.0) like Gecko"),getFontForUA(e,"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")]),r=`${t}${o}`;s+=r,i+=`@import url('${e}');`}catch(t){sentry.sentryCaptureException("getFonts","Error fetching font",{url:e,fontType:r,error:String(t)}),i+="",s+=""}let a=new TextEncoder().encode(s).length;return a<51200?s:i}const getFontFromGlobalStyle=(e,t)=>{if(!e)return"";try{let o=JSON.parse(e),r=o?.font??{},n=Object.entries(r).map(([,e])=>e);return getFonts(n,void 0,void 0,t)}catch{return""}};async function getFontStyleFromPageTemplate(e,t){let o=[];if(e.forEach(e=>{let t=genFonts.getFontsFromDataBuilder(e.data);o.push(...t)}),0===o.length)return[];let r=composeFonts(o),n=await getFonts(r,void 0,void 0,t);return n?[n]:[]}exports.composeFonts=composeFonts,exports.createFontUrls=createFontUrls,exports.getFontFromGlobalStyle=getFontFromGlobalStyle,exports.getFontStyleFromPageTemplate=getFontStyleFromPageTemplate,exports.getFonts=getFonts;
@@ -1 +1 @@
1
- "use strict";const EXCLUDED_FONT_FAMILIES=["sans-serif"],getFallbackFontFamilyFromGlobalStyle=(t,e)=>{if(e&&t?.type&&!t?.custom?.fontFamily){let o=e[t.type];o&&(t.custom||(t.custom={}),t.custom.fontFamily={value:o.family,type:o.type})}},getFontsFromDataBuilder=(t,e)=>{let o=[];for(let l in t)if(Object.prototype.hasOwnProperty.call(t,l)){let a=t[l],i=a.styles,n=a.settings;getFontFromGroupSetting(o,i,e),getFontFromGroupSetting(o,n,e)}return o},getFontFromGroupSetting=(t,e,o)=>{let l=["normal","hover","focus","active","disabled","price","compareAtPrice"];for(let a in e)if(Object.prototype.hasOwnProperty.call(e,a)){let i=e[a];if(!i)continue;for(let e of(getFallbackFontFamilyFromGlobalStyle(i,o),getFontValue(t,i),l))i[e]&&(getFallbackFontFamilyFromGlobalStyle(i[e],o),getFontValue(t,i[e]))}},uniqueArray=t=>Array.from(new Set(t)),getFontValue=(t,e)=>{let o=e.custom?.fontFamily;"string"==typeof o&&(o={value:e.custom?.fontFamily||"",type:"google"});let l=o?.value;if(EXCLUDED_FONT_FAMILIES.includes(l))return;let a=e.custom?.fontVariants;if(a?.length||(a=[e.custom?.fontWeight]),o&&a?.length){let i=a.map(t=>"regular"===t?"400":t),n=e.custom?.fontWeight&&i.includes(e.custom?.fontWeight)?e.custom?.fontWeight:i[0];if(n){let a=uniqueArray([n,...e?.attrs?.isAlwaysLoadBold?["700"]:[],...e?.attrs?.loadFontStyles?.includes("bold")?["700"]:[]]);if(e?.attrs?.loadFontStyles?.includes("italic")){let t=a.map(t=>"string"==typeof t&&/^\d+$/.test(t)?`${t}i`:null).filter(t=>null!==t);a.push(...t)}let r=t.find(t=>t.family==l&&a.every(e=>t.variants.includes(e)));if(!r){let e=t.find(t=>t.family==l);e?a.forEach(t=>{e.variants.includes(t)||e.variants.push(t)}):("700"!==n&&i.includes("700")&&a.push("700"),t.push({family:l||"",variants:uniqueArray(a),subsets:[],type:o.type}))}}}};exports.getFontFromGroupSetting=getFontFromGroupSetting,exports.getFontsFromDataBuilder=getFontsFromDataBuilder;
1
+ "use strict";const EXCLUDED_FONT_FAMILIES=["sans-serif"],getFontsFromDataBuilder=t=>{let e=[];for(let o in t)if(Object.prototype.hasOwnProperty.call(t,o)){let r=t[o],n=r.styles,i=r.settings;getFontFromGroupSetting(e,n),getFontFromGroupSetting(e,i)}return e},getFontFromGroupSetting=(t,e)=>{let o=["normal","hover","focus","active","disabled","price","compareAtPrice"];for(let r in e)if(Object.prototype.hasOwnProperty.call(e,r)){let n=e[r];if(!n)continue;for(let e of(getFontValue(t,n),o))n[e]&&getFontValue(t,n[e])}},uniqueArray=t=>Array.from(new Set(t)),getFontValue=(t,e)=>{let o=e.custom?.fontFamily;"string"==typeof o&&(o={value:e.custom?.fontFamily||"",type:"google"});let r=o?.value;if(EXCLUDED_FONT_FAMILIES.includes(r))return;let n=e.custom?.fontVariants;if(n?.length||(n=[e.custom?.fontWeight]),o&&n?.length){let i=n.map(t=>"regular"===t?"400":t),l=e.custom?.fontWeight&&i.includes(e.custom?.fontWeight)?e.custom?.fontWeight:i[0];if(l){let n=uniqueArray([l,...e?.attrs?.isAlwaysLoadBold?["700"]:[],...e?.attrs?.loadFontStyles?.includes("bold")?["700"]:[]]);if(e?.attrs?.loadFontStyles?.includes("italic")){let t=n.map(t=>"string"==typeof t&&/^\d+$/.test(t)?`${t}i`:null).filter(t=>null!==t);n.push(...t)}let s=t.find(t=>t.family==r&&n.every(e=>t.variants.includes(e)));if(!s){let e=t.find(t=>t.family==r);e?n.forEach(t=>{e.variants.includes(t)||e.variants.push(t)}):("700"!==l&&i.includes("700")&&n.push("700"),t.push({family:r||"",variants:uniqueArray(n),subsets:[],type:o.type}))}}}};exports.getFontFromGroupSetting=getFontFromGroupSetting,exports.getFontsFromDataBuilder=getFontsFromDataBuilder;
@@ -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 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),h=n(e=>e.changeStorefrontInfo),E=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),A=o(e=>e.initState),C=o(e=>e.state),j=o(e=>e.forceChangeState),N=o(e=>e.forceChangeItemProp),k=o(e=>e.changeItemPropByKey),x=o(e=>e.addItem),O=o(e=>e.moveItem),$=o(e=>e.removeItem),q=d(e=>e.addSection),D=n(e=>e.changeSwatches),H=o(e=>e.updateItemName),M=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=l(()=>w(C),[C]),Z=({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},ee=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&&Z({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(),`${t.toString()}i`]},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]),et=s(()=>{r(/query\//,{revalidate:!0})},[r]),en=s(e=>{let t=e.detail;h({url:t.shopHandle?p(t.shopHandle,g):void 0,token:t.shopToken})},[h,g]),ei=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(ee("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{}},[ee]),eo=s(e=>{W();try{let t=e.detail;t.data&&("flat"===t.type?j(t.data):A(t.data))}catch{}},[j,A,W]),ed=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)||q(t.entity.uid,t.entity))}catch{}},[x,q]),ea=s(e=>{try{let t=e.detail;t.uid&&t.propName&&k({id:t.uid,key:t.propName,data:t.propValue,group:t.group})}catch{}},[k]),er=s(e=>{try{let t=e.detail;t.uid&&N(t.uid,t.data,t.group)}catch{}},[N]),el=s(e=>{try{let t=e.detail;t.to&&t.uid&&O(t.uid,t.to,Number(t.position)??0)}catch{}},[O]),es=s(e=>{try{let t=e.detail;t.uid&&$(t.uid)}catch{}},[$]),ec=s(e=>{let t=e.detail;try{t.data&&D(t.data)}catch{}},[D]),ep=s(e=>{let t=e.detail;t&&B(t)},[B]),em=s(e=>{let t=e.detail;t&&F(t)},[F]),eu=s(e=>{let t=e.detail;t&&_(t)},[_]),ew=s(e=>{let t=e.detail;t&&V(t)},[V]),ev=s(e=>{let t=e.detail;t&&K(t)},[K]),ey=s(e=>{let t=e.detail;t&&E(t)},[E]),ef=s(e=>{let{assignedIds:t,isApplyAllProducts:n}=e.detail;t&&L(t??[]),b(!!n)},[L,b]),eg=s(e=>{let t=e.detail;t&&P(t)},[P]);c(()=>{Y&&R&&ee("google-font-element",Y)},[Y,R,ee]);let eh=s(e=>{let t=e.detail;t.uid&&H(t.uid,t.name||"")},[H]),eE=s(e=>{let t=e.detail;t.uid&&M(t.uid,t.value||"",t.attr||"")},[M]),eL=s(e=>{let t=e.detail;t?.length&&S(t)},[S]),eb=s(e=>{let t=e.detail;t&&I(t)},[I]),eS=s(e=>{let t=e.detail;t&&T(t)},[T]),eI=s(e=>{let t=e.detail;t&&z(t)},[z]),eT=s(e=>{let t=e.detail.value,n=e.detail.mode,i=e.detail.settingType;G(t),Q(n),U(i)},[G,Q,U]),eP=s(e=>{let t=e.detail.settingType;U(t)},[U]),eA=s(e=>{let t=e.detail.mode;console.log(t),X(t)},[X]),eC=s(e=>{let t=e.detail;J(t)},[J]);return c(()=>(window.addEventListener("update-shop-info",en),window.addEventListener("revalidate-query",et),window.addEventListener("init-builder",eo),window.addEventListener("add-entity",ed),window.addEventListener("remove-entity",es),window.addEventListener("move-entity",el),window.addEventListener("force-update-entity-props",er),window.addEventListener("update-entity-prop",ea),window.addEventListener("set-global-style",ei),window.addEventListener("update-global-swatches-data",ec),window.addEventListener("on-off-header-footer",ep),window.addEventListener("update-create-theme-section-count",em),window.addEventListener("update-shop-plan",eu),window.addEventListener("set-dynamic-product",ey),window.addEventListener("set-assigned-product-ids",ef),window.addEventListener("set-dynamic-collection",eg),window.addEventListener("update-item-name",eh),window.addEventListener("update-item-attribute",eE),window.addEventListener("set-product-offer",eL),window.addEventListener("set-dynamic-discount-offer",eb),window.addEventListener("update-sale-page-product-id",eS),window.addEventListener("limit-create-theme-section",eI),window.addEventListener("update-interaction-is-select-on-page",eT),window.addEventListener("update-interaction-item",eC),window.addEventListener("update-interaction-setting-type",eP),window.addEventListener("change-sidebar-mode",eA),window.addEventListener("update-font-type",ev),window.addEventListener("update-price-with-currency",ew),()=>{window.removeEventListener("update-shop-info",en),window.removeEventListener("revalidate-query",et),window.removeEventListener("init-builder",eo),window.removeEventListener("add-entity",ed),window.removeEventListener("remove-entity",es),window.removeEventListener("move-entity",el),window.removeEventListener("update-entity-prop",ea),window.removeEventListener("set-global-style",ei),window.removeEventListener("update-global-swatches-data",ec),window.removeEventListener("on-off-header-footer",ep),window.removeEventListener("update-create-theme-section-count",em),window.removeEventListener("update-shop-plan",eu),window.removeEventListener("update-price-with-currency",ew),window.removeEventListener("set-dynamic-product",ey),window.removeEventListener("set-dynamic-collection",eg),window.removeEventListener("update-item-name",eh),window.removeEventListener("update-item-attribute",eE),window.removeEventListener("set-product-offer",eL),window.removeEventListener("update-sale-page-product-id",eS),window.removeEventListener("limit-create-theme-section",eI),window.removeEventListener("update-interaction-is-select-on-page",eT),window.removeEventListener("update-interaction-item",eC),window.removeEventListener("update-interaction-setting-type",eP),window.removeEventListener("update-font-type",ev)}),[ed,eu,er,ea,eo,el,es,ei,ec,et,en,ep,em,ey,eg,eh,eE,eL,eS,eI,eC,eT,eP,ev,eA,eb,ew]),e("div",{className:"toolbox"})};var Toolbox$1=r(Toolbox);export{Toolbox$1 as default};
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 m}from"../../libs/get-storefront-api.js";import{createFontUrls as p}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),h=n(e=>e.changeStorefrontInfo),E=i(e=>e.setDynamicProduct),L=i(e=>e.setPostPurchaseProductOffers),b=i(e=>e.setDynamicDiscountOffer),S=i(e=>e.setSalePageProductId),I=i(e=>e.setDynamicCollection),T=o(e=>e.initState),C=o(e=>e.state),P=o(e=>e.forceChangeState),j=o(e=>e.forceChangeItemProp),A=o(e=>e.changeItemPropByKey),N=o(e=>e.addItem),k=o(e=>e.moveItem),x=o(e=>e.removeItem),O=d(e=>e.addSection),q=n(e=>e.changeSwatches),$=o(e=>e.updateItemName),D=o(e=>e.updateItemAttribute),H=n(e=>e.changeLayoutSettings),M=n(e=>e.changeCreateThemeSectionCount),B=n(e=>e.changeShopPlan),F=n(e=>e.updatePriceWithCurrency),_=y(e=>e.changeFontType),V=y(e=>e.fontType),K=a(e=>e.clearModal),R=n(e=>e.changeLimitCreateThemeSection),W=i(e=>e.setInteractionIsSelectOnPage),z=i(e=>e.setInteractionItem),G=i(e=>e.setInteractionSelectType),J=i(e=>e.setInteractionSettingType),Q=i(e=>e.setSidebarMode),U=l(()=>w(C),[C]),X=({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},Y=s((e,t)=>{if(!V)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&&X({currentFontTypeSetting:e.type,fontType:V,fontHref:o})});d||e.remove()}),t))if(!(["bunny","google"].includes(i.type)&&f(i.family,V))&&"custom"!==i.type&&i.variants?.length)for(let t of i.variants){let n={...i,variants:[t.toString()]},o=p([n],void 0,V,!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)}}},[V]),Z=s(()=>{r(/query\//,{revalidate:!0})},[r]),ee=s(e=>{let t=e.detail;h({url:t.shopHandle?m(t.shopHandle,g):void 0,token:t.shopToken})},[h,g]),et=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(Y("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{}},[Y]),en=s(e=>{K();try{let t=e.detail;t.data&&("flat"===t.type?P(t.data):T(t.data))}catch{}},[P,T,K]),ei=s(e=>{try{let t=e.detail;t.entity&&(N({data:t.entity,id:t.id,position:t.position,type:t.type??"component"}),t?.type!=="section"||Array.isArray(t.entity)||O(t.entity.uid,t.entity))}catch{}},[N,O]),eo=s(e=>{try{let t=e.detail;t.uid&&t.propName&&A({id:t.uid,key:t.propName,data:t.propValue,group:t.group})}catch{}},[A]),ed=s(e=>{try{let t=e.detail;t.uid&&j(t.uid,t.data,t.group)}catch{}},[j]),ea=s(e=>{try{let t=e.detail;t.to&&t.uid&&k(t.uid,t.to,Number(t.position)??0)}catch{}},[k]),er=s(e=>{try{let t=e.detail;t.uid&&x(t.uid)}catch{}},[x]),el=s(e=>{let t=e.detail;try{t.data&&q(t.data)}catch{}},[q]),es=s(e=>{let t=e.detail;t&&H(t)},[H]),ec=s(e=>{let t=e.detail;t&&M(t)},[M]),em=s(e=>{let t=e.detail;t&&B(t)},[B]),ep=s(e=>{let t=e.detail;t&&F(t)},[F]),eu=s(e=>{let t=e.detail;t&&_(t)},[_]),ew=s(e=>{let t=e.detail;t&&E(t)},[E]),ev=s(e=>{let t=e.detail;t&&I(t)},[I]);c(()=>{U&&V&&Y("google-font-element",U)},[U,V,Y]);let ey=s(e=>{let t=e.detail;t.uid&&$(t.uid,t.name||"")},[$]),ef=s(e=>{let t=e.detail;t.uid&&D(t.uid,t.value||"",t.attr||"")},[D]),eg=s(e=>{let t=e.detail;t?.length&&L(t)},[L]),eh=s(e=>{let t=e.detail;t&&b(t)},[b]),eE=s(e=>{let t=e.detail;t&&S(t)},[S]),eL=s(e=>{let t=e.detail;t&&R(t)},[R]),eb=s(e=>{let t=e.detail.value,n=e.detail.mode,i=e.detail.settingType;W(t),G(n),J(i)},[W,G,J]),eS=s(e=>{let t=e.detail.settingType;J(t)},[J]),eI=s(e=>{let t=e.detail.mode;console.log(t),Q(t)},[Q]),eT=s(e=>{let t=e.detail;z(t)},[z]);return c(()=>(window.addEventListener("update-shop-info",ee),window.addEventListener("revalidate-query",Z),window.addEventListener("init-builder",en),window.addEventListener("add-entity",ei),window.addEventListener("remove-entity",er),window.addEventListener("move-entity",ea),window.addEventListener("force-update-entity-props",ed),window.addEventListener("update-entity-prop",eo),window.addEventListener("set-global-style",et),window.addEventListener("update-global-swatches-data",el),window.addEventListener("on-off-header-footer",es),window.addEventListener("update-create-theme-section-count",ec),window.addEventListener("update-shop-plan",em),window.addEventListener("set-dynamic-product",ew),window.addEventListener("set-dynamic-collection",ev),window.addEventListener("update-item-name",ey),window.addEventListener("update-item-attribute",ef),window.addEventListener("set-product-offer",eg),window.addEventListener("set-dynamic-discount-offer",eh),window.addEventListener("update-sale-page-product-id",eE),window.addEventListener("limit-create-theme-section",eL),window.addEventListener("update-interaction-is-select-on-page",eb),window.addEventListener("update-interaction-item",eT),window.addEventListener("update-interaction-setting-type",eS),window.addEventListener("change-sidebar-mode",eI),window.addEventListener("update-font-type",eu),window.addEventListener("update-price-with-currency",ep),()=>{window.removeEventListener("update-shop-info",ee),window.removeEventListener("revalidate-query",Z),window.removeEventListener("init-builder",en),window.removeEventListener("add-entity",ei),window.removeEventListener("remove-entity",er),window.removeEventListener("move-entity",ea),window.removeEventListener("update-entity-prop",eo),window.removeEventListener("set-global-style",et),window.removeEventListener("update-global-swatches-data",el),window.removeEventListener("on-off-header-footer",es),window.removeEventListener("update-create-theme-section-count",ec),window.removeEventListener("update-shop-plan",em),window.removeEventListener("update-price-with-currency",ep),window.removeEventListener("set-dynamic-product",ew),window.removeEventListener("set-dynamic-collection",ev),window.removeEventListener("update-item-name",ey),window.removeEventListener("update-item-attribute",ef),window.removeEventListener("set-product-offer",eg),window.removeEventListener("update-sale-page-product-id",eE),window.removeEventListener("limit-create-theme-section",eL),window.removeEventListener("update-interaction-is-select-on-page",eb),window.removeEventListener("update-interaction-item",eT),window.removeEventListener("update-interaction-setting-type",eS),window.removeEventListener("update-font-type",eu)}),[ei,em,ed,eo,en,ea,er,et,el,Z,ee,es,ec,ew,ev,ey,ef,eg,eE,eL,eT,eb,eS,eu,eI,eh,ep]),e("div",{className:"toolbox"})};var Toolbox$1=r(Toolbox);export{Toolbox$1 as default};
package/dist/esm/index.js CHANGED
@@ -1 +1 @@
1
- export{getCollectionProps}from"./libs/api/get-collection-props.js";export{getCollectionSharePageProps}from"./libs/api/get-collection-share-page-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{getSharePageContentProps}from"./libs/api/get-preview-content-props.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{SharePageTracking}from"./components/SharePageTracking.js";export{getStaticPaths}from"./libs/getStaticPaths.js";export{getFontFromGroupSetting,getFontsFromDataBuilder}from"./libs/helpers/gen-fonts.js";export{getFontFromGlobalStyle,getFontLinkFromGlobalStyle,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";
1
+ export{getCollectionProps}from"./libs/api/get-collection-props.js";export{getCollectionSharePageProps}from"./libs/api/get-collection-share-page-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{getSharePageContentProps}from"./libs/api/get-preview-content-props.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{SharePageTracking}from"./components/SharePageTracking.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";
@@ -1 +1 @@
1
- import{PublishedThemePagesDocument as e,StorePropertyDocument as o,PublishedShopMetasDocument as t}from"@gem-sdk/core";import{ShopMetaDocument as a}from"@gem-sdk/adapter-shopify";import{getFontStyleFromPageTemplate as l,getFontLinkFromGlobalStyle as s}from"../google-fonts.js";import{genCSS as i}from"../helpers/gen-css.js";import{getFallbackV2 as r}from"../helpers/get-fallback.js";import{parseBuilderTemplateV2 as n}from"../helpers/normalize.js";import{parseJson as m,serializableJson as d}from"../helpers/parse-json.js";import{captureException as p}from"@sentry/nextjs";import{PublishedThemePageMetafields as u}from"../../constants/index.js";import{getPublishedThemePageMetafieldByKey as f}from"../helpers/get-metafield.js";import{getCustomFonts as c}from"../custom-fonts.js";import{generateSeoLinks as h}from"../helpers/generate-seo-links.js";let getHomePagePropsV2=(g,T)=>async()=>{try{let p={slugType:"STATIC"},[_,A,y,I]=await Promise.allSettled([g([e,p]),g([o]),T([a]),g([t,{keys:[u.GLOBAL_META_DESCRIPTION,u.GLOBAL_META_THUMBNAIL]}])]);if("rejected"===_.status)throw Error(_.reason?.[0]);let L="fulfilled"===I.status?I.value:void 0,C=_.value?.publishedThemePages?.[0],P=_.value?.publishedThemePages?.[0]?.themePageCustomFonts;if(!C)throw Error("No data builder found for Home page");let E=n(C),[S,v,M,O]=await Promise.all([l(E,void 0,C?.pageStyle?.data),s(C?.pageStyle?.data,void 0),r(g,E),c(P)]),j=C.isMobile??!1,k=f(u.GLOBAL_META_DESCRIPTION,C?.metafields)||L?.publishedShopMetas?.find(e=>e?.key===u.GLOBAL_META_DESCRIPTION)?.value,B=m(f(u.GLOBAL_META_THUMBNAIL,C?.metafields)||L?.publishedShopMetas?.find(e=>e?.key===u.GLOBAL_META_THUMBNAIL)?.value),D="fulfilled"===y.status?y.value:void 0,N="fulfilled"===A.status?A.value:void 0,H=N?.storeProperty?.favicon??"/favicon/favicon-32x32.png",b={defaultTitle:D?.shop.name,title:C?.name??"Home",description:k??D?.shop.description,openGraph:{site_name:D?.shop.name,locale:D?.localization.country.isoCode,title:C?.name??D?.shop.name,description:k??D?.shop.description,images:B?[B]:[]},additionalMetaTags:[{name:"theme-color",content:"#000000"}],canonical:`https://${N?.storeProperty?.primaryDomain}/`,additionalLinkTags:h({favicon:H,shopMeta:D})},G=D?.localization.language.isoCode??null,w=D?.localization.country.isoCode??null,x=G&&w?`${G}-${w}`:null;return d({themeStyle:i(C?.pageStyle?.data,j),fontStyle:v,elementFontStyle:S,builderData:E,swr:{fallback:M},moneyFormat:D?.shop.moneyFormat??null,currency:D?.localization.country.currency.isoCode??null,languageIsoCode:G,countryIsoCode:w,locale:x,swatches:m(N?.storeProperty?.swatchesConfig),seo:b,mobileOnly:j,gaTrackingId:f(u.ANALYTICS_GA_TRACKING_ID,C?.metafields)??null,facebookPixelId:f(u.ANALYTICS_FB_PIXEL_ID,C?.metafields)??null,tiktokPixelId:f(u.ANALYTICS_TIKTOK_PIXEL_ID,C?.metafields)??null,customCodeHeader:f(u.CUSTOM_CODE_HEADER,C?.metafields)??null,customCodeBody:f(u.CUSTOM_CODE_BODY,C?.metafields)??null,pageHandle:C.handle??null,customFonts:O})}catch(e){throw p(e),e}};export{getHomePagePropsV2};
1
+ import{PublishedThemePagesDocument as e,StorePropertyDocument as o,PublishedShopMetasDocument as t}from"@gem-sdk/core";import{ShopMetaDocument as a}from"@gem-sdk/adapter-shopify";import{getFontStyleFromPageTemplate as l,getFontFromGlobalStyle as s}from"../google-fonts.js";import{genCSS as i}from"../helpers/gen-css.js";import{getFallbackV2 as r}from"../helpers/get-fallback.js";import{parseBuilderTemplateV2 as n}from"../helpers/normalize.js";import{parseJson as m,serializableJson as d}from"../helpers/parse-json.js";import{captureException as p}from"@sentry/nextjs";import{PublishedThemePageMetafields as u}from"../../constants/index.js";import{getPublishedThemePageMetafieldByKey as f}from"../helpers/get-metafield.js";import{getCustomFonts as c}from"../custom-fonts.js";import{generateSeoLinks as h}from"../helpers/generate-seo-links.js";let getHomePagePropsV2=(g,T)=>async()=>{try{let p={slugType:"STATIC"},[_,A,y,I]=await Promise.allSettled([g([e,p]),g([o]),T([a]),g([t,{keys:[u.GLOBAL_META_DESCRIPTION,u.GLOBAL_META_THUMBNAIL]}])]);if("rejected"===_.status)throw Error(_.reason?.[0]);let L="fulfilled"===I.status?I.value:void 0,C=_.value?.publishedThemePages?.[0],P=_.value?.publishedThemePages?.[0]?.themePageCustomFonts;if(!C)throw Error("No data builder found for Home page");let E=n(C),[M,O,S,v]=await Promise.all([l(E),s(C?.pageStyle?.data),r(g,E),c(P)]),j=C.isMobile??!1,k=f(u.GLOBAL_META_DESCRIPTION,C?.metafields)||L?.publishedShopMetas?.find(e=>e?.key===u.GLOBAL_META_DESCRIPTION)?.value,B=m(f(u.GLOBAL_META_THUMBNAIL,C?.metafields)||L?.publishedShopMetas?.find(e=>e?.key===u.GLOBAL_META_THUMBNAIL)?.value),D="fulfilled"===y.status?y.value:void 0,N="fulfilled"===A.status?A.value:void 0,H=N?.storeProperty?.favicon??"/favicon/favicon-32x32.png",b={defaultTitle:D?.shop.name,title:C?.name??"Home",description:k??D?.shop.description,openGraph:{site_name:D?.shop.name,locale:D?.localization.country.isoCode,title:C?.name??D?.shop.name,description:k??D?.shop.description,images:B?[B]:[]},additionalMetaTags:[{name:"theme-color",content:"#000000"}],canonical:`https://${N?.storeProperty?.primaryDomain}/`,additionalLinkTags:h({favicon:H,shopMeta:D})},G=D?.localization.language.isoCode??null,w=D?.localization.country.isoCode??null,x=G&&w?`${G}-${w}`:null;return d({themeStyle:i(C?.pageStyle?.data,j),fontStyle:O,elementFontStyle:M,builderData:E,swr:{fallback:S},moneyFormat:D?.shop.moneyFormat??null,currency:D?.localization.country.currency.isoCode??null,languageIsoCode:G,countryIsoCode:w,locale:x,swatches:m(N?.storeProperty?.swatchesConfig),seo:b,mobileOnly:j,gaTrackingId:f(u.ANALYTICS_GA_TRACKING_ID,C?.metafields)??null,facebookPixelId:f(u.ANALYTICS_FB_PIXEL_ID,C?.metafields)??null,tiktokPixelId:f(u.ANALYTICS_TIKTOK_PIXEL_ID,C?.metafields)??null,customCodeHeader:f(u.CUSTOM_CODE_HEADER,C?.metafields)??null,customCodeBody:f(u.CUSTOM_CODE_BODY,C?.metafields)??null,pageHandle:C.handle??null,customFonts:v})}catch(e){throw p(e),e}};export{getHomePagePropsV2};
@@ -1 +1 @@
1
- import{PublishedThemePagesDocument as e,StorePropertyDocument as o,PublishedShopMetasDocument as s,prefetchQueries as t}from"@gem-sdk/core";import{ShopMetaDocument as r}from"@gem-sdk/adapter-shopify";import{getFontFromGlobalStyle as a}from"../google-fonts.js";import{genCSS as i}from"../helpers/gen-css.js";import{generateManifest as l}from"../helpers/generate-manifres.js";import{parseBuilderTemplate as n}from"../helpers/normalize.js";import{parseJson as p,serializableJson as m}from"../helpers/parse-json.js";import{PublishedThemePageMetafields as c}from"../../constants/index.js";import{getPublishedThemePageMetafieldByKey as d}from"../helpers/get-metafield.js";let getHomePageProps=(f,u)=>async()=>{let h="STATIC",g={slugType:h},[y,_,T,A]=await Promise.allSettled([f([e,g]),f([o]),u([r]),f([s,{keys:[c.GLOBAL_META_DESCRIPTION,c.GLOBAL_META_THUMBNAIL]}])]);if("rejected"===y.status)return{pageType:h};let L="fulfilled"===A.status?A.value:void 0,z=y.value.publishedThemePages?.[0],v=n(z),x=await a(z?.pageStyle?.data,void 0),M=t(v),P=await Promise.allSettled(M.map(({query:e,variables:o,func:s})=>s?s(f,o):e?f([e,o]):{})),S=M.reduce((e,{key:o},s)=>{let t=P[s];return t?.status==="fulfilled"?{...e,[o]:t.value}:e},{}),I=d(c.GLOBAL_META_DESCRIPTION,z?.metafields)||L?.publishedShopMetas?.find(e=>e?.key===c.GLOBAL_META_DESCRIPTION)?.value,j=p(d(c.GLOBAL_META_THUMBNAIL,z?.metafields)||L?.publishedShopMetas?.find(e=>e?.key===c.GLOBAL_META_THUMBNAIL)?.value),B="fulfilled"===T.status?T.value:void 0,C="fulfilled"===_.status?_.value:void 0,E=C?.storeProperty?.favicon??"/favicon/favicon-32x32.png",O={defaultTitle:B?.shop.name,title:z?.name??"Home",description:I??B?.shop.description,openGraph:{site_name:B?.shop.name,locale:B?.localization.country.isoCode,title:z?.name??B?.shop.name,description:I??B?.shop.description,images:j?[j]:[]},additionalMetaTags:[{name:"theme-color",content:"#000000"}],canonical:"/",additionalLinkTags:[{rel:"icon",sizes:"32x32",href:`${E}-/crop/1:1/center/-/smart_resize/32x32/`},{rel:"icon",sizes:"16x16",href:`${E}-/crop/1:1/center/-/smart_resize/16x16/`},{rel:"apple-touch-icon",sizes:"180x180",href:`${E}-/crop/1:1/center/-/smart_resize/180x180/`},{rel:"manifest",href:l({theme_color:"#000000",background_color:"#ffffff",display:"standalone",scope:"/",start_url:"/",name:B?.shop.name,short_name:B?.shop.name,description:B?.shop.description,icons:[{src:`${E}-/crop/1:1/center/-/smart_resize/192x192/`,sizes:"192x192",type:"image/png",purpose:"any maskable"},{src:`${E}-/crop/1:1/center/-/smart_resize/512x512/`,sizes:"512x512",type:"image/png"}]})}]},k=B?.localization.language.isoCode??null,G=B?.localization.country.isoCode??null,$=k&&G?`${k}-${G}`:null;return m({themeStyle:i(z?.pageStyle?.data),fontStyle:x,builderData:v,pageType:h,swr:{fallback:S},moneyFormat:B?.shop.moneyFormat??null,currency:B?.localization.country.currency.isoCode??null,locale:$,languageIsoCode:k,countryIsoCode:G,swatches:p(C?.storeProperty?.swatchesConfig),seo:O})};export{getHomePageProps};
1
+ import{PublishedThemePagesDocument as e,StorePropertyDocument as o,PublishedShopMetasDocument as s,prefetchQueries as t}from"@gem-sdk/core";import{ShopMetaDocument as r}from"@gem-sdk/adapter-shopify";import{getFontFromGlobalStyle as a}from"../google-fonts.js";import{genCSS as i}from"../helpers/gen-css.js";import{generateManifest as l}from"../helpers/generate-manifres.js";import{parseBuilderTemplate as n}from"../helpers/normalize.js";import{parseJson as p,serializableJson as m}from"../helpers/parse-json.js";import{PublishedThemePageMetafields as c}from"../../constants/index.js";import{getPublishedThemePageMetafieldByKey as d}from"../helpers/get-metafield.js";let getHomePageProps=(f,u)=>async()=>{let h="STATIC",g={slugType:h},[y,_,T,A]=await Promise.allSettled([f([e,g]),f([o]),u([r]),f([s,{keys:[c.GLOBAL_META_DESCRIPTION,c.GLOBAL_META_THUMBNAIL]}])]);if("rejected"===y.status)return{pageType:h};let L="fulfilled"===A.status?A.value:void 0,z=y.value.publishedThemePages?.[0],v=n(z),x=await a(z?.pageStyle?.data),M=t(v),P=await Promise.allSettled(M.map(({query:e,variables:o,func:s})=>s?s(f,o):e?f([e,o]):{})),S=M.reduce((e,{key:o},s)=>{let t=P[s];return t?.status==="fulfilled"?{...e,[o]:t.value}:e},{}),I=d(c.GLOBAL_META_DESCRIPTION,z?.metafields)||L?.publishedShopMetas?.find(e=>e?.key===c.GLOBAL_META_DESCRIPTION)?.value,j=p(d(c.GLOBAL_META_THUMBNAIL,z?.metafields)||L?.publishedShopMetas?.find(e=>e?.key===c.GLOBAL_META_THUMBNAIL)?.value),B="fulfilled"===T.status?T.value:void 0,C="fulfilled"===_.status?_.value:void 0,E=C?.storeProperty?.favicon??"/favicon/favicon-32x32.png",O={defaultTitle:B?.shop.name,title:z?.name??"Home",description:I??B?.shop.description,openGraph:{site_name:B?.shop.name,locale:B?.localization.country.isoCode,title:z?.name??B?.shop.name,description:I??B?.shop.description,images:j?[j]:[]},additionalMetaTags:[{name:"theme-color",content:"#000000"}],canonical:"/",additionalLinkTags:[{rel:"icon",sizes:"32x32",href:`${E}-/crop/1:1/center/-/smart_resize/32x32/`},{rel:"icon",sizes:"16x16",href:`${E}-/crop/1:1/center/-/smart_resize/16x16/`},{rel:"apple-touch-icon",sizes:"180x180",href:`${E}-/crop/1:1/center/-/smart_resize/180x180/`},{rel:"manifest",href:l({theme_color:"#000000",background_color:"#ffffff",display:"standalone",scope:"/",start_url:"/",name:B?.shop.name,short_name:B?.shop.name,description:B?.shop.description,icons:[{src:`${E}-/crop/1:1/center/-/smart_resize/192x192/`,sizes:"192x192",type:"image/png",purpose:"any maskable"},{src:`${E}-/crop/1:1/center/-/smart_resize/512x512/`,sizes:"512x512",type:"image/png"}]})}]},k=B?.localization.language.isoCode??null,G=B?.localization.country.isoCode??null,$=k&&G?`${k}-${G}`:null;return m({themeStyle:i(z?.pageStyle?.data),fontStyle:x,builderData:v,pageType:h,swr:{fallback:S},moneyFormat:B?.shop.moneyFormat??null,currency:B?.localization.country.currency.isoCode??null,locale:$,languageIsoCode:k,countryIsoCode:G,swatches:p(C?.storeProperty?.swatchesConfig),seo:O})};export{getHomePageProps};
@@ -1 +1 @@
1
- import{ThemePageDocument as e,StorePropertyDocument as r,SaleFunnelDiscountsDocument as a,SaleFunnelOfferDocument as t,LibraryTemplateDocument as l,LibrarySaleFunnelDocument as s,ShopLibraryPageDocument as o}from"@gem-sdk/core";import{captureException as i}from"@sentry/nextjs";import{getFontStyleFromPageTemplate as f,getFontLinkFromGlobalStyle as n}from"../google-fonts.js";import{getFallbackV2 as d}from"../helpers/get-fallback.js";import{parseBuilderLibraryTemplate as u,parseShopLibraryPageTemplate as c,parseBuilderTemplateV2 as h}from"../helpers/normalize.js";import{usePagePreview as y}from"../hooks/usePagePreview.js";import{serializableJson as m}from"../helpers/parse-json.js";import{genCSS as D}from"../helpers/gen-css.js";let fetchSalePageDataByID=async(a,t)=>{let l={themePageId:a.themePageId,first:1,where:{default:!0}},[s,o]=await Promise.allSettled([t([e,l]),t([r])]);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:o,dynamicDiscountOffer:void 0,productOffers:[]}},fetchPostPurchasePageDataByID=async(l,s)=>{let o={themePageId:l.themePageId,first:1,where:{default:!0}},[i,f,n,d]=await Promise.allSettled([s([e,o]),s([r]),s([a,{where:{saleFunnelOfferID:l.currentOfferID}}]),s([t,{saleFunnelOfferId:l.currentOfferID}])]);if("rejected"===i.status)throw Error(i.reason?.[0]);if("rejected"===n.status)throw Error(n.reason?.[0]);if("rejected"===d.status)throw Error(d.reason?.[0]);return{dataBuilder:i.value.themePage,pageStyle:i.value.themePage?.theme?.themeStyles?.edges?.[0]?.node?.data,storeProperty:f,dynamicDiscountOffer:d.value.saleFunnelOffer?.dynamicDiscounts?.[0],productOffers:n.value.saleFunnelDiscounts?.edges?.filter(e=>e?.node?.objectType==="PRODUCT"&&e?.node?.type==="ORDER_VALUE")||[]}},fetchThemePageDataByTemplateID=async(e,a)=>{let t={libraryTemplateId:e.libraryTemplateId},o=[],[i,f]=await Promise.allSettled([a([l,t]),a([r])]);if(e.currentOfferID){let[r]=await Promise.allSettled([a([s,{librarySaleFunnelId:e.librarySaleFunnelID}])]);if("rejected"===r.status)throw Error(r.reason?.[0]);let t=r.value.librarySaleFunnel?.offers?.find(r=>r?.id===e.currentOfferID);t&&(o=t.discounts?.filter(e=>e?.objectType==="PRODUCT"&&"ORDER_VALUE"===e.type).map(e=>({node:{...e}}))||[])}if("rejected"===i.status)throw Error(i.reason?.[0]);return{dataBuilder:i.value.libraryTemplate,pageStyle:void 0,storeProperty:f,dynamicDiscountOffer:void 0,productOffers:o}},fetchShopLibraryPageDataByID=async(e,l)=>{let s={shopLibraryPageId:e.shopLibraryPageId},[i,f,n,d]=await Promise.allSettled([l([o,s]),l([r]),l([a,{where:{saleFunnelOfferID:e.currentOfferID}}]),l([t,{saleFunnelOfferId:e.currentOfferID}])]);if("rejected"===i.status)throw Error(i.reason?.[0]);if("rejected"===n.status)throw Error(n.reason?.[0]);if("rejected"===d.status)throw Error(d.reason?.[0]);return{dataBuilder:i.value.shopLibraryPage,pageStyle:void 0,storeProperty:f,dynamicDiscountOffer:d.value.saleFunnelOffer?.dynamicDiscounts?.[0],productOffers:n.value.saleFunnelDiscounts?.edges?.filter(e=>e?.node?.objectType==="PRODUCT"&&e?.node?.type==="ORDER_VALUE")||[]}},fetchLibraryTemplateDataByID=async(e,s)=>{let o={libraryTemplateId:e.libraryTemplateId},[i,f,n,d]=await Promise.allSettled([s([l,o]),s([r]),s([a,{where:{saleFunnelOfferID:e.currentOfferID}}]),s([t,{saleFunnelOfferId:e.currentOfferID}])]);if("rejected"===i.status)throw Error(i.reason?.[0]);if("rejected"===n.status)throw Error(n.reason?.[0]);if("rejected"===d.status)throw Error(d.reason?.[0]);return{dataBuilder:i.value.libraryTemplate,pageStyle:void 0,storeProperty:f,dynamicDiscountOffer:d.value.saleFunnelOffer?.dynamicDiscounts?.[0],productOffers:n.value.saleFunnelDiscounts?.edges?.filter(e=>e?.node?.objectType==="PRODUCT"&&e?.node?.type==="ORDER_VALUE")||[]}},getRelevantPageData=async e=>{let{id:r,currentOfferID:a,fetcher:t,isLibraryTemplate:l,librarySaleFunnelID:s,isShopLibraryPage:o}=e;return s?await fetchThemePageDataByTemplateID({libraryTemplateId:r,currentOfferID:a,librarySaleFunnelID:s},t):o&&a?await fetchShopLibraryPageDataByID({shopLibraryPageId:r,currentOfferID:a},t):l&&a?await fetchLibraryTemplateDataByID({libraryTemplateId:r,currentOfferID:a},t):a?await fetchPostPurchasePageDataByID({themePageId:r,currentOfferID:a},t):await fetchSalePageDataByID({themePageId:r},t)},getPostPurchasePropsPreview=(e,r,a)=>async t=>{try{let{id:l,currentOfferID:s,isLibraryTemplate:o,isShopLibraryPage:i}=t,{dataBuilder:p,storeProperty:P,productOffers:g,pageStyle:I,dynamicDiscountOffer:w}=await getRelevantPageData({id:l,currentOfferID:s,fetcher:e,isLibraryTemplate:o,isShopLibraryPage:i,librarySaleFunnelID:r});if(!p)throw Error(`No data builder found for slug: /preview/${l}`);let O=r||o&&s?u(p):i?c(p):h(p),b=a||e,[v,T,j]=await Promise.all([f(O,void 0,I),n(I,void 0),d(b,O,!1)]),{seo:S,pageConfig:E}=y(p,P);return m({themeStyle:D(I),seo:S,...E,elementFontStyle:v,fontStyle:T,builderData:O,swr:{fallback:j},productOffers:g,dynamicDiscountOffer:w})}catch(e){throw console.log("error",e),i(e),e}};export{fetchLibraryTemplateDataByID,fetchPostPurchasePageDataByID,fetchSalePageDataByID,fetchShopLibraryPageDataByID,fetchThemePageDataByTemplateID,getPostPurchasePropsPreview,getRelevantPageData};
1
+ import{ThemePageDocument as e,StorePropertyDocument as r,SaleFunnelDiscountsDocument as a,SaleFunnelOfferDocument as t,LibraryTemplateDocument as l,LibrarySaleFunnelDocument as s,ShopLibraryPageDocument as o}from"@gem-sdk/core";import{captureException as i}from"@sentry/nextjs";import{getFontStyleFromPageTemplate as f,getFontFromGlobalStyle as n}from"../google-fonts.js";import{getFallbackV2 as d}from"../helpers/get-fallback.js";import{parseBuilderLibraryTemplate as u,parseShopLibraryPageTemplate as c,parseBuilderTemplateV2 as h}from"../helpers/normalize.js";import{usePagePreview as y}from"../hooks/usePagePreview.js";import{serializableJson as m}from"../helpers/parse-json.js";import{genCSS as D}from"../helpers/gen-css.js";let fetchSalePageDataByID=async(a,t)=>{let l={themePageId:a.themePageId,first:1,where:{default:!0}},[s,o]=await Promise.allSettled([t([e,l]),t([r])]);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:o,dynamicDiscountOffer:void 0,productOffers:[]}},fetchPostPurchasePageDataByID=async(l,s)=>{let o={themePageId:l.themePageId,first:1,where:{default:!0}},[i,f,n,d]=await Promise.allSettled([s([e,o]),s([r]),s([a,{where:{saleFunnelOfferID:l.currentOfferID}}]),s([t,{saleFunnelOfferId:l.currentOfferID}])]);if("rejected"===i.status)throw Error(i.reason?.[0]);if("rejected"===n.status)throw Error(n.reason?.[0]);if("rejected"===d.status)throw Error(d.reason?.[0]);return{dataBuilder:i.value.themePage,pageStyle:i.value.themePage?.theme?.themeStyles?.edges?.[0]?.node?.data,storeProperty:f,dynamicDiscountOffer:d.value.saleFunnelOffer?.dynamicDiscounts?.[0],productOffers:n.value.saleFunnelDiscounts?.edges?.filter(e=>e?.node?.objectType==="PRODUCT"&&e?.node?.type==="ORDER_VALUE")||[]}},fetchThemePageDataByTemplateID=async(e,a)=>{let t={libraryTemplateId:e.libraryTemplateId},o=[],[i,f]=await Promise.allSettled([a([l,t]),a([r])]);if(e.currentOfferID){let[r]=await Promise.allSettled([a([s,{librarySaleFunnelId:e.librarySaleFunnelID}])]);if("rejected"===r.status)throw Error(r.reason?.[0]);let t=r.value.librarySaleFunnel?.offers?.find(r=>r?.id===e.currentOfferID);t&&(o=t.discounts?.filter(e=>e?.objectType==="PRODUCT"&&"ORDER_VALUE"===e.type).map(e=>({node:{...e}}))||[])}if("rejected"===i.status)throw Error(i.reason?.[0]);return{dataBuilder:i.value.libraryTemplate,pageStyle:void 0,storeProperty:f,dynamicDiscountOffer:void 0,productOffers:o}},fetchShopLibraryPageDataByID=async(e,l)=>{let s={shopLibraryPageId:e.shopLibraryPageId},[i,f,n,d]=await Promise.allSettled([l([o,s]),l([r]),l([a,{where:{saleFunnelOfferID:e.currentOfferID}}]),l([t,{saleFunnelOfferId:e.currentOfferID}])]);if("rejected"===i.status)throw Error(i.reason?.[0]);if("rejected"===n.status)throw Error(n.reason?.[0]);if("rejected"===d.status)throw Error(d.reason?.[0]);return{dataBuilder:i.value.shopLibraryPage,pageStyle:void 0,storeProperty:f,dynamicDiscountOffer:d.value.saleFunnelOffer?.dynamicDiscounts?.[0],productOffers:n.value.saleFunnelDiscounts?.edges?.filter(e=>e?.node?.objectType==="PRODUCT"&&e?.node?.type==="ORDER_VALUE")||[]}},fetchLibraryTemplateDataByID=async(e,s)=>{let o={libraryTemplateId:e.libraryTemplateId},[i,f,n,d]=await Promise.allSettled([s([l,o]),s([r]),s([a,{where:{saleFunnelOfferID:e.currentOfferID}}]),s([t,{saleFunnelOfferId:e.currentOfferID}])]);if("rejected"===i.status)throw Error(i.reason?.[0]);if("rejected"===n.status)throw Error(n.reason?.[0]);if("rejected"===d.status)throw Error(d.reason?.[0]);return{dataBuilder:i.value.libraryTemplate,pageStyle:void 0,storeProperty:f,dynamicDiscountOffer:d.value.saleFunnelOffer?.dynamicDiscounts?.[0],productOffers:n.value.saleFunnelDiscounts?.edges?.filter(e=>e?.node?.objectType==="PRODUCT"&&e?.node?.type==="ORDER_VALUE")||[]}},getRelevantPageData=async e=>{let{id:r,currentOfferID:a,fetcher:t,isLibraryTemplate:l,librarySaleFunnelID:s,isShopLibraryPage:o}=e;return s?await fetchThemePageDataByTemplateID({libraryTemplateId:r,currentOfferID:a,librarySaleFunnelID:s},t):o&&a?await fetchShopLibraryPageDataByID({shopLibraryPageId:r,currentOfferID:a},t):l&&a?await fetchLibraryTemplateDataByID({libraryTemplateId:r,currentOfferID:a},t):a?await fetchPostPurchasePageDataByID({themePageId:r,currentOfferID:a},t):await fetchSalePageDataByID({themePageId:r},t)},getPostPurchasePropsPreview=(e,r,a)=>async t=>{try{let{id:l,currentOfferID:s,isLibraryTemplate:o,isShopLibraryPage:i}=t,{dataBuilder:p,storeProperty:P,productOffers:g,pageStyle:I,dynamicDiscountOffer:w}=await getRelevantPageData({id:l,currentOfferID:s,fetcher:e,isLibraryTemplate:o,isShopLibraryPage:i,librarySaleFunnelID:r});if(!p)throw Error(`No data builder found for slug: /preview/${l}`);let O=r||o&&s?u(p):i?c(p):h(p),b=a||e,[v,T,j]=await Promise.all([f(O),n(I),d(b,O,!1)]),{seo:S,pageConfig:E}=y(p,P);return m({themeStyle:D(I),seo:S,...E,elementFontStyle:v,fontStyle:T,builderData:O,swr:{fallback:j},productOffers:g,dynamicDiscountOffer:w})}catch(e){throw console.log("error",e),i(e),e}};export{fetchLibraryTemplateDataByID,fetchPostPurchasePageDataByID,fetchSalePageDataByID,fetchShopLibraryPageDataByID,fetchThemePageDataByTemplateID,getPostPurchasePropsPreview,getRelevantPageData};
@@ -1 +1 @@
1
- import{StorePropertyDocument as e}from"@gem-sdk/core";import{captureException as l}from"@sentry/nextjs";import{getCustomFonts as t}from"../custom-fonts.js";import{getFontStyleFromPageTemplate as o,getFontLinkFromGlobalStyle as r}from"../google-fonts.js";import{genCSS as s}from"../helpers/gen-css.js";import{parseBuilderTemplateV2 as n}from"../helpers/normalize.js";import{serializableJson as a,parseJson as i}from"../helpers/parse-json.js";import{createFetcher as u}from"../fetcher.js";import{getCollectionSharePageProps as p}from"./get-collection-share-page-props.js";let getSharePageContentProps=c=>async f=>{try{let{sharedPage:l,customFonts:m,publicToken:d}=await c([f]);if(!l||!d)return null;let{page:y,themeStyle:P,pageMeta:v,shopMeta:C,moneyFormat:g,moneyWithCurrencyFormat:_}=l,{sectionPosition:h}=y??{},O=n({...l,sectionPosition:h}),j=null,I=null,L=null;if(y?.type==="GP_COLLECTION"){let e=(v??[]).find(e=>"selected_preview_collection"===e.key)?.value,l=e?JSON.parse(e??{}):null;I=l?.collectionId,L=l?.collectionTitle}let T=null;if(y?.type==="GP_PRODUCT"){let e=(v??[]).find(e=>"selected_preview_product"===e.key)?.value;T=e?JSON.parse(e??{}):null}let[S,w,N,D,G]=await Promise.allSettled([o(O,void 0,P?.data),r(P?.data),t(m),u(d)([e]),y?.type==="GP_COLLECTION"?p(u(d))(I??void 0):null]);j="fulfilled"===G.status?G.value?.collection:null;let k="fulfilled"===S.status?S.value:null,E="fulfilled"===w.status?w.value:null,U="fulfilled"===N.status?N.value:null,b="fulfilled"===D.status?D.value:void 0;return a({builderData:O,page:y,themeStyle:s(P?.data,!1),pageMeta:v,shopMeta:C,elementFontStyle:k,fontStyle:E,customFonts:U,publicStoreFrontData:d?{token:d,endpoint:process.env.NEXT_PUBLIC_API_URL??""}:null,pageType:y?.type,moneyFormat:g,moneyWithCurrencyFormat:_,swatches:i(b?.storeProperty?.swatchesConfig),collection:j,dynamicCollection:y?.type==="GP_COLLECTION"?{collectionId:j?.baseID,collectionTitle:L}:null,dynamicProduct:y?.type==="GP_PRODUCT"?T:null})}catch(e){return l(e),null}};export{getSharePageContentProps};
1
+ import{StorePropertyDocument as e}from"@gem-sdk/core";import{captureException as l}from"@sentry/nextjs";import{getCustomFonts as t}from"../custom-fonts.js";import{getFontStyleFromPageTemplate as o,getFontFromGlobalStyle as r}from"../google-fonts.js";import{genCSS as s}from"../helpers/gen-css.js";import{parseBuilderTemplateV2 as n}from"../helpers/normalize.js";import{serializableJson as a,parseJson as u}from"../helpers/parse-json.js";import{createFetcher as i}from"../fetcher.js";import{getCollectionSharePageProps as p}from"./get-collection-share-page-props.js";let getSharePageContentProps=c=>async f=>{try{let{sharedPage:l,customFonts:m,publicToken:d}=await c([f]);if(!l||!d)return null;let{page:y,themeStyle:P,pageMeta:C,shopMeta:g,moneyFormat:v,moneyWithCurrencyFormat:_}=l,{sectionPosition:h}=y??{},O=n({...l,sectionPosition:h}),j=null,I=null,L=null;if(y?.type==="GP_COLLECTION"){let e=(C??[]).find(e=>"selected_preview_collection"===e.key)?.value,l=e?JSON.parse(e??{}):null;I=l?.collectionId,L=l?.collectionTitle}let T=null;if(y?.type==="GP_PRODUCT"){let e=(C??[]).find(e=>"selected_preview_product"===e.key)?.value;T=e?JSON.parse(e??{}):null}let[S,w,N,D,G]=await Promise.allSettled([o(O),r(P?.data),t(m),i(d)([e]),y?.type==="GP_COLLECTION"?p(i(d))(I??void 0):null]);j="fulfilled"===G.status?G.value?.collection:null;let k="fulfilled"===S.status?S.value:null,E="fulfilled"===w.status?w.value:null,U="fulfilled"===N.status?N.value:null,b="fulfilled"===D.status?D.value:void 0;return a({builderData:O,page:y,themeStyle:s(P?.data,!1),pageMeta:C,shopMeta:g,elementFontStyle:k,fontStyle:E,customFonts:U,publicStoreFrontData:d?{token:d,endpoint:process.env.NEXT_PUBLIC_API_URL??""}:null,pageType:y?.type,moneyFormat:v,moneyWithCurrencyFormat:_,swatches:u(b?.storeProperty?.swatchesConfig),collection:j,dynamicCollection:y?.type==="GP_COLLECTION"?{collectionId:j?.baseID,collectionTitle:L}:null,dynamicProduct:y?.type==="GP_PRODUCT"?T:null})}catch(e){return l(e),null}};export{getSharePageContentProps};
@@ -1 +1 @@
1
- import{PreviewThemePageDocument as e,StorePropertyDocument as o}from"@gem-sdk/core";import{ShopMetaDocument as t}from"@gem-sdk/adapter-shopify";import{captureException as a}from"@sentry/nextjs";import{getFontStyleFromPageTemplate as r,getFontLinkFromGlobalStyle as i}from"../google-fonts.js";import{genCSS as l}from"../helpers/gen-css.js";import{getFallbackV2 as n}from"../helpers/get-fallback.js";import{parseBuilderTemplateV2 as s,extractPageBackground as m}from"../helpers/normalize.js";import{parseJson as c,serializableJson as d}from"../helpers/parse-json.js";import{getCustomFonts as p}from"../custom-fonts.js";import{sentryCaptureException as u}from"../helpers/sentry.js";import{generateSeoLinks as f}from"../helpers/generate-seo-links.js";let getStaticPagePropsPreview=(h,g)=>async y=>{try{let a="STATIC",v={handleURL:y,pageType:a},[P,k,w]=await Promise.allSettled([h([e,v]),h([o]),g([t])]);if("rejected"===P.status)throw u("PreviewThemePageDocument",P.reason,{variables:v,theme:P}),Error(P.reason?.[0]);let j=P.value.previewThemePage;if(!j)throw Error(`No data builder found for slug: /preview/${y}`);let b=j.customFonts,C=s(j),[S,T,x,I]=await Promise.all([r(C,void 0,j?.themeStyle?.data),i(j?.themeStyle?.data),n(h,C),p(b)]),z=!!j.isMobile,D=j?.dataSEO?.find(e=>e?.key==="global-meta-description")?.value,E=c(j?.dataSEO?.find(e=>e?.key==="global-meta-thumbnail")?.value),$="fulfilled"===w.status?w.value:void 0,F="fulfilled"===k.status?k.value:void 0,B=F?.storeProperty?.favicon??"/favicon/favicon-32x32.png",L={defaultTitle:$?.shop.name,title:j?.name,description:D??$?.shop.description,openGraph:{site_name:$?.shop.name,locale:$?.localization.country.isoCode,title:j?.name??$?.shop.name,description:D??$?.shop.description,images:E?[E]:[]},nofollow:!0,noindex:!0,canonical:`/preview/${y}`,additionalMetaTags:[{name:"theme-color",content:"#000000"}],additionalLinkTags:f({favicon:B,shopMeta:$})},M=$?.localization.language.isoCode??null,O=$?.localization.country.isoCode??null,A=M&&O?`${M}-${O}`:null;return d({themeStyle:l(j?.themeStyle?.data,z),fontStyle:T,elementFontStyle:S,builderData:C,pageType:a,moneyFormat:$?.shop?.moneyFormat??null,currency:$?.localization?.country?.currency?.isoCode??null,languageIsoCode:M,countryIsoCode:O,locale:A,swr:{fallback:x},swatches:c(F?.storeProperty?.swatchesConfig),seo:L,mobileOnly:z,gaTrackingId:j.analytic?.gaTrackingID??null,facebookPixelId:j.analytic?.fbPixelID??null,tiktokPixelId:j.analytic?.tiktokPixelID??null,customCodeHeader:j.customCode?.header??null,customCodeBody:j.customCode?.body??null,customFonts:I,pageBackground:m(j),interaction:j?.interaction})}catch(e){throw a(e),e}};export{getStaticPagePropsPreview};
1
+ import{PreviewThemePageDocument as e,StorePropertyDocument as o}from"@gem-sdk/core";import{ShopMetaDocument as t}from"@gem-sdk/adapter-shopify";import{captureException as a}from"@sentry/nextjs";import{getFontStyleFromPageTemplate as r,getFontFromGlobalStyle as i}from"../google-fonts.js";import{genCSS as l}from"../helpers/gen-css.js";import{getFallbackV2 as n}from"../helpers/get-fallback.js";import{parseBuilderTemplateV2 as s,extractPageBackground as m}from"../helpers/normalize.js";import{parseJson as c,serializableJson as d}from"../helpers/parse-json.js";import{getCustomFonts as p}from"../custom-fonts.js";import{sentryCaptureException as u}from"../helpers/sentry.js";import{generateSeoLinks as f}from"../helpers/generate-seo-links.js";let getStaticPagePropsPreview=(g,h)=>async y=>{try{let a="STATIC",P={handleURL:y,pageType:a},[v,k,w]=await Promise.allSettled([g([e,P]),g([o]),h([t])]);if("rejected"===v.status)throw u("PreviewThemePageDocument",v.reason,{variables:P,theme:v}),Error(v.reason?.[0]);let j=v.value.previewThemePage;if(!j)throw Error(`No data builder found for slug: /preview/${y}`);let b=j.customFonts,C=s(j),[S,T,x,I]=await Promise.all([r(C),i(j?.themeStyle?.data),n(g,C),p(b)]),z=!!j.isMobile,D=j?.dataSEO?.find(e=>e?.key==="global-meta-description")?.value,E=c(j?.dataSEO?.find(e=>e?.key==="global-meta-thumbnail")?.value),$="fulfilled"===w.status?w.value:void 0,F="fulfilled"===k.status?k.value:void 0,B=F?.storeProperty?.favicon??"/favicon/favicon-32x32.png",L={defaultTitle:$?.shop.name,title:j?.name,description:D??$?.shop.description,openGraph:{site_name:$?.shop.name,locale:$?.localization.country.isoCode,title:j?.name??$?.shop.name,description:D??$?.shop.description,images:E?[E]:[]},nofollow:!0,noindex:!0,canonical:`/preview/${y}`,additionalMetaTags:[{name:"theme-color",content:"#000000"}],additionalLinkTags:f({favicon:B,shopMeta:$})},M=$?.localization.language.isoCode??null,O=$?.localization.country.isoCode??null,A=M&&O?`${M}-${O}`:null;return d({themeStyle:l(j?.themeStyle?.data,z),fontStyle:T,elementFontStyle:S,builderData:C,pageType:a,moneyFormat:$?.shop?.moneyFormat??null,currency:$?.localization?.country?.currency?.isoCode??null,languageIsoCode:M,countryIsoCode:O,locale:A,swr:{fallback:x},swatches:c(F?.storeProperty?.swatchesConfig),seo:L,mobileOnly:z,gaTrackingId:j.analytic?.gaTrackingID??null,facebookPixelId:j.analytic?.fbPixelID??null,tiktokPixelId:j.analytic?.tiktokPixelID??null,customCodeHeader:j.customCode?.header??null,customCodeBody:j.customCode?.body??null,customFonts:I,pageBackground:m(j),interaction:j?.interaction})}catch(e){throw a(e),e}};export{getStaticPagePropsPreview};
@@ -1 +1 @@
1
- import{PublishedThemePagesDocument as e,StorePropertyDocument as o,PublishedShopMetasDocument as t}from"@gem-sdk/core";import{ShopMetaDocument as a}from"@gem-sdk/adapter-shopify";import{getFontStyleFromPageTemplate as l,getFontLinkFromGlobalStyle as s}from"../google-fonts.js";import{genCSS as i}from"../helpers/gen-css.js";import{getFallbackV2 as r}from"../helpers/get-fallback.js";import{parseBuilderTemplateV2 as n,extractPageBackground as d}from"../helpers/normalize.js";import{parseJson as m,serializableJson as p}from"../helpers/parse-json.js";import{captureException as u}from"@sentry/nextjs";import{getCustomFonts as f}from"../custom-fonts.js";import{getPublishedThemePageMetafieldByKey as c}from"../helpers/get-metafield.js";import{PublishedThemePageMetafields as h}from"../../constants/index.js";import{generateSeoLinks as _}from"../helpers/generate-seo-links.js";let getStaticPagePropsV2=(T,g)=>async L=>{try{let u="STATIC",A={slug:L,slugType:u},[y,E,I,O]=await Promise.allSettled([T([e,A]),T([o]),g([a]),T([t,{keys:["source_font",h.GLOBAL_META_DESCRIPTION,h.GLOBAL_META_THUMBNAIL]}])]);if("rejected"===y.status)throw Error(y.reason?.[0]);let S="fulfilled"===O.status?O.value:void 0,M=S?.publishedShopMetas?.find(e=>e?.key==="source_font"),C=y.value.publishedThemePages?.[0],P=y.value?.publishedThemePages?.[0]?.themePageCustomFonts;if(!C)throw Error(`No data builder found for slug: /${L}`);let v=n(C),[k,N,B,D]=await Promise.all([l(v,M?.value,C?.pageStyle?.data),s(C?.pageStyle?.data,M?.value),r(T,v),f(P)]),b=C.isMobile??!1,j=c(h.GLOBAL_META_DESCRIPTION,C?.metafields)||S?.publishedShopMetas?.find(e=>e?.key===h.GLOBAL_META_DESCRIPTION)?.value,G=c(h.GLOBAL_META_TITLE,C?.metafields)||S?.publishedShopMetas?.find(e=>e?.key===h.GLOBAL_META_TITLE)?.value,w=m(c(h.GLOBAL_META_THUMBNAIL,C?.metafields)||S?.publishedShopMetas?.find(e=>e?.key===h.GLOBAL_META_THUMBNAIL)?.value),Y=c(h.NOINDEX_KEY,C?.metafields)||S?.publishedShopMetas?.find(e=>e?.key===h.NOINDEX_KEY)?.value,x=c(h.NOFOLLOW_KEY,C?.metafields)||S?.publishedShopMetas?.find(e=>e?.key===h.NOFOLLOW_KEY)?.value,K="fulfilled"===I.status?I.value:void 0,F="fulfilled"===E.status?E.value:void 0,H=F?.storeProperty?.favicon??"/favicon/favicon-32x32.png",z={defaultTitle:K?.shop.name,title:G||C?.name,description:j??K?.shop.description,openGraph:{site_name:K?.shop.name,locale:K?.localization.country.isoCode,title:(G||C?.name)??K?.shop.name,description:j??K?.shop.description,images:w?[w]:[]},noindex:"true"===Y,nofollow:"true"===x,canonical:`https://${F?.storeProperty?.primaryDomain}/${L}`,additionalMetaTags:[{name:"theme-color",content:"#000000"}],additionalLinkTags:_({favicon:H,shopMeta:K})},R=K?.localization.language.isoCode??null,U=K?.localization.country.isoCode??null,$=R&&U?`${R}-${U}`:null;return p({themeStyle:i(C?.pageStyle?.data,b),fontStyle:N,elementFontStyle:k,builderData:v,pageType:u,moneyFormat:K?.shop.moneyFormat??null,currency:K?.localization.country.currency.isoCode??null,languageIsoCode:R,countryIsoCode:U,locale:$,swr:{fallback:B},swatches:m(F?.storeProperty?.swatchesConfig),seo:z,mobileOnly:b,gaTrackingId:c(h.ANALYTICS_GA_TRACKING_ID,C?.metafields)??null,facebookPixelId:c(h.ANALYTICS_FB_PIXEL_ID,C?.metafields)??null,tiktokPixelId:c(h.ANALYTICS_TIKTOK_PIXEL_ID,C?.metafields)??null,customCodeHeader:c(h.CUSTOM_CODE_HEADER,C?.metafields)??null,customCodeBody:c(h.CUSTOM_CODE_BODY,C?.metafields)??null,pageHandle:C.handle??null,customFonts:D,interaction:C?.interaction,pageBackground:d(C)})}catch(e){throw u(e),e}};export{getStaticPagePropsV2};
1
+ import{PublishedThemePagesDocument as e,StorePropertyDocument as o,PublishedShopMetasDocument as t}from"@gem-sdk/core";import{ShopMetaDocument as a}from"@gem-sdk/adapter-shopify";import{getFontStyleFromPageTemplate as l,getFontFromGlobalStyle as s}from"../google-fonts.js";import{genCSS as i}from"../helpers/gen-css.js";import{getFallbackV2 as r}from"../helpers/get-fallback.js";import{parseBuilderTemplateV2 as n,extractPageBackground as d}from"../helpers/normalize.js";import{parseJson as m,serializableJson as p}from"../helpers/parse-json.js";import{captureException as u}from"@sentry/nextjs";import{getCustomFonts as f}from"../custom-fonts.js";import{getPublishedThemePageMetafieldByKey as c}from"../helpers/get-metafield.js";import{PublishedThemePageMetafields as h}from"../../constants/index.js";import{generateSeoLinks as _}from"../helpers/generate-seo-links.js";let getStaticPagePropsV2=(T,g)=>async L=>{try{let u="STATIC",A={slug:L,slugType:u},[y,E,I,O]=await Promise.allSettled([T([e,A]),T([o]),g([a]),T([t,{keys:["source_font",h.GLOBAL_META_DESCRIPTION,h.GLOBAL_META_THUMBNAIL]}])]);if("rejected"===y.status)throw Error(y.reason?.[0]);let M="fulfilled"===O.status?O.value:void 0,S=M?.publishedShopMetas?.find(e=>e?.key==="source_font"),C=y.value.publishedThemePages?.[0],P=y.value?.publishedThemePages?.[0]?.themePageCustomFonts;if(!C)throw Error(`No data builder found for slug: /${L}`);let v=n(C),[k,N,B,D]=await Promise.all([l(v,S?.value),s(C?.pageStyle?.data,S?.value),r(T,v),f(P)]),b=C.isMobile??!1,j=c(h.GLOBAL_META_DESCRIPTION,C?.metafields)||M?.publishedShopMetas?.find(e=>e?.key===h.GLOBAL_META_DESCRIPTION)?.value,G=c(h.GLOBAL_META_TITLE,C?.metafields)||M?.publishedShopMetas?.find(e=>e?.key===h.GLOBAL_META_TITLE)?.value,w=m(c(h.GLOBAL_META_THUMBNAIL,C?.metafields)||M?.publishedShopMetas?.find(e=>e?.key===h.GLOBAL_META_THUMBNAIL)?.value),Y=c(h.NOINDEX_KEY,C?.metafields)||M?.publishedShopMetas?.find(e=>e?.key===h.NOINDEX_KEY)?.value,x=c(h.NOFOLLOW_KEY,C?.metafields)||M?.publishedShopMetas?.find(e=>e?.key===h.NOFOLLOW_KEY)?.value,K="fulfilled"===I.status?I.value:void 0,F="fulfilled"===E.status?E.value:void 0,H=F?.storeProperty?.favicon??"/favicon/favicon-32x32.png",z={defaultTitle:K?.shop.name,title:G||C?.name,description:j??K?.shop.description,openGraph:{site_name:K?.shop.name,locale:K?.localization.country.isoCode,title:(G||C?.name)??K?.shop.name,description:j??K?.shop.description,images:w?[w]:[]},noindex:"true"===Y,nofollow:"true"===x,canonical:`https://${F?.storeProperty?.primaryDomain}/${L}`,additionalMetaTags:[{name:"theme-color",content:"#000000"}],additionalLinkTags:_({favicon:H,shopMeta:K})},R=K?.localization.language.isoCode??null,U=K?.localization.country.isoCode??null,$=R&&U?`${R}-${U}`:null;return p({themeStyle:i(C?.pageStyle?.data,b),fontStyle:N,elementFontStyle:k,builderData:v,pageType:u,moneyFormat:K?.shop.moneyFormat??null,currency:K?.localization.country.currency.isoCode??null,languageIsoCode:R,countryIsoCode:U,locale:$,swr:{fallback:B},swatches:m(F?.storeProperty?.swatchesConfig),seo:z,mobileOnly:b,gaTrackingId:c(h.ANALYTICS_GA_TRACKING_ID,C?.metafields)??null,facebookPixelId:c(h.ANALYTICS_FB_PIXEL_ID,C?.metafields)??null,tiktokPixelId:c(h.ANALYTICS_TIKTOK_PIXEL_ID,C?.metafields)??null,customCodeHeader:c(h.CUSTOM_CODE_HEADER,C?.metafields)??null,customCodeBody:c(h.CUSTOM_CODE_BODY,C?.metafields)??null,pageHandle:C.handle??null,customFonts:D,interaction:C?.interaction,pageBackground:d(C)})}catch(e){throw u(e),e}};export{getStaticPagePropsV2};
@@ -1 +1 @@
1
- import{PublishedThemePagesDocument as e,StorePropertyDocument as t,PublishedShopMetasDocument as o,prefetchQueries as s}from"@gem-sdk/core";import{ShopMetaDocument as a}from"@gem-sdk/adapter-shopify";import{getFontLinkFromGlobalStyle as r}from"../google-fonts.js";import{genCSS as i}from"../helpers/gen-css.js";import{generateManifest as l}from"../helpers/generate-manifres.js";import{parseBuilderTemplate as n}from"../helpers/normalize.js";import{parseJson as p,serializableJson as c}from"../helpers/parse-json.js";import{PublishedThemePageMetafields as m}from"../../constants/index.js";import{getPublishedThemePageMetafieldByKey as d}from"../helpers/get-metafield.js";let getStaticPageProps=(f,u)=>async h=>{let g="STATIC",_={slug:h,slugType:g},[y,T,A,L]=await Promise.allSettled([f([e,_]),f([t]),u([a]),f([o,{keys:["source_font",m.GLOBAL_META_DESCRIPTION,m.GLOBAL_META_THUMBNAIL]}])]);if("rejected"===y.status)return{pageType:g};let z="fulfilled"===L.status?L.value:void 0,v=y.value.publishedThemePages?.[0],x=n(v),S=await r(v?.pageStyle?.data),M=s(x),P=await Promise.allSettled(M.map(({query:e,variables:t,func:o})=>o?o(f,t):e?f([e,t]):{})),I=M.reduce((e,{key:t},o)=>{let s=P[o];return s?.status==="fulfilled"?{...e,[t]:s.value}:e},{}),j=d(m.GLOBAL_META_DESCRIPTION,v?.metafields)||z?.publishedShopMetas?.find(e=>e?.key===m.GLOBAL_META_DESCRIPTION)?.value,B=p(d(m.GLOBAL_META_THUMBNAIL,v?.metafields)||z?.publishedShopMetas?.find(e=>e?.key===m.GLOBAL_META_THUMBNAIL)?.value),C="fulfilled"===A.status?A.value:void 0,E="fulfilled"===T.status?T.value:void 0,O=E?.storeProperty?.favicon??"/favicon/favicon-32x32.png",k={defaultTitle:C?.shop.name??"",title:v?.name??"",description:j??C?.shop.description??"",openGraph:{site_name:C?.shop.name??"",locale:C?.localization.country.isoCode??"",title:v?.name??C?.shop.name??"",description:j??C?.shop.description??"",images:B?[B]:[]},additionalMetaTags:[{name:"theme-color",content:"#000000"}],canonical:`/${h}`,additionalLinkTags:[{rel:"icon",sizes:"32x32",href:`${O}-/crop/1:1/center/-/smart_resize/32x32/`},{rel:"icon",sizes:"16x16",href:`${O}-/crop/1:1/center/-/smart_resize/16x16/`},{rel:"apple-touch-icon",sizes:"180x180",href:`${O}-/crop/1:1/center/-/smart_resize/180x180/`},{rel:"manifest",href:l({theme_color:"#000000",background_color:"#ffffff",display:"standalone",scope:"/",start_url:"/",name:C?.shop.name,short_name:C?.shop.name,description:C?.shop.description,icons:[{src:`${O}-/crop/1:1/center/-/smart_resize/192x192/`,sizes:"192x192",type:"image/png",purpose:"any maskable"},{src:`${O}-/crop/1:1/center/-/smart_resize/512x512/`,sizes:"512x512",type:"image/png"}]})}]},$=C?.localization.language.isoCode??null,G=C?.localization.country.isoCode??null,b=$&&G?`${$}-${G}`:null;return c({themeStyle:i(v?.pageStyle?.data),fontStyle:S,builderData:x,pageType:g,moneyFormat:C?.shop.moneyFormat??null,currency:C?.localization.country.currency.isoCode??null,languageIsoCode:$,countryIsoCode:G,locale:b,swr:{fallback:I},swatches:p(E?.storeProperty?.swatchesConfig),seo:k})};export{getStaticPageProps};
1
+ import{PublishedThemePagesDocument as e,StorePropertyDocument as t,PublishedShopMetasDocument as o,prefetchQueries as s}from"@gem-sdk/core";import{ShopMetaDocument as a}from"@gem-sdk/adapter-shopify";import{getFontFromGlobalStyle as r}from"../google-fonts.js";import{genCSS as i}from"../helpers/gen-css.js";import{generateManifest as l}from"../helpers/generate-manifres.js";import{parseBuilderTemplate as n}from"../helpers/normalize.js";import{parseJson as p,serializableJson as c}from"../helpers/parse-json.js";import{PublishedThemePageMetafields as m}from"../../constants/index.js";import{getPublishedThemePageMetafieldByKey as d}from"../helpers/get-metafield.js";let getStaticPageProps=(f,u)=>async h=>{let g="STATIC",_={slug:h,slugType:g},[y,T,A,L]=await Promise.allSettled([f([e,_]),f([t]),u([a]),f([o,{keys:["source_font",m.GLOBAL_META_DESCRIPTION,m.GLOBAL_META_THUMBNAIL]}])]);if("rejected"===y.status)return{pageType:g};let z="fulfilled"===L.status?L.value:void 0,v=y.value.publishedThemePages?.[0],x=n(v),S=await r(v?.pageStyle?.data),M=s(x),P=await Promise.allSettled(M.map(({query:e,variables:t,func:o})=>o?o(f,t):e?f([e,t]):{})),I=M.reduce((e,{key:t},o)=>{let s=P[o];return s?.status==="fulfilled"?{...e,[t]:s.value}:e},{}),j=d(m.GLOBAL_META_DESCRIPTION,v?.metafields)||z?.publishedShopMetas?.find(e=>e?.key===m.GLOBAL_META_DESCRIPTION)?.value,B=p(d(m.GLOBAL_META_THUMBNAIL,v?.metafields)||z?.publishedShopMetas?.find(e=>e?.key===m.GLOBAL_META_THUMBNAIL)?.value),C="fulfilled"===A.status?A.value:void 0,E="fulfilled"===T.status?T.value:void 0,O=E?.storeProperty?.favicon??"/favicon/favicon-32x32.png",k={defaultTitle:C?.shop.name??"",title:v?.name??"",description:j??C?.shop.description??"",openGraph:{site_name:C?.shop.name??"",locale:C?.localization.country.isoCode??"",title:v?.name??C?.shop.name??"",description:j??C?.shop.description??"",images:B?[B]:[]},additionalMetaTags:[{name:"theme-color",content:"#000000"}],canonical:`/${h}`,additionalLinkTags:[{rel:"icon",sizes:"32x32",href:`${O}-/crop/1:1/center/-/smart_resize/32x32/`},{rel:"icon",sizes:"16x16",href:`${O}-/crop/1:1/center/-/smart_resize/16x16/`},{rel:"apple-touch-icon",sizes:"180x180",href:`${O}-/crop/1:1/center/-/smart_resize/180x180/`},{rel:"manifest",href:l({theme_color:"#000000",background_color:"#ffffff",display:"standalone",scope:"/",start_url:"/",name:C?.shop.name,short_name:C?.shop.name,description:C?.shop.description,icons:[{src:`${O}-/crop/1:1/center/-/smart_resize/192x192/`,sizes:"192x192",type:"image/png",purpose:"any maskable"},{src:`${O}-/crop/1:1/center/-/smart_resize/512x512/`,sizes:"512x512",type:"image/png"}]})}]},$=C?.localization.language.isoCode??null,G=C?.localization.country.isoCode??null,b=$&&G?`${$}-${G}`:null;return c({themeStyle:i(v?.pageStyle?.data),fontStyle:S,builderData:x,pageType:g,moneyFormat:C?.shop.moneyFormat??null,currency:C?.localization.country.currency.isoCode??null,languageIsoCode:$,countryIsoCode:G,locale:b,swr:{fallback:I},swatches:p(E?.storeProperty?.swatchesConfig),seo:k})};export{getStaticPageProps};
@@ -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(a=>200===a.status?a.text():(r("getFontForUA",`Unexpected status ${a.status}`,{url:t,UA:e}),""))}catch(a){return r("getFontForUA","Error fetching font",{url:t,UA:e,error:a}),""}}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,"+")??"",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"},isValidFont=(e,r,a)=>{let o="google"===e.type||"bunny"===e.type,n="theme"===e.type&&a,i=t(e.family,r);return!(o&&i)&&(o||!e.type||n)},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"),a=e.replace("italic","").trim(),o=VARIANT_WEIGHT_MAP[a]??a,n=parseInt(o,10)||400;return{weight:n,isItalic:r}};return[...t].sort((t,r)=>{let a=e(t),o=e(r);return a.weight!==o.weight?a.weight-o.weight:a.isItalic!==o.isItalic?a.isItalic?1:-1:0})},makeUrlBySourceFont=(t,e,r)=>{let a=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"===a)return;let o=r?.display||"swap",n=new URLSearchParams;return(n.append("family",a),n.append("display",o),"bunny"===e)?`https://fonts.bunny.net/css?${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,a)=>{let o=t.filter(t=>isValidFont(t,r||"google",a));if(!o.length)return;let n=o.filter((t,e,r)=>e===r.findIndex(e=>e.family===t.family)),i=[],l=[];for(let t of n){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,a=!0,o){let n=createFontUrls(t,e,o),i=Array.isArray(n)?n:n?[n]:[];if(!i.length)return"";if(a)return i.map(t=>`@import url('${t}');`).join("");let l="",s="";for(let t of i)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")]),a=`${e}${r}`;l+=a,s+=`@import url('${t}');`}catch(e){r("getFonts","Error fetching font",{url:t,fontType:o,error:String(e)}),s+="",l+=""}let p=new TextEncoder().encode(l).length;return p<51200?l:s}let extractFontsFromPageTemplate=(t,r)=>{let a=[];return t.forEach(t=>{a.push(...e(t.data,r))}),composeFonts(a)},extractVariantFromTypography=(t,e)=>{let r="400";if(null!=t){let e=String(t).toLowerCase().trim();r=normalizeVariant(e)}let a=r,o=e&&"italic"===e.toLowerCase();return o&&!r.includes("italic")&&(a=r.includes("i")?r:`${r}italic`),a},HEADING_FONT_PREFIX="heading-",SUBHEADING_FONT_PREFIX="subheading-",PARAGRAPH_FONT_PREFIX="paragraph-",extractTypographyVariants=t=>{let e=t?.typography??{},r=t?.font??{},a=new Map;Object.entries(e).forEach(([t,e])=>{if(!e||"object"!=typeof e)return;let o=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,n=e.desktop,i=n?.fontFamily,l=i||o;["desktop","mobile","tablet"].forEach(t=>{let o=e[t];if(!o||"object"!=typeof o)return;let i=o.fontFamily||l;if(!i||"string"!=typeof i||!r[i])return;let s=o.fontWeight??n?.fontWeight,p=o.fontStyle??n?.fontStyle;if(null==s)return;let f=extractVariantFromTypography(s,p);a.has(i)||a.set(i,new Set),a.get(i).add(f)})});let o={};return a.forEach((t,e)=>{let a=r[e];a&&(o[e]={variants:Array.from(t).sort(),family:a.family})}),o},mapTypographyToFontFamily=t=>{let e=t?.typography??{},r=t?.font??{},a=t?.font??{},o={};return Object.entries(e).forEach(([t,e])=>{if(!e||"object"!=typeof e)return;let n=e.desktop,i=e.mobile,l=e.tablet,s=t.startsWith(HEADING_FONT_PREFIX)||t.startsWith(SUBHEADING_FONT_PREFIX)?a.heading?"heading":void 0:t.startsWith(PARAGRAPH_FONT_PREFIX)&&a.body?"body":void 0,p=n?.fontFamily||i?.fontFamily||l?.fontFamily||s;if(!p||"string"!=typeof p)return;let f=r[p],y=a[p],c=f?.family||y?.family||p,m=f?.type||y?.type||"google";c&&(o[t]={family:c,type:m})}),o},getFontLinkFromGlobalStyle=async(t,e)=>{if(!t)return"";try{let r=JSON.parse(t),a=r?.font??{},o=Object.values(a),n=extractTypographyVariants(r);return Object.keys(n).length>0&&(o=Object.entries(a).filter(([t])=>n[t]).map(([t,e])=>({...e,variants:n[t].variants}))),getFonts(o,void 0,void 0,e)}catch{return""}},getFontFromGlobalStyle=(t,e)=>{if(!t)return"";try{let r=JSON.parse(t),a=r?.font??{},o=Object.entries(a).map(([,t])=>t);return getFonts(o,void 0,void 0,e)}catch{return""}};async function getFontStyleFromPageTemplate(t,e,r){let a,o=null;if(r)try{o=JSON.parse(r),a=mapTypographyToFontFamily(o)}catch{}let n=extractFontsFromPageTemplate(t,a);if(o){let t=extractTypographyVariants(o),e=new Map;for(let r of Object.values(t))e.set(r.family,new Set(r.variants));n=n.map(t=>{let r=e.get(t.family);if(!r)return t;let a=t.variants.filter(t=>!r.has(t));return 0===a.length?null:{...t,variants:a}}).filter(t=>null!==t)}if(0===n.length)return[];let i=await getFonts(n,void 0,void 0,e);return i?[i]:[]}export{composeFonts,createFontUrls,extractTypographyVariants,getFontFromGlobalStyle,getFontLinkFromGlobalStyle,getFontStyleFromPageTemplate,getFonts,mapTypographyToFontFamily};
1
+ import{checkNotInOptionFont as e}from"./helpers/check-option-font.js";import{getFontsFromDataBuilder as t}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(e,t){try{return fetch(e,{headers:{"User-Agent":t}}).then(o=>200===o.status?o.text():(r("getFontForUA",`Unexpected status ${o.status}`,{url:e,UA:t}),""))}catch(o){return r("getFontForUA","Error fetching font",{url:e,UA:t,error:o}),""}}let composeFonts=e=>{let t=e.filter((e,t,r)=>t===r.findIndex(t=>t.family===e.family));return t.map(t=>{let r=e.filter(e=>e.family===t.family).reduce((e,t)=>[...e,...t.variants],[]).filter((e,t,r)=>t===r.findIndex(t=>t===e));return{...t,variants:r}})},GOOGLE_CSS2_OVERRIDES={"Roboto Flex":"https://fonts.googleapis.com/css2?family=Roboto+Flex:opsz,wght@8..144,100..1000&display=swap"},normalizeFamily=e=>e?.trim().replace(/\s+/g,"+")??"",getOverrideUrlForFamily=e=>{let t=normalizeFamily(e);return GOOGLE_CSS2_OVERRIDES[e]??GOOGLE_CSS2_OVERRIDES[t]},isValidFont=(t,r,o)=>{let n="google"===t.type||"bunny"===t.type,l="theme"===t.type&&o,i=e(t.family,r);return!(n&&i)&&(n||!t.type||l)},makeUrlBySourceFont=(e,t,r)=>{let o=composeFonts(e).map(e=>`${e.family.replace(/ /g,"+")}:${e.variants.join(",")}`).join("|");if("sans-serif"===o)return;let n=r?.display||"swap",l=new URLSearchParams;return(l.append("family",o),l.append("display",n),"bunny"===t)?`https://fonts.bunny.net/css?${l.toString()}`:(r?.subset&&l.append("subset",r.subset),r?.effect&&l.append("effect",r.effect),`https://fonts.googleapis.com/css?${decodeURIComponent(l.toString())}`)},createFontUrls=(e,t,r,o)=>{let n=e.filter(e=>isValidFont(e,r||"google",o));if(!n.length)return;let l=n.filter((e,t,r)=>t===r.findIndex(t=>t.family===e.family)),i=[],a=[];for(let e of l){let t=getOverrideUrlForFamily(e.family);t&&"bunny"!==r?i.push(t):a.push(e)}let s=a.length?makeUrlBySourceFont(a,r||"google",t):void 0;return i.length&&s?[...i,s]:s?[s,...i]:i};async function getFonts(e,t,o=!0,n){let l=createFontUrls(e,t,n),i=Array.isArray(l)?l:l?[l]:[];if(!i.length)return"";if(o)return i.map(e=>`@import url('${e}');`).join("");let a="",s="";for(let e of i)try{let[t,r]=await Promise.all([getFontForUA(e,"Mozilla/5.0 (Windows NT 10.0; Trident/7.0; rv:11.0) like Gecko"),getFontForUA(e,"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=`${t}${r}`;a+=o,s+=`@import url('${e}');`}catch(t){r("getFonts","Error fetching font",{url:e,fontType:n,error:String(t)}),s+="",a+=""}let f=new TextEncoder().encode(a).length;return f<51200?a:s}let getFontFromGlobalStyle=(e,t)=>{if(!e)return"";try{let r=JSON.parse(e),o=r?.font??{},n=Object.entries(o).map(([,e])=>e);return getFonts(n,void 0,void 0,t)}catch{return""}};async function getFontStyleFromPageTemplate(e,r){let o=[];if(e.forEach(e=>{let r=t(e.data);o.push(...r)}),0===o.length)return[];let n=composeFonts(o),l=await getFonts(n,void 0,void 0,r);return l?[l]:[]}export{composeFonts,createFontUrls,getFontFromGlobalStyle,getFontStyleFromPageTemplate,getFonts};
@@ -1 +1 @@
1
- let EXCLUDED_FONT_FAMILIES=["sans-serif"],getFallbackFontFamilyFromGlobalStyle=(t,e)=>{if(e&&t?.type&&!t?.custom?.fontFamily){let l=e[t.type];l&&(t.custom||(t.custom={}),t.custom.fontFamily={value:l.family,type:l.type})}},getFontsFromDataBuilder=(t,e)=>{let l=[];for(let o in t)if(Object.prototype.hasOwnProperty.call(t,o)){let a=t[o],i=a.styles,n=a.settings;getFontFromGroupSetting(l,i,e),getFontFromGroupSetting(l,n,e)}return l},getFontFromGroupSetting=(t,e,l)=>{let o=["normal","hover","focus","active","disabled","price","compareAtPrice"];for(let a in e)if(Object.prototype.hasOwnProperty.call(e,a)){let i=e[a];if(!i)continue;for(let e of(getFallbackFontFamilyFromGlobalStyle(i,l),getFontValue(t,i),o))i[e]&&(getFallbackFontFamilyFromGlobalStyle(i[e],l),getFontValue(t,i[e]))}},uniqueArray=t=>Array.from(new Set(t)),getFontValue=(t,e)=>{let l=e.custom?.fontFamily;"string"==typeof l&&(l={value:e.custom?.fontFamily||"",type:"google"});let o=l?.value;if(EXCLUDED_FONT_FAMILIES.includes(o))return;let a=e.custom?.fontVariants;if(a?.length||(a=[e.custom?.fontWeight]),l&&a?.length){let i=a.map(t=>"regular"===t?"400":t),n=e.custom?.fontWeight&&i.includes(e.custom?.fontWeight)?e.custom?.fontWeight:i[0];if(n){let a=uniqueArray([n,...e?.attrs?.isAlwaysLoadBold?["700"]:[],...e?.attrs?.loadFontStyles?.includes("bold")?["700"]:[]]);if(e?.attrs?.loadFontStyles?.includes("italic")){let t=a.map(t=>"string"==typeof t&&/^\d+$/.test(t)?`${t}i`:null).filter(t=>null!==t);a.push(...t)}let r=t.find(t=>t.family==o&&a.every(e=>t.variants.includes(e)));if(!r){let e=t.find(t=>t.family==o);e?a.forEach(t=>{e.variants.includes(t)||e.variants.push(t)}):("700"!==n&&i.includes("700")&&a.push("700"),t.push({family:o||"",variants:uniqueArray(a),subsets:[],type:l.type}))}}}};export{getFontFromGroupSetting,getFontsFromDataBuilder};
1
+ let EXCLUDED_FONT_FAMILIES=["sans-serif"],getFontsFromDataBuilder=t=>{let e=[];for(let o in t)if(Object.prototype.hasOwnProperty.call(t,o)){let l=t[o],n=l.styles,i=l.settings;getFontFromGroupSetting(e,n),getFontFromGroupSetting(e,i)}return e},getFontFromGroupSetting=(t,e)=>{let o=["normal","hover","focus","active","disabled","price","compareAtPrice"];for(let l in e)if(Object.prototype.hasOwnProperty.call(e,l)){let n=e[l];if(!n)continue;for(let e of(getFontValue(t,n),o))n[e]&&getFontValue(t,n[e])}},uniqueArray=t=>Array.from(new Set(t)),getFontValue=(t,e)=>{let o=e.custom?.fontFamily;"string"==typeof o&&(o={value:e.custom?.fontFamily||"",type:"google"});let l=o?.value;if(EXCLUDED_FONT_FAMILIES.includes(l))return;let n=e.custom?.fontVariants;if(n?.length||(n=[e.custom?.fontWeight]),o&&n?.length){let i=n.map(t=>"regular"===t?"400":t),r=e.custom?.fontWeight&&i.includes(e.custom?.fontWeight)?e.custom?.fontWeight:i[0];if(r){let n=uniqueArray([r,...e?.attrs?.isAlwaysLoadBold?["700"]:[],...e?.attrs?.loadFontStyles?.includes("bold")?["700"]:[]]);if(e?.attrs?.loadFontStyles?.includes("italic")){let t=n.map(t=>"string"==typeof t&&/^\d+$/.test(t)?`${t}i`:null).filter(t=>null!==t);n.push(...t)}let a=t.find(t=>t.family==l&&n.every(e=>t.variants.includes(e)));if(!a){let e=t.find(t=>t.family==l);e?n.forEach(t=>{e.variants.includes(t)||e.variants.push(t)}):("700"!==r&&i.includes("700")&&n.push("700"),t.push({family:l||"",variants:uniqueArray(n),subsets:[],type:o.type}))}}}};export{getFontFromGroupSetting,getFontsFromDataBuilder};
@@ -280,17 +280,10 @@ type FontOption = {
280
280
  effect?: string;
281
281
  };
282
282
  declare function getFonts(fonts: FontItem[], option?: FontOption, isImportFontByUrl?: boolean, fontType?: FontType): Promise<string>;
283
- declare const getFontLinkFromGlobalStyle: (data?: string, sourceFont?: FontType) => Promise<string>;
284
283
  declare const getFontFromGlobalStyle: (data?: string, sourceFont?: FontType) => "" | Promise<string>;
285
284
 
286
- declare const getFontsFromDataBuilder: (dataBuilder: Record<string, any>, typographyFontMap?: Record<string, {
287
- family: string;
288
- type: TypographyV2FontFamilyType;
289
- }>) => FontItem[];
290
- declare const getFontFromGroupSetting: (fonts: FontItem[], groupSetting: Record<string, any>, typographyFontMap?: Record<string, {
291
- family: string;
292
- type: TypographyV2FontFamilyType;
293
- }>) => void;
285
+ declare const getFontsFromDataBuilder: (dataBuilder: Record<string, any>) => FontItem[];
286
+ declare const getFontFromGroupSetting: (fonts: FontItem[], groupSetting: Record<string, any>) => void;
294
287
 
295
288
  declare const getStorefrontApi: (handle: string, provider?: 'BIGCOMMERCE' | 'SHOPIFY') => string;
296
289
 
@@ -353,4 +346,4 @@ declare const StaticPageV2: React.FC<StaticPagePropsV2 & AdditionalPageBuilderPr
353
346
 
354
347
  declare const PreviewTemplate: React.FC<SharePageProps & AdditionalPageBuilderProps>;
355
348
 
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 };
349
+ 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, getFonts, getFontsFromDataBuilder, getHomePageProps, getHomePagePropsV2, getLayout, getPostPurchasePropsPreview, getPreviewProps, getProductProps, getSharePageContentProps, 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": "8.0.0-dev.26",
3
+ "version": "8.0.0-staging.16",
4
4
  "license": "MIT",
5
5
  "sideEffects": false,
6
6
  "main": "dist/cjs/index.js",
@@ -26,10 +26,10 @@
26
26
  "next": "14.2.20"
27
27
  },
28
28
  "devDependencies": {
29
- "@gem-sdk/core": "8.0.0-dev.25",
30
- "@gem-sdk/plugin-cookie-bar": "7.0.1-dev.6",
31
- "@gem-sdk/plugin-quick-view": "7.0.1-dev.6",
32
- "@gem-sdk/plugin-sticky-add-to-cart": "7.0.1-dev.6"
29
+ "@gem-sdk/core": "8.0.0-staging.16",
30
+ "@gem-sdk/plugin-cookie-bar": "7.0.1-staging.0",
31
+ "@gem-sdk/plugin-quick-view": "7.0.1-staging.0",
32
+ "@gem-sdk/plugin-sticky-add-to-cart": "7.0.1-staging.0"
33
33
  },
34
34
  "peerDependencies": {
35
35
  "next": ">=14"