@gem-sdk/pages 17.0.0-dev.65 → 17.0.0-dev.71
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/libs/google-fonts.js +2 -2
- package/dist/cjs/libs/helpers/normalize.js +1 -1
- package/dist/cjs/libs/helpers/parse-json.js +1 -1
- package/dist/cjs/pages/collection-detail.js +1 -1
- package/dist/cjs/pages/preview-template.js +3 -3
- package/dist/cjs/pages/product-detail.js +1 -1
- package/dist/cjs/pages/static-v2.js +3 -3
- package/dist/cjs/pages/static.js +1 -1
- package/dist/esm/libs/google-fonts.js +3 -3
- package/dist/esm/libs/helpers/normalize.js +1 -1
- package/dist/esm/libs/helpers/parse-json.js +1 -1
- package/dist/esm/pages/collection-detail.js +1 -1
- package/dist/esm/pages/preview-template.js +3 -3
- package/dist/esm/pages/product-detail.js +1 -1
- package/dist/esm/pages/static-v2.js +2 -2
- package/dist/esm/pages/static.js +1 -1
- package/dist/types/index.d.ts +3 -3
- package/package.json +5 -5
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
"use strict";var t=require("./helpers/check-option-font.js"),e=require("./helpers/gen-fonts.js"),r=require("./helpers/sentry.js"),n=require("./constants/theme-font-keys.js"),i=require("../constants/googleFontV1.js"),a=require("./data/fonts.js");const l="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36";async function o(t,e){try{return fetch(t,{headers:{"User-Agent":e}}).then(n=>200===n.status?n.text():(r.sentryCaptureException("getFontForUA",`Unexpected status ${n.status}`,{url:t,UA:e}),""))}catch(n){return r.sentryCaptureException("getFontForUA","Error fetching font",{url:t,UA:e,error:n}),""}}const s=t=>{let e=t.filter((t,e,r)=>e===r.findIndex(e=>e.family===t.family));return e.map(e=>{let r=t.filter(t=>t.family===e.family).reduce((t,e)=>[...t,...e.variants],[]).filter((t,e,r)=>e===r.findIndex(e=>e===t));return{...e,variants:r}})},f={"Roboto Flex":"https://fonts.googleapis.com/css2?family=Roboto+Flex:opsz,wght@8..144,100..1000&display=swap"},c=t=>t?.trim().replace(/\s+/g,"+")??"",
|
|
1
|
+
"use strict";var t=require("./helpers/check-option-font.js"),e=require("./helpers/gen-fonts.js"),r=require("./helpers/sentry.js"),n=require("./constants/theme-font-keys.js"),i=require("../constants/googleFontV1.js"),a=require("./data/fonts.js");const l="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36";async function o(t,e){try{return fetch(t,{headers:{"User-Agent":e}}).then(n=>200===n.status?n.text():(r.sentryCaptureException("getFontForUA",`Unexpected status ${n.status}`,{url:t,UA:e}),""))}catch(n){return r.sentryCaptureException("getFontForUA","Error fetching font",{url:t,UA:e,error:n}),""}}const s=t=>{let e=t.filter((t,e,r)=>e===r.findIndex(e=>e.family===t.family));return e.map(e=>{let r=t.filter(t=>t.family===e.family).reduce((t,e)=>[...t,...e.variants],[]).filter((t,e,r)=>e===r.findIndex(e=>e===t));return{...e,variants:r}})},f={"Roboto Flex":"https://fonts.googleapis.com/css2?family=Roboto+Flex:opsz,wght@8..144,100..1000&display=swap"},c=t=>t?.trim().replace(/\s+/g,"+")??"",u=t=>t.includes("fonts.googleapis.com/css2")?"css2":t.includes("fonts.bunny.net")?"bunny":"css1",p=t=>{let e=c(t);return f[t]??f[e]},y={regular:"400",normal:"400",bold:"700",italic:"400italic"},g=new Set(i.googleFontFamilies),h=[...n.THEME_FONT_CSS_KEYS,...n.THEME_FONT_CSS_KEYS.map(t=>`--g-${t}`)],m=(e,r,n)=>{if(("google"===r||"google"===e.type)&&!g.has(e.family))return!1;let i="google"===e.type||"bunny"===e.type,a="theme"===e.type&&n,l=t.checkNotInOptionFont(e.family,r);return!(i&&l)&&(i||!e.type||a)},d=t=>{let e=String(t).toLowerCase().trim();return y[e]??t},b=t=>{let e=t=>{let e=String(t).toLowerCase().trim(),r=e.includes("italic"),n=e.replace("italic","").trim(),i=y[n]??n,a=parseInt(i,10)||400;return{weight:a,isItalic:r}};return[...t].sort((t,r)=>{let n=e(t),i=e(r);return n.weight!==i.weight?n.weight-i.weight:n.isItalic!==i.isItalic?n.isItalic?1:-1:0})},S=(t,e,r)=>{let n=s(t).map(t=>{let e=t.variants.map(t=>d(t)),r=b(e);return`${t.family.replace(/ /g,"+")}:${r.join(",")}`}).join("|");if("sans-serif"===n)return;let i=new URLSearchParams;return(i.append("family",n),i.append("display",r?.display||"swap"),"bunny"===e)?`https://fonts.bunny.net/css?${decodeURIComponent(i.toString())}`:(r?.subset&&i.append("subset",r.subset),r?.effect&&i.append("effect",r.effect),`https://fonts.googleapis.com/css?${decodeURIComponent(i.toString())}`)},v=(t,e,r,n)=>{let i=t.filter(t=>m(t,r||"google",n));if(!i.length)return;let a=i.filter((t,e,r)=>e===r.findIndex(e=>e.family===t.family)),l=[],o=[];for(let t of a){let e=p(t.family);e&&"bunny"!==r?l.push(e):o.push(t)}let s=o.length?S(o,r||"google",e):void 0;return l.length&&s?[...l,s]:s?[s,...l]:l};async function F(t,e,n=!0,i){let a=t.filter(t=>!h.includes(t.family)),s=v(a,e,i),f=Array.isArray(s)?s:s?[s]:[];if(!f.length)return"";if(n)return f.map(t=>`@import url('${t}');`).join("");let c="",p="";for(let t of f)try{let[e,r]=await Promise.all([o(t,"Mozilla/5.0 (Windows NT 10.0; Trident/7.0; rv:11.0) like Gecko"),o(t,l)]),n=`${e}${r}`;c+=n,p+=`@import url('${t}');`}catch(n){let e=u(t);r.sentryCaptureException("getFonts",`Error fetching font ${e}`,{url:t,fontType:i,fontApiVersion:e,error:String(n)}),p+="",c+=""}let y=new TextEncoder().encode(c).length;return y<51200?c:p}const w=(t,r)=>{let n=[];return t.forEach(t=>{n.push(...e.getFontsFromDataBuilder(t.data,r))}),s(n)},$=(t,e)=>{let r="400";if(null!=t){let e=String(t).toLowerCase().trim();r=d(e)}let n=r,i=e&&"italic"===e.toLowerCase();return i&&!r.includes("italic")&&(n=r.includes("i")?r:`${r}italic`),n},j="heading-",x="subheading-",E="paragraph-",O=t=>{let e=t?.typography??{},r=t?.font??{},n=new Map;Object.entries(e).forEach(([t,e])=>{if(!e||"object"!=typeof e)return;let i=t.startsWith(j)||t.startsWith(x)?r.heading?"heading":void 0:t.startsWith(E)&&r.body?"body":void 0,a=e.desktop,l=a?.fontFamily,o=l||i;["desktop","mobile","tablet"].forEach(t=>{let i=e[t];if(!i||"object"!=typeof i)return;let l=i.fontFamily||o;if(!l||"string"!=typeof l||!r[l])return;let s=i.fontWeight??a?.fontWeight,f=i.fontStyle??a?.fontStyle;if(null==s)return;let c=$(s,f);n.has(l)||n.set(l,new Set),n.get(l).add(c)})});let i={};return n.forEach((t,e)=>{let n=r[e];n&&(i[e]={variants:Array.from(t).sort(),family:n.family,type:n.type})}),i},W=t=>{let e=t?.typography??{},r=t?.font??{},n=t?.font??{},i={};return Object.entries(e).forEach(([t,e])=>{if(!e||"object"!=typeof e)return;let a=e.desktop,l=e.mobile,o=e.tablet,s=t.startsWith(j)||t.startsWith(x)?n.heading?"heading":void 0:t.startsWith(E)&&n.body?"body":void 0,f=a?.fontFamily||l?.fontFamily||o?.fontFamily||s;if(!f||"string"!=typeof f)return;let c=r[f],u=n[f],p=c?.family||u?.family||f,y=c?.type||u?.type||"google";p&&(i[t]={family:p,type:y})}),i},C=async(t,e)=>{if(!t)return"";try{let r=JSON.parse(t),n=r?.font??{},i=Object.values(n),a=O(r);Object.keys(a).length>0&&(i=Object.entries(n).filter(([t])=>a[t]).map(([t,e])=>({...e,variants:a[t].variants})));let l=s(i);return F(l,void 0,void 0,e)}catch{return""}};async function k(t,e,r){let n,i=null;if(r)try{i=JSON.parse(r),n=W(i)}catch{}let a=w(t,n);if(!i){if(0===a.length)return[];let t=await F(a,void 0,void 0,e);return t?[t]:[]}let l=O(i),o=new Map,s=new Map,f=(t,e)=>`${t}::${e}`;for(let t of Object.values(l)){if(t.type){let e=f(t.family,t.type),r=o.get(e);if(!r){o.set(e,new Set(t.variants));continue}t.variants.forEach(t=>r.add(t));continue}let e=s.get(t.family);if(!e){s.set(t.family,new Set(t.variants));continue}t.variants.forEach(t=>e.add(t))}if(0===(a=a.map(t=>{let e=o.get(f(t.family,t.type))||s.get(t.family);if(!e)return t;let r=t.variants.filter(t=>!e.has(t));return 0===r.length?null:{...t,variants:r}}).filter(t=>null!==t)).length)return[];let c=await F(a,void 0,void 0,e);return c?[c]:[]}let T=null;function I({fontFamily:t,fontStyle:e,fontWeight:r,src:n,fontDisplay:i}){let a=n.replace(/^"|"$/g,""),l=`@font-face {
|
|
2
2
|
`;return l+=` font-family: '${t}';
|
|
3
3
|
font-style: ${e};
|
|
4
4
|
font-weight: ${r};
|
|
5
5
|
`,i&&(l+=` font-display: ${i};
|
|
6
6
|
`),l+=` src: ${a};
|
|
7
|
-
}`}function M({variant:t}){let e=t.trim().toLowerCase();if("regular"===e||"400"===e)return{fontStyle:"normal",fontWeight:"400"};if("italic"===e)return{fontStyle:"italic",fontWeight:"400"};if("bold"===e||"700"===e)return{fontStyle:"normal",fontWeight:"700"};let r=e.endsWith("i")||e.endsWith("italic"),n=e.replace(/i(talic)?$/,"").trim()||"400";return{fontStyle:r?"italic":"normal",fontWeight:n}}async function _({fonts:t,sourceFont:e}){let n=t.filter(t=>!h.includes(t.family));if(!n.length)return"";let i=function(){if(T)return T;for(let t of(T={},a.default.fonts)){let e=`${t.fontFamily}_${t.fontStyle}_${t.fontWeight}`.replace(/\s+/g,"");T[e]=t}return T}(),
|
|
7
|
+
}`}function M({variant:t}){let e=t.trim().toLowerCase();if("regular"===e||"400"===e)return{fontStyle:"normal",fontWeight:"400"};if("italic"===e)return{fontStyle:"italic",fontWeight:"400"};if("bold"===e||"700"===e)return{fontStyle:"normal",fontWeight:"700"};let r=e.endsWith("i")||e.endsWith("italic"),n=e.replace(/i(talic)?$/,"").trim()||"400";return{fontStyle:r?"italic":"normal",fontWeight:n}}async function _({fonts:t,sourceFont:e}){let n=t.filter(t=>!h.includes(t.family));if(!n.length)return"";let i="bunny"===e,s=i?null:function(){if(T)return T;for(let t of(T={},a.default.fonts)){let e=`${t.fontFamily}_${t.fontStyle}_${t.fontWeight}`.replace(/\s+/g,"");T[e]=t}return T}(),f=await Promise.all(n.map(async t=>{let n=[],i=[];for(let e of t.variants){if(s){let{fontStyle:r,fontWeight:i}=M({variant:e}),a=`${t.family}_${r}_${i}`.replace(/\s+/g,""),l=s[a];if(l){n.push(I(l));continue}}i.push(e)}if(i.length){let a=v([{...t,variants:i}],void 0,e),s=Array.isArray(a)?a:a?[a]:[],f=await Promise.all(s.map(t=>o(t,l)));for(let e=0;e<f.length;e++){let a=f[e];a?n.push(a):r.sentryCaptureException("resolveFontFaces","API fallback returned empty CSS",{family:t.family,variants:i,url:s[e]})}}return n.length?n.join("\n"):""}));return f.filter(Boolean).join("\n")}async function A({data:t,sourceFont:e}){if(!t)return"";try{let r="string"==typeof t?JSON.parse(t):t,n=r?.font??{},i=Object.values(n),a=O(r);return Object.keys(a).length>0&&(i=Object.entries(n).filter(([t])=>a[t]).map(([t,e])=>Object.assign({},e,{variants:a[t].variants}))),_({fonts:s(i),sourceFont:e})}catch{return""}}async function N({pageTemplate:t,sourceFont:e,data:r}){let n,i=null;if(r)try{i="string"==typeof r?JSON.parse(r):r,n=W(i)}catch{}let a=w(t,n);if(!i){if(!a.length)return[];let t=await _({fonts:a,sourceFont:e});return t?[t]:[]}let l=O(i),o=new Map,s=new Map,f=(t,e)=>`${t}::${e}`;for(let t of Object.values(l))if(t.type){let e=f(t.family,t.type),r=o.get(e);r?t.variants.forEach(t=>r.add(t)):o.set(e,new Set(t.variants))}else{let e=s.get(t.family);e?t.variants.forEach(t=>e.add(t)):s.set(t.family,new Set(t.variants))}if(!(a=a.map(t=>{let e=o.get(f(t.family,t.type))||s.get(t.family);if(!e)return t;let r=t.variants.filter(t=>!e.has(t));return r.length?Object.assign({},t,{variants:r}):null}).filter(t=>null!==t)).length)return[];let c=await _({fonts:a,sourceFont:e});return c?[c]:[]}exports.composeFonts=s,exports.createFontUrls=v,exports.extractTypographyVariants=O,exports.getFontFromGlobalStyle=(t,e)=>{if(!t)return"";try{let r=JSON.parse(t),n=r?.font??{},i=Object.entries(n).map(([,t])=>t);return F(i,void 0,void 0,e)}catch{return""}},exports.getFontLinkFromGlobalStyle=C,exports.getFontStyleFromPageTemplate=k,exports.getFonts=F,exports.getStaticFontFacesFromGlobalStyle=A,exports.getStaticFontFacesFromPageTemplate=N,exports.mapTypographyToFontFamily=W,exports.parseVariant=M,exports.staticFontToCSS=I;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const e=e=>{let t={};return!function e(
|
|
1
|
+
"use strict";const e=(e,t)=>{if(!e||"object"!=typeof e)return!1;let r=Object.keys(e);if(!r.length)return!1;for(let n of r){let r=e[n];if(!r||"object"!=typeof r)return!1;for(let e of Object.keys(r))if(!t(r[e]))return!1}return!0},t=t=>{let r=t?.advanced;return r&&"object"==typeof r&&("pageType"in r&&delete r.pageType,r.hasBoxShadow&&e(r.hasBoxShadow,e=>!1===e||void 0===e)&&(delete r.hasBoxShadow,delete r.boxShadow)),t},r=e=>{let r={};return!function e(r,n={}){if(r){let{childrens:i,dateModified:o,editorConfigs:a,...s}=r;if(t(s),"section"===s.type)n[s.uid]=s;else{let t=i?.map(e=>e?.uid)??[];n[s.uid]={...s,childrens:t},i&&i.map(t=>e(t,n))}}}(e,r),{...r}},n=new Set(["Image"]),i=e=>{if(!e||"object"!=typeof e||e.advanced?.d?.desktop===!1)return null;if(n.has(e.tag))return e;let t=Array.isArray(e.childrens)?e.childrens:[];for(let e of t){let t=i(e);if(t)return t}return null},o=e=>{if(!e?.length)return e;let t=e.find(e=>!e?.settings?.lazy);if(!t)return e;let r=i(t);return r&&(r.setting=r.setting||{},void 0===r.setting.priority&&(r.setting.priority=!0)),e},a=(e,t)=>{let r=t?.filter(t=>e?.some(e=>e?.id===t)),n=r?.map(t=>e?.find(e=>e?.id===t))??[],i=e?.filter(e=>(!e?.id||!r?.includes(e.id))&&!e?.deletedAt)??[];return n.concat(i)};function s(e,t){let n=a(e,t),i=n.map(e=>{if(!e?.component)return!1;try{let t=JSON.parse(e.component);return t}catch{return!1}}).filter(Boolean);o(i);let s=!1;return i.map(e=>{let t=!!e.settings?.lazy,n=!!e.settings?.priority,i=n;return t||s||(i=!0,s=!0),{uid:e.uid,lazy:t,priority:i,data:r(e)}})}exports.extractPageBackground=e=>{try{let t=e?.metafields?.find(e=>e?.key==="page_background")?.value;return JSON.parse(t??"{}")}catch{return{}}},exports.markLcpImage=o,exports.normalizeBuilderData=r,exports.normalizePageSectionResponseV2=s,exports.parseBuilderLibraryTemplate=e=>s([...e?.sections??[]],e?.sectionPosition),exports.parseBuilderTemplate=e=>(function(e,t){let n=a(e,t),i=n.map(e=>{if(!e?.component)return!1;try{let t=JSON.parse(e.component);return t}catch{return!1}}).filter(Boolean);return r({uid:"ROOT",tag:"Root",childrens:i})})([...e?.pageSections??[],...e?.themePageCustomSections??[]],e?.sectionPosition),exports.parseBuilderTemplateV2=e=>s([...e?.pageSections??[],...e?.themePageCustomSections??[],...e?.themeSections??[]],e?.sectionPosition),exports.parseShopLibraryPageTemplate=e=>s([...e?.shopLibrarySections??[]],e?.sectionPosition),exports.stripDefaultAdvancedFields=t;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.parseJson=r=>{if(!r)return null;try{return JSON.parse(r)}catch(r){return null}},exports.serializableJson=r=>JSON.parse(JSON.stringify(r));
|
|
1
|
+
"use strict";exports.parseJson=r=>{if(!r)return null;try{return JSON.parse(r)}catch(r){return null}},exports.serializableJson=r=>JSON.parse(JSON.stringify(r)),exports.stableStringify=r=>JSON.stringify(r,(r,t)=>{if(t&&"object"==typeof t&&!Array.isArray(t)){let r={};for(let e of Object.keys(t).sort())r[e]=t[e];return r}return t});
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),r=require("@gem-sdk/core"),t=require("next-seo"),s=require("next/dynamic"),i=require("next/head"),n=require("next/router");const
|
|
2
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),r=require("@gem-sdk/core"),t=require("next-seo"),s=require("next/dynamic"),i=require("next/head"),n=require("next/router"),o=require("react"),d=require("@gem-sdk/components");const l=s(()=>import("@gem-sdk/core").then(e=>e.CollectionProvider));exports.default=({seo:s,components:c,builderData:u,sectionData:a,themeStyle:x,collection:j,fontStyle:m})=>{let g=n.useRouter(),h=o.useMemo(()=>c??d.buildPageRegistry(u),[c,u]);return g.isFallback?e.jsx("div",{children:"Loading..."}):e.jsxs(e.Fragment,{children:[e.jsx(t.NextSeo,{...s}),e.jsxs(i,{children:[x&&e.jsx("style",{"data-id":"global-style",type:"text/css",dangerouslySetInnerHTML:{__html:x}}),m&&e.jsx("style",{"data-id":"google-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:m}})]}),e.jsx(r.PageProvider,{children:e.jsx(r.BuilderComponentProvider,{components:h,children:e.jsx(r.SectionProvider,{data:a,children:e.jsx(l,{collection:j,children:u&&e.jsx(r.BuilderProvider,{state:u,children:e.jsx(r.Render,{uid:"ROOT"})})})})})})]})};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
"use strict";var e=require("react/jsx-runtime"),t=require("@gem-sdk/core"),s=require("next/head"),r=require("next/router"),a=require("../libs/parse-html.js"),n=require("react"),l=require("next/dynamic");exports.PreviewTemplate=({components:
|
|
1
|
+
"use strict";var e=require("react/jsx-runtime"),t=require("@gem-sdk/core"),s=require("next/head"),r=require("next/router"),a=require("../libs/parse-html.js"),n=require("react"),l=require("next/dynamic"),i=require("@gem-sdk/components");exports.PreviewTemplate=({components:d,builderData:o,sectionData:c,themeStyle:g,fontStyle:u,elementFontStyle:p,customCodeHeader:m,customFonts:h,pageBackground:x,publicStoreFrontData:y,page:j,collection:f,dynamicCollection:_,dynamicProduct:b})=>{let{disableExternalLinks:v}=t.usePreviewSharePage(),P=r.useRouter(),{t:q}=t.useI18n(),k=n.useMemo(()=>d??i.buildPageRegistry(o),[d,o]),S="custom-code-header",T=l(()=>import("@gem-sdk/core").then(e=>e.CollectionProvider)),I=j?.type==="GP_COLLECTION"?T:n.Fragment;return(n.useEffect(()=>{let e=document.querySelectorAll(`[class*="${S}-"]`),t=[];e.length>1&&e.forEach(e=>{let s=e.className;if(t.includes(s)){e.remove();return}t.push(s)})},[]),n.useEffect(()=>{v()},[v]),P.isFallback)?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"})]})}):e.jsxs(e.Fragment,{children:[e.jsxs(s,{children:[a.parseHtml(S,m,!0),g&&e.jsx("style",{"data-id":"global-style",type:"text/css",dangerouslySetInnerHTML:{__html:g}},"global-style"),u&&e.jsx("style",{"data-id":"google-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:u}},"google-fonts"),p&&p.map(t=>e.jsx("style",{"data-id":"google-element-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:t}},t)),h&&e.jsx("style",{"data-id":"custom-element-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:h}},u),x?.isUsePageBackground&&x?.background&&e.jsx("style",{children:`
|
|
2
2
|
body {
|
|
3
|
-
background: ${
|
|
3
|
+
background: ${x.background};
|
|
4
4
|
}
|
|
5
|
-
`},`page_background_${
|
|
5
|
+
`},`page_background_${x?.background}`)]}),e.jsx(t.PageProvider,{publicStoreFrontData:y,dynamicCollection:_,dynamicProduct:b,children:e.jsx(I,{collection:f,children:e.jsx(t.BuilderComponentProvider,{components:k,children:e.jsx("div",{id:"storefront","data-page-name":j?.name,"data-assigned-product-title":b?.productTitle,"data-assigned-collection-title":_?.collectionTitle,children:e.jsx(t.SectionProvider,{data:c,children:e.jsx(t.I18nProvider,{t:q,children:o?.map(s=>e.jsx(e.Fragment,{children:e.jsx(t.BuilderProvider,{state:s.data,lazy:s.lazy,priority:s.priority,isPreview:!0,children:e.jsx(t.Render,{uid:s.uid})},s.uid)}))})})})})})})]})};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),r=require("@gem-sdk/core"),t=require("next-seo"),s=require("next/dynamic"),d=require("next/head"),n=require("next/router");const
|
|
2
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),r=require("@gem-sdk/core"),t=require("next-seo"),s=require("next/dynamic"),d=require("next/head"),n=require("next/router"),i=require("react"),o=require("@gem-sdk/components");const c=s(()=>import("@gem-sdk/core").then(e=>e.ProductProvider));exports.default=({themeStyle:s,fontStyle:l,seo:a,product:u,components:x,builderData:j,sectionData:m})=>{let g=n.useRouter(),h=i.useMemo(()=>x??o.buildPageRegistry(j),[x,j]);return g.isFallback?e.jsx("div",{children:"Loading..."}):e.jsxs(e.Fragment,{children:[e.jsx(t.NextSeo,{...a}),e.jsxs(d,{children:[s&&e.jsx("style",{"data-id":"global-style",type:"text/css",dangerouslySetInnerHTML:{__html:s}}),l&&e.jsx("style",{"data-id":"google-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:l}})]}),e.jsx(r.PageProvider,{children:e.jsx(r.BuilderComponentProvider,{components:h,children:e.jsx(r.SectionProvider,{data:m,children:e.jsxs(c,{product:u,children:[j&&e.jsx(r.BuilderProvider,{state:j,children:e.jsx(r.Render,{uid:"ROOT"})}),e.jsx(r.AddOn,{name:"sticky-add-to-cart"})]})})})})]})};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
"use strict";var e=require("react/jsx-runtime"),s=require("@gem-sdk/core"),
|
|
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/hooks/use-tracking-view.js"),n=require("../libs/parse-html.js"),l=require("../components/builder/Header.js"),o=require("../components/FooterForPostPurchase.js"),d=require("next/script"),c=require("react"),u=require("../libs/hooks/usePageViewedTracking.js"),g=require("../libs/helpers/parse-json.js"),p=require("@gem-sdk/components");exports.StaticPageV2=({components:m,builderData:h,sectionData:x,seo:j,themeStyle:y,fontStyle:f,elementFontStyle:_,customCodeHeader:b,shopToken:v,pageHandle:P,customFonts:q,isPostPurchase:k,shopName:S,productOffers:T,publicStoreFrontData:N,dynamicDiscountOffer:H,isPreview:I,interaction:w,pageBackground:M,sellingPlanSetting:E,buyerConsentPreCheck:F,id:L,shopID:$,domainTrackingIlp:R})=>{let A=a.useRouter(),{t:B}=s.useI18n(),C=process.env.NEXT_GP_BASE_ASSET_URL||"https://assets.gemcommerce.xyz";i.useTrackingView(v,P,A.isFallback),u.usePageViewedTracking({id:L,shopID:$,domain:R});let V=c.useMemo(()=>m??p.buildPageRegistry(h),[m,h]),z="custom-code-header";if(c.useEffect(()=>{let e=document.querySelectorAll(`[class*="${z}-"]`),s=[];e.length>1&&e.forEach(e=>{let r=e.className;if(s.includes(r)){e.remove();return}s.push(r)})},[]),A.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 D=(w?.value||[]).length>0;return e.jsxs(e.Fragment,{children:[e.jsx(r.NextSeo,{...j}),e.jsxs(t,{children:[n.parseHtml(z,b,!0),y&&e.jsx("style",{"data-id":"global-style",type:"text/css",dangerouslySetInnerHTML:{__html:y}},"global-style"),f&&e.jsx("style",{"data-id":"google-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:f}},"google-fonts"),_&&_.map(s=>e.jsx("style",{"data-id":"google-element-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:s}},s)),q&&e.jsx("style",{"data-id":"custom-element-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:q}},f),M?.isUsePageBackground&&M?.background&&e.jsx("style",{children:`
|
|
2
2
|
body {
|
|
3
|
-
background: ${
|
|
3
|
+
background: ${M.background};
|
|
4
4
|
}
|
|
5
|
-
`},`page_background_${
|
|
5
|
+
`},`page_background_${M?.background}`)]}),e.jsx(s.PageProvider,{productOffers:T,publicStoreFrontData:N,dynamicDiscountOffer:H,sellingPlanMeta:E,buyerConsentChecked:F,children:e.jsx(s.BuilderComponentProvider,{components:V,children:e.jsx(s.I18nProvider,{t:B,children:e.jsxs("div",{className:`${k?"gp-bg-white post-purchase-page":""} `,role:"main",children:[k&&e.jsx(l.default,{pageType:"POST_PURCHASE"}),D&&e.jsx("div",{dangerouslySetInnerHTML:{__html:`<div id="gp-interaction" style="display: none;">${g.stableStringify(w?.value||[])}</div>`}}),e.jsx(s.SectionProvider,{data:x,children:h?.map(r=>e.jsxs(s.BuilderProvider,{state:r.data,lazy:r.lazy,priority:r.priority,isPostPurchase:k,isPreview:I,children:[e.jsx(s.Render,{uid:r.uid}),D&&e.jsx(d,{defer:!0,src:`${C}/assets-v2/gp-flow-action-lip-v7-5.js`})]},r.uid))}),k&&e.jsx(o.default,{shopName:S||""})]})})})})]})};
|
package/dist/cjs/pages/static.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),s=require("@gem-sdk/core"),
|
|
2
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),s=require("@gem-sdk/core"),r=require("next-seo"),t=require("next/head"),a=require("next/router"),n=require("react"),i=require("@gem-sdk/components");exports.default=({components:l,builderData:d,sectionData:g,seo:p,themeStyle:o,fontStyle:u})=>{let c=a.useRouter(),x=n.useMemo(()=>l??i.buildPageRegistry(d),[l,d]);return c.isFallback?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"})]})}):e.jsxs(e.Fragment,{children:[e.jsx(r.NextSeo,{...p}),e.jsxs(t,{children:[o&&e.jsx("style",{"data-id":"global-style",type:"text/css",dangerouslySetInnerHTML:{__html:o}}),u&&e.jsx("style",{"data-id":"google-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:u}})]}),e.jsx(s.PageProvider,{children:e.jsx(s.BuilderComponentProvider,{components:x,children:e.jsx(s.SectionProvider,{data:g,children:e.jsx(e.Fragment,{children:d&&e.jsx(s.BuilderProvider,{state:d,children:e.jsx(s.Render,{uid:"ROOT"})},"body")})})})})]})};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import{checkNotInOptionFont as t}from"./helpers/check-option-font.js";import{getFontsFromDataBuilder as e}from"./helpers/gen-fonts.js";import{sentryCaptureException as
|
|
1
|
+
import{checkNotInOptionFont as t}from"./helpers/check-option-font.js";import{getFontsFromDataBuilder as e}from"./helpers/gen-fonts.js";import{sentryCaptureException as n}from"./helpers/sentry.js";import{THEME_FONT_CSS_KEYS as r}from"./constants/theme-font-keys.js";import{googleFontFamilies as i}from"../constants/googleFontV1.js";import a from"./data/fonts.js";let l="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36";async function o(t,e){try{return fetch(t,{headers:{"User-Agent":e}}).then(r=>200===r.status?r.text():(n("getFontForUA",`Unexpected status ${r.status}`,{url:t,UA:e}),""))}catch(r){return n("getFontForUA","Error fetching font",{url:t,UA:e,error:r}),""}}let s=t=>{let e=t.filter((t,e,n)=>e===n.findIndex(e=>e.family===t.family));return e.map(e=>{let n=t.filter(t=>t.family===e.family).reduce((t,e)=>[...t,...e.variants],[]).filter((t,e,n)=>e===n.findIndex(e=>e===t));return{...e,variants:n}})},f={"Roboto Flex":"https://fonts.googleapis.com/css2?family=Roboto+Flex:opsz,wght@8..144,100..1000&display=swap"},c=t=>t?.trim().replace(/\s+/g,"+")??"",y=t=>t.includes("fonts.googleapis.com/css2")?"css2":t.includes("fonts.bunny.net")?"bunny":"css1",u=t=>{let e=c(t);return f[t]??f[e]},p={regular:"400",normal:"400",bold:"700",italic:"400italic"},g=new Set(i),m=[...r,...r.map(t=>`--g-${t}`)],h=(e,n,r)=>{if(("google"===n||"google"===e.type)&&!g.has(e.family))return!1;let i="google"===e.type||"bunny"===e.type,a="theme"===e.type&&r,l=t(e.family,n);return!(i&&l)&&(i||!e.type||a)},d=t=>{let e=String(t).toLowerCase().trim();return p[e]??t},b=t=>{let e=t=>{let e=String(t).toLowerCase().trim(),n=e.includes("italic"),r=e.replace("italic","").trim(),i=p[r]??r,a=parseInt(i,10)||400;return{weight:a,isItalic:n}};return[...t].sort((t,n)=>{let r=e(t),i=e(n);return r.weight!==i.weight?r.weight-i.weight:r.isItalic!==i.isItalic?r.isItalic?1:-1:0})},v=(t,e,n)=>{let r=s(t).map(t=>{let e=t.variants.map(t=>d(t)),n=b(e);return`${t.family.replace(/ /g,"+")}:${n.join(",")}`}).join("|");if("sans-serif"===r)return;let i=new URLSearchParams;return(i.append("family",r),i.append("display",n?.display||"swap"),"bunny"===e)?`https://fonts.bunny.net/css?${decodeURIComponent(i.toString())}`:(n?.subset&&i.append("subset",n.subset),n?.effect&&i.append("effect",n.effect),`https://fonts.googleapis.com/css?${decodeURIComponent(i.toString())}`)},S=(t,e,n,r)=>{let i=t.filter(t=>h(t,n||"google",r));if(!i.length)return;let a=i.filter((t,e,n)=>e===n.findIndex(e=>e.family===t.family)),l=[],o=[];for(let t of a){let e=u(t.family);e&&"bunny"!==n?l.push(e):o.push(t)}let s=o.length?v(o,n||"google",e):void 0;return l.length&&s?[...l,s]:s?[s,...l]:l};async function w(t,e,r=!0,i){let a=t.filter(t=>!m.includes(t.family)),s=S(a,e,i),f=Array.isArray(s)?s:s?[s]:[];if(!f.length)return"";if(r)return f.map(t=>`@import url('${t}');`).join("");let c="",u="";for(let t of f)try{let[e,n]=await Promise.all([o(t,"Mozilla/5.0 (Windows NT 10.0; Trident/7.0; rv:11.0) like Gecko"),o(t,l)]),r=`${e}${n}`;c+=r,u+=`@import url('${t}');`}catch(r){let e=y(t);n("getFonts",`Error fetching font ${e}`,{url:t,fontType:i,fontApiVersion:e,error:String(r)}),u+="",c+=""}let p=new TextEncoder().encode(c).length;return p<51200?c:u}let F=(t,n)=>{let r=[];return t.forEach(t=>{r.push(...e(t.data,n))}),s(r)},$=(t,e)=>{let n="400";if(null!=t){let e=String(t).toLowerCase().trim();n=d(e)}let r=n,i=e&&"italic"===e.toLowerCase();return i&&!n.includes("italic")&&(r=n.includes("i")?n:`${n}italic`),r},j="heading-",O="subheading-",W="paragraph-",k=t=>{let e=t?.typography??{},n=t?.font??{},r=new Map;Object.entries(e).forEach(([t,e])=>{if(!e||"object"!=typeof e)return;let i=t.startsWith(j)||t.startsWith(O)?n.heading?"heading":void 0:t.startsWith(W)&&n.body?"body":void 0,a=e.desktop,l=a?.fontFamily,o=l||i;["desktop","mobile","tablet"].forEach(t=>{let i=e[t];if(!i||"object"!=typeof i)return;let l=i.fontFamily||o;if(!l||"string"!=typeof l||!n[l])return;let s=i.fontWeight??a?.fontWeight,f=i.fontStyle??a?.fontStyle;if(null==s)return;let c=$(s,f);r.has(l)||r.set(l,new Set),r.get(l).add(c)})});let i={};return r.forEach((t,e)=>{let r=n[e];r&&(i[e]={variants:Array.from(t).sort(),family:r.family,type:r.type})}),i},E=t=>{let e=t?.typography??{},n=t?.font??{},r=t?.font??{},i={};return Object.entries(e).forEach(([t,e])=>{if(!e||"object"!=typeof e)return;let a=e.desktop,l=e.mobile,o=e.tablet,s=t.startsWith(j)||t.startsWith(O)?r.heading?"heading":void 0:t.startsWith(W)&&r.body?"body":void 0,f=a?.fontFamily||l?.fontFamily||o?.fontFamily||s;if(!f||"string"!=typeof f)return;let c=n[f],y=r[f],u=c?.family||y?.family||f,p=c?.type||y?.type||"google";u&&(i[t]={family:u,type:p})}),i},I=async(t,e)=>{if(!t)return"";try{let n=JSON.parse(t),r=n?.font??{},i=Object.values(r),a=k(n);Object.keys(a).length>0&&(i=Object.entries(r).filter(([t])=>a[t]).map(([t,e])=>({...e,variants:a[t].variants})));let l=s(i);return w(l,void 0,void 0,e)}catch{return""}},x=(t,e)=>{if(!t)return"";try{let n=JSON.parse(t),r=n?.font??{},i=Object.entries(r).map(([,t])=>t);return w(i,void 0,void 0,e)}catch{return""}};async function A(t,e,n){let r,i=null;if(n)try{i=JSON.parse(n),r=E(i)}catch{}let a=F(t,r);if(!i){if(0===a.length)return[];let t=await w(a,void 0,void 0,e);return t?[t]:[]}let l=k(i),o=new Map,s=new Map,f=(t,e)=>`${t}::${e}`;for(let t of Object.values(l)){if(t.type){let e=f(t.family,t.type),n=o.get(e);if(!n){o.set(e,new Set(t.variants));continue}t.variants.forEach(t=>n.add(t));continue}let e=s.get(t.family);if(!e){s.set(t.family,new Set(t.variants));continue}t.variants.forEach(t=>e.add(t))}if(0===(a=a.map(t=>{let e=o.get(f(t.family,t.type))||s.get(t.family);if(!e)return t;let n=t.variants.filter(t=>!e.has(t));return 0===n.length?null:{...t,variants:n}}).filter(t=>null!==t)).length)return[];let c=await w(a,void 0,void 0,e);return c?[c]:[]}let C=null;function M({fontFamily:t,fontStyle:e,fontWeight:n,src:r,fontDisplay:i}){let a=r.replace(/^"|"$/g,""),l=`@font-face {
|
|
2
2
|
`;return l+=` font-family: '${t}';
|
|
3
3
|
font-style: ${e};
|
|
4
|
-
font-weight: ${
|
|
4
|
+
font-weight: ${n};
|
|
5
5
|
`,i&&(l+=` font-display: ${i};
|
|
6
6
|
`),l+=` src: ${a};
|
|
7
|
-
}`}function T({variant:t}){let e=t.trim().toLowerCase();if("regular"===e||"400"===e)return{fontStyle:"normal",fontWeight:"400"};if("italic"===e)return{fontStyle:"italic",fontWeight:"400"};if("bold"===e||"700"===e)return{fontStyle:"normal",fontWeight:"700"};let
|
|
7
|
+
}`}function T({variant:t}){let e=t.trim().toLowerCase();if("regular"===e||"400"===e)return{fontStyle:"normal",fontWeight:"400"};if("italic"===e)return{fontStyle:"italic",fontWeight:"400"};if("bold"===e||"700"===e)return{fontStyle:"normal",fontWeight:"700"};let n=e.endsWith("i")||e.endsWith("italic"),r=e.replace(/i(talic)?$/,"").trim()||"400";return{fontStyle:n?"italic":"normal",fontWeight:r}}async function L({fonts:t,sourceFont:e}){let r=t.filter(t=>!m.includes(t.family));if(!r.length)return"";let i="bunny"===e,s=i?null:function(){if(C)return C;for(let t of(C={},a.fonts)){let e=`${t.fontFamily}_${t.fontStyle}_${t.fontWeight}`.replace(/\s+/g,"");C[e]=t}return C}(),f=await Promise.all(r.map(async t=>{let r=[],i=[];for(let e of t.variants){if(s){let{fontStyle:n,fontWeight:i}=T({variant:e}),a=`${t.family}_${n}_${i}`.replace(/\s+/g,""),l=s[a];if(l){r.push(M(l));continue}}i.push(e)}if(i.length){let a=S([{...t,variants:i}],void 0,e),s=Array.isArray(a)?a:a?[a]:[],f=await Promise.all(s.map(t=>o(t,l)));for(let e=0;e<f.length;e++){let a=f[e];a?r.push(a):n("resolveFontFaces","API fallback returned empty CSS",{family:t.family,variants:i,url:s[e]})}}return r.length?r.join("\n"):""}));return f.filter(Boolean).join("\n")}async function U({data:t,sourceFont:e}){if(!t)return"";try{let n="string"==typeof t?JSON.parse(t):t,r=n?.font??{},i=Object.values(r),a=k(n);return Object.keys(a).length>0&&(i=Object.entries(r).filter(([t])=>a[t]).map(([t,e])=>Object.assign({},e,{variants:a[t].variants}))),L({fonts:s(i),sourceFont:e})}catch{return""}}async function P({pageTemplate:t,sourceFont:e,data:n}){let r,i=null;if(n)try{i="string"==typeof n?JSON.parse(n):n,r=E(i)}catch{}let a=F(t,r);if(!i){if(!a.length)return[];let t=await L({fonts:a,sourceFont:e});return t?[t]:[]}let l=k(i),o=new Map,s=new Map,f=(t,e)=>`${t}::${e}`;for(let t of Object.values(l))if(t.type){let e=f(t.family,t.type),n=o.get(e);n?t.variants.forEach(t=>n.add(t)):o.set(e,new Set(t.variants))}else{let e=s.get(t.family);e?t.variants.forEach(t=>e.add(t)):s.set(t.family,new Set(t.variants))}if(!(a=a.map(t=>{let e=o.get(f(t.family,t.type))||s.get(t.family);if(!e)return t;let n=t.variants.filter(t=>!e.has(t));return n.length?Object.assign({},t,{variants:n}):null}).filter(t=>null!==t)).length)return[];let c=await L({fonts:a,sourceFont:e});return c?[c]:[]}export{s as composeFonts,S as createFontUrls,k as extractTypographyVariants,x as getFontFromGlobalStyle,I as getFontLinkFromGlobalStyle,A as getFontStyleFromPageTemplate,w as getFonts,U as getStaticFontFacesFromGlobalStyle,P as getStaticFontFacesFromPageTemplate,E as mapTypographyToFontFamily,T as parseVariant,M as staticFontToCSS};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
let e=e=>{let t={};return!function e(
|
|
1
|
+
let e=(e,t)=>{if(!e||"object"!=typeof e)return!1;let r=Object.keys(e);if(!r.length)return!1;for(let n of r){let r=e[n];if(!r||"object"!=typeof r)return!1;for(let e of Object.keys(r))if(!t(r[e]))return!1}return!0},t=t=>{let r=t?.advanced;return r&&"object"==typeof r&&("pageType"in r&&delete r.pageType,r.hasBoxShadow&&e(r.hasBoxShadow,e=>!1===e||void 0===e)&&(delete r.hasBoxShadow,delete r.boxShadow)),t},r=e=>{let r={};return!function e(r,n={}){if(r){let{childrens:i,dateModified:o,editorConfigs:a,...l}=r;if(t(l),"section"===l.type)n[l.uid]=l;else{let t=i?.map(e=>e?.uid)??[];n[l.uid]={...l,childrens:t},i&&i.map(t=>e(t,n))}}}(e,r),{...r}},n=new Set(["Image"]),i=e=>{if(!e||"object"!=typeof e||e.advanced?.d?.desktop===!1)return null;if(n.has(e.tag))return e;let t=Array.isArray(e.childrens)?e.childrens:[];for(let e of t){let t=i(e);if(t)return t}return null},o=e=>{if(!e?.length)return e;let t=e.find(e=>!e?.settings?.lazy);if(!t)return e;let r=i(t);return r&&(r.setting=r.setting||{},void 0===r.setting.priority&&(r.setting.priority=!0)),e},a=(e,t)=>{let r=t?.filter(t=>e?.some(e=>e?.id===t)),n=r?.map(t=>e?.find(e=>e?.id===t))??[],i=e?.filter(e=>(!e?.id||!r?.includes(e.id))&&!e?.deletedAt)??[];return n.concat(i)};function l(e,t){let n=a(e,t),i=n.map(e=>{if(!e?.component)return!1;try{let t=JSON.parse(e.component);return t}catch{return!1}}).filter(Boolean);o(i);let l=!1;return i.map(e=>{let t=!!e.settings?.lazy,n=!!e.settings?.priority,i=n;return t||l||(i=!0,l=!0),{uid:e.uid,lazy:t,priority:i,data:r(e)}})}let s=e=>l([...e?.pageSections??[],...e?.themePageCustomSections??[],...e?.themeSections??[]],e?.sectionPosition),u=e=>(function(e,t){let n=a(e,t),i=n.map(e=>{if(!e?.component)return!1;try{let t=JSON.parse(e.component);return t}catch{return!1}}).filter(Boolean);return r({uid:"ROOT",tag:"Root",childrens:i})})([...e?.pageSections??[],...e?.themePageCustomSections??[]],e?.sectionPosition),c=e=>{try{let t=e?.metafields?.find(e=>e?.key==="page_background")?.value;return JSON.parse(t??"{}")}catch{return{}}},d=e=>l([...e?.sections??[]],e?.sectionPosition),p=e=>l([...e?.shopLibrarySections??[]],e?.sectionPosition);export{c as extractPageBackground,o as markLcpImage,r as normalizeBuilderData,l as normalizePageSectionResponseV2,d as parseBuilderLibraryTemplate,u as parseBuilderTemplate,s as parseBuilderTemplateV2,p as parseShopLibraryPageTemplate,t as stripDefaultAdvancedFields};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
let r=r=>{if(!r)return null;try{return JSON.parse(r)}catch(r){return null}},e=r=>JSON.parse(JSON.stringify(r));export{r as parseJson,e as serializableJson};
|
|
1
|
+
let r=r=>{if(!r)return null;try{return JSON.parse(r)}catch(r){return null}},e=r=>JSON.parse(JSON.stringify(r)),t=r=>JSON.stringify(r,(r,e)=>{if(e&&"object"==typeof e&&!Array.isArray(e)){let r={};for(let t of Object.keys(e).sort())r[t]=e[t];return r}return e});export{r as parseJson,e as serializableJson,t as stableStringify};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import{jsx as e,jsxs as t,Fragment as r}from"react/jsx-runtime";import{PageProvider as o,BuilderComponentProvider as
|
|
2
|
+
import{jsx as e,jsxs as t,Fragment as r}from"react/jsx-runtime";import{PageProvider as o,BuilderComponentProvider as n,SectionProvider as i,BuilderProvider as l,Render as m}from"@gem-sdk/core";import{NextSeo as d}from"next-seo";import c from"next/dynamic";import a from"next/head";import{useRouter as s}from"next/router";import{useMemo as p}from"react";import{buildPageRegistry as h}from"@gem-sdk/components";let f=c(()=>import("@gem-sdk/core").then(e=>e.CollectionProvider)),g=({seo:c,components:g,builderData:x,sectionData:y,themeStyle:u,collection:k,fontStyle:_})=>{let L=s(),T=p(()=>g??h(x),[g,x]);return L.isFallback?e("div",{children:"Loading..."}):t(r,{children:[e(d,{...c}),t(a,{children:[u&&e("style",{"data-id":"global-style",type:"text/css",dangerouslySetInnerHTML:{__html:u}}),_&&e("style",{"data-id":"google-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:_}})]}),e(o,{children:e(n,{components:T,children:e(i,{data:y,children:e(f,{collection:k,children:x&&e(l,{state:x,children:e(m,{uid:"ROOT"})})})})})})]})};export{g as default};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import{jsx as e,jsxs as t,Fragment as a}from"react/jsx-runtime";import{usePreviewSharePage as l,useI18n as n,PageProvider as r,BuilderComponentProvider as s,SectionProvider as i,I18nProvider as o,BuilderProvider as d,Render as c}from"@gem-sdk/core";import
|
|
1
|
+
import{jsx as e,jsxs as t,Fragment as a}from"react/jsx-runtime";import{usePreviewSharePage as l,useI18n as n,PageProvider as r,BuilderComponentProvider as s,SectionProvider as i,I18nProvider as o,BuilderProvider as d,Render as c}from"@gem-sdk/core";import m from"next/head";import{useRouter as p}from"next/router";import{parseHtml as g}from"../libs/parse-html.js";import{useMemo as u,useEffect as h,Fragment as f}from"react";import y from"next/dynamic";import{buildPageRegistry as _}from"@gem-sdk/components";let b=({components:b,builderData:x,sectionData:k,themeStyle:v,fontStyle:T,elementFontStyle:N,customCodeHeader:L,customFonts:P,pageBackground:S,publicStoreFrontData:I,page:q,collection:C,dynamicCollection:H,dynamicProduct:M})=>{let{disableExternalLinks:j}=l(),F=p(),{t:$}=n(),w=u(()=>b??_(x),[b,x]),z="custom-code-header",E=y(()=>import("@gem-sdk/core").then(e=>e.CollectionProvider)),O=q?.type==="GP_COLLECTION"?E:f;return(h(()=>{let e=document.querySelectorAll(`[class*="${z}-"]`),t=[];e.length>1&&e.forEach(e=>{let a=e.className;if(t.includes(a)){e.remove();return}t.push(a)})},[]),h(()=>{j()},[j]),F.isFallback)?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"})]})}):t(a,{children:[t(m,{children:[g(z,L,!0),v&&e("style",{"data-id":"global-style",type:"text/css",dangerouslySetInnerHTML:{__html:v}},"global-style"),T&&e("style",{"data-id":"google-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:T}},"google-fonts"),N&&N.map(t=>e("style",{"data-id":"google-element-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:t}},t)),P&&e("style",{"data-id":"custom-element-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:P}},T),S?.isUsePageBackground&&S?.background&&e("style",{children:`
|
|
2
2
|
body {
|
|
3
|
-
background: ${
|
|
3
|
+
background: ${S.background};
|
|
4
4
|
}
|
|
5
|
-
`},`page_background_${
|
|
5
|
+
`},`page_background_${S?.background}`)]}),e(r,{publicStoreFrontData:I,dynamicCollection:H,dynamicProduct:M,children:e(O,{collection:C,children:e(s,{components:w,children:e("div",{id:"storefront","data-page-name":q?.name,"data-assigned-product-title":M?.productTitle,"data-assigned-collection-title":H?.collectionTitle,children:e(i,{data:k,children:e(o,{t:$,children:x?.map(t=>e(a,{children:e(d,{state:t.data,lazy:t.lazy,priority:t.priority,isPreview:!0,children:e(c,{uid:t.uid})},t.uid)}))})})})})})})]})};export{b as PreviewTemplate};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import{jsx as
|
|
2
|
+
import{jsx as t,jsxs as e,Fragment as r}from"react/jsx-runtime";import{PageProvider as o,BuilderComponentProvider as d,SectionProvider as n,BuilderProvider as i,Render as m,AddOn as a}from"@gem-sdk/core";import{NextSeo as l}from"next-seo";import c from"next/dynamic";import s from"next/head";import{useRouter as p}from"next/router";import{useMemo as h}from"react";import{buildPageRegistry as f}from"@gem-sdk/components";let g=c(()=>import("@gem-sdk/core").then(t=>t.ProductProvider)),u=({themeStyle:c,fontStyle:u,seo:y,product:x,components:k,builderData:P,sectionData:_})=>{let L=p(),T=h(()=>k??f(P),[k,P]);return L.isFallback?t("div",{children:"Loading..."}):e(r,{children:[t(l,{...y}),e(s,{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,{children:t(d,{components:T,children:t(n,{data:_,children:e(g,{product:x,children:[P&&t(i,{state:P,children:t(m,{uid:"ROOT"})}),t(a,{name:"sticky-add-to-cart"})]})})})})]})};export{u as default};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import{jsx as e,jsxs as t,Fragment as s}from"react/jsx-runtime";import{useI18n as
|
|
1
|
+
import{jsx as e,jsxs as t,Fragment as s}from"react/jsx-runtime";import{useI18n as r,PageProvider as a,BuilderComponentProvider as o,I18nProvider as n,SectionProvider as l,BuilderProvider as i,Render as p}from"@gem-sdk/core";import{NextSeo as m}from"next-seo";import c from"next/head";import{useRouter as d}from"next/router";import{useTrackingView as g}from"../libs/hooks/use-tracking-view.js";import{parseHtml as u}from"../libs/parse-html.js";import h from"../components/builder/Header.js";import f from"../components/FooterForPostPurchase.js";import y from"next/script";import{useMemo as _,useEffect as b}from"react";import{usePageViewedTracking as k}from"../libs/hooks/usePageViewedTracking.js";import{stableStringify as v}from"../libs/helpers/parse-json.js";import{buildPageRegistry as x}from"@gem-sdk/components";let S=({components:S,builderData:P,sectionData:j,seo:T,themeStyle:N,fontStyle:H,elementFontStyle:I,customCodeHeader:L,shopToken:M,pageHandle:$,customFonts:w,isPostPurchase:E,shopName:F,productOffers:q,publicStoreFrontData:A,dynamicDiscountOffer:z,isPreview:C,interaction:D,pageBackground:O,sellingPlanSetting:U,buyerConsentPreCheck:B,id:R,shopID:V,domainTrackingIlp:G})=>{let X=d(),{t:J}=r(),K=process.env.NEXT_GP_BASE_ASSET_URL||"https://assets.gemcommerce.xyz";g(M,$,X.isFallback),k({id:R,shopID:V,domain:G});let Q=_(()=>S??x(P),[S,P]),W="custom-code-header";if(b(()=>{let e=document.querySelectorAll(`[class*="${W}-"]`),t=[];e.length>1&&e.forEach(e=>{let s=e.className;if(t.includes(s)){e.remove();return}t.push(s)})},[]),X.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 Y=(D?.value||[]).length>0;return t(s,{children:[e(m,{...T}),t(c,{children:[u(W,L,!0),N&&e("style",{"data-id":"global-style",type:"text/css",dangerouslySetInnerHTML:{__html:N}},"global-style"),H&&e("style",{"data-id":"google-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:H}},"google-fonts"),I&&I.map(t=>e("style",{"data-id":"google-element-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:t}},t)),w&&e("style",{"data-id":"custom-element-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:w}},H),O?.isUsePageBackground&&O?.background&&e("style",{children:`
|
|
2
2
|
body {
|
|
3
3
|
background: ${O.background};
|
|
4
4
|
}
|
|
5
|
-
`},`page_background_${O?.background}`)]}),e(
|
|
5
|
+
`},`page_background_${O?.background}`)]}),e(a,{productOffers:q,publicStoreFrontData:A,dynamicDiscountOffer:z,sellingPlanMeta:U,buyerConsentChecked:B,children:e(o,{components:Q,children:e(n,{t:J,children:t("div",{className:`${E?"gp-bg-white post-purchase-page":""} `,role:"main",children:[E&&e(h,{pageType:"POST_PURCHASE"}),Y&&e("div",{dangerouslySetInnerHTML:{__html:`<div id="gp-interaction" style="display: none;">${v(D?.value||[])}</div>`}}),e(l,{data:j,children:P?.map(s=>t(i,{state:s.data,lazy:s.lazy,priority:s.priority,isPostPurchase:E,isPreview:C,children:[e(p,{uid:s.uid}),Y&&e(y,{defer:!0,src:`${K}/assets-v2/gp-flow-action-lip-v7-5.js`})]},s.uid))}),E&&e(f,{shopName:F||""})]})})})})]})};export{S as StaticPageV2};
|
package/dist/esm/pages/static.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import{jsx as e,jsxs as t,Fragment as a}from"react/jsx-runtime";import{PageProvider as s,BuilderComponentProvider as
|
|
2
|
+
import{jsx as e,jsxs as t,Fragment as a}from"react/jsx-runtime";import{PageProvider as s,BuilderComponentProvider as n,SectionProvider as r,BuilderProvider as l,Render as i}from"@gem-sdk/core";import{NextSeo as p}from"next-seo";import g from"next/head";import{useRouter as m}from"next/router";import{useMemo as o}from"react";import{buildPageRegistry as d}from"@gem-sdk/components";let c=({components:c,builderData:f,sectionData:h,seo:u,themeStyle:_,fontStyle:x})=>{let y=m(),b=o(()=>c??d(f),[c,f]);return y.isFallback?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"})]})}):t(a,{children:[e(p,{...u}),t(g,{children:[_&&e("style",{"data-id":"global-style",type:"text/css",dangerouslySetInnerHTML:{__html:_}}),x&&e("style",{"data-id":"google-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:x}})]}),e(s,{children:e(n,{components:b,children:e(r,{data:h,children:e(a,{children:f&&e(l,{state:f,children:e(i,{uid:"ROOT"})},"body")})})})})]})};export{c as default};
|
package/dist/types/index.d.ts
CHANGED
|
@@ -58,7 +58,7 @@ type PageBuilderPropsV2 = {
|
|
|
58
58
|
}[];
|
|
59
59
|
} & Omit<PageBuilderProps, 'builderData'>;
|
|
60
60
|
type AdditionalPageBuilderProps = {
|
|
61
|
-
components
|
|
61
|
+
components?: Record<string, React__default.ComponentType<any>>;
|
|
62
62
|
collection?: any;
|
|
63
63
|
dynamicCollection?: {
|
|
64
64
|
collectionId?: string;
|
|
@@ -255,7 +255,7 @@ type SectionData = {
|
|
|
255
255
|
[key: string]: any;
|
|
256
256
|
};
|
|
257
257
|
declare function normalizePageSectionResponseV2(sections?: ShopType.Maybe<SectionData>[], orders?: string[]): {
|
|
258
|
-
uid:
|
|
258
|
+
uid: any;
|
|
259
259
|
lazy: boolean;
|
|
260
260
|
priority: boolean;
|
|
261
261
|
data: any;
|
|
@@ -268,7 +268,7 @@ type ParseBuilderTemplateV2Props = PublishedThemePageSelectFragment & {
|
|
|
268
268
|
}[];
|
|
269
269
|
};
|
|
270
270
|
declare const parseBuilderTemplateV2: (data?: ParseBuilderTemplateV2Props) => {
|
|
271
|
-
uid:
|
|
271
|
+
uid: any;
|
|
272
272
|
lazy: boolean;
|
|
273
273
|
priority: boolean;
|
|
274
274
|
data: any;
|
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.71",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"main": "dist/cjs/index.js",
|
|
@@ -27,10 +27,10 @@
|
|
|
27
27
|
"next": "14.2.35"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
|
-
"@gem-sdk/core": "17.0.0-dev.
|
|
31
|
-
"@gem-sdk/plugin-cookie-bar": "17.0.0-dev.
|
|
32
|
-
"@gem-sdk/plugin-quick-view": "17.0.0-dev.
|
|
33
|
-
"@gem-sdk/plugin-sticky-add-to-cart": "17.0.0-dev.
|
|
30
|
+
"@gem-sdk/core": "17.0.0-dev.71",
|
|
31
|
+
"@gem-sdk/plugin-cookie-bar": "17.0.0-dev.71",
|
|
32
|
+
"@gem-sdk/plugin-quick-view": "17.0.0-dev.71",
|
|
33
|
+
"@gem-sdk/plugin-sticky-add-to-cart": "17.0.0-dev.71"
|
|
34
34
|
},
|
|
35
35
|
"peerDependencies": {
|
|
36
36
|
"next": "14.2.35"
|