@gem-sdk/pages 17.0.0-dev.84 → 17.0.0-dev.86
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/builder/Toolbox.js +1 -1
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/pages/headless.js +5 -0
- package/dist/esm/components/builder/Toolbox.js +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/pages/headless.js +5 -0
- package/dist/types/index.d.ts +4 -2
- package/package.json +2 -2
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("@gem-sdk/core"),n=require("react"),i=require("../../libs/get-storefront-api.js"),a=require("../../libs/google-fonts.js"),r=require("../../libs/helpers/gen-css.js"),o=require("../../libs/helpers/gen-fonts.js"),d=require("../../libs/shopify-cdn-with-google-fonts.js"),l=require("../../store/libs-store.js"),s=require("../../libs/helpers/check-option-font.js");const u="global-style";var c=n.memo(()=>{let c=t.useMatchMutate(),w=t.useShopStore(e=>e.provider),p=t.useShopStore(e=>e.changeStorefrontInfo),v=t.usePageStore(e=>e.setDynamicProduct),m=t.usePageStore(e=>e.setAssignedProductIds),y=t.usePageStore(e=>e.setIsApplyAllProducts),g=t.usePageStore(e=>e.setPostPurchaseProductOffers),f=t.usePageStore(e=>e.setDynamicDiscountOffer),h=t.usePageStore(e=>e.setSalePageProductId),S=t.usePageStore(e=>e.setDynamicCollection),b=t.useBuilderPreviewStore(e=>e.initState),E=t.useBuilderPreviewStore(e=>e.state),L=t.useBuilderPreviewStore(e=>e.forceChangeState),C=t.useBuilderPreviewStore(e=>e.forceChangeItemProp),k=t.useBuilderPreviewStore(e=>e.changeItemPropByKey),P=t.useBuilderPreviewStore(e=>e.addItem),I=t.useBuilderPreviewStore(e=>e.moveItem),q=t.useBuilderPreviewStore(e=>e.removeItem),B=t.useSectionStore(e=>e.addSection),j=t.useShopStore(e=>e.changeSwatches),A=t.useBuilderPreviewStore(e=>e.updateItemName),T=t.useBuilderPreviewStore(e=>e.updateItemAttribute),M=t.useBuilderPreviewStore(e=>e.setErrorSectionList),O=t.useShopStore(e=>e.changeLayoutSettings),F=t.useShopStore(e=>e.changeCreateThemeSectionCount),N=t.useShopStore(e=>e.changeShopPlan),D=t.useShopStore(e=>e.updatePriceWithCurrency),x=l.libsStore(e=>e.changeFontType),H=l.libsStore(e=>e.fontType),$=t.useModalStore(e=>e.clearModal),z=t.useShopStore(e=>e.changeLimitCreateThemeSection),V=t.usePageStore(e=>e.setInteractionIsSelectOnPage),W=t.usePageStore(e=>e.setInteractionItem),_=t.usePageStore(e=>e.setInteractionSelectType),G=t.usePageStore(e=>e.setInteractionSettingType),K=t.usePageStore(e=>e.setSidebarMode),U=t.usePageStore(e=>e.setSellingPlanMeta),J=t.usePageStore(e=>e.setLazyloadSectionMeta),Q=t.usePageStore(e=>e.setBuyerConsentChecked),R=t.usePageStore(e=>e.getBuyerConsentChecked),X=n.useMemo(()=>o.getFontsFromDataBuilder(E),[E]),Y=({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},Z=n.useCallback((e,t)=>{if(!H)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"),a=e.getAttribute("href")||"";if(!n||!i){e.remove();return}let r=t.find(e=>{let t=e.family===n,r=e.variants.includes(i);return!!t&&!!r&&Y({currentFontTypeSetting:e.type,fontType:H,fontHref:a})});r||e.remove()}),t))if(!(["bunny","google"].includes(i.type)&&s.checkNotInOptionFont(i.family,H))&&"custom"!==i.type&&i.variants?.length)for(let t of i.variants){let n={...i,variants:[t.toString()]},r=a.createFontUrls([n],void 0,H,!0)||[];if(r?.length)for(let n of r){let a=e=>window.CSS&&CSS.escape?CSS.escape(e):e.replace(/"/g,'\\"'),r=document.querySelector(`link.${e}[href="${a(n)}"]`);if(r)continue;let o=document.createElement("link");o.className=e,o.rel="stylesheet",o.href=n,o.dataset.font=i.family,o.dataset.fontVariant=t,document.head.appendChild(o)}}},[H]),ee=n.useCallback(()=>{c(/query\//,{revalidate:!0})},[c]),et=n.useCallback(e=>{let t=e.detail;p({url:t.shopHandle?i.getStorefrontApi(t.shopHandle,w):void 0,token:t.shopToken})},[p,w]),en=n.useCallback(e=>{let t=e.detail;try{if(t.data){let e=r.genCSS(t.data,t.mobileOnly),n=Object.entries(t.data?.font).map(([,e])=>e).map(e=>{if("custom"==e.type){let t=d.shopifyCdnWithGoogleFonts.find(t=>t.family==e.family);if(t)return t}return e}),i=document.getElementById(u);if(Z("google-font-builder",n),i)i.innerHTML=e;else{let t=document.createElement("style");t.id=u,t.innerHTML=e,document.head.appendChild(t)}}}catch{}},[Z]),ei=n.useCallback(e=>{$();try{let t=e.detail;t.data&&("flat"===t.type?L(t.data):b(t.data))}catch{}},[L,b,$]),ea=n.useCallback(e=>{try{let t=e.detail;t.entity&&(P({data:t.entity,id:t.id,position:t.position,type:t.type??"component"}),t?.type!=="section"||Array.isArray(t.entity)||B(t.entity.uid,t.entity))}catch{}},[P,B]),er=n.useCallback(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]),eo=n.useCallback(e=>{try{let t=e.detail;t.uid&&C(t.uid,t.data,t.group)}catch{}},[C]),ed=n.useCallback(e=>{try{let t=e.detail;t.to&&t.uid&&I(t.uid,t.to,Number(t.position)||0)}catch{}},[I]),el=n.useCallback(e=>{try{let t=e.detail;t.uid&&q(t.uid)}catch{}},[q]),es=n.useCallback(e=>{let t=e.detail;try{t.data&&j(t.data)}catch{}},[j]),eu=n.useCallback(e=>{let t=e.detail;t&&O(t)},[O]),ec=n.useCallback(e=>{let t=e.detail;t&&F(t)},[F]),ew=n.useCallback(e=>{let t=e.detail;t&&N(t)},[N]),ep=n.useCallback(e=>{let t=e.detail;t&&D(t)},[D]),ev=n.useCallback(e=>{let t=e.detail;t&&x(t)},[x]),em=n.useCallback(e=>{let t=e.detail;t&&v(t)},[v]),ey=n.useCallback(e=>{let{assignedIds:t,isApplyAllProducts:n}=e.detail;t&&m(t??[]),y(!!n)},[m,y]),eg=n.useCallback(e=>{let t=e.detail;t&&S(t)},[S]);n.useEffect(()=>{X&&H&&Z("google-font-element",X)},[X,H,Z]);let ef=n.useCallback(e=>{let t=e.detail;t.uid&&A(t.uid,t.name||"")},[A]),eh=n.useCallback(e=>{let t=e.detail;t.uid&&T(t.uid,t.value||"",t.attr||"")},[T]),eS=n.useCallback(e=>{let t=e.detail;t?.length&&g(t)},[g]),eb=n.useCallback(e=>{let t=e.detail;t&&f(t)},[f]),eE=n.useCallback(e=>{let t=e.detail;t&&h(t)},[h]),eL=n.useCallback(e=>{let t=e.detail;t&&z(t)},[z]),eC=n.useCallback(e=>{let t=e.detail.value,n=e.detail.mode,i=e.detail.settingType;V(t),_(n),G(i)},[V,_,G]),ek=n.useCallback(e=>{let t=e.detail.settingType;G(t)},[G]),eP=n.useCallback(e=>{let t=e.detail.mode;console.log(t),K(t)},[K]),eI=n.useCallback(e=>{let t=e.detail;W(t)},[W]),eq=n.useCallback(e=>{e.detail&&U(e.detail)},[U]),eB=n.useCallback(e=>{let t=e.detail;if(null==t)return;let n="object"==typeof t&&null!==t&&"data"in t?!0===t.data:!0===t;J(n)},[J]),ej=n.useCallback(e=>{if(e.detail){let t=e.detail.productID,n=e.detail.data;if(!t){Q(n);return}let i={...R()??{}};Object.keys(i).forEach(e=>{e.includes(t)&&(i[e]=n[t])}),Q(i)}},[Q,R]),eA=n.useCallback(e=>{e.detail&&M(e.detail)},[M]);return n.useEffect(()=>(window.addEventListener("update-shop-info",et),window.addEventListener("revalidate-query",ee),window.addEventListener("init-builder",ei),window.addEventListener("add-entity",ea),window.addEventListener("remove-entity",el),window.addEventListener("move-entity",ed),window.addEventListener("force-update-entity-props",eo),window.addEventListener("update-entity-prop",er),window.addEventListener("set-global-style",en),window.addEventListener("update-global-swatches-data",es),window.addEventListener("on-off-header-footer",eu),window.addEventListener("update-create-theme-section-count",ec),window.addEventListener("update-shop-plan",ew),window.addEventListener("set-dynamic-product",em),window.addEventListener("set-assigned-product-ids",ey),window.addEventListener("set-dynamic-collection",eg),window.addEventListener("update-item-name",ef),window.addEventListener("update-item-attribute",eh),window.addEventListener("set-product-offer",eS),window.addEventListener("set-dynamic-discount-offer",eb),window.addEventListener("update-sale-page-product-id",eE),window.addEventListener("limit-create-theme-section",eL),window.addEventListener("update-interaction-is-select-on-page",eC),window.addEventListener("update-interaction-item",eI),window.addEventListener("update-interaction-setting-type",ek),window.addEventListener("change-sidebar-mode",eP),window.addEventListener("update-font-type",ev),window.addEventListener("update-price-with-currency",ep),window.addEventListener("selling-plan-meta-loaded",eq),window.addEventListener("selling-plan-meta-updated",eq),window.addEventListener("lazyload-section-meta-updated",eB),window.addEventListener("buyer-consent-pre-check-updated",ej),window.addEventListener("editor:error-section-list",eA),()=>{window.removeEventListener("update-shop-info",et),window.removeEventListener("revalidate-query",ee),window.removeEventListener("init-builder",ei),window.removeEventListener("add-entity",ea),window.removeEventListener("remove-entity",el),window.removeEventListener("move-entity",ed),window.removeEventListener("update-entity-prop",er),window.removeEventListener("set-global-style",en),window.removeEventListener("update-global-swatches-data",es),window.removeEventListener("on-off-header-footer",eu),window.removeEventListener("update-create-theme-section-count",ec),window.removeEventListener("update-shop-plan",ew),window.removeEventListener("update-price-with-currency",ep),window.removeEventListener("set-dynamic-product",em),window.removeEventListener("set-dynamic-collection",eg),window.removeEventListener("update-item-name",ef),window.removeEventListener("update-item-attribute",eh),window.removeEventListener("set-product-offer",eS),window.removeEventListener("update-sale-page-product-id",eE),window.removeEventListener("limit-create-theme-section",eL),window.removeEventListener("update-interaction-is-select-on-page",eC),window.removeEventListener("update-interaction-item",eI),window.removeEventListener("update-interaction-setting-type",ek),window.removeEventListener("update-font-type",ev),window.removeEventListener("selling-plan-meta-loaded",eq),window.removeEventListener("selling-plan-meta-updated",eq),window.removeEventListener("buyer-consent-pre-check-updated",ej),window.removeEventListener("editor:error-section-list",eA)}),[ea,ew,eo,er,ei,ed,el,en,es,ee,et,eu,ec,em,eg,ef,eh,eS,eE,eL,eI,eC,ek,ev,eP,eb,ep,eq,ej,eA]),e.jsx("div",{className:"toolbox"})});exports.default=c;
|
|
2
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("@gem-sdk/core"),n=require("react"),i=require("../../libs/get-storefront-api.js"),a=require("../../libs/google-fonts.js"),r=require("../../libs/helpers/gen-css.js"),o=require("../../libs/helpers/gen-fonts.js"),d=require("../../libs/shopify-cdn-with-google-fonts.js"),l=require("../../store/libs-store.js"),s=require("../../libs/helpers/check-option-font.js");const u="global-style";var c=n.memo(()=>{let c=t.useMatchMutate(),w=t.useShopStore(e=>e.provider),p=t.useShopStore(e=>e.changeStorefrontInfo),v=t.usePageStore(e=>e.setDynamicProduct),m=t.usePageStore(e=>e.setAssignedProductIds),y=t.usePageStore(e=>e.setIsApplyAllProducts),g=t.usePageStore(e=>e.setPostPurchaseProductOffers),f=t.usePageStore(e=>e.setDynamicDiscountOffer),S=t.usePageStore(e=>e.setSalePageProductId),h=t.usePageStore(e=>e.setDynamicCollection),b=t.useBuilderPreviewStore(e=>e.initState),E=t.useBuilderPreviewStore(e=>e.state),L=t.useBuilderPreviewStore(e=>e.forceChangeState),C=t.useBuilderPreviewStore(e=>e.forceChangeItemProp),k=t.useBuilderPreviewStore(e=>e.changeItemPropByKey),P=t.useBuilderPreviewStore(e=>e.addItem),I=t.useBuilderPreviewStore(e=>e.moveItem),B=t.useBuilderPreviewStore(e=>e.removeItem),q=t.useSectionStore(e=>e.addSection),A=t.useShopStore(e=>e.changeSwatches),j=t.useBuilderPreviewStore(e=>e.updateItemName),T=t.useBuilderPreviewStore(e=>e.updateItemAttribute),M=t.useBuilderPreviewStore(e=>e.updateAllItemAttribute),O=t.useBuilderPreviewStore(e=>e.setErrorSectionList),F=t.useShopStore(e=>e.changeLayoutSettings),N=t.useShopStore(e=>e.changeCreateThemeSectionCount),D=t.useShopStore(e=>e.changeShopPlan),x=t.useShopStore(e=>e.updatePriceWithCurrency),H=l.libsStore(e=>e.changeFontType),$=l.libsStore(e=>e.fontType),z=t.useModalStore(e=>e.clearModal),V=t.useShopStore(e=>e.changeLimitCreateThemeSection),W=t.usePageStore(e=>e.setInteractionIsSelectOnPage),_=t.usePageStore(e=>e.setInteractionItem),G=t.usePageStore(e=>e.setInteractionSelectType),K=t.usePageStore(e=>e.setInteractionSettingType),U=t.usePageStore(e=>e.setSidebarMode),J=t.usePageStore(e=>e.setSellingPlanMeta),Q=t.usePageStore(e=>e.setLazyloadSectionMeta),R=t.usePageStore(e=>e.setBuyerConsentChecked),X=t.usePageStore(e=>e.getBuyerConsentChecked),Y=n.useMemo(()=>o.getFontsFromDataBuilder(E),[E]),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=n.useCallback((e,t)=>{if(!$)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"),a=e.getAttribute("href")||"";if(!n||!i){e.remove();return}let r=t.find(e=>{let t=e.family===n,r=e.variants.includes(i);return!!t&&!!r&&Z({currentFontTypeSetting:e.type,fontType:$,fontHref:a})});r||e.remove()}),t))if(!(["bunny","google"].includes(i.type)&&s.checkNotInOptionFont(i.family,$))&&"custom"!==i.type&&i.variants?.length)for(let t of i.variants){let n={...i,variants:[t.toString()]},r=a.createFontUrls([n],void 0,$,!0)||[];if(r?.length)for(let n of r){let a=e=>window.CSS&&CSS.escape?CSS.escape(e):e.replace(/"/g,'\\"'),r=document.querySelector(`link.${e}[href="${a(n)}"]`);if(r)continue;let o=document.createElement("link");o.className=e,o.rel="stylesheet",o.href=n,o.dataset.font=i.family,o.dataset.fontVariant=t,document.head.appendChild(o)}}},[$]),et=n.useCallback(()=>{c(/query\//,{revalidate:!0})},[c]),en=n.useCallback(e=>{let t=e.detail;p({url:t.shopHandle?i.getStorefrontApi(t.shopHandle,w):void 0,token:t.shopToken})},[p,w]),ei=n.useCallback(e=>{let t=e.detail;try{if(t.data){let e=r.genCSS(t.data,t.mobileOnly),n=Object.entries(t.data?.font).map(([,e])=>e).map(e=>{if("custom"==e.type){let t=d.shopifyCdnWithGoogleFonts.find(t=>t.family==e.family);if(t)return t}return e}),i=document.getElementById(u);if(ee("google-font-builder",n),i)i.innerHTML=e;else{let t=document.createElement("style");t.id=u,t.innerHTML=e,document.head.appendChild(t)}}}catch{}},[ee]),ea=n.useCallback(e=>{z();try{let t=e.detail;t.data&&("flat"===t.type?L(t.data):b(t.data))}catch{}},[L,b,z]),er=n.useCallback(e=>{try{let t=e.detail;t.entity&&(P({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{}},[P,q]),eo=n.useCallback(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]),ed=n.useCallback(e=>{try{let t=e.detail;t.uid&&C(t.uid,t.data,t.group)}catch{}},[C]),el=n.useCallback(e=>{try{let t=e.detail;t.to&&t.uid&&I(t.uid,t.to,Number(t.position)||0)}catch{}},[I]),es=n.useCallback(e=>{try{let t=e.detail;t.uid&&B(t.uid)}catch{}},[B]),eu=n.useCallback(e=>{let t=e.detail;try{t.data&&A(t.data)}catch{}},[A]),ec=n.useCallback(e=>{let t=e.detail;t&&F(t)},[F]),ew=n.useCallback(e=>{let t=e.detail;t&&N(t)},[N]),ep=n.useCallback(e=>{let t=e.detail;t&&D(t)},[D]),ev=n.useCallback(e=>{let t=e.detail;t&&x(t)},[x]),em=n.useCallback(e=>{let t=e.detail;t&&H(t)},[H]),ey=n.useCallback(e=>{let t=e.detail;t&&v(t)},[v]),eg=n.useCallback(e=>{let{assignedIds:t,isApplyAllProducts:n}=e.detail;t&&m(t??[]),y(!!n)},[m,y]),ef=n.useCallback(e=>{let t=e.detail;t&&h(t)},[h]);n.useEffect(()=>{Y&&$&&ee("google-font-element",Y)},[Y,$,ee]);let eS=n.useCallback(e=>{let t=e.detail;t.uid&&j(t.uid,t.name||"")},[j]),eh=n.useCallback(e=>{let t=e.detail;t.uid&&T(t.uid,t.value||"",t.attr||"")},[T]),eb=n.useCallback(e=>{let t=e.detail;t.data&&t.attr&&M(t.attr,t.data)},[M]),eE=n.useCallback(e=>{let t=e.detail;t?.length&&g(t)},[g]),eL=n.useCallback(e=>{let t=e.detail;t&&f(t)},[f]),eC=n.useCallback(e=>{let t=e.detail;t&&S(t)},[S]),ek=n.useCallback(e=>{let t=e.detail;t&&V(t)},[V]),eP=n.useCallback(e=>{let t=e.detail.value,n=e.detail.mode,i=e.detail.settingType;W(t),G(n),K(i)},[W,G,K]),eI=n.useCallback(e=>{let t=e.detail.settingType;K(t)},[K]),eB=n.useCallback(e=>{let t=e.detail.mode;console.log(t),U(t)},[U]),eq=n.useCallback(e=>{let t=e.detail;_(t)},[_]),eA=n.useCallback(e=>{e.detail&&J(e.detail)},[J]),ej=n.useCallback(e=>{let t=e.detail;if(null==t)return;let n="object"==typeof t&&null!==t&&"data"in t?!0===t.data:!0===t;Q(n)},[Q]),eT=n.useCallback(e=>{if(e.detail){let t=e.detail.productID,n=e.detail.data;if(!t){R(n);return}let i={...X()??{}};Object.keys(i).forEach(e=>{e.includes(t)&&(i[e]=n[t])}),R(i)}},[R,X]),eM=n.useCallback(e=>{e.detail&&O(e.detail)},[O]);return n.useEffect(()=>(window.addEventListener("update-shop-info",en),window.addEventListener("revalidate-query",et),window.addEventListener("init-builder",ea),window.addEventListener("add-entity",er),window.addEventListener("remove-entity",es),window.addEventListener("move-entity",el),window.addEventListener("force-update-entity-props",ed),window.addEventListener("update-entity-prop",eo),window.addEventListener("set-global-style",ei),window.addEventListener("update-global-swatches-data",eu),window.addEventListener("on-off-header-footer",ec),window.addEventListener("update-create-theme-section-count",ew),window.addEventListener("update-shop-plan",ep),window.addEventListener("set-dynamic-product",ey),window.addEventListener("set-assigned-product-ids",eg),window.addEventListener("set-dynamic-collection",ef),window.addEventListener("update-item-name",eS),window.addEventListener("update-item-attribute",eh),window.addEventListener("update-all-item-attribute",eb),window.addEventListener("set-product-offer",eE),window.addEventListener("set-dynamic-discount-offer",eL),window.addEventListener("update-sale-page-product-id",eC),window.addEventListener("limit-create-theme-section",ek),window.addEventListener("update-interaction-is-select-on-page",eP),window.addEventListener("update-interaction-item",eq),window.addEventListener("update-interaction-setting-type",eI),window.addEventListener("change-sidebar-mode",eB),window.addEventListener("update-font-type",em),window.addEventListener("update-price-with-currency",ev),window.addEventListener("selling-plan-meta-loaded",eA),window.addEventListener("selling-plan-meta-updated",eA),window.addEventListener("lazyload-section-meta-updated",ej),window.addEventListener("buyer-consent-pre-check-updated",eT),window.addEventListener("editor:error-section-list",eM),()=>{window.removeEventListener("update-shop-info",en),window.removeEventListener("revalidate-query",et),window.removeEventListener("init-builder",ea),window.removeEventListener("add-entity",er),window.removeEventListener("remove-entity",es),window.removeEventListener("move-entity",el),window.removeEventListener("update-entity-prop",eo),window.removeEventListener("set-global-style",ei),window.removeEventListener("update-global-swatches-data",eu),window.removeEventListener("on-off-header-footer",ec),window.removeEventListener("update-create-theme-section-count",ew),window.removeEventListener("update-shop-plan",ep),window.removeEventListener("update-price-with-currency",ev),window.removeEventListener("set-dynamic-product",ey),window.removeEventListener("set-dynamic-collection",ef),window.removeEventListener("update-item-name",eS),window.removeEventListener("update-item-attribute",eh),window.removeEventListener("update-all-item-attribute",eb),window.removeEventListener("set-product-offer",eE),window.removeEventListener("update-sale-page-product-id",eC),window.removeEventListener("limit-create-theme-section",ek),window.removeEventListener("update-interaction-is-select-on-page",eP),window.removeEventListener("update-interaction-item",eq),window.removeEventListener("update-interaction-setting-type",eI),window.removeEventListener("update-font-type",em),window.removeEventListener("selling-plan-meta-loaded",eA),window.removeEventListener("selling-plan-meta-updated",eA),window.removeEventListener("buyer-consent-pre-check-updated",eT),window.removeEventListener("editor:error-section-list",eM)}),[er,ep,ed,eo,ea,el,es,ei,eu,et,en,ec,ew,ey,ef,eS,eh,eb,eE,eC,ek,eq,eP,eI,em,eB,eL,ev,eA,eT,eM]),e.jsx("div",{className:"toolbox"})});exports.default=c;
|
package/dist/cjs/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("./libs/api/get-collection-props.js"),r=require("./libs/api/get-collection-share-page-props.js"),t=require("./libs/api/get-home-page-props.js"),s=require("./libs/api/get-home-page-props-v2.js"),o=require("./libs/api/get-preview-props.js"),i=require("./libs/api/get-builder-props.js"),a=require("./libs/api/get-product-props.js"),p=require("./libs/api/get-static-page-props-v2.js"),g=require("./libs/api/get-share-page-props.js"),l=require("./libs/api/get-post-purchase-props-preview.js"),P=require("./libs/api/get-static-page-props-preview.js"),
|
|
1
|
+
"use strict";var e=require("./libs/api/get-collection-props.js"),r=require("./libs/api/get-collection-share-page-props.js"),t=require("./libs/api/get-home-page-props.js"),s=require("./libs/api/get-home-page-props-v2.js"),o=require("./libs/api/get-preview-props.js"),i=require("./libs/api/get-builder-props.js"),a=require("./libs/api/get-product-props.js"),p=require("./libs/api/get-static-page-props-v2.js"),g=require("./libs/api/get-share-page-props.js"),l=require("./libs/api/get-post-purchase-props-preview.js"),P=require("./libs/api/get-static-page-props-preview.js"),u=require("./libs/api/get-preview-content-props.js"),c=require("./libs/fetcher.js"),n=require("./libs/get-layout.js"),x=require("./libs/helpers/gen-css.js"),j=require("./libs/helpers/sendPageViewedTracking.js"),q=require("./libs/hooks/usePagePreview.js"),b=require("./libs/hooks/usePageViewedTracking.js"),h=require("./libs/helpers/user-agent.js"),d=require("./libs/helpers/normalize.js"),S=require("./libs/helpers/get-fallback.js"),F=require("./libs/helpers/common.js"),m=require("./components/SharePageTracking.js"),k=require("./libs/getStaticPaths.js"),w=require("./libs/helpers/gen-fonts.js"),v=require("./libs/google-fonts.js"),T=require("./libs/get-storefront-api.js"),y=require("./components/ErrorBoundary.js"),V=require("./components/ErrorFallback.js"),B=require("./pages/404.js"),f=require("./pages/500.js"),A=require("./components/GoogleAnalytic.js"),C=require("./components/FacebookPixel.js"),G=require("./components/TikTokPixel.js"),D=require("./pages/collection-detail.js"),E=require("./pages/preview.js"),H=require("./pages/product-detail.js"),L=require("./pages/static.js"),z=require("./pages/builder.js"),I=require("./pages/builder-upsell.js"),R=require("./pages/static-v2.js"),U=require("./pages/preview-template.js"),W=require("./pages/headless.js");exports.getCollectionProps=e.getCollectionProps,exports.getCollectionSharePageProps=r.getCollectionSharePageProps,exports.getHomePageProps=t.getHomePageProps,exports.getHomePagePropsV2=s.getHomePagePropsV2,exports.getPreviewProps=o.getPreviewProps,exports.getBuilderProps=i.getBuilderProps,exports.getProductProps=a.getProductProps,exports.getStaticPagePropsV2=p.getStaticPagePropsV2,exports.getSharePageProps=g.getSharePageProps,exports.getPostPurchasePropsPreview=l.getPostPurchasePropsPreview,exports.getStaticPagePropsPreview=P.getStaticPagePropsPreview,exports.getSharePageContentProps=u.getSharePageContentProps,exports.createAppAPIFetcher=c.createAppAPIFetcher,exports.createFetcher=c.createFetcher,exports.createShopifyFetcher=c.createShopifyFetcher,exports.createTemplateFetcher=c.createTemplateFetcher,exports.getLayout=n.getLayout,exports.genCSS=x.genCSS,exports.sendPageViewedTracking=j.sendPageViewedTracking,exports.usePagePreview=q.usePagePreview,exports.usePageViewedTracking=b.usePageViewedTracking,exports.isBot=h.isBot,exports.normalizePageSectionResponseV2=d.normalizePageSectionResponseV2,exports.parseBuilderTemplateV2=d.parseBuilderTemplateV2,exports.getFallbackV2=S.getFallbackV2,exports.retryWithDelay=F.retryWithDelay,exports.SharePageTracking=m.SharePageTracking,exports.getStaticPaths=k.getStaticPaths,exports.getFontFromGroupSetting=w.getFontFromGroupSetting,exports.getFontsFromDataBuilder=w.getFontsFromDataBuilder,exports.getFontFromGlobalStyle=v.getFontFromGlobalStyle,exports.getFontLinkFromGlobalStyle=v.getFontLinkFromGlobalStyle,exports.getFonts=v.getFonts,exports.getStorefrontApi=T.getStorefrontApi,exports.ErrorBoundary=y.ErrorBoundary,exports.ErrorFallback=V.ErrorFallback,exports.Page404=B.Page404,exports.Page500=f.Page500,exports.GoogleAnalytic=A.GoogleAnalytic,exports.FacebookPixel=C.FacebookPixel,exports.TikTokPixel=G.TikTokPixel,exports.CollectionDetailPage=D.default,exports.PreviewPage=E.PreviewPage,exports.ProductDetailPage=H.default,exports.StaticPage=L.default,exports.BuilderPage=z.BuilderPage,exports.BuilderUpsellPage=I.BuilderUpsellPage,exports.StaticPageV2=R.StaticPageV2,exports.PreviewTemplate=U.PreviewTemplate,exports.Headless=W.Headless;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";var e=require("react/jsx-runtime"),s=require("@gem-sdk/core"),r=require("next-seo"),t=require("next/head"),a=require("next/router"),i=require("../libs/parse-html.js"),n=require("next/script"),l=require("react"),d=require("../libs/hooks/usePageViewedTracking.js");exports.Headless=({components:o,builderData:c,sectionData:g,seo:u,themeStyle:p,fontStyle:m,elementFontStyle:h,customCodeHeader:x,customFonts:y,isPostPurchase:f,productOffers:_,publicStoreFrontData:j,dynamicDiscountOffer:v,isPreview:b,interaction:P,pageBackground:q,sellingPlanSetting:S,buyerConsentPreCheck:k,id:N,shopID:T,domainTrackingIlp:H,disableGsFont:L})=>{let I=a.useRouter(),M=process.env.NEXT_GP_BASE_ASSET_URL||"https://assets.gemcommerce.xyz";d.usePageViewedTracking({id:N,shopID:T,domain:H});let E="custom-code-header";if(l.useEffect(()=>{let e=document.querySelectorAll(`[class*="${E}-"]`),s=[];e.length>1&&e.forEach(e=>{let r=e.className;if(s.includes(r)){e.remove();return}s.push(r)})},[]),I.isFallback)return e.jsx("div",{className:"gp-flex gp-h-[100vh] gp-items-center gp-justify-center",children:e.jsxs("div",{className:"gp-flex gp-gap-2",children:[e.jsx("span",{className:"gp-aspect-square gp-h-2 gp-animate-[flashing_500ms_infinite_alternate] gp-rounded-full gp-bg-slate-800"}),e.jsx("span",{className:"gp-aspect-square gp-h-2 gp-animate-[flashing_500ms_infinite_200ms_linear_alternate] gp-rounded-full gp-bg-slate-800"}),e.jsx("span",{className:"gp-aspect-square gp-h-2 gp-animate-[flashing_500ms_infinite_500ms_alternate] gp-rounded-full gp-bg-slate-800"})]})});let $=(P?.value||[]).length>0;return e.jsxs(e.Fragment,{children:[e.jsx(r.NextSeo,{...u}),e.jsxs(t,{children:[i.parseHtml(E,x,!0),p&&e.jsx("style",{"data-id":"global-style",type:"text/css",dangerouslySetInnerHTML:{__html:p}},"global-style"),m&&!L&&e.jsx("style",{"data-id":"google-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:m}},"google-fonts"),h&&h.map(s=>e.jsx("style",{"data-id":"google-element-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:s}},s)),y&&e.jsx("style",{"data-id":"custom-element-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:y}},m),q?.isUsePageBackground&&q?.background&&e.jsx("style",{children:`
|
|
2
|
+
body {
|
|
3
|
+
background: ${q.background};
|
|
4
|
+
}
|
|
5
|
+
`},`page_background_${q?.background}`)]}),e.jsx(s.PageProvider,{productOffers:_,publicStoreFrontData:j,dynamicDiscountOffer:v,sellingPlanMeta:S,buyerConsentChecked:k,children:e.jsx(s.BuilderComponentProvider,{components:o,children:e.jsxs("div",{role:"main",children:[$&&e.jsx("div",{dangerouslySetInnerHTML:{__html:`<div id="gp-interaction" style="display: none;">${JSON.stringify(P?.value||[])}</div>`}}),e.jsx(s.SectionProvider,{data:g,children:c?.map((r,t)=>e.jsx(s.LazyPriorityProvider,{priority:!!r.priority||0===t,children:e.jsxs(s.BuilderProvider,{state:r.data,lazy:r.lazy,priority:r.priority,isPostPurchase:f,isPreview:b,children:[e.jsx(s.Render,{uid:r.uid}),$&&e.jsx(n,{defer:!0,src:`${M}/assets-v2/gp-flow-action-lip-v7-5.js`})]})},r.uid))})]})})})]})};
|
|
@@ -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 d,useSectionStore as o,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 u}from"../../libs/google-fonts.js";import{genCSS as m}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
|
|
2
|
+
import{jsx as e}from"react/jsx-runtime";import{useMatchMutate as t,useShopStore as n,usePageStore as i,useBuilderPreviewStore as d,useSectionStore as o,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 u}from"../../libs/google-fonts.js";import{genCSS as m}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 E="global-style";var g=r(()=>{let r=t(),g=n(e=>e.provider),L=n(e=>e.changeStorefrontInfo),h=i(e=>e.setDynamicProduct),b=i(e=>e.setAssignedProductIds),S=i(e=>e.setIsApplyAllProducts),I=i(e=>e.setPostPurchaseProductOffers),C=i(e=>e.setDynamicDiscountOffer),P=i(e=>e.setSalePageProductId),A=i(e=>e.setDynamicCollection),T=d(e=>e.initState),k=d(e=>e.state),j=d(e=>e.forceChangeState),q=d(e=>e.forceChangeItemProp),M=d(e=>e.changeItemPropByKey),N=d(e=>e.addItem),O=d(e=>e.moveItem),D=d(e=>e.removeItem),x=o(e=>e.addSection),B=n(e=>e.changeSwatches),H=d(e=>e.updateItemName),$=d(e=>e.updateItemAttribute),z=d(e=>e.updateAllItemAttribute),F=d(e=>e.setErrorSectionList),V=n(e=>e.changeLayoutSettings),K=n(e=>e.changeCreateThemeSectionCount),W=n(e=>e.changeShopPlan),G=n(e=>e.updatePriceWithCurrency),J=y(e=>e.changeFontType),Q=y(e=>e.fontType),R=a(e=>e.clearModal),U=n(e=>e.changeLimitCreateThemeSection),X=i(e=>e.setInteractionIsSelectOnPage),Y=i(e=>e.setInteractionItem),Z=i(e=>e.setInteractionSelectType),_=i(e=>e.setInteractionSettingType),ee=i(e=>e.setSidebarMode),et=i(e=>e.setSellingPlanMeta),en=i(e=>e.setLazyloadSectionMeta),ei=i(e=>e.setBuyerConsentChecked),ed=i(e=>e.getBuyerConsentChecked),eo=l(()=>w(k),[k]),ea=({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},er=s((e,t)=>{if(!Q)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"),d=e.getAttribute("href")||"";if(!n||!i){e.remove();return}let o=t.find(e=>{let t=e.family===n,o=e.variants.includes(i);return!!t&&!!o&&ea({currentFontTypeSetting:e.type,fontType:Q,fontHref:d})});o||e.remove()}),t))if(!(["bunny","google"].includes(i.type)&&f(i.family,Q))&&"custom"!==i.type&&i.variants?.length)for(let t of i.variants){let n={...i,variants:[t.toString()]},d=u([n],void 0,Q,!0)||[];if(d?.length)for(let n of d){let d=e=>window.CSS&&CSS.escape?CSS.escape(e):e.replace(/"/g,'\\"'),o=document.querySelector(`link.${e}[href="${d(n)}"]`);if(o)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)}}},[Q]),el=s(()=>{r(/query\//,{revalidate:!0})},[r]),es=s(e=>{let t=e.detail;L({url:t.shopHandle?p(t.shopHandle,g):void 0,token:t.shopToken})},[L,g]),ec=s(e=>{let t=e.detail;try{if(t.data){let e=m(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(E);if(er("google-font-builder",n),i)i.innerHTML=e;else{let t=document.createElement("style");t.id=E,t.innerHTML=e,document.head.appendChild(t)}}}catch{}},[er]),ep=s(e=>{R();try{let t=e.detail;t.data&&("flat"===t.type?j(t.data):T(t.data))}catch{}},[j,T,R]),eu=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)||x(t.entity.uid,t.entity))}catch{}},[N,x]),em=s(e=>{try{let t=e.detail;t.uid&&t.propName&&M({id:t.uid,key:t.propName,data:t.propValue,group:t.group})}catch{}},[M]),ew=s(e=>{try{let t=e.detail;t.uid&&q(t.uid,t.data,t.group)}catch{}},[q]),ev=s(e=>{try{let t=e.detail;t.to&&t.uid&&O(t.uid,t.to,Number(t.position)||0)}catch{}},[O]),ey=s(e=>{try{let t=e.detail;t.uid&&D(t.uid)}catch{}},[D]),ef=s(e=>{let t=e.detail;try{t.data&&B(t.data)}catch{}},[B]),eE=s(e=>{let t=e.detail;t&&V(t)},[V]),eg=s(e=>{let t=e.detail;t&&K(t)},[K]),eL=s(e=>{let t=e.detail;t&&W(t)},[W]),eh=s(e=>{let t=e.detail;t&&G(t)},[G]),eb=s(e=>{let t=e.detail;t&&J(t)},[J]),eS=s(e=>{let t=e.detail;t&&h(t)},[h]),eI=s(e=>{let{assignedIds:t,isApplyAllProducts:n}=e.detail;t&&b(t??[]),S(!!n)},[b,S]),eC=s(e=>{let t=e.detail;t&&A(t)},[A]);c(()=>{eo&&Q&&er("google-font-element",eo)},[eo,Q,er]);let eP=s(e=>{let t=e.detail;t.uid&&H(t.uid,t.name||"")},[H]),eA=s(e=>{let t=e.detail;t.uid&&$(t.uid,t.value||"",t.attr||"")},[$]),eT=s(e=>{let t=e.detail;t.data&&t.attr&&z(t.attr,t.data)},[z]),ek=s(e=>{let t=e.detail;t?.length&&I(t)},[I]),ej=s(e=>{let t=e.detail;t&&C(t)},[C]),eq=s(e=>{let t=e.detail;t&&P(t)},[P]),eM=s(e=>{let t=e.detail;t&&U(t)},[U]),eN=s(e=>{let t=e.detail.value,n=e.detail.mode,i=e.detail.settingType;X(t),Z(n),_(i)},[X,Z,_]),eO=s(e=>{let t=e.detail.settingType;_(t)},[_]),eD=s(e=>{let t=e.detail.mode;console.log(t),ee(t)},[ee]),ex=s(e=>{let t=e.detail;Y(t)},[Y]),eB=s(e=>{e.detail&&et(e.detail)},[et]),eH=s(e=>{let t=e.detail;if(null==t)return;let n="object"==typeof t&&null!==t&&"data"in t?!0===t.data:!0===t;en(n)},[en]),e$=s(e=>{if(e.detail){let t=e.detail.productID,n=e.detail.data;if(!t){ei(n);return}let i={...ed()??{}};Object.keys(i).forEach(e=>{e.includes(t)&&(i[e]=n[t])}),ei(i)}},[ei,ed]),ez=s(e=>{e.detail&&F(e.detail)},[F]);return c(()=>(window.addEventListener("update-shop-info",es),window.addEventListener("revalidate-query",el),window.addEventListener("init-builder",ep),window.addEventListener("add-entity",eu),window.addEventListener("remove-entity",ey),window.addEventListener("move-entity",ev),window.addEventListener("force-update-entity-props",ew),window.addEventListener("update-entity-prop",em),window.addEventListener("set-global-style",ec),window.addEventListener("update-global-swatches-data",ef),window.addEventListener("on-off-header-footer",eE),window.addEventListener("update-create-theme-section-count",eg),window.addEventListener("update-shop-plan",eL),window.addEventListener("set-dynamic-product",eS),window.addEventListener("set-assigned-product-ids",eI),window.addEventListener("set-dynamic-collection",eC),window.addEventListener("update-item-name",eP),window.addEventListener("update-item-attribute",eA),window.addEventListener("update-all-item-attribute",eT),window.addEventListener("set-product-offer",ek),window.addEventListener("set-dynamic-discount-offer",ej),window.addEventListener("update-sale-page-product-id",eq),window.addEventListener("limit-create-theme-section",eM),window.addEventListener("update-interaction-is-select-on-page",eN),window.addEventListener("update-interaction-item",ex),window.addEventListener("update-interaction-setting-type",eO),window.addEventListener("change-sidebar-mode",eD),window.addEventListener("update-font-type",eb),window.addEventListener("update-price-with-currency",eh),window.addEventListener("selling-plan-meta-loaded",eB),window.addEventListener("selling-plan-meta-updated",eB),window.addEventListener("lazyload-section-meta-updated",eH),window.addEventListener("buyer-consent-pre-check-updated",e$),window.addEventListener("editor:error-section-list",ez),()=>{window.removeEventListener("update-shop-info",es),window.removeEventListener("revalidate-query",el),window.removeEventListener("init-builder",ep),window.removeEventListener("add-entity",eu),window.removeEventListener("remove-entity",ey),window.removeEventListener("move-entity",ev),window.removeEventListener("update-entity-prop",em),window.removeEventListener("set-global-style",ec),window.removeEventListener("update-global-swatches-data",ef),window.removeEventListener("on-off-header-footer",eE),window.removeEventListener("update-create-theme-section-count",eg),window.removeEventListener("update-shop-plan",eL),window.removeEventListener("update-price-with-currency",eh),window.removeEventListener("set-dynamic-product",eS),window.removeEventListener("set-dynamic-collection",eC),window.removeEventListener("update-item-name",eP),window.removeEventListener("update-item-attribute",eA),window.removeEventListener("update-all-item-attribute",eT),window.removeEventListener("set-product-offer",ek),window.removeEventListener("update-sale-page-product-id",eq),window.removeEventListener("limit-create-theme-section",eM),window.removeEventListener("update-interaction-is-select-on-page",eN),window.removeEventListener("update-interaction-item",ex),window.removeEventListener("update-interaction-setting-type",eO),window.removeEventListener("update-font-type",eb),window.removeEventListener("selling-plan-meta-loaded",eB),window.removeEventListener("selling-plan-meta-updated",eB),window.removeEventListener("buyer-consent-pre-check-updated",e$),window.removeEventListener("editor:error-section-list",ez)}),[eu,eL,ew,em,ep,ev,ey,ec,ef,el,es,eE,eg,eS,eC,eP,eA,eT,ek,eq,eM,ex,eN,eO,eb,eD,ej,eh,eB,e$,ez]),e("div",{className:"toolbox"})});export{g 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{sendPageViewedTracking}from"./libs/helpers/sendPageViewedTracking.js";export{usePagePreview}from"./libs/hooks/usePagePreview.js";export{usePageViewedTracking}from"./libs/hooks/usePageViewedTracking.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{BuilderUpsellPage}from"./pages/builder-upsell.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{sendPageViewedTracking}from"./libs/helpers/sendPageViewedTracking.js";export{usePagePreview}from"./libs/hooks/usePagePreview.js";export{usePageViewedTracking}from"./libs/hooks/usePageViewedTracking.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{BuilderUpsellPage}from"./pages/builder-upsell.js";export{StaticPageV2}from"./pages/static-v2.js";export{PreviewTemplate}from"./pages/preview-template.js";export{Headless}from"./pages/headless.js";
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import{jsx as e,jsxs as t,Fragment as s}from"react/jsx-runtime";import{PageProvider as r,BuilderComponentProvider as a,SectionProvider as l,LazyPriorityProvider as n,BuilderProvider as i,Render as o}from"@gem-sdk/core";import{NextSeo as d}from"next-seo";import p from"next/head";import{useRouter as c}from"next/router";import{parseHtml as g}from"../libs/parse-html.js";import m from"next/script";import{useEffect as u}from"react";import{usePageViewedTracking as h}from"../libs/hooks/usePageViewedTracking.js";let f=({components:f,builderData:y,sectionData:_,seo:b,themeStyle:v,fontStyle:x,elementFontStyle:k,customCodeHeader:S,customFonts:N,isPostPurchase:T,productOffers:P,publicStoreFrontData:H,dynamicDiscountOffer:I,isPreview:L,interaction:M,pageBackground:j,sellingPlanSetting:$,buyerConsentPreCheck:q,id:E,shopID:w,domainTrackingIlp:z,disableGsFont:A})=>{let D=c(),O=process.env.NEXT_GP_BASE_ASSET_URL||"https://assets.gemcommerce.xyz";h({id:E,shopID:w,domain:z});let B="custom-code-header";if(u(()=>{let e=document.querySelectorAll(`[class*="${B}-"]`),t=[];e.length>1&&e.forEach(e=>{let s=e.className;if(t.includes(s)){e.remove();return}t.push(s)})},[]),D.isFallback)return e("div",{className:"gp-flex gp-h-[100vh] gp-items-center gp-justify-center",children:t("div",{className:"gp-flex gp-gap-2",children:[e("span",{className:"gp-aspect-square gp-h-2 gp-animate-[flashing_500ms_infinite_alternate] gp-rounded-full gp-bg-slate-800"}),e("span",{className:"gp-aspect-square gp-h-2 gp-animate-[flashing_500ms_infinite_200ms_linear_alternate] gp-rounded-full gp-bg-slate-800"}),e("span",{className:"gp-aspect-square gp-h-2 gp-animate-[flashing_500ms_infinite_500ms_alternate] gp-rounded-full gp-bg-slate-800"})]})});let C=(M?.value||[]).length>0;return t(s,{children:[e(d,{...b}),t(p,{children:[g(B,S,!0),v&&e("style",{"data-id":"global-style",type:"text/css",dangerouslySetInnerHTML:{__html:v}},"global-style"),x&&!A&&e("style",{"data-id":"google-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:x}},"google-fonts"),k&&k.map(t=>e("style",{"data-id":"google-element-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:t}},t)),N&&e("style",{"data-id":"custom-element-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:N}},x),j?.isUsePageBackground&&j?.background&&e("style",{children:`
|
|
2
|
+
body {
|
|
3
|
+
background: ${j.background};
|
|
4
|
+
}
|
|
5
|
+
`},`page_background_${j?.background}`)]}),e(r,{productOffers:P,publicStoreFrontData:H,dynamicDiscountOffer:I,sellingPlanMeta:$,buyerConsentChecked:q,children:e(a,{components:f,children:t("div",{role:"main",children:[C&&e("div",{dangerouslySetInnerHTML:{__html:`<div id="gp-interaction" style="display: none;">${JSON.stringify(M?.value||[])}</div>`}}),e(l,{data:_,children:y?.map((s,r)=>e(n,{priority:!!s.priority||0===r,children:t(i,{state:s.data,lazy:s.lazy,priority:s.priority,isPostPurchase:T,isPreview:L,children:[e(o,{uid:s.uid}),C&&e(m,{defer:!0,src:`${O}/assets-v2/gp-flow-action-lip-v7-5.js`})]})},s.uid))})]})})})]})};export{f as Headless};
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BuilderState, SectionData as SectionData$1, ShopType, RenderMode, CollectionQueryResponse,
|
|
1
|
+
import { BuilderState, SectionData as SectionData$1, ShopType, RenderMode, CollectionQueryResponse, ProductOffer, AppAPIType, PublicStoreFrontData, ProductSelectFragment, FetchFunc, ThemePageQueryResponse, StorePropertyQueryResponse, PublishedThemePageSelectFragment, TypographyV2FontFamilyType } from '@gem-sdk/core';
|
|
2
2
|
import { NextPage, GetStaticPaths } from 'next';
|
|
3
3
|
import * as next_seo from 'next-seo';
|
|
4
4
|
import { NextSeoProps } from 'next-seo';
|
|
@@ -384,5 +384,7 @@ declare const StaticPageV2: React.FC<StaticPagePropsV2 & AdditionalPageBuilderPr
|
|
|
384
384
|
|
|
385
385
|
declare const PreviewTemplate: React.FC<SharePageProps & AdditionalPageBuilderProps>;
|
|
386
386
|
|
|
387
|
-
|
|
387
|
+
declare const Headless: React.FC<StaticPagePropsV2 & AdditionalPageBuilderProps>;
|
|
388
|
+
|
|
389
|
+
export { BuilderPage, BuilderUpsellPage, CollectionDetailPage, ErrorBoundary, ErrorFallback, FacebookPixel, GoogleAnalytic, Headless, Page404, Page500, PreviewPage, PreviewTemplate, ProductDetailPage, SharePageTracking, StaticPage, StaticPageV2, TikTokPixel, createAppAPIFetcher, createFetcher, createShopifyFetcher, createTemplateFetcher, genCSS, getBuilderProps, getCollectionProps, getCollectionSharePageProps, getFallbackV2, getFontFromGlobalStyle, getFontFromGroupSetting, getFontLinkFromGlobalStyle, getFonts, getFontsFromDataBuilder, getHomePageProps, getHomePagePropsV2, getLayout, getPostPurchasePropsPreview, getPreviewProps, getProductProps, getSharePageContentProps, getSharePageProps, getStaticPagePropsPreview, getStaticPagePropsV2, getStaticPaths, getStorefrontApi, isBot, normalizePageSectionResponseV2, parseBuilderTemplateV2, retryWithDelay, sendPageViewedTracking, usePagePreview, usePageViewedTracking };
|
|
388
390
|
export type { AppPropsWithLayout, NextPageWithLayout, PageBuilderProps, PageBuilderPropsV2, SharePageAPIResponse, SharePageProps, StaticPagePropsV2 };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gem-sdk/pages",
|
|
3
|
-
"version": "17.0.0-dev.
|
|
3
|
+
"version": "17.0.0-dev.86",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"main": "dist/cjs/index.js",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"next": "14.2.35"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
|
-
"@gem-sdk/core": "17.0.0-dev.
|
|
30
|
+
"@gem-sdk/core": "17.0.0-dev.85",
|
|
31
31
|
"@gem-sdk/plugin-cookie-bar": "17.0.0-dev.84",
|
|
32
32
|
"@gem-sdk/plugin-quick-view": "17.0.0-dev.84",
|
|
33
33
|
"@gem-sdk/plugin-sticky-add-to-cart": "17.0.0-dev.84"
|