@gem-sdk/pages 2.0.0-staging.709 → 2.0.0-staging.764

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.
Files changed (145) hide show
  1. package/dist/cjs/components/ErrorBoundary.js +1 -40
  2. package/dist/cjs/components/ErrorFallback.js +1 -26
  3. package/dist/cjs/components/FacebookPixel.js +3 -33
  4. package/dist/cjs/components/FooterForPostPurchase.js +1 -34
  5. package/dist/cjs/components/GoogleAnalytic.js +5 -65
  6. package/dist/cjs/components/TikTokPixel.js +3 -19
  7. package/dist/cjs/components/builder/Body.js +1 -36
  8. package/dist/cjs/components/builder/Footer.js +1 -154
  9. package/dist/cjs/components/builder/Header.js +1 -186
  10. package/dist/cjs/components/builder/PopupManager.js +1 -63
  11. package/dist/cjs/components/builder/SwitchView.js +1 -184
  12. package/dist/cjs/components/builder/Toolbar.js +1 -706
  13. package/dist/cjs/components/builder/Toolbox.js +1 -508
  14. package/dist/cjs/components/builder/const.js +1 -56
  15. package/dist/cjs/components/builder/toolbar/const.js +1 -7
  16. package/dist/cjs/components/builder/toolbar/utils/findDOMClosest.js +1 -41
  17. package/dist/cjs/components/builder/toolbar/utils/findOverflowParent.js +1 -20
  18. package/dist/cjs/components/builder/toolbar/utils/getChildrenByAttrSelector.js +1 -18
  19. package/dist/cjs/components/builder/toolbar/utils/getDOMElementParents.js +1 -32
  20. package/dist/cjs/components/builder/toolbar/utils/isOverParent.js +1 -16
  21. package/dist/cjs/components/builder/toolbar/utils/isOverToolbarPosition.js +1 -12
  22. package/dist/cjs/components/builder/toolbar/utils/isSection.js +1 -8
  23. package/dist/cjs/components/builder/toolbar/utils/notVisible.js +1 -8
  24. package/dist/cjs/components/builder/toolbar/utils/waitForElementToExist.js +1 -27
  25. package/dist/cjs/components/composable/getListFontWeightTypos.js +1 -14
  26. package/dist/cjs/components/image-to-layout/AddSectionImageToLayout.js +1 -151
  27. package/dist/cjs/components/image-to-layout/DropElement.js +1 -191
  28. package/dist/cjs/components/image-to-layout/ImageToLayout.js +1 -41
  29. package/dist/cjs/constants/index.js +1 -15
  30. package/dist/cjs/index.js +1 -80
  31. package/dist/cjs/layouts/main.js +1 -30
  32. package/dist/cjs/libs/api/get-builder-props.js +1 -46
  33. package/dist/cjs/libs/api/get-collection-props.js +1 -68
  34. package/dist/cjs/libs/api/get-home-page-props-v2.js +1 -157
  35. package/dist/cjs/libs/api/get-home-page-props.js +1 -163
  36. package/dist/cjs/libs/api/get-post-purchase-props-preview.js +1 -301
  37. package/dist/cjs/libs/api/get-preview-props.js +1 -18
  38. package/dist/cjs/libs/api/get-product-props.js +1 -73
  39. package/dist/cjs/libs/api/get-static-page-props-preview.js +1 -160
  40. package/dist/cjs/libs/api/get-static-page-props-v2.js +1 -173
  41. package/dist/cjs/libs/api/get-static-page-props.js +1 -161
  42. package/dist/cjs/libs/custom-fonts.js +6 -60
  43. package/dist/cjs/libs/fetcher.js +1 -100
  44. package/dist/cjs/libs/get-layout.js +1 -13
  45. package/dist/cjs/libs/get-storefront-api.js +1 -12
  46. package/dist/cjs/libs/getStaticPaths.js +1 -10
  47. package/dist/cjs/libs/google-fonts.js +1 -138
  48. package/dist/cjs/libs/helpers/check-option-font.js +1 -65
  49. package/dist/cjs/libs/helpers/common.js +1 -27
  50. package/dist/cjs/libs/helpers/gen-css.js +1 -135
  51. package/dist/cjs/libs/helpers/gen-fonts.js +1 -96
  52. package/dist/cjs/libs/helpers/generate-manifres.js +1 -5
  53. package/dist/cjs/libs/helpers/get-fallback.js +1 -34
  54. package/dist/cjs/libs/helpers/get-metafield.js +1 -7
  55. package/dist/cjs/libs/helpers/normalize.js +1 -112
  56. package/dist/cjs/libs/helpers/parse-json.js +1 -16
  57. package/dist/cjs/libs/helpers/sentry.js +1 -17
  58. package/dist/cjs/libs/helpers/user-agent.js +1 -7
  59. package/dist/cjs/libs/hooks/use-tracking-view.js +1 -42
  60. package/dist/cjs/libs/hooks/usePagePreview.js +1 -92
  61. package/dist/cjs/libs/parse-html.js +1 -34
  62. package/dist/cjs/libs/shopify-cdn-with-google-fonts.js +1 -1845
  63. package/dist/cjs/pages/404.js +1 -43
  64. package/dist/cjs/pages/500.js +1 -74
  65. package/dist/cjs/pages/CollectionGlobalProvider.js +1 -59
  66. package/dist/cjs/pages/builder.js +1 -119
  67. package/dist/cjs/pages/collection-detail.js +1 -64
  68. package/dist/cjs/pages/preview.js +1 -26
  69. package/dist/cjs/pages/product-detail.js +1 -69
  70. package/dist/cjs/pages/static-v2.js +3 -142
  71. package/dist/cjs/pages/static.js +1 -75
  72. package/dist/cjs/store/libs-store.js +1 -14
  73. package/dist/esm/components/ErrorBoundary.js +1 -38
  74. package/dist/esm/components/ErrorFallback.js +1 -24
  75. package/dist/esm/components/FacebookPixel.js +3 -31
  76. package/dist/esm/components/FooterForPostPurchase.js +1 -30
  77. package/dist/esm/components/GoogleAnalytic.js +5 -63
  78. package/dist/esm/components/TikTokPixel.js +3 -17
  79. package/dist/esm/components/builder/Body.js +1 -32
  80. package/dist/esm/components/builder/Footer.js +1 -150
  81. package/dist/esm/components/builder/Header.js +1 -182
  82. package/dist/esm/components/builder/PopupManager.js +1 -59
  83. package/dist/esm/components/builder/SwitchView.js +1 -180
  84. package/dist/esm/components/builder/Toolbar.js +1 -702
  85. package/dist/esm/components/builder/Toolbox.js +1 -504
  86. package/dist/esm/components/builder/const.js +1 -54
  87. package/dist/esm/components/builder/toolbar/const.js +1 -4
  88. package/dist/esm/components/builder/toolbar/utils/findDOMClosest.js +1 -39
  89. package/dist/esm/components/builder/toolbar/utils/findOverflowParent.js +1 -18
  90. package/dist/esm/components/builder/toolbar/utils/getChildrenByAttrSelector.js +1 -16
  91. package/dist/esm/components/builder/toolbar/utils/getDOMElementParents.js +1 -30
  92. package/dist/esm/components/builder/toolbar/utils/isOverParent.js +1 -14
  93. package/dist/esm/components/builder/toolbar/utils/isOverToolbarPosition.js +1 -10
  94. package/dist/esm/components/builder/toolbar/utils/isSection.js +1 -6
  95. package/dist/esm/components/builder/toolbar/utils/notVisible.js +1 -6
  96. package/dist/esm/components/builder/toolbar/utils/waitForElementToExist.js +1 -25
  97. package/dist/esm/components/composable/getListFontWeightTypos.js +1 -12
  98. package/dist/esm/components/image-to-layout/AddSectionImageToLayout.js +1 -147
  99. package/dist/esm/components/image-to-layout/DropElement.js +1 -189
  100. package/dist/esm/components/image-to-layout/ImageToLayout.js +1 -37
  101. package/dist/esm/constants/index.js +1 -15
  102. package/dist/esm/index.js +1 -35
  103. package/dist/esm/layouts/main.js +1 -26
  104. package/dist/esm/libs/api/get-builder-props.js +1 -44
  105. package/dist/esm/libs/api/get-collection-props.js +1 -66
  106. package/dist/esm/libs/api/get-home-page-props-v2.js +1 -155
  107. package/dist/esm/libs/api/get-home-page-props.js +1 -161
  108. package/dist/esm/libs/api/get-post-purchase-props-preview.js +1 -293
  109. package/dist/esm/libs/api/get-preview-props.js +1 -16
  110. package/dist/esm/libs/api/get-product-props.js +1 -71
  111. package/dist/esm/libs/api/get-static-page-props-preview.js +1 -158
  112. package/dist/esm/libs/api/get-static-page-props-v2.js +1 -171
  113. package/dist/esm/libs/api/get-static-page-props.js +1 -159
  114. package/dist/esm/libs/custom-fonts.js +6 -55
  115. package/dist/esm/libs/fetcher.js +1 -96
  116. package/dist/esm/libs/get-layout.js +1 -11
  117. package/dist/esm/libs/get-storefront-api.js +1 -10
  118. package/dist/esm/libs/getStaticPaths.js +1 -8
  119. package/dist/esm/libs/google-fonts.js +1 -132
  120. package/dist/esm/libs/helpers/check-option-font.js +1 -63
  121. package/dist/esm/libs/helpers/common.js +1 -24
  122. package/dist/esm/libs/helpers/gen-css.js +1 -133
  123. package/dist/esm/libs/helpers/gen-fonts.js +1 -93
  124. package/dist/esm/libs/helpers/generate-manifres.js +1 -3
  125. package/dist/esm/libs/helpers/get-fallback.js +1 -32
  126. package/dist/esm/libs/helpers/get-metafield.js +1 -5
  127. package/dist/esm/libs/helpers/normalize.js +1 -104
  128. package/dist/esm/libs/helpers/parse-json.js +1 -13
  129. package/dist/esm/libs/helpers/sentry.js +1 -15
  130. package/dist/esm/libs/helpers/user-agent.js +1 -5
  131. package/dist/esm/libs/hooks/use-tracking-view.js +1 -40
  132. package/dist/esm/libs/hooks/usePagePreview.js +1 -90
  133. package/dist/esm/libs/parse-html.js +1 -32
  134. package/dist/esm/libs/shopify-cdn-with-google-fonts.js +1 -1843
  135. package/dist/esm/pages/404.js +1 -41
  136. package/dist/esm/pages/500.js +1 -72
  137. package/dist/esm/pages/CollectionGlobalProvider.js +1 -55
  138. package/dist/esm/pages/builder.js +1 -117
  139. package/dist/esm/pages/collection-detail.js +1 -60
  140. package/dist/esm/pages/preview.js +1 -24
  141. package/dist/esm/pages/product-detail.js +1 -65
  142. package/dist/esm/pages/static-v2.js +3 -140
  143. package/dist/esm/pages/static.js +1 -71
  144. package/dist/esm/store/libs-store.js +1 -12
  145. package/package.json +5 -5
package/dist/cjs/index.js CHANGED
@@ -1,80 +1 @@
1
- 'use strict';
2
-
3
- var getCollectionProps = require('./libs/api/get-collection-props.js');
4
- var getHomePageProps = require('./libs/api/get-home-page-props.js');
5
- var getHomePagePropsV2 = require('./libs/api/get-home-page-props-v2.js');
6
- var getPreviewProps = require('./libs/api/get-preview-props.js');
7
- var getBuilderProps = require('./libs/api/get-builder-props.js');
8
- var getProductProps = require('./libs/api/get-product-props.js');
9
- var getStaticPagePropsV2 = require('./libs/api/get-static-page-props-v2.js');
10
- var getPostPurchasePropsPreview = require('./libs/api/get-post-purchase-props-preview.js');
11
- var getStaticPagePropsPreview = require('./libs/api/get-static-page-props-preview.js');
12
- var fetcher = require('./libs/fetcher.js');
13
- var getLayout = require('./libs/get-layout.js');
14
- var genCss = require('./libs/helpers/gen-css.js');
15
- var useTrackingView = require('./libs/hooks/use-tracking-view.js');
16
- var usePagePreview = require('./libs/hooks/usePagePreview.js');
17
- var userAgent = require('./libs/helpers/user-agent.js');
18
- var normalize = require('./libs/helpers/normalize.js');
19
- var getFallback = require('./libs/helpers/get-fallback.js');
20
- var common = require('./libs/helpers/common.js');
21
- var getStaticPaths = require('./libs/getStaticPaths.js');
22
- var genFonts = require('./libs/helpers/gen-fonts.js');
23
- var googleFonts = require('./libs/google-fonts.js');
24
- var getStorefrontApi = require('./libs/get-storefront-api.js');
25
- var ErrorBoundary = require('./components/ErrorBoundary.js');
26
- var ErrorFallback = require('./components/ErrorFallback.js');
27
- var _404 = require('./pages/404.js');
28
- var _500 = require('./pages/500.js');
29
- var GoogleAnalytic = require('./components/GoogleAnalytic.js');
30
- var FacebookPixel = require('./components/FacebookPixel.js');
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
-
39
-
40
-
41
- exports.getCollectionProps = getCollectionProps.getCollectionProps;
42
- exports.getHomePageProps = getHomePageProps.getHomePageProps;
43
- exports.getHomePagePropsV2 = getHomePagePropsV2.getHomePagePropsV2;
44
- exports.getPreviewProps = getPreviewProps.getPreviewProps;
45
- exports.getBuilderProps = getBuilderProps.getBuilderProps;
46
- exports.getProductProps = getProductProps.getProductProps;
47
- exports.getStaticPagePropsV2 = getStaticPagePropsV2.getStaticPagePropsV2;
48
- exports.getPostPurchasePropsPreview = getPostPurchasePropsPreview.getPostPurchasePropsPreview;
49
- exports.getStaticPagePropsPreview = getStaticPagePropsPreview.getStaticPagePropsPreview;
50
- exports.createAppAPIFetcher = fetcher.createAppAPIFetcher;
51
- exports.createFetcher = fetcher.createFetcher;
52
- exports.createShopifyFetcher = fetcher.createShopifyFetcher;
53
- exports.getLayout = getLayout.getLayout;
54
- exports.genCSS = genCss.genCSS;
55
- exports.useTrackingView = useTrackingView.useTrackingView;
56
- exports.usePagePreview = usePagePreview.usePagePreview;
57
- exports.isBot = userAgent.isBot;
58
- exports.normalizePageSectionResponseV2 = normalize.normalizePageSectionResponseV2;
59
- exports.parseBuilderTemplateV2 = normalize.parseBuilderTemplateV2;
60
- exports.getFallbackV2 = getFallback.getFallbackV2;
61
- exports.retryWithDelay = common.retryWithDelay;
62
- exports.getStaticPaths = getStaticPaths.getStaticPaths;
63
- exports.getFontFromGroupSetting = genFonts.getFontFromGroupSetting;
64
- exports.getFontsFromDataBuilder = genFonts.getFontsFromDataBuilder;
65
- exports.getFontFromGlobalStyle = googleFonts.getFontFromGlobalStyle;
66
- exports.getFonts = googleFonts.getFonts;
67
- exports.getStorefrontApi = getStorefrontApi.getStorefrontApi;
68
- exports.ErrorBoundary = ErrorBoundary.ErrorBoundary;
69
- exports.ErrorFallback = ErrorFallback.ErrorFallback;
70
- exports.Page404 = _404.Page404;
71
- exports.Page500 = _500.Page500;
72
- exports.GoogleAnalytic = GoogleAnalytic.GoogleAnalytic;
73
- exports.FacebookPixel = FacebookPixel.FacebookPixel;
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;
1
+ "use strict";var getCollectionProps=require("./libs/api/get-collection-props.js"),getHomePageProps=require("./libs/api/get-home-page-props.js"),getHomePagePropsV2=require("./libs/api/get-home-page-props-v2.js"),getPreviewProps=require("./libs/api/get-preview-props.js"),getBuilderProps=require("./libs/api/get-builder-props.js"),getProductProps=require("./libs/api/get-product-props.js"),getStaticPagePropsV2=require("./libs/api/get-static-page-props-v2.js"),getPostPurchasePropsPreview=require("./libs/api/get-post-purchase-props-preview.js"),getStaticPagePropsPreview=require("./libs/api/get-static-page-props-preview.js"),fetcher=require("./libs/fetcher.js"),getLayout=require("./libs/get-layout.js"),genCss=require("./libs/helpers/gen-css.js"),useTrackingView=require("./libs/hooks/use-tracking-view.js"),usePagePreview=require("./libs/hooks/usePagePreview.js"),userAgent=require("./libs/helpers/user-agent.js"),normalize=require("./libs/helpers/normalize.js"),getFallback=require("./libs/helpers/get-fallback.js"),common=require("./libs/helpers/common.js"),getStaticPaths=require("./libs/getStaticPaths.js"),genFonts=require("./libs/helpers/gen-fonts.js"),googleFonts=require("./libs/google-fonts.js"),getStorefrontApi=require("./libs/get-storefront-api.js"),ErrorBoundary=require("./components/ErrorBoundary.js"),ErrorFallback=require("./components/ErrorFallback.js"),_404=require("./pages/404.js"),_500=require("./pages/500.js"),GoogleAnalytic=require("./components/GoogleAnalytic.js"),FacebookPixel=require("./components/FacebookPixel.js"),TikTokPixel=require("./components/TikTokPixel.js"),collectionDetail=require("./pages/collection-detail.js"),preview=require("./pages/preview.js"),productDetail=require("./pages/product-detail.js"),_static=require("./pages/static.js"),builder=require("./pages/builder.js"),staticV2=require("./pages/static-v2.js");exports.getCollectionProps=getCollectionProps.getCollectionProps,exports.getHomePageProps=getHomePageProps.getHomePageProps,exports.getHomePagePropsV2=getHomePagePropsV2.getHomePagePropsV2,exports.getPreviewProps=getPreviewProps.getPreviewProps,exports.getBuilderProps=getBuilderProps.getBuilderProps,exports.getProductProps=getProductProps.getProductProps,exports.getStaticPagePropsV2=getStaticPagePropsV2.getStaticPagePropsV2,exports.getPostPurchasePropsPreview=getPostPurchasePropsPreview.getPostPurchasePropsPreview,exports.getStaticPagePropsPreview=getStaticPagePropsPreview.getStaticPagePropsPreview,exports.createAppAPIFetcher=fetcher.createAppAPIFetcher,exports.createFetcher=fetcher.createFetcher,exports.createShopifyFetcher=fetcher.createShopifyFetcher,exports.getLayout=getLayout.getLayout,exports.genCSS=genCss.genCSS,exports.useTrackingView=useTrackingView.useTrackingView,exports.usePagePreview=usePagePreview.usePagePreview,exports.isBot=userAgent.isBot,exports.normalizePageSectionResponseV2=normalize.normalizePageSectionResponseV2,exports.parseBuilderTemplateV2=normalize.parseBuilderTemplateV2,exports.getFallbackV2=getFallback.getFallbackV2,exports.retryWithDelay=common.retryWithDelay,exports.getStaticPaths=getStaticPaths.getStaticPaths,exports.getFontFromGroupSetting=genFonts.getFontFromGroupSetting,exports.getFontsFromDataBuilder=genFonts.getFontsFromDataBuilder,exports.getFontFromGlobalStyle=googleFonts.getFontFromGlobalStyle,exports.getFonts=googleFonts.getFonts,exports.getStorefrontApi=getStorefrontApi.getStorefrontApi,exports.ErrorBoundary=ErrorBoundary.ErrorBoundary,exports.ErrorFallback=ErrorFallback.ErrorFallback,exports.Page404=_404.Page404,exports.Page500=_500.Page500,exports.GoogleAnalytic=GoogleAnalytic.GoogleAnalytic,exports.FacebookPixel=FacebookPixel.FacebookPixel,exports.TikTokPixel=TikTokPixel.TikTokPixel,exports.CollectionDetailPage=collectionDetail.default,exports.PreviewPage=preview.PreviewPage,exports.ProductDetailPage=productDetail.default,exports.StaticPage=_static.default,exports.BuilderPage=builder.BuilderPage,exports.StaticPageV2=staticV2.StaticPageV2;
@@ -1,31 +1,2 @@
1
1
  'use client';
2
- 'use strict';
3
-
4
- Object.defineProperty(exports, '__esModule', { value: true });
5
-
6
- var jsxRuntime = require('react/jsx-runtime');
7
- var core = require('@gem-sdk/core');
8
- var parseHtml = require('../libs/parse-html.js');
9
-
10
- const MainLayout = ({ children, ...props })=>{
11
- const mobileOnly = core.useShopStore((s)=>s.mobileOnly);
12
- return /*#__PURE__*/ jsxRuntime.jsxs(jsxRuntime.Fragment, {
13
- children: [
14
- parseHtml.parseHtml('custom-code-body', props?.customCodeBody),
15
- /*#__PURE__*/ jsxRuntime.jsx("div", {
16
- className: core.cls({
17
- 'gp-max-w-mobile gp-mx-auto gp-w-full': mobileOnly
18
- }),
19
- children: children
20
- }),
21
- /*#__PURE__*/ jsxRuntime.jsx(core.AddOn, {
22
- name: "cookie-bar"
23
- }),
24
- /*#__PURE__*/ jsxRuntime.jsx(core.AddOn, {
25
- name: "cart-drawer"
26
- })
27
- ]
28
- });
29
- };
30
-
31
- exports.default = MainLayout;
2
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),core=require("@gem-sdk/core"),parseHtml=require("../libs/parse-html.js");const MainLayout=({children:e,...r})=>{let s=core.useShopStore(e=>e.mobileOnly);return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[parseHtml.parseHtml("custom-code-body",r?.customCodeBody),jsxRuntime.jsx("div",{className:core.cls({"gp-max-w-mobile gp-mx-auto gp-w-full":s}),children:e}),jsxRuntime.jsx(core.AddOn,{name:"cookie-bar"}),jsxRuntime.jsx(core.AddOn,{name:"cart-drawer"})]})};exports.default=MainLayout;
@@ -1,46 +1 @@
1
- 'use strict';
2
-
3
- var core = require('@gem-sdk/core');
4
- var adapterShopify = require('@gem-sdk/adapter-shopify');
5
- var parseJson = require('../helpers/parse-json.js');
6
-
7
- const getBuilderProps = async (fetcher, shopifyFetcher)=>{
8
- const [storeProperty, shopifyMeta, shopifyInfo] = await Promise.allSettled([
9
- fetcher([
10
- core.StorePropertyDocument
11
- ]),
12
- shopifyFetcher([
13
- adapterShopify.ShopMetaDocument
14
- ]),
15
- fetcher([
16
- core.ShopShopifyDocument
17
- ])
18
- ]);
19
- const shopMeta = shopifyMeta.status === 'fulfilled' ? shopifyMeta.value : undefined;
20
- const shopData = storeProperty.status === 'fulfilled' ? storeProperty.value : undefined;
21
- const shopInfo = shopifyInfo.status === 'fulfilled' ? shopifyInfo.value : undefined;
22
- const seo = shopMeta ? {
23
- titleTemplate: `%s | ${shopMeta.shop.name}`,
24
- defaultTitle: shopMeta?.shop.name,
25
- title: 'Preview',
26
- description: shopMeta?.shop.description
27
- } : {};
28
- const languageIsoCode = shopMeta?.localization.language.isoCode ?? null;
29
- const countryIsoCode = shopMeta?.localization.country.isoCode ?? null;
30
- const locale = !languageIsoCode || !countryIsoCode ? null : `${languageIsoCode}-${countryIsoCode}`;
31
- return parseJson.serializableJson({
32
- moneyFormat: shopMeta?.shop.moneyFormat ?? null,
33
- currency: shopMeta?.localization.country.currency.isoCode ?? null,
34
- languageIsoCode,
35
- countryIsoCode,
36
- locale,
37
- swatches: parseJson.parseJson(shopData?.storeProperty?.swatchesConfig),
38
- swr: {
39
- revalidateOnMount: true
40
- },
41
- seo,
42
- timezone: shopInfo?.shopShopify?.timezone
43
- });
44
- };
45
-
46
- exports.getBuilderProps = getBuilderProps;
1
+ "use strict";var core=require("@gem-sdk/core"),adapterShopify=require("@gem-sdk/adapter-shopify"),parseJson=require("../helpers/parse-json.js");const getBuilderProps=async(e,o)=>{let[r,t,s]=await Promise.allSettled([e([core.StorePropertyDocument]),o([adapterShopify.ShopMetaDocument]),e([core.ShopShopifyDocument])]),l="fulfilled"===t.status?t.value:void 0,a="fulfilled"===r.status?r.value:void 0,i="fulfilled"===s.status?s.value:void 0,n=l?{titleTemplate:`%s | ${l.shop.name}`,defaultTitle:l?.shop.name,title:"Preview",description:l?.shop.description}:{},u=l?.localization.language.isoCode??null,p=l?.localization.country.isoCode??null,c=u&&p?`${u}-${p}`:null;return parseJson.serializableJson({moneyFormat:l?.shop.moneyFormat??null,currency:l?.localization.country.currency.isoCode??null,languageIsoCode:u,countryIsoCode:p,locale:c,swatches:parseJson.parseJson(a?.storeProperty?.swatchesConfig),swr:{revalidateOnMount:!0},seo:n,timezone:i?.shopShopify?.timezone})};exports.getBuilderProps=getBuilderProps;
@@ -1,68 +1 @@
1
- 'use strict';
2
-
3
- var core = require('@gem-sdk/core');
4
- var genCss = require('../helpers/gen-css.js');
5
- var normalize = require('../helpers/normalize.js');
6
- var parseJson = require('../helpers/parse-json.js');
7
-
8
- const getCollectionProps = (fetcher)=>async (handle)=>{
9
- const pageType = 'COLLECTION';
10
- const variables = {
11
- slug: handle,
12
- slugType: pageType
13
- };
14
- const [collectionData, theme] = await Promise.all([
15
- fetcher([
16
- core.CollectionDocument,
17
- {
18
- handle
19
- }
20
- ]),
21
- fetcher([
22
- core.PublishedThemePagesDocument,
23
- variables
24
- ])
25
- ]);
26
- const dataBuilder = theme.publishedThemePages?.[0];
27
- const collectionTemplate = normalize.parseBuilderTemplate(dataBuilder);
28
- if (!collectionData || !collectionData?.collection || !dataBuilder) {
29
- throw new Error('Collection not found');
30
- }
31
- const { collection } = collectionData;
32
- const queries = core.prefetchQueries(collectionTemplate);
33
- const datas = await Promise.allSettled(queries.map(({ query, variables, func })=>{
34
- if (func) {
35
- return func(fetcher, variables);
36
- }
37
- if (query) return fetcher([
38
- query,
39
- variables
40
- ]);
41
- return {};
42
- }));
43
- const fallback = queries.reduce((acc, { key }, index)=>{
44
- const res = datas[index];
45
- if (res?.status === 'fulfilled') {
46
- return {
47
- ...acc,
48
- [key]: res.value
49
- };
50
- }
51
- return acc;
52
- }, {});
53
- return parseJson.serializableJson({
54
- builderData: collectionTemplate,
55
- collection,
56
- pageType,
57
- themeStyle: genCss.genCSS(dataBuilder.pageStyle?.data),
58
- swr: {
59
- fallback
60
- },
61
- seo: {
62
- title: collection.title,
63
- description: collection.description
64
- }
65
- });
66
- };
67
-
68
- exports.getCollectionProps = getCollectionProps;
1
+ "use strict";var core=require("@gem-sdk/core"),genCss=require("../helpers/gen-css.js"),normalize=require("../helpers/normalize.js"),parseJson=require("../helpers/parse-json.js");const getCollectionProps=e=>async r=>{let s="COLLECTION",l={slug:r,slugType:s},[t,o]=await Promise.all([e([core.CollectionDocument,{handle:r}]),e([core.PublishedThemePagesDocument,l])]),i=o.publishedThemePages?.[0],a=normalize.parseBuilderTemplate(i);if(!t||!t?.collection||!i)throw Error("Collection not found");let{collection:n}=t,c=core.prefetchQueries(a),u=await Promise.allSettled(c.map(({query:r,variables:s,func:l})=>l?l(e,s):r?e([r,s]):{})),p=c.reduce((e,{key:r},s)=>{let l=u[s];return l?.status==="fulfilled"?{...e,[r]:l.value}:e},{});return parseJson.serializableJson({builderData:a,collection:n,pageType:s,themeStyle:genCss.genCSS(i.pageStyle?.data),swr:{fallback:p},seo:{title:n.title,description:n.description}})};exports.getCollectionProps=getCollectionProps;
@@ -1,157 +1 @@
1
- 'use strict';
2
-
3
- var core = require('@gem-sdk/core');
4
- var adapterShopify = require('@gem-sdk/adapter-shopify');
5
- var googleFonts = require('../google-fonts.js');
6
- var genCss = require('../helpers/gen-css.js');
7
- var generateManifres = require('../helpers/generate-manifres.js');
8
- var getFallback = require('../helpers/get-fallback.js');
9
- var normalize = require('../helpers/normalize.js');
10
- var parseJson = require('../helpers/parse-json.js');
11
- var nextjs = require('@sentry/nextjs');
12
- var index = require('../../constants/index.js');
13
- var getMetafield = require('../helpers/get-metafield.js');
14
-
15
- const getHomePagePropsV2 = (fetcher, shopifyFetcher)=>async ()=>{
16
- try {
17
- const variables = {
18
- slugType: 'STATIC'
19
- };
20
- const [theme, storeProperty, shopifyMeta, publishedShopMetas] = await Promise.allSettled([
21
- fetcher([
22
- core.PublishedThemePagesDocument,
23
- variables
24
- ]),
25
- fetcher([
26
- core.StorePropertyDocument
27
- ]),
28
- shopifyFetcher([
29
- adapterShopify.ShopMetaDocument
30
- ]),
31
- fetcher([
32
- core.PublishedShopMetasDocument,
33
- {
34
- keys: [
35
- index.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION,
36
- index.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL
37
- ]
38
- }
39
- ])
40
- ]);
41
- if (theme.status === 'rejected') {
42
- throw new Error(theme.reason?.[0]);
43
- }
44
- const publishedShopMetaValue = publishedShopMetas.status === 'fulfilled' ? publishedShopMetas.value : undefined;
45
- const dataBuilder = theme.value?.publishedThemePages?.[0];
46
- if (!dataBuilder) {
47
- throw new Error(`No data builder found for Home page`);
48
- }
49
- const homeTemplate = normalize.parseBuilderTemplateV2(dataBuilder);
50
- const [elementFontStyle, fontStyle, fallback] = await Promise.all([
51
- googleFonts.getFontStyleFromPageTemplate(homeTemplate),
52
- googleFonts.getFontFromGlobalStyle(dataBuilder?.pageStyle?.data),
53
- getFallback.getFallbackV2(fetcher, homeTemplate)
54
- ]);
55
- const mobileOnly = dataBuilder.isMobile ?? false;
56
- const description = getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION, dataBuilder?.metafields) || publishedShopMetaValue?.publishedShopMetas?.find((item)=>item?.key === index.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION)?.value;
57
- const thumbnail = parseJson.parseJson(getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL, dataBuilder?.metafields) || publishedShopMetaValue?.publishedShopMetas?.find((item)=>item?.key === index.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL)?.value);
58
- const shopMeta = shopifyMeta.status === 'fulfilled' ? shopifyMeta.value : undefined;
59
- const shopData = storeProperty.status === 'fulfilled' ? storeProperty.value : undefined;
60
- const favicon = shopData?.storeProperty?.favicon ?? '/favicon/favicon-32x32.png';
61
- const seo = {
62
- defaultTitle: shopMeta?.shop.name,
63
- title: dataBuilder?.name ?? 'Home',
64
- description: description ?? shopMeta?.shop.description,
65
- openGraph: {
66
- site_name: shopMeta?.shop.name,
67
- locale: shopMeta?.localization.country.isoCode,
68
- title: dataBuilder?.name ?? shopMeta?.shop.name,
69
- description: description ?? shopMeta?.shop.description,
70
- images: thumbnail ? [
71
- thumbnail
72
- ] : []
73
- },
74
- additionalMetaTags: [
75
- {
76
- name: 'theme-color',
77
- content: '#000000'
78
- }
79
- ],
80
- canonical: `https://${shopData?.storeProperty?.primaryDomain}/`,
81
- additionalLinkTags: [
82
- {
83
- rel: 'icon',
84
- sizes: '32x32',
85
- href: `${favicon}-/crop/1:1/center/-/smart_resize/32x32/`
86
- },
87
- {
88
- rel: 'icon',
89
- sizes: '16x16',
90
- href: `${favicon}-/crop/1:1/center/-/smart_resize/16x16/`
91
- },
92
- {
93
- rel: 'apple-touch-icon',
94
- sizes: '180x180',
95
- href: `${favicon}-/crop/1:1/center/-/smart_resize/180x180/`
96
- },
97
- {
98
- rel: 'manifest',
99
- href: generateManifres.generateManifest({
100
- theme_color: '#000000',
101
- background_color: '#ffffff',
102
- display: 'standalone',
103
- scope: '/',
104
- start_url: '/',
105
- name: shopMeta?.shop.name,
106
- short_name: shopMeta?.shop.name,
107
- description: shopMeta?.shop.description,
108
- icons: [
109
- {
110
- src: `${favicon}-/crop/1:1/center/-/smart_resize/192x192/`,
111
- sizes: '192x192',
112
- type: 'image/png',
113
- purpose: 'any maskable'
114
- },
115
- {
116
- src: `${favicon}-/crop/1:1/center/-/smart_resize/512x512/`,
117
- sizes: '512x512',
118
- type: 'image/png'
119
- }
120
- ]
121
- })
122
- }
123
- ]
124
- };
125
- const languageIsoCode = shopMeta?.localization.language.isoCode ?? null;
126
- const countryIsoCode = shopMeta?.localization.country.isoCode ?? null;
127
- const locale = !languageIsoCode || !countryIsoCode ? null : `${languageIsoCode}-${countryIsoCode}`;
128
- return parseJson.serializableJson({
129
- themeStyle: genCss.genCSS(dataBuilder?.pageStyle?.data, mobileOnly),
130
- fontStyle,
131
- elementFontStyle,
132
- builderData: homeTemplate,
133
- swr: {
134
- fallback
135
- },
136
- moneyFormat: shopMeta?.shop.moneyFormat ?? null,
137
- currency: shopMeta?.localization.country.currency.isoCode ?? null,
138
- languageIsoCode,
139
- countryIsoCode,
140
- locale,
141
- swatches: parseJson.parseJson(shopData?.storeProperty?.swatchesConfig),
142
- seo,
143
- mobileOnly,
144
- gaTrackingId: getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.ANALYTICS_GA_TRACKING_ID, dataBuilder?.metafields) ?? null,
145
- facebookPixelId: getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.ANALYTICS_FB_PIXEL_ID, dataBuilder?.metafields) ?? null,
146
- tiktokPixelId: getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.ANALYTICS_TIKTOK_PIXEL_ID, dataBuilder?.metafields) ?? null,
147
- customCodeHeader: getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.CUSTOM_CODE_HEADER, dataBuilder?.metafields) ?? null,
148
- customCodeBody: getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.CUSTOM_CODE_BODY, dataBuilder?.metafields) ?? null,
149
- pageHandle: dataBuilder.handle ?? null
150
- });
151
- } catch (err) {
152
- nextjs.captureException(err);
153
- throw err;
154
- }
155
- };
156
-
157
- exports.getHomePagePropsV2 = getHomePagePropsV2;
1
+ "use strict";var core=require("@gem-sdk/core"),adapterShopify=require("@gem-sdk/adapter-shopify"),googleFonts=require("../google-fonts.js"),genCss=require("../helpers/gen-css.js"),generateManifres=require("../helpers/generate-manifres.js"),getFallback=require("../helpers/get-fallback.js"),normalize=require("../helpers/normalize.js"),parseJson=require("../helpers/parse-json.js"),nextjs=require("@sentry/nextjs"),index=require("../../constants/index.js"),getMetafield=require("../helpers/get-metafield.js");const getHomePagePropsV2=(e,a)=>async()=>{try{let t={slugType:"STATIC"},[s,i,l,o]=await Promise.allSettled([e([core.PublishedThemePagesDocument,t]),e([core.StorePropertyDocument]),a([adapterShopify.ShopMetaDocument]),e([core.PublishedShopMetasDocument,{keys:[index.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION,index.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL]}])]);if("rejected"===s.status)throw Error(s.reason?.[0]);let r="fulfilled"===o.status?o.value:void 0,n=s.value?.publishedThemePages?.[0];if(!n)throw Error("No data builder found for Home page");let d=normalize.parseBuilderTemplateV2(n),[g,h,u]=await Promise.all([googleFonts.getFontStyleFromPageTemplate(d),googleFonts.getFontFromGlobalStyle(n?.pageStyle?.data),getFallback.getFallbackV2(e,d)]),m=n.isMobile??!1,p=getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION,n?.metafields)||r?.publishedShopMetas?.find(e=>e?.key===index.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION)?.value,c=parseJson.parseJson(getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL,n?.metafields)||r?.publishedShopMetas?.find(e=>e?.key===index.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL)?.value),f="fulfilled"===l.status?l.value:void 0,P="fulfilled"===i.status?i.value:void 0,T=P?.storeProperty?.favicon??"/favicon/favicon-32x32.png",y={defaultTitle:f?.shop.name,title:n?.name??"Home",description:p??f?.shop.description,openGraph:{site_name:f?.shop.name,locale:f?.localization.country.isoCode,title:n?.name??f?.shop.name,description:p??f?.shop.description,images:c?[c]:[]},additionalMetaTags:[{name:"theme-color",content:"#000000"}],canonical:`https://${P?.storeProperty?.primaryDomain}/`,additionalLinkTags:[{rel:"icon",sizes:"32x32",href:`${T}-/crop/1:1/center/-/smart_resize/32x32/`},{rel:"icon",sizes:"16x16",href:`${T}-/crop/1:1/center/-/smart_resize/16x16/`},{rel:"apple-touch-icon",sizes:"180x180",href:`${T}-/crop/1:1/center/-/smart_resize/180x180/`},{rel:"manifest",href:generateManifres.generateManifest({theme_color:"#000000",background_color:"#ffffff",display:"standalone",scope:"/",start_url:"/",name:f?.shop.name,short_name:f?.shop.name,description:f?.shop.description,icons:[{src:`${T}-/crop/1:1/center/-/smart_resize/192x192/`,sizes:"192x192",type:"image/png",purpose:"any maskable"},{src:`${T}-/crop/1:1/center/-/smart_resize/512x512/`,sizes:"512x512",type:"image/png"}]})}]},M=f?.localization.language.isoCode??null,b=f?.localization.country.isoCode??null,_=M&&b?`${M}-${b}`:null;return parseJson.serializableJson({themeStyle:genCss.genCSS(n?.pageStyle?.data,m),fontStyle:h,elementFontStyle:g,builderData:d,swr:{fallback:u},moneyFormat:f?.shop.moneyFormat??null,currency:f?.localization.country.currency.isoCode??null,languageIsoCode:M,countryIsoCode:b,locale:_,swatches:parseJson.parseJson(P?.storeProperty?.swatchesConfig),seo:y,mobileOnly:m,gaTrackingId:getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.ANALYTICS_GA_TRACKING_ID,n?.metafields)??null,facebookPixelId:getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.ANALYTICS_FB_PIXEL_ID,n?.metafields)??null,tiktokPixelId:getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.ANALYTICS_TIKTOK_PIXEL_ID,n?.metafields)??null,customCodeHeader:getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.CUSTOM_CODE_HEADER,n?.metafields)??null,customCodeBody:getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.CUSTOM_CODE_BODY,n?.metafields)??null,pageHandle:n.handle??null})}catch(e){throw nextjs.captureException(e),e}};exports.getHomePagePropsV2=getHomePagePropsV2;
@@ -1,163 +1 @@
1
- 'use strict';
2
-
3
- var core = require('@gem-sdk/core');
4
- var adapterShopify = require('@gem-sdk/adapter-shopify');
5
- var googleFonts = require('../google-fonts.js');
6
- var genCss = require('../helpers/gen-css.js');
7
- var generateManifres = require('../helpers/generate-manifres.js');
8
- var normalize = require('../helpers/normalize.js');
9
- var parseJson = require('../helpers/parse-json.js');
10
- var index = require('../../constants/index.js');
11
- var getMetafield = require('../helpers/get-metafield.js');
12
-
13
- const getHomePageProps = (fetcher, shopifyFetcher)=>async ()=>{
14
- const pageType = 'STATIC';
15
- const variables = {
16
- slugType: pageType
17
- };
18
- // const theme = await fetcher<PublishedThemePagesQueryResponse, PublishedThemePagesQueryVariables>([
19
- // PublishedThemePagesDocument,
20
- // variables,
21
- // ]);
22
- const [theme, storeProperty, shopifyMeta, publishedShopMetas] = await Promise.allSettled([
23
- fetcher([
24
- core.PublishedThemePagesDocument,
25
- variables
26
- ]),
27
- fetcher([
28
- core.StorePropertyDocument
29
- ]),
30
- shopifyFetcher([
31
- adapterShopify.ShopMetaDocument
32
- ]),
33
- fetcher([
34
- core.PublishedShopMetasDocument,
35
- {
36
- keys: [
37
- index.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION,
38
- index.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL
39
- ]
40
- }
41
- ])
42
- ]);
43
- if (theme.status === 'rejected') {
44
- return {
45
- pageType
46
- };
47
- }
48
- const publishedShopMetaValue = publishedShopMetas.status === 'fulfilled' ? publishedShopMetas.value : undefined;
49
- const dataBuilder = theme.value.publishedThemePages?.[0];
50
- const homeTemplate = normalize.parseBuilderTemplate(dataBuilder);
51
- const fontStyle = await googleFonts.getFontFromGlobalStyle(dataBuilder?.pageStyle?.data);
52
- const queries = core.prefetchQueries(homeTemplate);
53
- const datas = await Promise.allSettled(queries.map(({ query, variables, func })=>{
54
- if (func) {
55
- return func(fetcher, variables);
56
- }
57
- if (query) return fetcher([
58
- query,
59
- variables
60
- ]);
61
- return {};
62
- }));
63
- const fallback = queries.reduce((acc, { key }, index)=>{
64
- const res = datas[index];
65
- if (res?.status === 'fulfilled') {
66
- return {
67
- ...acc,
68
- [key]: res.value
69
- };
70
- }
71
- return acc;
72
- }, {});
73
- const description = getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION, dataBuilder?.metafields) || publishedShopMetaValue?.publishedShopMetas?.find((item)=>item?.key === index.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION)?.value;
74
- const thumbnail = parseJson.parseJson(getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL, dataBuilder?.metafields) || publishedShopMetaValue?.publishedShopMetas?.find((item)=>item?.key === index.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL)?.value);
75
- const shopMeta = shopifyMeta.status === 'fulfilled' ? shopifyMeta.value : undefined;
76
- const shopData = storeProperty.status === 'fulfilled' ? storeProperty.value : undefined;
77
- const favicon = shopData?.storeProperty?.favicon ?? '/favicon/favicon-32x32.png';
78
- const seo = {
79
- defaultTitle: shopMeta?.shop.name,
80
- title: dataBuilder?.name ?? 'Home',
81
- description: description ?? shopMeta?.shop.description,
82
- openGraph: {
83
- site_name: shopMeta?.shop.name,
84
- locale: shopMeta?.localization.country.isoCode,
85
- title: dataBuilder?.name ?? shopMeta?.shop.name,
86
- description: description ?? shopMeta?.shop.description,
87
- images: thumbnail ? [
88
- thumbnail
89
- ] : []
90
- },
91
- additionalMetaTags: [
92
- {
93
- name: 'theme-color',
94
- content: '#000000'
95
- }
96
- ],
97
- canonical: '/',
98
- additionalLinkTags: [
99
- {
100
- rel: 'icon',
101
- sizes: '32x32',
102
- href: `${favicon}-/crop/1:1/center/-/smart_resize/32x32/`
103
- },
104
- {
105
- rel: 'icon',
106
- sizes: '16x16',
107
- href: `${favicon}-/crop/1:1/center/-/smart_resize/16x16/`
108
- },
109
- {
110
- rel: 'apple-touch-icon',
111
- sizes: '180x180',
112
- href: `${favicon}-/crop/1:1/center/-/smart_resize/180x180/`
113
- },
114
- {
115
- rel: 'manifest',
116
- href: generateManifres.generateManifest({
117
- theme_color: '#000000',
118
- background_color: '#ffffff',
119
- display: 'standalone',
120
- scope: '/',
121
- start_url: '/',
122
- name: shopMeta?.shop.name,
123
- short_name: shopMeta?.shop.name,
124
- description: shopMeta?.shop.description,
125
- icons: [
126
- {
127
- src: `${favicon}-/crop/1:1/center/-/smart_resize/192x192/`,
128
- sizes: '192x192',
129
- type: 'image/png',
130
- purpose: 'any maskable'
131
- },
132
- {
133
- src: `${favicon}-/crop/1:1/center/-/smart_resize/512x512/`,
134
- sizes: '512x512',
135
- type: 'image/png'
136
- }
137
- ]
138
- })
139
- }
140
- ]
141
- };
142
- const languageIsoCode = shopMeta?.localization.language.isoCode ?? null;
143
- const countryIsoCode = shopMeta?.localization.country.isoCode ?? null;
144
- const locale = !languageIsoCode || !countryIsoCode ? null : `${languageIsoCode}-${countryIsoCode}`;
145
- return parseJson.serializableJson({
146
- themeStyle: genCss.genCSS(dataBuilder?.pageStyle?.data),
147
- fontStyle,
148
- builderData: homeTemplate,
149
- pageType,
150
- swr: {
151
- fallback
152
- },
153
- moneyFormat: shopMeta?.shop.moneyFormat ?? null,
154
- currency: shopMeta?.localization.country.currency.isoCode ?? null,
155
- locale,
156
- languageIsoCode,
157
- countryIsoCode,
158
- swatches: parseJson.parseJson(shopData?.storeProperty?.swatchesConfig),
159
- seo
160
- });
161
- };
162
-
163
- exports.getHomePageProps = getHomePageProps;
1
+ "use strict";var core=require("@gem-sdk/core"),adapterShopify=require("@gem-sdk/adapter-shopify"),googleFonts=require("../google-fonts.js"),genCss=require("../helpers/gen-css.js"),generateManifres=require("../helpers/generate-manifres.js"),normalize=require("../helpers/normalize.js"),parseJson=require("../helpers/parse-json.js"),index=require("../../constants/index.js"),getMetafield=require("../helpers/get-metafield.js");const getHomePageProps=(e,s)=>async()=>{let a="STATIC",t={slugType:a},[r,i,o,l]=await Promise.allSettled([e([core.PublishedThemePagesDocument,t]),e([core.StorePropertyDocument]),s([adapterShopify.ShopMetaDocument]),e([core.PublishedShopMetasDocument,{keys:[index.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION,index.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL]}])]);if("rejected"===r.status)return{pageType:a};let n="fulfilled"===l.status?l.value:void 0,d=r.value.publishedThemePages?.[0],p=normalize.parseBuilderTemplate(d),u=await googleFonts.getFontFromGlobalStyle(d?.pageStyle?.data),c=core.prefetchQueries(p),m=await Promise.allSettled(c.map(({query:s,variables:a,func:t})=>t?t(e,a):s?e([s,a]):{})),h=c.reduce((e,{key:s},a)=>{let t=m[a];return t?.status==="fulfilled"?{...e,[s]:t.value}:e},{}),g=getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION,d?.metafields)||n?.publishedShopMetas?.find(e=>e?.key===index.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION)?.value,f=parseJson.parseJson(getMetafield.getPublishedThemePageMetafieldByKey(index.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL,d?.metafields)||n?.publishedShopMetas?.find(e=>e?.key===index.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL)?.value),P="fulfilled"===o.status?o.value:void 0,y="fulfilled"===i.status?i.value:void 0,T=y?.storeProperty?.favicon??"/favicon/favicon-32x32.png",M={defaultTitle:P?.shop.name,title:d?.name??"Home",description:g??P?.shop.description,openGraph:{site_name:P?.shop.name,locale:P?.localization.country.isoCode,title:d?.name??P?.shop.name,description:g??P?.shop.description,images:f?[f]:[]},additionalMetaTags:[{name:"theme-color",content:"#000000"}],canonical:"/",additionalLinkTags:[{rel:"icon",sizes:"32x32",href:`${T}-/crop/1:1/center/-/smart_resize/32x32/`},{rel:"icon",sizes:"16x16",href:`${T}-/crop/1:1/center/-/smart_resize/16x16/`},{rel:"apple-touch-icon",sizes:"180x180",href:`${T}-/crop/1:1/center/-/smart_resize/180x180/`},{rel:"manifest",href:generateManifres.generateManifest({theme_color:"#000000",background_color:"#ffffff",display:"standalone",scope:"/",start_url:"/",name:P?.shop.name,short_name:P?.shop.name,description:P?.shop.description,icons:[{src:`${T}-/crop/1:1/center/-/smart_resize/192x192/`,sizes:"192x192",type:"image/png",purpose:"any maskable"},{src:`${T}-/crop/1:1/center/-/smart_resize/512x512/`,sizes:"512x512",type:"image/png"}]})}]},_=P?.localization.language.isoCode??null,x=P?.localization.country.isoCode??null,S=_&&x?`${_}-${x}`:null;return parseJson.serializableJson({themeStyle:genCss.genCSS(d?.pageStyle?.data),fontStyle:u,builderData:p,pageType:a,swr:{fallback:h},moneyFormat:P?.shop.moneyFormat??null,currency:P?.localization.country.currency.isoCode??null,locale:S,languageIsoCode:_,countryIsoCode:x,swatches:parseJson.parseJson(y?.storeProperty?.swatchesConfig),seo:M})};exports.getHomePageProps=getHomePageProps;