@gem-sdk/pages 1.57.12 → 1.57.15-staging.12

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.
@@ -2,24 +2,21 @@
2
2
 
3
3
  var jsxRuntime = require('react/jsx-runtime');
4
4
  var core = require('@gem-sdk/core');
5
- var router = require('next/router');
5
+ var navigation = require('next/navigation');
6
6
  var Script = require('next/script');
7
7
  var react = require('react');
8
8
 
9
9
  const FacebookPixel = ({ pixelId })=>{
10
- const router$1 = router.useRouter();
10
+ const pathName = navigation.usePathname();
11
+ const searchParams = navigation.useSearchParams();
11
12
  react.useEffect(()=>{
12
13
  const handleRouteChange = ()=>{
13
14
  core.fpixel.pageview();
14
15
  };
15
- router$1.events.on('routeChangeComplete', handleRouteChange);
16
- router$1.events.on('hashChangeComplete', handleRouteChange);
17
- return ()=>{
18
- router$1.events.off('routeChangeComplete', handleRouteChange);
19
- router$1.events.off('hashChangeComplete', handleRouteChange);
20
- };
16
+ handleRouteChange();
21
17
  }, [
22
- router$1.events
18
+ pathName,
19
+ searchParams
23
20
  ]);
24
21
  if (!pixelId) return null;
25
22
  return /*#__PURE__*/ jsxRuntime.jsx(Script, {
@@ -2,28 +2,26 @@
2
2
 
3
3
  var jsxRuntime = require('react/jsx-runtime');
4
4
  var core = require('@gem-sdk/core');
5
- var router = require('next/router');
5
+ var navigation = require('next/navigation');
6
6
  var Script = require('next/script');
7
7
  var react = require('react');
8
8
 
9
9
  const GoogleAnalytic = ({ trackingId })=>{
10
- const router$1 = router.useRouter();
10
+ const searchParams = navigation.useSearchParams();
11
+ const pathName = navigation.usePathname();
11
12
  react.useEffect(()=>{
13
+ const url = pathName + searchParams.toString();
12
14
  const handleRouteChange = (url)=>{
13
15
  core.gtag.pageview(url, trackingId);
14
16
  };
15
- router$1.events.on('routeChangeComplete', handleRouteChange);
16
- router$1.events.on('hashChangeComplete', handleRouteChange);
17
- return ()=>{
18
- router$1.events.off('routeChangeComplete', handleRouteChange);
19
- router$1.events.off('hashChangeComplete', handleRouteChange);
20
- };
17
+ handleRouteChange(url);
21
18
  }, [
22
19
  trackingId,
23
- router$1.events
20
+ pathName,
21
+ searchParams
24
22
  ]);
25
23
  const handleOnReady = ()=>{
26
- core.gtag.pageview(router$1.pathname, trackingId);
24
+ core.gtag.pageview(pathName, trackingId);
27
25
  };
28
26
  if (!trackingId) return null;
29
27
  if (trackingId.startsWith('UA-')) return /*#__PURE__*/ jsxRuntime.jsxs(jsxRuntime.Fragment, {
@@ -10,6 +10,8 @@ var googleFonts = require('../../libs/google-fonts.js');
10
10
  var genCss = require('../../libs/helpers/gen-css.js');
11
11
  var genFonts = require('../../libs/helpers/gen-fonts.js');
12
12
  var shopifyCdnWithGoogleFonts = require('../../libs/shopify-cdn-with-google-fonts.js');
13
+ var libsStore = require('../../store/libs-store.js');
14
+ var checkOptionFont = require('../../libs/helpers/check-option-font.js');
13
15
 
14
16
  const globalStyleId = 'global-style';
15
17
  const Toolbox = ()=>{
@@ -35,6 +37,8 @@ const Toolbox = ()=>{
35
37
  const changeLayoutSettings = core.useShopStore((s)=>s.changeLayoutSettings);
36
38
  const changeCreateThemeSectionCount = core.useShopStore((s)=>s.changeCreateThemeSectionCount);
37
39
  const changeShopPlan = core.useShopStore((s)=>s.changeShopPlan);
40
+ const changeFontType = libsStore.libsStore((s)=>s.changeFontType);
41
+ const fontType = libsStore.libsStore((s)=>s.fontType);
38
42
  const clearModal = core.useModalStore((s)=>s.clearModal);
39
43
  const changeLimitCreateThemeSection = core.useShopStore((s)=>s.changeLimitCreateThemeSection);
40
44
  const setInteractionIsSelectOnPage = core.usePageStore((s)=>s.setInteractionIsSelectOnPage);
@@ -70,6 +74,12 @@ const Toolbox = ()=>{
70
74
  });
71
75
  // append new fonts
72
76
  for (const font of fonts){
77
+ if ([
78
+ 'bunny',
79
+ 'google'
80
+ ].includes(font.type) && checkOptionFont.checkNotInOptionFont(font.family, fontType)) {
81
+ continue;
82
+ }
73
83
  if (font.type !== 'custom') {
74
84
  if (font.variants?.length) {
75
85
  for (const variant of font.variants){
@@ -81,7 +91,7 @@ const Toolbox = ()=>{
81
91
  const variantName = variant;
82
92
  const url = googleFonts.createFontUrl([
83
93
  cloneFont
84
- ]);
94
+ ], undefined, fontType);
85
95
  if (url) {
86
96
  const googleFont = document.querySelector(`.${className}[data-font="${fontName}"][data-font-variant="${variantName}"]`);
87
97
  if (googleFont) {
@@ -284,6 +294,13 @@ const Toolbox = ()=>{
284
294
  }, [
285
295
  changeShopPlan
286
296
  ]);
297
+ const onUpdateFontType = react.useCallback((e)=>{
298
+ const fontType = e.detail;
299
+ if (!fontType) return;
300
+ changeFontType(fontType);
301
+ }, [
302
+ changeFontType
303
+ ]);
287
304
  const onUpdateDynamicProduct = react.useCallback((e)=>{
288
305
  const product = e.detail;
289
306
  if (!product) return;
@@ -405,6 +422,7 @@ const Toolbox = ()=>{
405
422
  window.addEventListener('update-interaction-item', onUpdateInteractionItem);
406
423
  window.addEventListener('update-interaction-setting-type', onUpdateInteractionSettingType);
407
424
  window.addEventListener('change-sidebar-mode', onChangeSidebarMode);
425
+ window.addEventListener('update-font-type', onUpdateFontType);
408
426
  return ()=>{
409
427
  window.removeEventListener('update-shop-info', onChangeShopInfo);
410
428
  window.removeEventListener('revalidate-query', onRevalidateQuery);
@@ -428,6 +446,7 @@ const Toolbox = ()=>{
428
446
  window.removeEventListener('update-interaction-is-select-on-page', onUpdateInteractionIsSelectOnPage);
429
447
  window.removeEventListener('update-interaction-item', onUpdateInteractionItem);
430
448
  window.removeEventListener('update-interaction-setting-type', onUpdateInteractionSettingType);
449
+ window.removeEventListener('update-font-type', onUpdateFontType);
431
450
  };
432
451
  }, [
433
452
  onAddEntity,
@@ -453,6 +472,7 @@ const Toolbox = ()=>{
453
472
  onUpdateInteractionItem,
454
473
  onUpdateInteractionIsSelectOnPage,
455
474
  onUpdateInteractionSettingType,
475
+ onUpdateFontType,
456
476
  onChangeSidebarMode
457
477
  ]);
458
478
  return /*#__PURE__*/ jsxRuntime.jsx("div", {
package/dist/cjs/index.js CHANGED
@@ -18,12 +18,6 @@ var userAgent = require('./libs/helpers/user-agent.js');
18
18
  var normalize = require('./libs/helpers/normalize.js');
19
19
  var getFallback = require('./libs/helpers/get-fallback.js');
20
20
  var common = require('./libs/helpers/common.js');
21
- var collectionDetail = require('./pages/collection-detail.js');
22
- var preview = require('./pages/preview.js');
23
- var productDetail = require('./pages/product-detail.js');
24
- var _static = require('./pages/static.js');
25
- var builder = require('./pages/builder.js');
26
- var staticV2 = require('./pages/static-v2.js');
27
21
  var getStaticPaths = require('./libs/getStaticPaths.js');
28
22
  var genFonts = require('./libs/helpers/gen-fonts.js');
29
23
  var googleFonts = require('./libs/google-fonts.js');
@@ -35,6 +29,12 @@ var _500 = require('./pages/500.js');
35
29
  var GoogleAnalytic = require('./components/GoogleAnalytic.js');
36
30
  var FacebookPixel = require('./components/FacebookPixel.js');
37
31
  var TikTokPixel = require('./components/TikTokPixel.js');
32
+ var collectionDetail = require('./pages/collection-detail.js');
33
+ var preview = require('./pages/preview.js');
34
+ var productDetail = require('./pages/product-detail.js');
35
+ var _static = require('./pages/static.js');
36
+ var builder = require('./pages/builder.js');
37
+ var staticV2 = require('./pages/static-v2.js');
38
38
 
39
39
 
40
40
 
@@ -59,12 +59,6 @@ exports.normalizePageSectionResponseV2 = normalize.normalizePageSectionResponseV
59
59
  exports.parseBuilderTemplateV2 = normalize.parseBuilderTemplateV2;
60
60
  exports.getFallbackV2 = getFallback.getFallbackV2;
61
61
  exports.retryWithDelay = common.retryWithDelay;
62
- exports.CollectionDetailPage = collectionDetail.default;
63
- exports.PreviewPage = preview.PreviewPage;
64
- exports.ProductDetailPage = productDetail.default;
65
- exports.StaticPage = _static.default;
66
- exports.BuilderPage = builder.BuilderPage;
67
- exports.StaticPageV2 = staticV2.StaticPageV2;
68
62
  exports.getStaticPaths = getStaticPaths.getStaticPaths;
69
63
  exports.getFontFromGroupSetting = genFonts.getFontFromGroupSetting;
70
64
  exports.getFontsFromDataBuilder = genFonts.getFontsFromDataBuilder;
@@ -78,3 +72,9 @@ exports.Page500 = _500.Page500;
78
72
  exports.GoogleAnalytic = GoogleAnalytic.GoogleAnalytic;
79
73
  exports.FacebookPixel = FacebookPixel.FacebookPixel;
80
74
  exports.TikTokPixel = TikTokPixel.TikTokPixel;
75
+ exports.CollectionDetailPage = collectionDetail.default;
76
+ exports.PreviewPage = preview.PreviewPage;
77
+ exports.ProductDetailPage = productDetail.default;
78
+ exports.StaticPage = _static.default;
79
+ exports.BuilderPage = builder.BuilderPage;
80
+ exports.StaticPageV2 = staticV2.StaticPageV2;
@@ -253,6 +253,7 @@ const getPostPurchasePropsPreview = (fetcher, librarySaleFunnelID, storeFrontFet
253
253
  productOffers
254
254
  });
255
255
  } catch (err) {
256
+ console.log('error', err);
256
257
  nextjs.captureException(err);
257
258
  throw err;
258
259
  }
@@ -18,7 +18,7 @@ const getStaticPagePropsV2 = (fetcher, shopifyFetcher)=>async (slug)=>{
18
18
  slug,
19
19
  slugType: pageType
20
20
  };
21
- const [theme, storeProperty, shopifyMeta] = await Promise.allSettled([
21
+ const [theme, storeProperty, shopifyMeta, publishedShopMetas] = await Promise.allSettled([
22
22
  fetcher([
23
23
  core.PublishedThemePagesDocument,
24
24
  variables
@@ -28,11 +28,21 @@ const getStaticPagePropsV2 = (fetcher, shopifyFetcher)=>async (slug)=>{
28
28
  ]),
29
29
  shopifyFetcher([
30
30
  adapterShopify.ShopMetaDocument
31
+ ]),
32
+ fetcher([
33
+ core.PublishedShopMetasDocument,
34
+ {
35
+ keys: [
36
+ 'source_font'
37
+ ]
38
+ }
31
39
  ])
32
40
  ]);
33
41
  if (theme.status === 'rejected') {
34
42
  throw new Error(theme.reason?.[0]);
35
43
  }
44
+ const publishedShopMetaValue = publishedShopMetas.status === 'fulfilled' ? publishedShopMetas.value : undefined;
45
+ const sourceFont = publishedShopMetaValue?.publishedShopMetas?.find((item)=>item?.key === 'source_font');
36
46
  const dataBuilder = theme.value.publishedThemePages?.[0];
37
47
  const themePageCustomFonts = theme.value?.publishedThemePages?.[0]?.themePageCustomFonts;
38
48
  if (!dataBuilder) {
@@ -40,8 +50,8 @@ const getStaticPagePropsV2 = (fetcher, shopifyFetcher)=>async (slug)=>{
40
50
  }
41
51
  const pageTemplate = normalize.parseBuilderTemplateV2(dataBuilder);
42
52
  const [elementFontStyle, fontStyle, fallback, customFonts$1] = await Promise.all([
43
- googleFonts.getFontStyleFromPageTemplate(pageTemplate),
44
- googleFonts.getFontFromGlobalStyle(dataBuilder?.pageStyle?.data),
53
+ googleFonts.getFontStyleFromPageTemplate(pageTemplate, sourceFont?.value),
54
+ googleFonts.getFontFromGlobalStyle(dataBuilder?.pageStyle?.data, sourceFont?.value),
45
55
  getFallback.getFallbackV2(fetcher, pageTemplate),
46
56
  customFonts.getCustomFonts(themePageCustomFonts)
47
57
  ]);
@@ -1,5 +1,6 @@
1
1
  'use strict';
2
2
 
3
+ var checkOptionFont = require('./helpers/check-option-font.js');
3
4
  var genFonts = require('./helpers/gen-fonts.js');
4
5
 
5
6
  const CHROME_UA = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36';
@@ -35,12 +36,17 @@ const composeFonts = (fonts)=>{
35
36
  };
36
37
  });
37
38
  };
38
- const createFontUrl = (fonts, option)=>{
39
- const googleFonts = fonts.filter((font)=>font.type === 'google' || !font.type);
40
- if (!googleFonts.length) return;
39
+ const createFontUrl = (fonts, option, fontType)=>{
40
+ const mainFonts = fonts.filter((font)=>{
41
+ return !([
42
+ 'bunny',
43
+ 'google'
44
+ ].includes(font.type) && checkOptionFont.checkNotInOptionFont(font.family, fontType || 'google')) && (font.type === 'google' || font.type === 'bunny' || !font.type);
45
+ });
46
+ if (!mainFonts.length) return;
41
47
  const params = new URLSearchParams();
42
48
  const display = option?.display || 'swap';
43
- const uniqFonts = googleFonts.filter((font, index, arr)=>{
49
+ const uniqFonts = mainFonts.filter((font, index, arr)=>{
44
50
  return index === arr.findIndex((t)=>t.family === font.family);
45
51
  });
46
52
  const family = composeFonts(uniqFonts).map((font)=>{
@@ -54,13 +60,16 @@ const createFontUrl = (fonts, option)=>{
54
60
  if (option?.effect) {
55
61
  params.append('effect', option.effect);
56
62
  }
57
- return `https://fonts.googleapis.com/css?${decodeURIComponent(params.toString())}`;
63
+ const bunnyFontUrl = `https://fonts.bunny.net/css?family=${family}`;
64
+ const googleFontUrl = `https://fonts.googleapis.com/css?${decodeURIComponent(params.toString())}`;
65
+ return fontType === 'bunny' ? bunnyFontUrl : googleFontUrl;
58
66
  };
59
- async function getFonts(fonts, option, isImportFontByUrl = true) {
67
+ // eslint-disable-next-line max-params
68
+ async function getFonts(fonts, option, isImportFontByUrl = true, fontType) {
60
69
  /**
61
70
  * The order of IE -> Chrome is important, other wise chrome starts loading woff1.
62
71
  * CSS cascading 🤷‍♂️.
63
- */ const url = createFontUrl(fonts, option);
72
+ */ const url = createFontUrl(fonts, option, fontType);
64
73
  if (!url) return '';
65
74
  try {
66
75
  if (isImportFontByUrl) return `@import url('${url}');`;
@@ -82,7 +91,7 @@ async function getFonts(fonts, option, isImportFontByUrl = true) {
82
91
  return '';
83
92
  }
84
93
  }
85
- const getFontFromGlobalStyle = (data)=>{
94
+ const getFontFromGlobalStyle = (data, sourceFont)=>{
86
95
  if (!data) return '';
87
96
  try {
88
97
  const globalStyle = JSON.parse(data);
@@ -90,14 +99,14 @@ const getFontFromGlobalStyle = (data)=>{
90
99
  const fonts = Object.entries(fontData).map(([, value])=>{
91
100
  return value;
92
101
  });
93
- return getFonts(fonts);
102
+ return getFonts(fonts, undefined, undefined, sourceFont);
94
103
  } catch {
95
104
  return '';
96
105
  }
97
106
  };
98
- async function getFontStyleFromPageTemplate(pageTemplate) {
107
+ async function getFontStyleFromPageTemplate(pageTemplate, sourceFont) {
99
108
  const fontStyle = pageTemplate.map((sectionData)=>{
100
- return getFonts(genFonts.getFontsFromDataBuilder(sectionData.data));
109
+ return getFonts(genFonts.getFontsFromDataBuilder(sectionData.data), undefined, undefined, sourceFont);
101
110
  });
102
111
  return await Promise.all(fontStyle);
103
112
  }
@@ -0,0 +1,65 @@
1
+ 'use strict';
2
+
3
+ const listFontsNotInBunny = [
4
+ 'Anton SC',
5
+ 'Arsenal SC',
6
+ 'Baskervville SC',
7
+ 'Beiruti',
8
+ 'Bodoni Moda SC',
9
+ 'Bona Nova SC',
10
+ 'Bungee Tint',
11
+ 'Edu AU VIC WA NT Hand',
12
+ 'Fustat',
13
+ 'Ga Maamli',
14
+ 'Kalnia Glaze',
15
+ 'Maname',
16
+ 'Matemasie',
17
+ 'Material Icons',
18
+ 'Material Icons Outlined',
19
+ 'Material Icons Round',
20
+ 'Material Icons Sharp',
21
+ 'Material Icons Two Tone',
22
+ 'Material Symbols Outlined',
23
+ 'Material Symbols Rounded',
24
+ 'Material Symbols Sharp',
25
+ 'Moderustic',
26
+ 'New Amsterdam',
27
+ 'Playwrite AR',
28
+ 'Playwrite AT',
29
+ 'Playwrite BE VLG',
30
+ 'Playwrite BE WAL',
31
+ 'Playwrite CL',
32
+ 'Playwrite CU',
33
+ 'Playwrite CZ',
34
+ 'Playwrite DK Loopet',
35
+ 'Playwrite DK Uloopet',
36
+ 'Playwrite HR',
37
+ 'Playwrite HR Lijeva',
38
+ 'Playwrite HU',
39
+ 'Playwrite PE',
40
+ 'SUSE',
41
+ 'Sankofa Display',
42
+ 'Wittgenstein',
43
+ 'Zain'
44
+ ];
45
+ const listFontsNotInGoogle = [
46
+ 'Arima Madurai',
47
+ 'Coda Caption',
48
+ 'Fredoka One',
49
+ 'Gentium Book Basic',
50
+ 'Kantumruy',
51
+ 'Merienda One',
52
+ 'Source Sans Pro',
53
+ 'Source Serif Pro',
54
+ 'Briem Hand',
55
+ 'Pushster'
56
+ ];
57
+ const objectFont = {
58
+ bunny: listFontsNotInBunny,
59
+ google: listFontsNotInGoogle
60
+ };
61
+ const checkNotInOptionFont = (currentfont, type)=>{
62
+ return objectFont?.[type]?.includes(currentfont);
63
+ };
64
+
65
+ exports.checkNotInOptionFont = checkNotInOptionFont;
@@ -2,8 +2,6 @@
2
2
 
3
3
  var jsxRuntime = require('react/jsx-runtime');
4
4
  var core = require('@gem-sdk/core');
5
- var nextSeo = require('next-seo');
6
- var Head = require('next/head');
7
5
  var react = require('react');
8
6
  var Toolbox = require('../components/builder/Toolbox.js');
9
7
  var Header = require('../components/builder/Header.js');
@@ -15,7 +13,7 @@ var Toolbar = require('../components/builder/Toolbar.js');
15
13
  var SwitchView = require('../components/builder/SwitchView.js');
16
14
  var Body = require('../components/builder/Body.js');
17
15
 
18
- const BuilderPage = ({ components, seo, themeStyle, fontStyle, sectionData, pageType, editorImageToLayout, isThemeSectionEditor, hiddenToolbar, pageName, isOriginTemplate })=>{
16
+ const BuilderPage = ({ components, themeStyle, fontStyle, sectionData, pageType, editorImageToLayout, isThemeSectionEditor, hiddenToolbar, pageName, isOriginTemplate })=>{
19
17
  const [loadSuccess, setLoadSuccess] = react.useState(false);
20
18
  const isDisableHeaderFooter = ()=>{
21
19
  return isThemeSectionEditor;
@@ -38,26 +36,19 @@ const BuilderPage = ({ components, seo, themeStyle, fontStyle, sectionData, page
38
36
  };
39
37
  return /*#__PURE__*/ jsxRuntime.jsxs(jsxRuntime.Fragment, {
40
38
  children: [
41
- /*#__PURE__*/ jsxRuntime.jsx(nextSeo.NextSeo, {
42
- ...seo
39
+ themeStyle && /*#__PURE__*/ jsxRuntime.jsx("style", {
40
+ type: "text/css",
41
+ id: "global-style",
42
+ dangerouslySetInnerHTML: {
43
+ __html: themeStyle
44
+ }
43
45
  }),
44
- /*#__PURE__*/ jsxRuntime.jsxs(Head, {
45
- children: [
46
- themeStyle && /*#__PURE__*/ jsxRuntime.jsx("style", {
47
- type: "text/css",
48
- id: "global-style",
49
- dangerouslySetInnerHTML: {
50
- __html: themeStyle
51
- }
52
- }),
53
- fontStyle && /*#__PURE__*/ jsxRuntime.jsx("style", {
54
- "data-id": "google-fonts",
55
- type: "text/css",
56
- dangerouslySetInnerHTML: {
57
- __html: fontStyle
58
- }
59
- })
60
- ]
46
+ fontStyle && /*#__PURE__*/ jsxRuntime.jsx("style", {
47
+ "data-id": "google-fonts",
48
+ type: "text/css",
49
+ dangerouslySetInnerHTML: {
50
+ __html: fontStyle
51
+ }
61
52
  }),
62
53
  /*#__PURE__*/ jsxRuntime.jsx(core.PageProvider, {
63
54
  children: /*#__PURE__*/ jsxRuntime.jsx(core.BuilderComponentProvider, {
@@ -4,53 +4,43 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var jsxRuntime = require('react/jsx-runtime');
6
6
  var core = require('@gem-sdk/core');
7
- var nextSeo = require('next-seo');
8
7
  var dynamic = require('next/dynamic');
9
- var Head = require('next/head');
10
- var router = require('next/router');
8
+ var react = require('react');
11
9
 
12
10
  const CollectionProvider = dynamic(()=>import('@gem-sdk/core').then((m)=>m.CollectionProvider));
13
- const CollectionDetailPage = ({ seo, components, builderData, sectionData, themeStyle, collection, fontStyle })=>{
14
- const router$1 = router.useRouter();
15
- if (router$1.isFallback) {
16
- return /*#__PURE__*/ jsxRuntime.jsx("div", {
17
- children: "Loading..."
18
- });
19
- }
11
+ const CollectionDetailPage = ({ components, builderData, sectionData, themeStyle, collection, fontStyle })=>{
20
12
  return /*#__PURE__*/ jsxRuntime.jsxs(jsxRuntime.Fragment, {
21
13
  children: [
22
- /*#__PURE__*/ jsxRuntime.jsx(nextSeo.NextSeo, {
23
- ...seo
14
+ themeStyle && /*#__PURE__*/ jsxRuntime.jsx("style", {
15
+ "data-id": "global-style",
16
+ type: "text/css",
17
+ dangerouslySetInnerHTML: {
18
+ __html: themeStyle
19
+ }
24
20
  }),
25
- /*#__PURE__*/ jsxRuntime.jsxs(Head, {
26
- children: [
27
- themeStyle && /*#__PURE__*/ jsxRuntime.jsx("style", {
28
- "data-id": "global-style",
29
- type: "text/css",
30
- dangerouslySetInnerHTML: {
31
- __html: themeStyle
32
- }
33
- }),
34
- fontStyle && /*#__PURE__*/ jsxRuntime.jsx("style", {
35
- "data-id": "google-fonts",
36
- type: "text/css",
37
- dangerouslySetInnerHTML: {
38
- __html: fontStyle
39
- }
40
- })
41
- ]
21
+ fontStyle && /*#__PURE__*/ jsxRuntime.jsx("style", {
22
+ "data-id": "google-fonts",
23
+ type: "text/css",
24
+ dangerouslySetInnerHTML: {
25
+ __html: fontStyle
26
+ }
42
27
  }),
43
- /*#__PURE__*/ jsxRuntime.jsx(core.PageProvider, {
44
- children: /*#__PURE__*/ jsxRuntime.jsx(core.BuilderComponentProvider, {
45
- components: components,
46
- children: /*#__PURE__*/ jsxRuntime.jsx(core.SectionProvider, {
47
- data: sectionData,
48
- children: /*#__PURE__*/ jsxRuntime.jsx(CollectionProvider, {
49
- collection: collection,
50
- children: builderData && /*#__PURE__*/ jsxRuntime.jsx(core.BuilderProvider, {
51
- state: builderData,
52
- children: /*#__PURE__*/ jsxRuntime.jsx(core.Render, {
53
- uid: "ROOT"
28
+ /*#__PURE__*/ jsxRuntime.jsx(react.Suspense, {
29
+ fallback: /*#__PURE__*/ jsxRuntime.jsx("div", {
30
+ children: "Loading..."
31
+ }),
32
+ children: /*#__PURE__*/ jsxRuntime.jsx(core.PageProvider, {
33
+ children: /*#__PURE__*/ jsxRuntime.jsx(core.BuilderComponentProvider, {
34
+ components: components,
35
+ children: /*#__PURE__*/ jsxRuntime.jsx(core.SectionProvider, {
36
+ data: sectionData,
37
+ children: /*#__PURE__*/ jsxRuntime.jsx(CollectionProvider, {
38
+ collection: collection,
39
+ children: builderData && /*#__PURE__*/ jsxRuntime.jsx(core.BuilderProvider, {
40
+ state: builderData,
41
+ children: /*#__PURE__*/ jsxRuntime.jsx(core.Render, {
42
+ uid: "ROOT"
43
+ })
54
44
  })
55
45
  })
56
46
  })
@@ -4,41 +4,29 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var jsxRuntime = require('react/jsx-runtime');
6
6
  var core = require('@gem-sdk/core');
7
- var nextSeo = require('next-seo');
8
7
  var dynamic = require('next/dynamic');
9
- var Head = require('next/head');
10
- var router = require('next/router');
8
+ var react = require('react');
11
9
 
12
10
  const ProductProvider = dynamic(()=>import('@gem-sdk/core').then((m)=>m.ProductProvider));
13
- const ProductDetailPage = ({ themeStyle, fontStyle, seo, product, components, builderData, sectionData })=>{
14
- const router$1 = router.useRouter();
15
- if (router$1.isFallback) {
16
- return /*#__PURE__*/ jsxRuntime.jsx("div", {
11
+ const ProductDetailPage = ({ themeStyle, fontStyle, product, components, builderData, sectionData })=>{
12
+ return /*#__PURE__*/ jsxRuntime.jsxs(react.Suspense, {
13
+ fallback: /*#__PURE__*/ jsxRuntime.jsx("div", {
17
14
  children: "Loading..."
18
- });
19
- }
20
- return /*#__PURE__*/ jsxRuntime.jsxs(jsxRuntime.Fragment, {
15
+ }),
21
16
  children: [
22
- /*#__PURE__*/ jsxRuntime.jsx(nextSeo.NextSeo, {
23
- ...seo
17
+ themeStyle && /*#__PURE__*/ jsxRuntime.jsx("style", {
18
+ "data-id": "global-style",
19
+ type: "text/css",
20
+ dangerouslySetInnerHTML: {
21
+ __html: themeStyle
22
+ }
24
23
  }),
25
- /*#__PURE__*/ jsxRuntime.jsxs(Head, {
26
- children: [
27
- themeStyle && /*#__PURE__*/ jsxRuntime.jsx("style", {
28
- "data-id": "global-style",
29
- type: "text/css",
30
- dangerouslySetInnerHTML: {
31
- __html: themeStyle
32
- }
33
- }),
34
- fontStyle && /*#__PURE__*/ jsxRuntime.jsx("style", {
35
- "data-id": "google-fonts",
36
- type: "text/css",
37
- dangerouslySetInnerHTML: {
38
- __html: fontStyle
39
- }
40
- })
41
- ]
24
+ fontStyle && /*#__PURE__*/ jsxRuntime.jsx("style", {
25
+ "data-id": "google-fonts",
26
+ type: "text/css",
27
+ dangerouslySetInnerHTML: {
28
+ __html: fontStyle
29
+ }
42
30
  }),
43
31
  /*#__PURE__*/ jsxRuntime.jsx(core.PageProvider, {
44
32
  children: /*#__PURE__*/ jsxRuntime.jsx(core.BuilderComponentProvider, {