@gem-sdk/pages 1.14.0-dev.346 → 1.14.0-dev.373

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 +1 @@
1
- "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");const globalStyleId="global-style",globalFontId="google-font-builder",fontElementSettingClassName="google-font-element",Toolbox=()=>{let e=core.useMatchMutate(),t=core.useShopStore(e=>e.provider),o=core.useShopStore(e=>e.changeStorefrontInfo),r=core.useBuilderPreviewStore(e=>e.initState),n=core.useBuilderPreviewStore(e=>e.state),a=core.useBuilderPreviewStore(e=>e.forceChangeState),i=core.useBuilderPreviewStore(e=>e.forceChangeItemProp),d=core.useBuilderPreviewStore(e=>e.changeItemPropByKey),l=core.useBuilderPreviewStore(e=>e.setDynamicProduct),s=core.useBuilderPreviewStore(e=>e.setDynamicCollection),c=core.useBuilderPreviewStore(e=>e.addItem),u=core.useBuilderPreviewStore(e=>e.moveItem),p=core.useBuilderPreviewStore(e=>e.removeItem),m=core.useSectionStore(e=>e.addSection),w=core.useShopStore(e=>e.changeSwatches),v=core.useShopStore(e=>e.changeLayoutSettings),h=core.useShopStore(e=>e.changeCreateThemeSectionCount),g=core.useShopStore(e=>e.changeShopPlan),y=core.useModalStore(e=>e.clearModal),f=react.useMemo(()=>genFonts.getFontsFromDataBuilder(n),[n]),b=react.useMemo(()=>googleFonts.createFontUrl(f),[f]),S=react.useCallback(()=>{e(/query\//,{revalidate:!0})},[e]),E=react.useCallback(e=>{let r=e.detail;o({url:r.shopHandle?getStorefrontApi.getStorefrontApi(r.shopHandle,t):void 0,token:r.shopToken})},[o,t]),C=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=googleFonts.createFontUrl(o),n=document.getElementById(globalStyleId),a=document.getElementById(globalFontId);if(r){if(a)a.getAttribute("href")!==r&&a.setAttribute("href",r);else{let e=document.createElement("link");e.id=globalFontId,e.href=r,e.rel="stylesheet",document.head.appendChild(e)}}if(n)n.innerHTML=e;else{let t=document.createElement("style");t.id=globalStyleId,t.innerHTML=e,document.head.appendChild(t)}}}catch{}},[]),L=react.useCallback(e=>{y();try{let t=e.detail;t.data&&("flat"===t.type?a(t.data):r(t.data))}catch{}},[a,r,y]),k=react.useCallback(e=>{try{let t=e.detail;t.entity&&(c({data:t.entity,id:t.id,position:t.position,type:t.type??"component"}),t?.type!=="section"||Array.isArray(t.entity)||m(t.entity.uid,t.entity))}catch{}},[c,m]),F=react.useCallback(e=>{try{let t=e.detail;t.uid&&t.propName&&d({id:t.uid,key:t.propName,data:t.propValue,group:t.group})}catch{}},[d]),P=react.useCallback(e=>{try{let t=e.detail;t.uid&&i(t.uid,t.data,t.group)}catch{}},[i]),B=react.useCallback(e=>{try{let t=e.detail;t.to&&t.uid&&u(t.uid,t.to,Number(t.position)??0)}catch{}},[u]),I=react.useCallback(e=>{try{let t=e.detail;t.uid&&p(t.uid)}catch{}},[p]),q=react.useCallback(e=>{let t=e.detail;try{t.data&&w(t.data)}catch{}},[w]),j=react.useCallback(e=>{let t=e.detail;t&&v(t)},[v]),x=react.useCallback(e=>{let t=e.detail;t&&h(t)},[h]),A=react.useCallback(e=>{let t=e.detail;t&&g(t)},[g]),M=react.useCallback(e=>{let t=e.detail;t&&l(t)},[l]),N=react.useCallback(e=>{let t=e.detail;t&&s(t)},[s]);return react.useEffect(()=>{if(b){let e="google-font",t=document.querySelector(`.${fontElementSettingClassName}[data-font="${e}"]`);if(t)t.getAttribute("href")!==b&&t.setAttribute("href",b);else{let t=document.createElement("link");t.className=fontElementSettingClassName,t.dataset.font=e,t.href=b,t.rel="stylesheet",document.head.appendChild(t)}}},[b]),react.useEffect(()=>(window.addEventListener("update-shop-info",E),window.addEventListener("revalidate-query",S),window.addEventListener("init-builder",L),window.addEventListener("add-entity",k),window.addEventListener("remove-entity",I),window.addEventListener("move-entity",B),window.addEventListener("force-update-entity-props",P),window.addEventListener("update-entity-prop",F),window.addEventListener("set-global-style",C),window.addEventListener("update-global-swatches-data",q),window.addEventListener("on-off-header-footer",j),window.addEventListener("update-create-theme-section-count",x),window.addEventListener("update-shop-plan",A),window.addEventListener("set-dynamic-product",M),window.addEventListener("set-dynamic-collection",N),()=>{window.removeEventListener("update-shop-info",E),window.removeEventListener("revalidate-query",S),window.removeEventListener("init-builder",L),window.removeEventListener("add-entity",k),window.removeEventListener("remove-entity",I),window.removeEventListener("move-entity",B),window.removeEventListener("update-entity-prop",F),window.removeEventListener("set-global-style",C),window.removeEventListener("update-global-swatches-data",q),window.removeEventListener("on-off-header-footer",j),window.removeEventListener("update-create-theme-section-count",x),window.removeEventListener("update-shop-plan",A),window.removeEventListener("set-dynamic-product",M),window.removeEventListener("set-dynamic-collection",N)}),[k,A,P,F,L,B,I,C,q,S,E,j,x,M,N]),jsxRuntime.jsx("div",{className:"toolbox"})};var Toolbox$1=react.memo(Toolbox);exports.default=Toolbox$1;
1
+ "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");const globalStyleId="global-style",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.setDynamicCollection),n=core.useBuilderPreviewStore(e=>e.initState),i=core.useBuilderPreviewStore(e=>e.state),d=core.useBuilderPreviewStore(e=>e.forceChangeState),l=core.useBuilderPreviewStore(e=>e.forceChangeItemProp),s=core.useBuilderPreviewStore(e=>e.changeItemPropByKey),c=core.useBuilderPreviewStore(e=>e.addItem),u=core.useBuilderPreviewStore(e=>e.moveItem),p=core.useBuilderPreviewStore(e=>e.removeItem),v=core.useSectionStore(e=>e.addSection),m=core.useShopStore(e=>e.changeSwatches),w=core.useShopStore(e=>e.changeLayoutSettings),y=core.useShopStore(e=>e.changeCreateThemeSectionCount),f=core.useShopStore(e=>e.changeShopPlan),h=core.useModalStore(e=>e.clearModal),g=react.useMemo(()=>genFonts.getFontsFromDataBuilder(i),[i]),S=(e,t)=>{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");if(o&&r){let a=t.find(e=>e.family==o&&e.variants.includes(r));a||e.remove()}else e.remove()}),t))if("google"==r.type&&r.variants?.length)for(let t of r.variants){let o=JSON.parse(JSON.stringify(r));o.variants=[t];let a=o.family,n=googleFonts.createFontUrl([o]);if(n){let o=document.querySelector(`.${e}[data-font="${a}"][data-font-variant="${t}"]`);if(o)continue;{let o=document.createElement("link");o.className=e,o.dataset.font=a,o.dataset.fontVariant=t,o.href=n,o.rel="stylesheet",document.head.appendChild(o)}}}},b=react.useCallback(()=>{e(/query\//,{revalidate:!0})},[e]),E=react.useCallback(e=>{let r=e.detail;o({url:r.shopHandle?getStorefrontApi.getStorefrontApi(r.shopHandle,t):void 0,token:r.shopToken})},[o,t]),L=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(S("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{}},[]),C=react.useCallback(e=>{h();try{let t=e.detail;t.data&&("flat"===t.type?d(t.data):n(t.data))}catch{}},[d,n,h]),k=react.useCallback(e=>{try{let t=e.detail;t.entity&&(c({data:t.entity,id:t.id,position:t.position,type:t.type??"component"}),t?.type!=="section"||Array.isArray(t.entity)||v(t.entity.uid,t.entity))}catch{}},[c,v]),P=react.useCallback(e=>{try{let t=e.detail;t.uid&&t.propName&&s({id:t.uid,key:t.propName,data:t.propValue,group:t.group})}catch{}},[s]),q=react.useCallback(e=>{try{let t=e.detail;t.uid&&l(t.uid,t.data,t.group)}catch{}},[l]),j=react.useCallback(e=>{try{let t=e.detail;t.to&&t.uid&&u(t.uid,t.to,Number(t.position)??0)}catch{}},[u]),x=react.useCallback(e=>{try{let t=e.detail;t.uid&&p(t.uid)}catch{}},[p]),B=react.useCallback(e=>{let t=e.detail;try{t.data&&m(t.data)}catch{}},[m]),F=react.useCallback(e=>{let t=e.detail;t&&w(t)},[w]),I=react.useCallback(e=>{let t=e.detail;t&&y(t)},[y]),A=react.useCallback(e=>{let t=e.detail;t&&f(t)},[f]),M=react.useCallback(e=>{let t=e.detail;t&&r(t)},[r]),T=react.useCallback(e=>{let t=e.detail;t&&a(t)},[a]);return react.useEffect(()=>{g&&S("google-font-element",g)},[g]),react.useEffect(()=>(window.addEventListener("update-shop-info",E),window.addEventListener("revalidate-query",b),window.addEventListener("init-builder",C),window.addEventListener("add-entity",k),window.addEventListener("remove-entity",x),window.addEventListener("move-entity",j),window.addEventListener("force-update-entity-props",q),window.addEventListener("update-entity-prop",P),window.addEventListener("set-global-style",L),window.addEventListener("update-global-swatches-data",B),window.addEventListener("on-off-header-footer",F),window.addEventListener("update-create-theme-section-count",I),window.addEventListener("update-shop-plan",A),window.addEventListener("set-dynamic-product",M),window.addEventListener("set-dynamic-collection",T),()=>{window.removeEventListener("update-shop-info",E),window.removeEventListener("revalidate-query",b),window.removeEventListener("init-builder",C),window.removeEventListener("add-entity",k),window.removeEventListener("remove-entity",x),window.removeEventListener("move-entity",j),window.removeEventListener("update-entity-prop",P),window.removeEventListener("set-global-style",L),window.removeEventListener("update-global-swatches-data",B),window.removeEventListener("on-off-header-footer",F),window.removeEventListener("update-create-theme-section-count",I),window.removeEventListener("update-shop-plan",A),window.removeEventListener("set-dynamic-product",M),window.removeEventListener("set-dynamic-collection",T)}),[k,A,q,P,C,j,x,L,B,b,E,F,I,M,T]),jsxRuntime.jsx("div",{className:"toolbox"})};var Toolbox$1=react.memo(Toolbox);exports.default=Toolbox$1;
@@ -1 +1 @@
1
- "use strict";const 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)=>{for(let o in e)if(Object.prototype.hasOwnProperty.call(e,o)){let r=e[o];if(r){let e=r.custom?.fontFamily,o=r.custom?.fontVariants;if(e&&o?.length){let n=o.map(t=>"regular"===t?"400":t),i=r.custom?.fontWeight&&n.includes(r.custom?.fontWeight)?r.custom?.fontWeight:n[0];if(i){let o=t.find(t=>t.family==e&&t.variants.includes(i));if(!o){let o=t.find(t=>t.family==e);o?o.variants.push(i):t.push({family:e,variants:[i],subsets:[],type:"google"})}}}}}};exports.getFontFromGroupSetting=getFontFromGroupSetting,exports.getFontsFromDataBuilder=getFontsFromDataBuilder;
1
+ "use strict";const getFontsFromDataBuilder=t=>{let e=[];for(let o in t)if(Object.prototype.hasOwnProperty.call(t,o)){let i=t[o],n=i.styles,r=i.settings;getFontFromGroupSetting(e,n),getFontFromGroupSetting(e,r)}return e},getFontFromGroupSetting=(t,e)=>{for(let o in e)if(Object.prototype.hasOwnProperty.call(e,o)){let i=e[o];if(i){let e=i.custom?.fontFamily,o=i.custom?.fontVariants;if(e&&o?.length){let n=o.map(t=>"regular"===t?"400":t),r=i.custom?.fontWeight&&n.includes(i.custom?.fontWeight)?i.custom?.fontWeight:n[0];if(r){let o=t.find(t=>t.family==e&&t.variants.includes(r));if(!o){let o=t.find(t=>t.family==e);if(o)o.variants.push(r);else{let o=[r];"700"!==r&&n.includes("700")&&o.push("700"),t.push({family:e,variants:o,subsets:[],type:"google"})}}}}}}};exports.getFontFromGroupSetting=getFontFromGroupSetting,exports.getFontsFromDataBuilder=getFontsFromDataBuilder;
@@ -1 +1 @@
1
- "use strict";var jsxRuntime=require("react/jsx-runtime"),core=require("@gem-sdk/core"),nextSeo=require("next-seo"),Head=require("next/head"),react=require("react"),Toolbox=require("../components/builder/Toolbox.js"),Header=require("../components/Header.js"),Footer=require("../components/Footer.js"),CollectionGlobalProvider=require("./CollectionGlobalProvider.js"),PopupManager=require("../components/builder/PopupManager.js"),ImageToLayout=require("../components/image-to-layout/ImageToLayout.js"),AddSectionImageToLayout=require("../components/image-to-layout/AddSectionImageToLayout.js"),Toolbar=require("../components/builder/Toolbar.js");const BuilderPage=({components:e,seo:t,themeStyle:o,fontStyle:r,sectionData:s,pageType:i,editorImageToLayout:n,isThemeSectionEditor:u})=>{let[a,d]=react.useState(!1),l=react.useMemo(()=>({ROOT:{uid:"ROOT",tag:"Root",label:"Root",childrens:[]}}),[]);return react.useEffect(()=>{d(!0)},[]),jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(nextSeo.NextSeo,{...t}),jsxRuntime.jsxs(Head,{children:[o&&jsxRuntime.jsx("style",{type:"text/css",id:"global-style",dangerouslySetInnerHTML:{__html:o}}),r&&jsxRuntime.jsx("style",{"data-id":"google-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:r}})]}),jsxRuntime.jsx(core.BuilderComponentProvider,{components:e,children:jsxRuntime.jsx(core.SectionProvider,{data:s,children:jsxRuntime.jsxs(core.BuilderPreviewProvider,{state:l,isThemeSectionEditor:u,children:[jsxRuntime.jsx(Toolbox.default,{}),jsxRuntime.jsx(Toolbar.default,{}),jsxRuntime.jsx(PopupManager.default,{}),a&&jsxRuntime.jsxs("div",{className:"builder z-1 relative",children:[u?jsxRuntime.jsx("div",{className:"h-[40px] bg-[#f4f4f4]"}):jsxRuntime.jsx(Header.default,{}),jsxRuntime.jsx("div",{id:"storefront",className:u?"theme-section-editor":"",children:"GP_COLLECTION"===i?jsxRuntime.jsx(CollectionGlobalProvider.default,{children:jsxRuntime.jsx(core.RenderPreview,{uid:"ROOT"})}):jsxRuntime.jsx(core.RenderPreview,{uid:"ROOT"})}),jsxRuntime.jsx(ImageToLayout.default,{editorImageToLayout:n||!1}),jsxRuntime.jsx(AddSectionImageToLayout.default,{editorImageToLayout:n||!1}),jsxRuntime.jsx("div",{id:"visual-content"}),!u&&jsxRuntime.jsx(Footer.default,{})]})]},"preview")})})]})};exports.BuilderPage=BuilderPage;
1
+ "use strict";var jsxRuntime=require("react/jsx-runtime"),core=require("@gem-sdk/core"),nextSeo=require("next-seo"),Head=require("next/head"),react=require("react"),Toolbox=require("../components/builder/Toolbox.js"),Header=require("../components/Header.js"),Footer=require("../components/Footer.js"),CollectionGlobalProvider=require("./CollectionGlobalProvider.js"),PopupManager=require("../components/builder/PopupManager.js"),ImageToLayout=require("../components/image-to-layout/ImageToLayout.js"),AddSectionImageToLayout=require("../components/image-to-layout/AddSectionImageToLayout.js"),Toolbar=require("../components/builder/Toolbar.js");const BuilderPage=({components:e,seo:t,themeStyle:o,fontStyle:r,sectionData:s,pageType:i,editorImageToLayout:n,isThemeSectionEditor:u})=>{let[a,d]=react.useState(!1),l=react.useMemo(()=>({ROOT:{uid:"ROOT",tag:"Root",label:"Root",childrens:[]}}),[]);return react.useEffect(()=>{d(!0)},[]),jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(nextSeo.NextSeo,{...t}),jsxRuntime.jsxs(Head,{children:[o&&jsxRuntime.jsx("style",{type:"text/css",id:"global-style",dangerouslySetInnerHTML:{__html:o}}),r&&jsxRuntime.jsx("style",{"data-id":"google-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:r}})]}),jsxRuntime.jsx(core.PageProvider,{children:jsxRuntime.jsx(core.BuilderComponentProvider,{components:e,children:jsxRuntime.jsx(core.SectionProvider,{data:s,children:jsxRuntime.jsxs(core.BuilderPreviewProvider,{state:l,isThemeSectionEditor:u,children:[jsxRuntime.jsx(Toolbox.default,{}),jsxRuntime.jsx(Toolbar.default,{}),jsxRuntime.jsx(PopupManager.default,{}),a&&jsxRuntime.jsxs("div",{className:"builder z-1 relative",children:[u?jsxRuntime.jsx("div",{className:"h-[40px] bg-[#f4f4f4]"}):jsxRuntime.jsx(Header.default,{}),jsxRuntime.jsx("div",{id:"storefront",className:u?"theme-section-editor":"",children:"GP_COLLECTION"===i?jsxRuntime.jsx(CollectionGlobalProvider.default,{children:jsxRuntime.jsx(core.RenderPreview,{uid:"ROOT"})}):jsxRuntime.jsx(core.RenderPreview,{uid:"ROOT"})}),jsxRuntime.jsx(ImageToLayout.default,{editorImageToLayout:n||!1}),jsxRuntime.jsx(AddSectionImageToLayout.default,{editorImageToLayout:n||!1}),jsxRuntime.jsx("div",{id:"visual-content"}),!u&&jsxRuntime.jsx(Footer.default,{})]})]},"preview")})})})]})};exports.BuilderPage=BuilderPage;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),core=require("@gem-sdk/core"),nextSeo=require("next-seo"),dynamic=require("next/dynamic"),Head=require("next/head"),router=require("next/router");const CollectionProvider=dynamic(()=>import("@gem-sdk/core").then(e=>e.CollectionProvider)),CollectionDetailPage=({seo:e,components:t,builderData:r,sectionData:i,themeStyle:n,collection:o,fontStyle:s})=>{let l=router.useRouter();return l.isFallback?jsxRuntime.jsx("div",{children:"Loading..."}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(nextSeo.NextSeo,{...e}),jsxRuntime.jsxs(Head,{children:[n&&jsxRuntime.jsx("style",{"data-id":"global-style",type:"text/css",dangerouslySetInnerHTML:{__html:n}}),s&&jsxRuntime.jsx("style",{"data-id":"google-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:s}})]}),jsxRuntime.jsx(core.BuilderComponentProvider,{components:t,children:jsxRuntime.jsx(core.SectionProvider,{data:i,children:jsxRuntime.jsx(CollectionProvider,{collection:o,children:r&&jsxRuntime.jsx(core.BuilderProvider,{state:r,children:jsxRuntime.jsx(core.Render,{uid:"ROOT"})})})})})]})};exports.default=CollectionDetailPage;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),core=require("@gem-sdk/core"),nextSeo=require("next-seo"),dynamic=require("next/dynamic"),Head=require("next/head"),router=require("next/router");const CollectionProvider=dynamic(()=>import("@gem-sdk/core").then(e=>e.CollectionProvider)),CollectionDetailPage=({seo:e,components:t,builderData:r,sectionData:i,themeStyle:n,collection:o,fontStyle:s})=>{let l=router.useRouter();return l.isFallback?jsxRuntime.jsx("div",{children:"Loading..."}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(nextSeo.NextSeo,{...e}),jsxRuntime.jsxs(Head,{children:[n&&jsxRuntime.jsx("style",{"data-id":"global-style",type:"text/css",dangerouslySetInnerHTML:{__html:n}}),s&&jsxRuntime.jsx("style",{"data-id":"google-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:s}})]}),jsxRuntime.jsx(core.PageProvider,{children:jsxRuntime.jsx(core.BuilderComponentProvider,{components:t,children:jsxRuntime.jsx(core.SectionProvider,{data:i,children:jsxRuntime.jsx(CollectionProvider,{collection:o,children:r&&jsxRuntime.jsx(core.BuilderProvider,{state:r,children:jsxRuntime.jsx(core.Render,{uid:"ROOT"})})})})})})]})};exports.default=CollectionDetailPage;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),core=require("@gem-sdk/core"),nextSeo=require("next-seo"),dynamic=require("next/dynamic"),Head=require("next/head"),router=require("next/router");const ProductProvider=dynamic(()=>import("@gem-sdk/core").then(e=>e.ProductProvider)),ProductDetailPage=({themeStyle:e,fontStyle:t,seo:r,product:s,components:i,builderData:n,sectionData:d})=>{let o=router.useRouter();return o.isFallback?jsxRuntime.jsx("div",{children:"Loading..."}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(nextSeo.NextSeo,{...r}),jsxRuntime.jsxs(Head,{children:[e&&jsxRuntime.jsx("style",{"data-id":"global-style",type:"text/css",dangerouslySetInnerHTML:{__html:e}}),t&&jsxRuntime.jsx("style",{"data-id":"google-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:t}})]}),jsxRuntime.jsx(core.BuilderComponentProvider,{components:i,children:jsxRuntime.jsx(core.SectionProvider,{data:d,children:jsxRuntime.jsxs(ProductProvider,{product:s,children:[n&&jsxRuntime.jsx(core.BuilderProvider,{state:n,children:jsxRuntime.jsx(core.Render,{uid:"ROOT"})}),jsxRuntime.jsx(core.AddOn,{name:"sticky-add-to-cart"})]})})})]})};exports.default=ProductDetailPage;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),core=require("@gem-sdk/core"),nextSeo=require("next-seo"),dynamic=require("next/dynamic"),Head=require("next/head"),router=require("next/router");const ProductProvider=dynamic(()=>import("@gem-sdk/core").then(e=>e.ProductProvider)),ProductDetailPage=({themeStyle:e,fontStyle:r,seo:t,product:s,components:i,builderData:n,sectionData:d})=>{let o=router.useRouter();return o.isFallback?jsxRuntime.jsx("div",{children:"Loading..."}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(nextSeo.NextSeo,{...t}),jsxRuntime.jsxs(Head,{children:[e&&jsxRuntime.jsx("style",{"data-id":"global-style",type:"text/css",dangerouslySetInnerHTML:{__html:e}}),r&&jsxRuntime.jsx("style",{"data-id":"google-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:r}})]}),jsxRuntime.jsx(core.PageProvider,{children:jsxRuntime.jsx(core.BuilderComponentProvider,{components:i,children:jsxRuntime.jsx(core.SectionProvider,{data:d,children:jsxRuntime.jsxs(ProductProvider,{product:s,children:[n&&jsxRuntime.jsx(core.BuilderProvider,{state:n,children:jsxRuntime.jsx(core.Render,{uid:"ROOT"})}),jsxRuntime.jsx(core.AddOn,{name:"sticky-add-to-cart"})]})})})})]})};exports.default=ProductDetailPage;
@@ -1 +1 @@
1
- "use strict";var jsxRuntime=require("react/jsx-runtime"),core=require("@gem-sdk/core"),nextSeo=require("next-seo"),Head=require("next/head"),router=require("next/router"),useTrackingView=require("../libs/hooks/use-tracking-view.js"),parseHtml=require("../libs/parse-html.js");const StaticPageV2=({components:e,builderData:s,sectionData:t,seo:i,themeStyle:a,fontStyle:r,elementFontStyle:n,customCodeHeader:l,shopToken:u,pageHandle:m})=>{let x=router.useRouter();return(useTrackingView.useTrackingView(u,m,x.isFallback),x.isFallback)?jsxRuntime.jsx("div",{className:"flex h-full items-center justify-center",children:jsxRuntime.jsxs("div",{className:"flex gap-2",children:[jsxRuntime.jsx("span",{className:"aspect-square h-2 animate-[flashing_500ms_infinite_alternate] rounded-full bg-slate-800"}),jsxRuntime.jsx("span",{className:"aspect-square h-2 animate-[flashing_500ms_infinite_200ms_linear_alternate] rounded-full bg-slate-800"}),jsxRuntime.jsx("span",{className:"aspect-square h-2 animate-[flashing_500ms_infinite_500ms_alternate] rounded-full bg-slate-800"})]})}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(nextSeo.NextSeo,{...i}),jsxRuntime.jsxs(Head,{children:[parseHtml.parseHtml(l,!0),a&&jsxRuntime.jsx("style",{"data-id":"global-style",type:"text/css",dangerouslySetInnerHTML:{__html:a}}),r&&jsxRuntime.jsx("style",{"data-id":"google-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:r}}),n&&n.map(e=>jsxRuntime.jsx("style",{"data-id":"google-element-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:e}},e))]}),jsxRuntime.jsx(core.BuilderComponentProvider,{components:e,children:jsxRuntime.jsx(core.SectionProvider,{data:t,children:s?.map(e=>jsxRuntime.jsx(core.BuilderProvider,{state:e.data,lazy:e.lazy,priority:e.priority,children:jsxRuntime.jsx(core.Render,{uid:e.uid})},e.uid))})})]})};exports.StaticPageV2=StaticPageV2;
1
+ "use strict";var jsxRuntime=require("react/jsx-runtime"),core=require("@gem-sdk/core"),nextSeo=require("next-seo"),Head=require("next/head"),router=require("next/router"),useTrackingView=require("../libs/hooks/use-tracking-view.js"),parseHtml=require("../libs/parse-html.js");const StaticPageV2=({components:e,builderData:s,sectionData:t,seo:i,themeStyle:r,fontStyle:a,elementFontStyle:n,customCodeHeader:l,shopToken:u,pageHandle:m})=>{let x=router.useRouter();return(useTrackingView.useTrackingView(u,m,x.isFallback),x.isFallback)?jsxRuntime.jsx("div",{className:"flex h-full items-center justify-center",children:jsxRuntime.jsxs("div",{className:"flex gap-2",children:[jsxRuntime.jsx("span",{className:"aspect-square h-2 animate-[flashing_500ms_infinite_alternate] rounded-full bg-slate-800"}),jsxRuntime.jsx("span",{className:"aspect-square h-2 animate-[flashing_500ms_infinite_200ms_linear_alternate] rounded-full bg-slate-800"}),jsxRuntime.jsx("span",{className:"aspect-square h-2 animate-[flashing_500ms_infinite_500ms_alternate] rounded-full bg-slate-800"})]})}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(nextSeo.NextSeo,{...i}),jsxRuntime.jsxs(Head,{children:[parseHtml.parseHtml(l,!0),r&&jsxRuntime.jsx("style",{"data-id":"global-style",type:"text/css",dangerouslySetInnerHTML:{__html:r}}),a&&jsxRuntime.jsx("style",{"data-id":"google-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:a}}),n&&n.map(e=>jsxRuntime.jsx("style",{"data-id":"google-element-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:e}},e))]}),jsxRuntime.jsx(core.PageProvider,{children:jsxRuntime.jsx(core.BuilderComponentProvider,{components:e,children:jsxRuntime.jsx(core.SectionProvider,{data:t,children:s?.map(e=>jsxRuntime.jsx(core.BuilderProvider,{state:e.data,lazy:e.lazy,priority:e.priority,children:jsxRuntime.jsx(core.Render,{uid:e.uid})},e.uid))})})})]})};exports.StaticPageV2=StaticPageV2;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),core=require("@gem-sdk/core"),nextSeo=require("next-seo"),Head=require("next/head"),router=require("next/router");const StaticPage=({components:e,builderData:s,sectionData:t,seo:n,themeStyle:r,fontStyle:i})=>{let a=router.useRouter();return a.isFallback?jsxRuntime.jsx("div",{className:"flex h-full items-center justify-center",children:jsxRuntime.jsxs("div",{className:"flex gap-2",children:[jsxRuntime.jsx("span",{className:"aspect-square h-2 animate-[flashing_500ms_infinite_alternate] rounded-full bg-slate-800"}),jsxRuntime.jsx("span",{className:"aspect-square h-2 animate-[flashing_500ms_infinite_200ms_linear_alternate] rounded-full bg-slate-800"}),jsxRuntime.jsx("span",{className:"aspect-square h-2 animate-[flashing_500ms_infinite_500ms_alternate] rounded-full bg-slate-800"})]})}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(nextSeo.NextSeo,{...n}),jsxRuntime.jsxs(Head,{children:[r&&jsxRuntime.jsx("style",{"data-id":"global-style",type:"text/css",dangerouslySetInnerHTML:{__html:r}}),i&&jsxRuntime.jsx("style",{"data-id":"google-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:i}})]}),jsxRuntime.jsx(core.BuilderComponentProvider,{components:e,children:jsxRuntime.jsx(core.SectionProvider,{data:t,children:jsxRuntime.jsx(jsxRuntime.Fragment,{children:s&&jsxRuntime.jsx(core.BuilderProvider,{state:s,children:jsxRuntime.jsx(core.Render,{uid:"ROOT"})},"body")})})})]})};exports.default=StaticPage;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),core=require("@gem-sdk/core"),nextSeo=require("next-seo"),Head=require("next/head"),router=require("next/router");const StaticPage=({components:e,builderData:s,sectionData:t,seo:n,themeStyle:r,fontStyle:i})=>{let a=router.useRouter();return a.isFallback?jsxRuntime.jsx("div",{className:"flex h-full items-center justify-center",children:jsxRuntime.jsxs("div",{className:"flex gap-2",children:[jsxRuntime.jsx("span",{className:"aspect-square h-2 animate-[flashing_500ms_infinite_alternate] rounded-full bg-slate-800"}),jsxRuntime.jsx("span",{className:"aspect-square h-2 animate-[flashing_500ms_infinite_200ms_linear_alternate] rounded-full bg-slate-800"}),jsxRuntime.jsx("span",{className:"aspect-square h-2 animate-[flashing_500ms_infinite_500ms_alternate] rounded-full bg-slate-800"})]})}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(nextSeo.NextSeo,{...n}),jsxRuntime.jsxs(Head,{children:[r&&jsxRuntime.jsx("style",{"data-id":"global-style",type:"text/css",dangerouslySetInnerHTML:{__html:r}}),i&&jsxRuntime.jsx("style",{"data-id":"google-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:i}})]}),jsxRuntime.jsx(core.PageProvider,{children:jsxRuntime.jsx(core.BuilderComponentProvider,{components:e,children:jsxRuntime.jsx(core.SectionProvider,{data:t,children:jsxRuntime.jsx(jsxRuntime.Fragment,{children:s&&jsxRuntime.jsx(core.BuilderProvider,{state:s,children:jsxRuntime.jsx(core.Render,{uid:"ROOT"})},"body")})})})})]})};exports.default=StaticPage;
@@ -1 +1 @@
1
- import{jsx as e}from"react/jsx-runtime";import{useMatchMutate as t,useShopStore as n,useBuilderPreviewStore as o,useSectionStore as i,useModalStore as d}from"@gem-sdk/core";import{memo as a,useMemo as r,useCallback as l,useEffect as s}from"react";import{getStorefrontApi as m}from"../../libs/get-storefront-api.js";import{createFontUrl as c}from"../../libs/google-fonts.js";import{genCSS as p}from"../../libs/helpers/gen-css.js";import{getFontsFromDataBuilder as w}from"../../libs/helpers/gen-fonts.js";import{shopifyCdnWithGoogleFonts as u}from"../../libs/shopify-cdn-with-google-fonts.js";let globalStyleId="global-style",globalFontId="google-font-builder",fontElementSettingClassName="google-font-element",Toolbox=()=>{let a=t(),y=n(e=>e.provider),v=n(e=>e.changeStorefrontInfo),f=o(e=>e.initState),h=o(e=>e.state),g=o(e=>e.forceChangeState),E=o(e=>e.forceChangeItemProp),L=o(e=>e.changeItemPropByKey),b=o(e=>e.setDynamicProduct),S=o(e=>e.setDynamicCollection),I=o(e=>e.addItem),C=o(e=>e.moveItem),N=o(e=>e.removeItem),T=i(e=>e.addSection),j=n(e=>e.changeSwatches),x=n(e=>e.changeLayoutSettings),k=n(e=>e.changeCreateThemeSectionCount),A=n(e=>e.changeShopPlan),q=d(e=>e.clearModal),H=r(()=>w(h),[h]),P=r(()=>c(H),[H]),$=l(()=>{a(/query\//,{revalidate:!0})},[a]),B=l(e=>{let t=e.detail;v({url:t.shopHandle?m(t.shopHandle,y):void 0,token:t.shopToken})},[v,y]),F=l(e=>{let t=e.detail;try{if(t.data){let e=p(t.data,t.mobileOnly),n=Object.entries(t.data?.font).map(([,e])=>e).map(e=>{if("custom"==e.type){let t=u.find(t=>t.family==e.family);if(t)return t}return e}),o=c(n),i=document.getElementById(globalStyleId),d=document.getElementById(globalFontId);if(o){if(d)d.getAttribute("href")!==o&&d.setAttribute("href",o);else{let e=document.createElement("link");e.id=globalFontId,e.href=o,e.rel="stylesheet",document.head.appendChild(e)}}if(i)i.innerHTML=e;else{let t=document.createElement("style");t.id=globalStyleId,t.innerHTML=e,document.head.appendChild(t)}}}catch{}},[]),M=l(e=>{q();try{let t=e.detail;t.data&&("flat"===t.type?g(t.data):f(t.data))}catch{}},[g,f,q]),D=l(e=>{try{let t=e.detail;t.entity&&(I({data:t.entity,id:t.id,position:t.position,type:t.type??"component"}),t?.type!=="section"||Array.isArray(t.entity)||T(t.entity.uid,t.entity))}catch{}},[I,T]),O=l(e=>{try{let t=e.detail;t.uid&&t.propName&&L({id:t.uid,key:t.propName,data:t.propValue,group:t.group})}catch{}},[L]),K=l(e=>{try{let t=e.detail;t.uid&&E(t.uid,t.data,t.group)}catch{}},[E]),V=l(e=>{try{let t=e.detail;t.to&&t.uid&&C(t.uid,t.to,Number(t.position)??0)}catch{}},[C]),z=l(e=>{try{let t=e.detail;t.uid&&N(t.uid)}catch{}},[N]),G=l(e=>{let t=e.detail;try{t.data&&j(t.data)}catch{}},[j]),J=l(e=>{let t=e.detail;t&&x(t)},[x]),Q=l(e=>{let t=e.detail;t&&k(t)},[k]),R=l(e=>{let t=e.detail;t&&A(t)},[A]),U=l(e=>{let t=e.detail;t&&b(t)},[b]),W=l(e=>{let t=e.detail;t&&S(t)},[S]);return s(()=>{if(P){let e="google-font",t=document.querySelector(`.${fontElementSettingClassName}[data-font="${e}"]`);if(t)t.getAttribute("href")!==P&&t.setAttribute("href",P);else{let t=document.createElement("link");t.className=fontElementSettingClassName,t.dataset.font=e,t.href=P,t.rel="stylesheet",document.head.appendChild(t)}}},[P]),s(()=>(window.addEventListener("update-shop-info",B),window.addEventListener("revalidate-query",$),window.addEventListener("init-builder",M),window.addEventListener("add-entity",D),window.addEventListener("remove-entity",z),window.addEventListener("move-entity",V),window.addEventListener("force-update-entity-props",K),window.addEventListener("update-entity-prop",O),window.addEventListener("set-global-style",F),window.addEventListener("update-global-swatches-data",G),window.addEventListener("on-off-header-footer",J),window.addEventListener("update-create-theme-section-count",Q),window.addEventListener("update-shop-plan",R),window.addEventListener("set-dynamic-product",U),window.addEventListener("set-dynamic-collection",W),()=>{window.removeEventListener("update-shop-info",B),window.removeEventListener("revalidate-query",$),window.removeEventListener("init-builder",M),window.removeEventListener("add-entity",D),window.removeEventListener("remove-entity",z),window.removeEventListener("move-entity",V),window.removeEventListener("update-entity-prop",O),window.removeEventListener("set-global-style",F),window.removeEventListener("update-global-swatches-data",G),window.removeEventListener("on-off-header-footer",J),window.removeEventListener("update-create-theme-section-count",Q),window.removeEventListener("update-shop-plan",R),window.removeEventListener("set-dynamic-product",U),window.removeEventListener("set-dynamic-collection",W)}),[D,R,K,O,M,V,z,F,G,$,B,J,Q,U,W]),e("div",{className:"toolbox"})};var Toolbox$1=a(Toolbox);export{Toolbox$1 as default};
1
+ import{jsx as e}from"react/jsx-runtime";import{useMatchMutate as t,useShopStore as o,usePageStore as n,useBuilderPreviewStore as i,useSectionStore as a,useModalStore as d}from"@gem-sdk/core";import{memo as r,useMemo as l,useCallback as s,useEffect as m}from"react";import{getStorefrontApi as c}from"../../libs/get-storefront-api.js";import{createFontUrl as p}from"../../libs/google-fonts.js";import{genCSS as v}from"../../libs/helpers/gen-css.js";import{getFontsFromDataBuilder as w}from"../../libs/helpers/gen-fonts.js";import{shopifyCdnWithGoogleFonts as y}from"../../libs/shopify-cdn-with-google-fonts.js";let globalStyleId="global-style",Toolbox=()=>{let r=t(),u=o(e=>e.provider),f=o(e=>e.changeStorefrontInfo),h=n(e=>e.setDynamicProduct),g=n(e=>e.setDynamicCollection),E=i(e=>e.initState),L=i(e=>e.state),b=i(e=>e.forceChangeState),S=i(e=>e.forceChangeItemProp),I=i(e=>e.changeItemPropByKey),T=i(e=>e.addItem),j=i(e=>e.moveItem),x=i(e=>e.removeItem),C=a(e=>e.addSection),N=o(e=>e.changeSwatches),$=o(e=>e.changeLayoutSettings),q=o(e=>e.changeCreateThemeSectionCount),A=o(e=>e.changeShopPlan),k=d(e=>e.clearModal),H=l(()=>w(L),[L]),O=(e,t)=>{if(!t?.length){let t=document.querySelectorAll(`.${e}`);t.forEach(e=>{e.remove()});return}let o=document.querySelectorAll(`.${e}`);for(let n of(o.forEach(e=>{let o=e.getAttribute("data-font"),n=e.getAttribute("data-font-variant");if(o&&n){let i=t.find(e=>e.family==o&&e.variants.includes(n));i||e.remove()}else e.remove()}),t))if("google"==n.type&&n.variants?.length)for(let t of n.variants){let o=JSON.parse(JSON.stringify(n));o.variants=[t];let i=o.family,a=p([o]);if(a){let o=document.querySelector(`.${e}[data-font="${i}"][data-font-variant="${t}"]`);if(o)continue;{let o=document.createElement("link");o.className=e,o.dataset.font=i,o.dataset.fontVariant=t,o.href=a,o.rel="stylesheet",document.head.appendChild(o)}}}},P=s(()=>{r(/query\//,{revalidate:!0})},[r]),M=s(e=>{let t=e.detail;f({url:t.shopHandle?c(t.shopHandle,u):void 0,token:t.shopToken})},[f,u]),B=s(e=>{let t=e.detail;try{if(t.data){let e=v(t.data,t.mobileOnly),o=Object.entries(t.data?.font).map(([,e])=>e).map(e=>{if("custom"==e.type){let t=y.find(t=>t.family==e.family);if(t)return t}return e}),n=document.getElementById(globalStyleId);if(O("google-font-builder",o),n)n.innerHTML=e;else{let t=document.createElement("style");t.id=globalStyleId,t.innerHTML=e,document.head.appendChild(t)}}}catch{}},[]),D=s(e=>{k();try{let t=e.detail;t.data&&("flat"===t.type?b(t.data):E(t.data))}catch{}},[b,E,k]),J=s(e=>{try{let t=e.detail;t.entity&&(T({data:t.entity,id:t.id,position:t.position,type:t.type??"component"}),t?.type!=="section"||Array.isArray(t.entity)||C(t.entity.uid,t.entity))}catch{}},[T,C]),V=s(e=>{try{let t=e.detail;t.uid&&t.propName&&I({id:t.uid,key:t.propName,data:t.propValue,group:t.group})}catch{}},[I]),K=s(e=>{try{let t=e.detail;t.uid&&S(t.uid,t.data,t.group)}catch{}},[S]),z=s(e=>{try{let t=e.detail;t.to&&t.uid&&j(t.uid,t.to,Number(t.position)??0)}catch{}},[j]),F=s(e=>{try{let t=e.detail;t.uid&&x(t.uid)}catch{}},[x]),G=s(e=>{let t=e.detail;try{t.data&&N(t.data)}catch{}},[N]),Q=s(e=>{let t=e.detail;t&&$(t)},[$]),R=s(e=>{let t=e.detail;t&&q(t)},[q]),U=s(e=>{let t=e.detail;t&&A(t)},[A]),W=s(e=>{let t=e.detail;t&&h(t)},[h]),X=s(e=>{let t=e.detail;t&&g(t)},[g]);return m(()=>{H&&O("google-font-element",H)},[H]),m(()=>(window.addEventListener("update-shop-info",M),window.addEventListener("revalidate-query",P),window.addEventListener("init-builder",D),window.addEventListener("add-entity",J),window.addEventListener("remove-entity",F),window.addEventListener("move-entity",z),window.addEventListener("force-update-entity-props",K),window.addEventListener("update-entity-prop",V),window.addEventListener("set-global-style",B),window.addEventListener("update-global-swatches-data",G),window.addEventListener("on-off-header-footer",Q),window.addEventListener("update-create-theme-section-count",R),window.addEventListener("update-shop-plan",U),window.addEventListener("set-dynamic-product",W),window.addEventListener("set-dynamic-collection",X),()=>{window.removeEventListener("update-shop-info",M),window.removeEventListener("revalidate-query",P),window.removeEventListener("init-builder",D),window.removeEventListener("add-entity",J),window.removeEventListener("remove-entity",F),window.removeEventListener("move-entity",z),window.removeEventListener("update-entity-prop",V),window.removeEventListener("set-global-style",B),window.removeEventListener("update-global-swatches-data",G),window.removeEventListener("on-off-header-footer",Q),window.removeEventListener("update-create-theme-section-count",R),window.removeEventListener("update-shop-plan",U),window.removeEventListener("set-dynamic-product",W),window.removeEventListener("set-dynamic-collection",X)}),[J,U,K,V,D,z,F,B,G,P,M,Q,R,W,X]),e("div",{className:"toolbox"})};var Toolbox$1=r(Toolbox);export{Toolbox$1 as default};
@@ -1 +1 @@
1
- let getFontsFromDataBuilder=t=>{let e=[];for(let o in t)if(Object.prototype.hasOwnProperty.call(t,o)){let i=t[o],n=i.styles,r=i.settings;getFontFromGroupSetting(e,n),getFontFromGroupSetting(e,r)}return e},getFontFromGroupSetting=(t,e)=>{for(let o in e)if(Object.prototype.hasOwnProperty.call(e,o)){let i=e[o];if(i){let e=i.custom?.fontFamily,o=i.custom?.fontVariants;if(e&&o?.length){let n=o.map(t=>"regular"===t?"400":t),r=i.custom?.fontWeight&&n.includes(i.custom?.fontWeight)?i.custom?.fontWeight:n[0];if(r){let o=t.find(t=>t.family==e&&t.variants.includes(r));if(!o){let o=t.find(t=>t.family==e);o?o.variants.push(r):t.push({family:e,variants:[r],subsets:[],type:"google"})}}}}}};export{getFontFromGroupSetting,getFontsFromDataBuilder};
1
+ let getFontsFromDataBuilder=t=>{let e=[];for(let o in t)if(Object.prototype.hasOwnProperty.call(t,o)){let i=t[o],n=i.styles,l=i.settings;getFontFromGroupSetting(e,n),getFontFromGroupSetting(e,l)}return e},getFontFromGroupSetting=(t,e)=>{for(let o in e)if(Object.prototype.hasOwnProperty.call(e,o)){let i=e[o];if(i){let e=i.custom?.fontFamily,o=i.custom?.fontVariants;if(e&&o?.length){let n=o.map(t=>"regular"===t?"400":t),l=i.custom?.fontWeight&&n.includes(i.custom?.fontWeight)?i.custom?.fontWeight:n[0];if(l){let o=t.find(t=>t.family==e&&t.variants.includes(l));if(!o){let o=t.find(t=>t.family==e);if(o)o.variants.push(l);else{let o=[l];"700"!==l&&n.includes("700")&&o.push("700"),t.push({family:e,variants:o,subsets:[],type:"google"})}}}}}}};export{getFontFromGroupSetting,getFontsFromDataBuilder};
@@ -1 +1 @@
1
- import{jsxs as o,Fragment as e,jsx as t}from"react/jsx-runtime";import{BuilderComponentProvider as r,SectionProvider as i,BuilderPreviewProvider as m,RenderPreview as n}from"@gem-sdk/core";import{NextSeo as l}from"next-seo";import s from"next/head";import{useState as a,useMemo as d,useEffect as c}from"react";import p from"../components/builder/Toolbox.js";import u from"../components/Header.js";import f from"../components/Footer.js";import g from"./CollectionGlobalProvider.js";import h from"../components/builder/PopupManager.js";import T from"../components/image-to-layout/ImageToLayout.js";import y from"../components/image-to-layout/AddSectionImageToLayout.js";import b from"../components/builder/Toolbar.js";let BuilderPage=({components:O,seo:j,themeStyle:v,fontStyle:x,sectionData:L,pageType:I,editorImageToLayout:R,isThemeSectionEditor:P})=>{let[_,N]=a(!1),S=d(()=>({ROOT:{uid:"ROOT",tag:"Root",label:"Root",childrens:[]}}),[]);return c(()=>{N(!0)},[]),o(e,{children:[t(l,{...j}),o(s,{children:[v&&t("style",{type:"text/css",id:"global-style",dangerouslySetInnerHTML:{__html:v}}),x&&t("style",{"data-id":"google-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:x}})]}),t(r,{components:O,children:t(i,{data:L,children:o(m,{state:S,isThemeSectionEditor:P,children:[t(p,{}),t(b,{}),t(h,{}),_&&o("div",{className:"builder z-1 relative",children:[P?t("div",{className:"h-[40px] bg-[#f4f4f4]"}):t(u,{}),t("div",{id:"storefront",className:P?"theme-section-editor":"",children:"GP_COLLECTION"===I?t(g,{children:t(n,{uid:"ROOT"})}):t(n,{uid:"ROOT"})}),t(T,{editorImageToLayout:R||!1}),t(y,{editorImageToLayout:R||!1}),t("div",{id:"visual-content"}),!P&&t(f,{})]})]},"preview")})})]})};export{BuilderPage};
1
+ import{jsxs as o,Fragment as e,jsx as t}from"react/jsx-runtime";import{PageProvider as r,BuilderComponentProvider as i,SectionProvider as m,BuilderPreviewProvider as n,RenderPreview as l}from"@gem-sdk/core";import{NextSeo as d}from"next-seo";import s from"next/head";import{useState as a,useMemo as c,useEffect as p}from"react";import u from"../components/builder/Toolbox.js";import f from"../components/Header.js";import g from"../components/Footer.js";import h from"./CollectionGlobalProvider.js";import T from"../components/builder/PopupManager.js";import y from"../components/image-to-layout/ImageToLayout.js";import b from"../components/image-to-layout/AddSectionImageToLayout.js";import O from"../components/builder/Toolbar.js";let BuilderPage=({components:j,seo:v,themeStyle:x,fontStyle:L,sectionData:I,pageType:R,editorImageToLayout:P,isThemeSectionEditor:_})=>{let[N,S]=a(!1),C=c(()=>({ROOT:{uid:"ROOT",tag:"Root",label:"Root",childrens:[]}}),[]);return p(()=>{S(!0)},[]),o(e,{children:[t(d,{...v}),o(s,{children:[x&&t("style",{type:"text/css",id:"global-style",dangerouslySetInnerHTML:{__html:x}}),L&&t("style",{"data-id":"google-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:L}})]}),t(r,{children:t(i,{components:j,children:t(m,{data:I,children:o(n,{state:C,isThemeSectionEditor:_,children:[t(u,{}),t(O,{}),t(T,{}),N&&o("div",{className:"builder z-1 relative",children:[_?t("div",{className:"h-[40px] bg-[#f4f4f4]"}):t(f,{}),t("div",{id:"storefront",className:_?"theme-section-editor":"",children:"GP_COLLECTION"===R?t(h,{children:t(l,{uid:"ROOT"})}):t(l,{uid:"ROOT"})}),t(y,{editorImageToLayout:P||!1}),t(b,{editorImageToLayout:P||!1}),t("div",{id:"visual-content"}),!_&&t(g,{})]})]},"preview")})})})]})};export{BuilderPage};
@@ -1 +1 @@
1
- import{jsx as e,jsxs as t,Fragment as o}from"react/jsx-runtime";import{BuilderComponentProvider as r,SectionProvider as l,BuilderProvider as i,Render as n}from"@gem-sdk/core";import{NextSeo as d}from"next-seo";import a from"next/dynamic";import c from"next/head";import{useRouter as m}from"next/router";let CollectionProvider=a(()=>import("@gem-sdk/core").then(e=>e.CollectionProvider)),CollectionDetailPage=({seo:a,components:s,builderData:h,sectionData:p,themeStyle:g,collection:f,fontStyle:x})=>{let y=m();return y.isFallback?e("div",{children:"Loading..."}):t(o,{children:[e(d,{...a}),t(c,{children:[g&&e("style",{"data-id":"global-style",type:"text/css",dangerouslySetInnerHTML:{__html:g}}),x&&e("style",{"data-id":"google-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:x}})]}),e(r,{components:s,children:e(l,{data:p,children:e(CollectionProvider,{collection:f,children:h&&e(i,{state:h,children:e(n,{uid:"ROOT"})})})})})]})};export{CollectionDetailPage as default};
1
+ import{jsx as e,jsxs as t,Fragment as o}from"react/jsx-runtime";import{PageProvider as r,BuilderComponentProvider as l,SectionProvider as i,BuilderProvider as n,Render as d}from"@gem-sdk/core";import{NextSeo as c}from"next-seo";import a from"next/dynamic";import m from"next/head";import{useRouter as s}from"next/router";let CollectionProvider=a(()=>import("@gem-sdk/core").then(e=>e.CollectionProvider)),CollectionDetailPage=({seo:a,components:h,builderData:p,sectionData:g,themeStyle:f,collection:x,fontStyle:y})=>{let u=s();return u.isFallback?e("div",{children:"Loading..."}):t(o,{children:[e(c,{...a}),t(m,{children:[f&&e("style",{"data-id":"global-style",type:"text/css",dangerouslySetInnerHTML:{__html:f}}),y&&e("style",{"data-id":"google-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:y}})]}),e(r,{children:e(l,{components:h,children:e(i,{data:g,children:e(CollectionProvider,{collection:x,children:p&&e(n,{state:p,children:e(d,{uid:"ROOT"})})})})})})]})};export{CollectionDetailPage as default};
@@ -1 +1 @@
1
- import{jsx as t,jsxs as e,Fragment as r}from"react/jsx-runtime";import{BuilderComponentProvider as o,SectionProvider as d,BuilderProvider as i,Render as n,AddOn as a}from"@gem-sdk/core";import{NextSeo as l}from"next-seo";import c from"next/dynamic";import m from"next/head";import{useRouter as s}from"next/router";let ProductProvider=c(()=>import("@gem-sdk/core").then(t=>t.ProductProvider)),ProductDetailPage=({themeStyle:c,fontStyle:u,seo:p,product:h,components:g,builderData:P,sectionData:y})=>{let f=s();return f.isFallback?t("div",{children:"Loading..."}):e(r,{children:[t(l,{...p}),e(m,{children:[c&&t("style",{"data-id":"global-style",type:"text/css",dangerouslySetInnerHTML:{__html:c}}),u&&t("style",{"data-id":"google-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:u}})]}),t(o,{components:g,children:t(d,{data:y,children:e(ProductProvider,{product:h,children:[P&&t(i,{state:P,children:t(n,{uid:"ROOT"})}),t(a,{name:"sticky-add-to-cart"})]})})})]})};export{ProductDetailPage as default};
1
+ import{jsx as e,jsxs as t,Fragment as r}from"react/jsx-runtime";import{PageProvider as o,BuilderComponentProvider as d,SectionProvider as i,BuilderProvider as n,Render as a,AddOn as l}from"@gem-sdk/core";import{NextSeo as c}from"next-seo";import m from"next/dynamic";import s from"next/head";import{useRouter as u}from"next/router";let ProductProvider=m(()=>import("@gem-sdk/core").then(e=>e.ProductProvider)),ProductDetailPage=({themeStyle:m,fontStyle:h,seo:p,product:g,components:P,builderData:y,sectionData:f})=>{let x=u();return x.isFallback?e("div",{children:"Loading..."}):t(r,{children:[e(c,{...p}),t(s,{children:[m&&e("style",{"data-id":"global-style",type:"text/css",dangerouslySetInnerHTML:{__html:m}}),h&&e("style",{"data-id":"google-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:h}})]}),e(o,{children:e(d,{components:P,children:e(i,{data:f,children:t(ProductProvider,{product:g,children:[y&&e(n,{state:y,children:e(a,{uid:"ROOT"})}),e(l,{name:"sticky-add-to-cart"})]})})})})]})};export{ProductDetailPage as default};
@@ -1 +1 @@
1
- import{jsx as e,jsxs as t,Fragment as a}from"react/jsx-runtime";import{BuilderComponentProvider as s,SectionProvider as l,BuilderProvider as i,Render as r}from"@gem-sdk/core";import{NextSeo as n}from"next-seo";import m from"next/head";import{useRouter as o}from"next/router";import{useTrackingView as d}from"../libs/hooks/use-tracking-view.js";import{parseHtml as c}from"../libs/parse-html.js";let StaticPageV2=({components:p,builderData:f,sectionData:u,seo:h,themeStyle:g,fontStyle:_,elementFontStyle:y,customCodeHeader:x,shopToken:b,pageHandle:k})=>{let N=o();return(d(b,k,N.isFallback),N.isFallback)?e("div",{className:"flex h-full items-center justify-center",children:t("div",{className:"flex gap-2",children:[e("span",{className:"aspect-square h-2 animate-[flashing_500ms_infinite_alternate] rounded-full bg-slate-800"}),e("span",{className:"aspect-square h-2 animate-[flashing_500ms_infinite_200ms_linear_alternate] rounded-full bg-slate-800"}),e("span",{className:"aspect-square h-2 animate-[flashing_500ms_infinite_500ms_alternate] rounded-full bg-slate-800"})]})}):t(a,{children:[e(n,{...h}),t(m,{children:[c(x,!0),g&&e("style",{"data-id":"global-style",type:"text/css",dangerouslySetInnerHTML:{__html:g}}),_&&e("style",{"data-id":"google-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:_}}),y&&y.map(t=>e("style",{"data-id":"google-element-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:t}},t))]}),e(s,{components:p,children:e(l,{data:u,children:f?.map(t=>e(i,{state:t.data,lazy:t.lazy,priority:t.priority,children:e(r,{uid:t.uid})},t.uid))})})]})};export{StaticPageV2};
1
+ import{jsx as e,jsxs as t,Fragment as a}from"react/jsx-runtime";import{PageProvider as s,BuilderComponentProvider as l,SectionProvider as i,BuilderProvider as r,Render as n}from"@gem-sdk/core";import{NextSeo as m}from"next-seo";import o from"next/head";import{useRouter as d}from"next/router";import{useTrackingView as c}from"../libs/hooks/use-tracking-view.js";import{parseHtml as p}from"../libs/parse-html.js";let StaticPageV2=({components:f,builderData:h,sectionData:u,seo:g,themeStyle:_,fontStyle:y,elementFontStyle:x,customCodeHeader:b,shopToken:k,pageHandle:N})=>{let S=d();return(c(k,N,S.isFallback),S.isFallback)?e("div",{className:"flex h-full items-center justify-center",children:t("div",{className:"flex gap-2",children:[e("span",{className:"aspect-square h-2 animate-[flashing_500ms_infinite_alternate] rounded-full bg-slate-800"}),e("span",{className:"aspect-square h-2 animate-[flashing_500ms_infinite_200ms_linear_alternate] rounded-full bg-slate-800"}),e("span",{className:"aspect-square h-2 animate-[flashing_500ms_infinite_500ms_alternate] rounded-full bg-slate-800"})]})}):t(a,{children:[e(m,{...g}),t(o,{children:[p(b,!0),_&&e("style",{"data-id":"global-style",type:"text/css",dangerouslySetInnerHTML:{__html:_}}),y&&e("style",{"data-id":"google-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:y}}),x&&x.map(t=>e("style",{"data-id":"google-element-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:t}},t))]}),e(s,{children:e(l,{components:f,children:e(i,{data:u,children:h?.map(t=>e(r,{state:t.data,lazy:t.lazy,priority:t.priority,children:e(n,{uid:t.uid})},t.uid))})})})]})};export{StaticPageV2};
@@ -1 +1 @@
1
- import{jsx as e,jsxs as t,Fragment as a}from"react/jsx-runtime";import{BuilderComponentProvider as s,SectionProvider as l,BuilderProvider as n,Render as r}from"@gem-sdk/core";import{NextSeo as i}from"next-seo";import m from"next/head";import{useRouter as d}from"next/router";let StaticPage=({components:c,builderData:o,sectionData:f,seo:h,themeStyle:u,fontStyle:p})=>{let _=d();return _.isFallback?e("div",{className:"flex h-full items-center justify-center",children:t("div",{className:"flex gap-2",children:[e("span",{className:"aspect-square h-2 animate-[flashing_500ms_infinite_alternate] rounded-full bg-slate-800"}),e("span",{className:"aspect-square h-2 animate-[flashing_500ms_infinite_200ms_linear_alternate] rounded-full bg-slate-800"}),e("span",{className:"aspect-square h-2 animate-[flashing_500ms_infinite_500ms_alternate] rounded-full bg-slate-800"})]})}):t(a,{children:[e(i,{...h}),t(m,{children:[u&&e("style",{"data-id":"global-style",type:"text/css",dangerouslySetInnerHTML:{__html:u}}),p&&e("style",{"data-id":"google-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:p}})]}),e(s,{components:c,children:e(l,{data:f,children:e(a,{children:o&&e(n,{state:o,children:e(r,{uid:"ROOT"})},"body")})})})]})};export{StaticPage as default};
1
+ import{jsx as e,jsxs as t,Fragment as a}from"react/jsx-runtime";import{PageProvider as l,BuilderComponentProvider as s,SectionProvider as n,BuilderProvider as r,Render as i}from"@gem-sdk/core";import{NextSeo as d}from"next-seo";import m from"next/head";import{useRouter as c}from"next/router";let StaticPage=({components:o,builderData:f,sectionData:h,seo:u,themeStyle:p,fontStyle:_})=>{let g=c();return g.isFallback?e("div",{className:"flex h-full items-center justify-center",children:t("div",{className:"flex gap-2",children:[e("span",{className:"aspect-square h-2 animate-[flashing_500ms_infinite_alternate] rounded-full bg-slate-800"}),e("span",{className:"aspect-square h-2 animate-[flashing_500ms_infinite_200ms_linear_alternate] rounded-full bg-slate-800"}),e("span",{className:"aspect-square h-2 animate-[flashing_500ms_infinite_500ms_alternate] rounded-full bg-slate-800"})]})}):t(a,{children:[e(d,{...u}),t(m,{children:[p&&e("style",{"data-id":"global-style",type:"text/css",dangerouslySetInnerHTML:{__html:p}}),_&&e("style",{"data-id":"google-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:_}})]}),e(l,{children:e(s,{components:o,children:e(n,{data:h,children:e(a,{children:f&&e(r,{state:f,children:e(i,{uid:"ROOT"})},"body")})})})})]})};export{StaticPage as default};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gem-sdk/pages",
3
- "version": "1.14.0-dev.346",
3
+ "version": "1.14.0-dev.373",
4
4
  "license": "MIT",
5
5
  "sideEffects": false,
6
6
  "main": "dist/cjs/index.js",
@@ -25,7 +25,7 @@
25
25
  "next-seo": "^6.0.0"
26
26
  },
27
27
  "devDependencies": {
28
- "@gem-sdk/core": "1.14.0-dev.342",
28
+ "@gem-sdk/core": "1.14.0-dev.373",
29
29
  "@gem-sdk/plugin-cookie-bar": "1.14.0-dev.284",
30
30
  "@gem-sdk/plugin-quick-view": "1.14.0-dev.284",
31
31
  "@gem-sdk/plugin-sticky-add-to-cart": "1.14.0-dev.284"