@gem-sdk/pages 12.0.0-dev.140 → 12.0.0-dev.142
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/builder/Toolbox.js +1 -1
- package/dist/cjs/libs/api/get-collection-props.js +1 -1
- package/dist/cjs/libs/hooks/use-tracking-view.js +1 -1
- package/dist/esm/components/builder/Toolbox.js +1 -1
- package/dist/esm/libs/hooks/use-tracking-view.js +1 -1
- package/dist/types/index.d.ts +2 -2
- package/package.json +6 -6
|
@@ -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),g=t.usePageStore(e=>e.setIsApplyAllProducts),y=t.usePageStore(e=>e.setPostPurchaseProductOffers),f=t.usePageStore(e=>e.setDynamicDiscountOffer),h=t.usePageStore(e=>e.setSalePageProductId),S=t.usePageStore(e=>e.setDynamicCollection),E=t.useBuilderPreviewStore(e=>e.initState),b=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),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),z=t.usePageStore(e=>e.setSellingPlanMeta),J=t.usePageStore(e=>e.setBuyerConsentChecked),Q=t.usePageStore(e=>e.getBuyerConsentChecked),R=n.useMemo(()=>o.getFontsFromDataBuilder(b),[b]),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=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&&X({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]),Z=n.useCallback(()=>{c(/query\//,{revalidate:!0})},[c]),ee=n.useCallback(e=>{let t=e.detail;p({url:t.shopHandle?i.getStorefrontApi(t.shopHandle,w):void 0,token:t.shopToken})},[p,w]),et=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(Y("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{}},[Y]),en=n.useCallback(e=>{$();try{let t=e.detail;t.data&&("flat"===t.type?L(t.data):E(t.data))}catch{}},[L,E,$]),ei=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]),ea=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]),er=n.useCallback(e=>{try{let t=e.detail;t.uid&&C(t.uid,t.data,t.group)}catch{}},[C]),eo=n.useCallback(e=>{try{let t=e.detail;t.to&&t.uid&&I(t.uid,t.to,Number(t.position)
|
|
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),g=t.usePageStore(e=>e.setIsApplyAllProducts),y=t.usePageStore(e=>e.setPostPurchaseProductOffers),f=t.usePageStore(e=>e.setDynamicDiscountOffer),h=t.usePageStore(e=>e.setSalePageProductId),S=t.usePageStore(e=>e.setDynamicCollection),E=t.useBuilderPreviewStore(e=>e.initState),b=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),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),z=t.usePageStore(e=>e.setSellingPlanMeta),J=t.usePageStore(e=>e.setBuyerConsentChecked),Q=t.usePageStore(e=>e.getBuyerConsentChecked),R=n.useMemo(()=>o.getFontsFromDataBuilder(b),[b]),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=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&&X({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]),Z=n.useCallback(()=>{c(/query\//,{revalidate:!0})},[c]),ee=n.useCallback(e=>{let t=e.detail;p({url:t.shopHandle?i.getStorefrontApi(t.shopHandle,w):void 0,token:t.shopToken})},[p,w]),et=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(Y("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{}},[Y]),en=n.useCallback(e=>{$();try{let t=e.detail;t.data&&("flat"===t.type?L(t.data):E(t.data))}catch{}},[L,E,$]),ei=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]),ea=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]),er=n.useCallback(e=>{try{let t=e.detail;t.uid&&C(t.uid,t.data,t.group)}catch{}},[C]),eo=n.useCallback(e=>{try{let t=e.detail;t.to&&t.uid&&I(t.uid,t.to,Number(t.position)||0)}catch{}},[I]),ed=n.useCallback(e=>{try{let t=e.detail;t.uid&&q(t.uid)}catch{}},[q]),el=n.useCallback(e=>{let t=e.detail;try{t.data&&j(t.data)}catch{}},[j]),es=n.useCallback(e=>{let t=e.detail;t&&O(t)},[O]),eu=n.useCallback(e=>{let t=e.detail;t&&F(t)},[F]),ec=n.useCallback(e=>{let t=e.detail;t&&N(t)},[N]),ew=n.useCallback(e=>{let t=e.detail;t&&D(t)},[D]),ep=n.useCallback(e=>{let t=e.detail;t&&x(t)},[x]),ev=n.useCallback(e=>{let t=e.detail;t&&v(t)},[v]),em=n.useCallback(e=>{let{assignedIds:t,isApplyAllProducts:n}=e.detail;t&&m(t??[]),g(!!n)},[m,g]),eg=n.useCallback(e=>{let t=e.detail;t&&S(t)},[S]);n.useEffect(()=>{R&&H&&Y("google-font-element",R)},[R,H,Y]);let ey=n.useCallback(e=>{let t=e.detail;t.uid&&A(t.uid,t.name||"")},[A]),ef=n.useCallback(e=>{let t=e.detail;t.uid&&T(t.uid,t.value||"",t.attr||"")},[T]),eh=n.useCallback(e=>{let t=e.detail;t?.length&&y(t)},[y]),eS=n.useCallback(e=>{let t=e.detail;t&&f(t)},[f]),eE=n.useCallback(e=>{let t=e.detail;t&&h(t)},[h]),eb=n.useCallback(e=>{let t=e.detail;t&&V(t)},[V]),eL=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]),eC=n.useCallback(e=>{let t=e.detail.settingType;K(t)},[K]),ek=n.useCallback(e=>{let t=e.detail.mode;console.log(t),U(t)},[U]),eP=n.useCallback(e=>{let t=e.detail;_(t)},[_]),eI=n.useCallback(e=>{e.detail&&z(e.detail)},[z]),eq=n.useCallback(e=>{if(e.detail){let t=e.detail.productID,n=e.detail.data;if(!t){J(n);return}let i={...Q()??{}};Object.keys(i).forEach(e=>{e.includes(t)&&(i[e]=n[t])}),J(i)}},[J,Q]),eB=n.useCallback(e=>{e.detail&&M(e.detail)},[M]);return n.useEffect(()=>(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",ed),window.addEventListener("move-entity",eo),window.addEventListener("force-update-entity-props",er),window.addEventListener("update-entity-prop",ea),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",eu),window.addEventListener("update-shop-plan",ec),window.addEventListener("set-dynamic-product",ev),window.addEventListener("set-assigned-product-ids",em),window.addEventListener("set-dynamic-collection",eg),window.addEventListener("update-item-name",ey),window.addEventListener("update-item-attribute",ef),window.addEventListener("set-product-offer",eh),window.addEventListener("set-dynamic-discount-offer",eS),window.addEventListener("update-sale-page-product-id",eE),window.addEventListener("limit-create-theme-section",eb),window.addEventListener("update-interaction-is-select-on-page",eL),window.addEventListener("update-interaction-item",eP),window.addEventListener("update-interaction-setting-type",eC),window.addEventListener("change-sidebar-mode",ek),window.addEventListener("update-font-type",ep),window.addEventListener("update-price-with-currency",ew),window.addEventListener("selling-plan-meta-loaded",eI),window.addEventListener("selling-plan-meta-updated",eI),window.addEventListener("buyer-consent-pre-check-updated",eq),window.addEventListener("editor:error-section-list",eB),()=>{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",ed),window.removeEventListener("move-entity",eo),window.removeEventListener("update-entity-prop",ea),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",eu),window.removeEventListener("update-shop-plan",ec),window.removeEventListener("update-price-with-currency",ew),window.removeEventListener("set-dynamic-product",ev),window.removeEventListener("set-dynamic-collection",eg),window.removeEventListener("update-item-name",ey),window.removeEventListener("update-item-attribute",ef),window.removeEventListener("set-product-offer",eh),window.removeEventListener("update-sale-page-product-id",eE),window.removeEventListener("limit-create-theme-section",eb),window.removeEventListener("update-interaction-is-select-on-page",eL),window.removeEventListener("update-interaction-item",eP),window.removeEventListener("update-interaction-setting-type",eC),window.removeEventListener("update-font-type",ep),window.removeEventListener("selling-plan-meta-loaded",eI),window.removeEventListener("selling-plan-meta-updated",eI),window.removeEventListener("buyer-consent-pre-check-updated",eq),window.removeEventListener("editor:error-section-list",eB)}),[ei,ec,er,ea,en,eo,ed,et,el,Z,ee,es,eu,ev,eg,ey,ef,eh,eE,eb,eP,eL,eC,ep,ek,eS,ew,eI,eq,eB]),e.jsx("div",{className:"toolbox"})});exports.default=c;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("@gem-sdk/core"),r=require("../helpers/gen-css.js"),l=require("../helpers/normalize.js"),t=require("../helpers/parse-json.js");exports.getCollectionProps=s=>async i=>{let
|
|
1
|
+
"use strict";var e=require("@gem-sdk/core"),r=require("../helpers/gen-css.js"),l=require("../helpers/normalize.js"),t=require("../helpers/parse-json.js");exports.getCollectionProps=s=>async i=>{let a="COLLECTION",[o,u]=await Promise.all([s([e.CollectionDocument,{handle:i}]),s([e.PublishedThemePagesDocument,{slug:i,slugType:a}])]),n=u.publishedThemePages?.[0],c=l.parseBuilderTemplate(n);if(!o||!o?.collection||!n)throw Error("Collection not found");let{collection:p}=o,d=e.prefetchQueries(c),m=await Promise.allSettled(d.map(({query:e,variables:r,func:l})=>l?l(s,r):e?s([e,r]):{})),h=d.reduce((e,{key:r},l)=>{let t=m[l];return t?.status==="fulfilled"?{...e,[r]:t.value}:e},{});return t.serializableJson({builderData:c,collection:p,pageType:a,themeStyle:r.genCSS(n.pageStyle?.data),swr:{fallback:h},seo:{title:p.title,description:p.description}})};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
"use strict";var e=require("@gem-sdk/core"),r=require("react");exports.useTrackingView=(s,a
|
|
2
|
+
"use strict";var e=require("@gem-sdk/core"),r=require("react");exports.useTrackingView=(s,t,a)=>{let i=s||process.env.NEXT_PUBLIC_SHOP_TOKEN,o=process.env.NEXT_PUBLIC_API_URL,c=r.useCallback(r=>{o&&i&&fetch(o,{method:"POST",headers:{"Content-Type":"application/json","X-GemX-Shop-Token":i},body:JSON.stringify({query:e.PageViewUpDocument,variables:{pageHandle:r}})}).finally(()=>{})},[o,i]);r.useEffect(()=>{t&&!a&&c(t)},[t,c,a])};
|
|
@@ -1,2 +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 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 g="global-style";var h=r(()=>{let r=t(),h=n(e=>e.provider),E=n(e=>e.changeStorefrontInfo),L=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),T=i(e=>e.setDynamicCollection),k=d(e=>e.initState),A=d(e=>e.state),j=d(e=>e.forceChangeState),q=d(e=>e.forceChangeItemProp),N=d(e=>e.changeItemPropByKey),O=d(e=>e.addItem),D=d(e=>e.moveItem),M=d(e=>e.removeItem),x=o(e=>e.addSection),B=n(e=>e.changeSwatches),H=d(e=>e.updateItemName),$=d(e=>e.updateItemAttribute),F=d(e=>e.setErrorSectionList),V=n(e=>e.changeLayoutSettings),K=n(e=>e.changeCreateThemeSectionCount),W=n(e=>e.changeShopPlan),z=n(e=>e.updatePriceWithCurrency),G=y(e=>e.changeFontType),J=y(e=>e.fontType),Q=a(e=>e.clearModal),R=n(e=>e.changeLimitCreateThemeSection),U=i(e=>e.setInteractionIsSelectOnPage),X=i(e=>e.setInteractionItem),Y=i(e=>e.setInteractionSelectType),Z=i(e=>e.setInteractionSettingType),_=i(e=>e.setSidebarMode),ee=i(e=>e.setSellingPlanMeta),et=i(e=>e.setBuyerConsentChecked),en=i(e=>e.getBuyerConsentChecked),ei=l(()=>w(A),[A]),ed=({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},eo=s((e,t)=>{if(!J)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&&ed({currentFontTypeSetting:e.type,fontType:J,fontHref:d})});o||e.remove()}),t))if(!(["bunny","google"].includes(i.type)&&f(i.family,J))&&"custom"!==i.type&&i.variants?.length)for(let t of i.variants){let n={...i,variants:[t.toString()]},d=m([n],void 0,J,!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)}}},[J]),ea=s(()=>{r(/query\//,{revalidate:!0})},[r]),er=s(e=>{let t=e.detail;E({url:t.shopHandle?p(t.shopHandle,h):void 0,token:t.shopToken})},[E,h]),el=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(g);if(eo("google-font-builder",n),i)i.innerHTML=e;else{let t=document.createElement("style");t.id=g,t.innerHTML=e,document.head.appendChild(t)}}}catch{}},[eo]),es=s(e=>{Q();try{let t=e.detail;t.data&&("flat"===t.type?j(t.data):k(t.data))}catch{}},[j,k,Q]),ec=s(e=>{try{let t=e.detail;t.entity&&(O({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{}},[O,x]),ep=s(e=>{try{let t=e.detail;t.uid&&t.propName&&N({id:t.uid,key:t.propName,data:t.propValue,group:t.group})}catch{}},[N]),em=s(e=>{try{let t=e.detail;t.uid&&q(t.uid,t.data,t.group)}catch{}},[q]),eu=s(e=>{try{let t=e.detail;t.to&&t.uid&&D(t.uid,t.to,Number(t.position)
|
|
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 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 g="global-style";var h=r(()=>{let r=t(),h=n(e=>e.provider),E=n(e=>e.changeStorefrontInfo),L=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),T=i(e=>e.setDynamicCollection),k=d(e=>e.initState),A=d(e=>e.state),j=d(e=>e.forceChangeState),q=d(e=>e.forceChangeItemProp),N=d(e=>e.changeItemPropByKey),O=d(e=>e.addItem),D=d(e=>e.moveItem),M=d(e=>e.removeItem),x=o(e=>e.addSection),B=n(e=>e.changeSwatches),H=d(e=>e.updateItemName),$=d(e=>e.updateItemAttribute),F=d(e=>e.setErrorSectionList),V=n(e=>e.changeLayoutSettings),K=n(e=>e.changeCreateThemeSectionCount),W=n(e=>e.changeShopPlan),z=n(e=>e.updatePriceWithCurrency),G=y(e=>e.changeFontType),J=y(e=>e.fontType),Q=a(e=>e.clearModal),R=n(e=>e.changeLimitCreateThemeSection),U=i(e=>e.setInteractionIsSelectOnPage),X=i(e=>e.setInteractionItem),Y=i(e=>e.setInteractionSelectType),Z=i(e=>e.setInteractionSettingType),_=i(e=>e.setSidebarMode),ee=i(e=>e.setSellingPlanMeta),et=i(e=>e.setBuyerConsentChecked),en=i(e=>e.getBuyerConsentChecked),ei=l(()=>w(A),[A]),ed=({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},eo=s((e,t)=>{if(!J)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&&ed({currentFontTypeSetting:e.type,fontType:J,fontHref:d})});o||e.remove()}),t))if(!(["bunny","google"].includes(i.type)&&f(i.family,J))&&"custom"!==i.type&&i.variants?.length)for(let t of i.variants){let n={...i,variants:[t.toString()]},d=m([n],void 0,J,!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)}}},[J]),ea=s(()=>{r(/query\//,{revalidate:!0})},[r]),er=s(e=>{let t=e.detail;E({url:t.shopHandle?p(t.shopHandle,h):void 0,token:t.shopToken})},[E,h]),el=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(g);if(eo("google-font-builder",n),i)i.innerHTML=e;else{let t=document.createElement("style");t.id=g,t.innerHTML=e,document.head.appendChild(t)}}}catch{}},[eo]),es=s(e=>{Q();try{let t=e.detail;t.data&&("flat"===t.type?j(t.data):k(t.data))}catch{}},[j,k,Q]),ec=s(e=>{try{let t=e.detail;t.entity&&(O({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{}},[O,x]),ep=s(e=>{try{let t=e.detail;t.uid&&t.propName&&N({id:t.uid,key:t.propName,data:t.propValue,group:t.group})}catch{}},[N]),em=s(e=>{try{let t=e.detail;t.uid&&q(t.uid,t.data,t.group)}catch{}},[q]),eu=s(e=>{try{let t=e.detail;t.to&&t.uid&&D(t.uid,t.to,Number(t.position)||0)}catch{}},[D]),ew=s(e=>{try{let t=e.detail;t.uid&&M(t.uid)}catch{}},[M]),ev=s(e=>{let t=e.detail;try{t.data&&B(t.data)}catch{}},[B]),ey=s(e=>{let t=e.detail;t&&V(t)},[V]),ef=s(e=>{let t=e.detail;t&&K(t)},[K]),eg=s(e=>{let t=e.detail;t&&W(t)},[W]),eh=s(e=>{let t=e.detail;t&&z(t)},[z]),eE=s(e=>{let t=e.detail;t&&G(t)},[G]),eL=s(e=>{let t=e.detail;t&&L(t)},[L]),eb=s(e=>{let{assignedIds:t,isApplyAllProducts:n}=e.detail;t&&b(t??[]),S(!!n)},[b,S]),eS=s(e=>{let t=e.detail;t&&T(t)},[T]);c(()=>{ei&&J&&eo("google-font-element",ei)},[ei,J,eo]);let eI=s(e=>{let t=e.detail;t.uid&&H(t.uid,t.name||"")},[H]),eC=s(e=>{let t=e.detail;t.uid&&$(t.uid,t.value||"",t.attr||"")},[$]),eP=s(e=>{let t=e.detail;t?.length&&I(t)},[I]),eT=s(e=>{let t=e.detail;t&&C(t)},[C]),ek=s(e=>{let t=e.detail;t&&P(t)},[P]),eA=s(e=>{let t=e.detail;t&&R(t)},[R]),ej=s(e=>{let t=e.detail.value,n=e.detail.mode,i=e.detail.settingType;U(t),Y(n),Z(i)},[U,Y,Z]),eq=s(e=>{let t=e.detail.settingType;Z(t)},[Z]),eN=s(e=>{let t=e.detail.mode;console.log(t),_(t)},[_]),eO=s(e=>{let t=e.detail;X(t)},[X]),eD=s(e=>{e.detail&&ee(e.detail)},[ee]),eM=s(e=>{if(e.detail){let t=e.detail.productID,n=e.detail.data;if(!t){et(n);return}let i={...en()??{}};Object.keys(i).forEach(e=>{e.includes(t)&&(i[e]=n[t])}),et(i)}},[et,en]),ex=s(e=>{e.detail&&F(e.detail)},[F]);return c(()=>(window.addEventListener("update-shop-info",er),window.addEventListener("revalidate-query",ea),window.addEventListener("init-builder",es),window.addEventListener("add-entity",ec),window.addEventListener("remove-entity",ew),window.addEventListener("move-entity",eu),window.addEventListener("force-update-entity-props",em),window.addEventListener("update-entity-prop",ep),window.addEventListener("set-global-style",el),window.addEventListener("update-global-swatches-data",ev),window.addEventListener("on-off-header-footer",ey),window.addEventListener("update-create-theme-section-count",ef),window.addEventListener("update-shop-plan",eg),window.addEventListener("set-dynamic-product",eL),window.addEventListener("set-assigned-product-ids",eb),window.addEventListener("set-dynamic-collection",eS),window.addEventListener("update-item-name",eI),window.addEventListener("update-item-attribute",eC),window.addEventListener("set-product-offer",eP),window.addEventListener("set-dynamic-discount-offer",eT),window.addEventListener("update-sale-page-product-id",ek),window.addEventListener("limit-create-theme-section",eA),window.addEventListener("update-interaction-is-select-on-page",ej),window.addEventListener("update-interaction-item",eO),window.addEventListener("update-interaction-setting-type",eq),window.addEventListener("change-sidebar-mode",eN),window.addEventListener("update-font-type",eE),window.addEventListener("update-price-with-currency",eh),window.addEventListener("selling-plan-meta-loaded",eD),window.addEventListener("selling-plan-meta-updated",eD),window.addEventListener("buyer-consent-pre-check-updated",eM),window.addEventListener("editor:error-section-list",ex),()=>{window.removeEventListener("update-shop-info",er),window.removeEventListener("revalidate-query",ea),window.removeEventListener("init-builder",es),window.removeEventListener("add-entity",ec),window.removeEventListener("remove-entity",ew),window.removeEventListener("move-entity",eu),window.removeEventListener("update-entity-prop",ep),window.removeEventListener("set-global-style",el),window.removeEventListener("update-global-swatches-data",ev),window.removeEventListener("on-off-header-footer",ey),window.removeEventListener("update-create-theme-section-count",ef),window.removeEventListener("update-shop-plan",eg),window.removeEventListener("update-price-with-currency",eh),window.removeEventListener("set-dynamic-product",eL),window.removeEventListener("set-dynamic-collection",eS),window.removeEventListener("update-item-name",eI),window.removeEventListener("update-item-attribute",eC),window.removeEventListener("set-product-offer",eP),window.removeEventListener("update-sale-page-product-id",ek),window.removeEventListener("limit-create-theme-section",eA),window.removeEventListener("update-interaction-is-select-on-page",ej),window.removeEventListener("update-interaction-item",eO),window.removeEventListener("update-interaction-setting-type",eq),window.removeEventListener("update-font-type",eE),window.removeEventListener("selling-plan-meta-loaded",eD),window.removeEventListener("selling-plan-meta-updated",eD),window.removeEventListener("buyer-consent-pre-check-updated",eM),window.removeEventListener("editor:error-section-list",ex)}),[ec,eg,em,ep,es,eu,ew,el,ev,ea,er,ey,ef,eL,eS,eI,eC,eP,ek,eA,eO,ej,eq,eE,eN,eT,eh,eD,eM,ex]),e("div",{className:"toolbox"})});export{h as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import{PageViewUpDocument as e}from"@gem-sdk/core";import{useCallback as o,useEffect as r}from"react";let t=(t,n
|
|
2
|
+
import{PageViewUpDocument as e}from"@gem-sdk/core";import{useCallback as o,useEffect as r}from"react";let t=(t,i,n)=>{let s=t||process.env.NEXT_PUBLIC_SHOP_TOKEN,p=process.env.NEXT_PUBLIC_API_URL,a=o(o=>{p&&s&&fetch(p,{method:"POST",headers:{"Content-Type":"application/json","X-GemX-Shop-Token":s},body:JSON.stringify({query:e,variables:{pageHandle:o}})}).finally(()=>{})},[p,s]);r(()=>{i&&!n&&a(i)},[i,a,n])};export{t as useTrackingView};
|
package/dist/types/index.d.ts
CHANGED
|
@@ -87,11 +87,11 @@ type BuilderPageProps = {
|
|
|
87
87
|
storefrontHandle?: string | null;
|
|
88
88
|
shopToken?: string | null;
|
|
89
89
|
mode?: RenderMode;
|
|
90
|
-
pageType: ShopType.PublishedThemePageType;
|
|
90
|
+
pageType: ShopType.PublishedThemePageType | 'THEME_SECTION';
|
|
91
91
|
editorImageToLayout?: boolean;
|
|
92
92
|
isThemeSectionEditor?: boolean;
|
|
93
93
|
hiddenToolbar?: boolean;
|
|
94
|
-
pageName
|
|
94
|
+
pageName?: string;
|
|
95
95
|
isOriginTemplate?: boolean;
|
|
96
96
|
};
|
|
97
97
|
type BuilderUpsellPageProps = {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gem-sdk/pages",
|
|
3
|
-
"version": "12.0.0-dev.
|
|
3
|
+
"version": "12.0.0-dev.142",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"main": "dist/cjs/index.js",
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"post:publish": "node ./../../helpers/convert-publish.js",
|
|
15
15
|
"watch": "rollup -c ./../../helpers/rollup.config.mjs -w",
|
|
16
16
|
"build": "rollup -c ./../../helpers/rollup.config.mjs --environment NODE_ENV:production",
|
|
17
|
-
"lint": "
|
|
17
|
+
"lint": "oxlint --format=stylish ./src",
|
|
18
18
|
"type-check": "yarn tsc --noEmit",
|
|
19
19
|
"test": "jest -c ./../../helpers/jest.config.ts",
|
|
20
20
|
"gen-google-fonts": "node ./scripts/genFontGoogle.js"
|
|
@@ -27,10 +27,10 @@
|
|
|
27
27
|
"next": "14.2.35"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
|
-
"@gem-sdk/core": "12.0.0-dev.
|
|
31
|
-
"@gem-sdk/plugin-cookie-bar": "12.0.0-dev.
|
|
32
|
-
"@gem-sdk/plugin-quick-view": "12.0.0-dev.
|
|
33
|
-
"@gem-sdk/plugin-sticky-add-to-cart": "12.0.0-dev.
|
|
30
|
+
"@gem-sdk/core": "12.0.0-dev.142",
|
|
31
|
+
"@gem-sdk/plugin-cookie-bar": "12.0.0-dev.142",
|
|
32
|
+
"@gem-sdk/plugin-quick-view": "12.0.0-dev.142",
|
|
33
|
+
"@gem-sdk/plugin-sticky-add-to-cart": "12.0.0-dev.142"
|
|
34
34
|
},
|
|
35
35
|
"peerDependencies": {
|
|
36
36
|
"next": "14.2.35"
|