@gem-sdk/pages 3.0.0-pre-production.0 → 3.0.0

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 (150) hide show
  1. package/dist/cjs/components/ErrorBoundary.js +2 -40
  2. package/dist/cjs/components/ErrorFallback.js +2 -26
  3. package/dist/cjs/components/FacebookPixel.js +4 -36
  4. package/dist/cjs/components/FooterForPostPurchase.js +2 -34
  5. package/dist/cjs/components/GoogleAnalytic.js +6 -67
  6. package/dist/cjs/components/TikTokPixel.js +4 -19
  7. package/dist/cjs/components/builder/Body.js +2 -36
  8. package/dist/cjs/components/builder/Footer.js +2 -154
  9. package/dist/cjs/components/builder/Header.js +2 -189
  10. package/dist/cjs/components/builder/PopupManager.js +2 -63
  11. package/dist/cjs/components/builder/SwitchView.js +2 -184
  12. package/dist/cjs/components/builder/Toolbar.js +2 -706
  13. package/dist/cjs/components/builder/Toolbox.js +2 -494
  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/image-to-layout/AddSectionImageToLayout.js +2 -150
  26. package/dist/cjs/components/image-to-layout/DropElement.js +2 -190
  27. package/dist/cjs/components/image-to-layout/ImageToLayout.js +2 -41
  28. package/dist/cjs/constants/index.js +1 -0
  29. package/dist/cjs/index.js +1 -82
  30. package/dist/cjs/layouts/main.js +2 -30
  31. package/dist/cjs/libs/api/get-builder-props.js +1 -46
  32. package/dist/cjs/libs/api/get-collection-props.js +1 -68
  33. package/dist/cjs/libs/api/get-home-page-props-v2.js +1 -145
  34. package/dist/cjs/libs/api/get-home-page-props.js +1 -151
  35. package/dist/cjs/libs/api/get-post-purchase-props-preview.js +1 -300
  36. package/dist/cjs/libs/api/get-preview-props.js +1 -18
  37. package/dist/cjs/libs/api/get-product-props.js +1 -73
  38. package/dist/cjs/libs/api/get-static-page-props-preview.js +1 -159
  39. package/dist/cjs/libs/api/get-static-page-props-v2.js +1 -168
  40. package/dist/cjs/libs/api/get-static-page-props.js +1 -148
  41. package/dist/cjs/libs/custom-fonts.js +6 -60
  42. package/dist/cjs/libs/fetcher.js +1 -100
  43. package/dist/cjs/libs/get-layout.js +1 -13
  44. package/dist/cjs/libs/get-storefront-api.js +1 -12
  45. package/dist/cjs/libs/getStaticPaths.js +1 -10
  46. package/dist/cjs/libs/google-fonts.js +1 -118
  47. package/dist/cjs/libs/helpers/check-option-font.js +1 -65
  48. package/dist/cjs/libs/helpers/common.js +1 -27
  49. package/dist/cjs/libs/helpers/extract-operation.js +1 -0
  50. package/dist/cjs/libs/helpers/gen-css.js +1 -135
  51. package/dist/cjs/libs/helpers/gen-fonts.js +1 -90
  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 -0
  55. package/dist/cjs/libs/helpers/normalize.js +1 -103
  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 +2 -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 +2 -43
  64. package/dist/cjs/pages/500.js +2 -74
  65. package/dist/cjs/pages/CollectionGlobalProvider.js +2 -59
  66. package/dist/cjs/pages/builder.js +2 -115
  67. package/dist/cjs/pages/collection-detail.js +2 -64
  68. package/dist/cjs/pages/preview.js +2 -26
  69. package/dist/cjs/pages/product-detail.js +2 -69
  70. package/dist/cjs/pages/static-v2.js +5 -133
  71. package/dist/cjs/pages/static.js +2 -75
  72. package/dist/cjs/store/libs-store.js +1 -14
  73. package/dist/esm/components/ErrorBoundary.js +2 -38
  74. package/dist/esm/components/ErrorFallback.js +2 -24
  75. package/dist/esm/components/FacebookPixel.js +4 -34
  76. package/dist/esm/components/FooterForPostPurchase.js +2 -30
  77. package/dist/esm/components/GoogleAnalytic.js +6 -65
  78. package/dist/esm/components/TikTokPixel.js +4 -17
  79. package/dist/esm/components/builder/Body.js +2 -32
  80. package/dist/esm/components/builder/Footer.js +2 -150
  81. package/dist/esm/components/builder/Header.js +2 -185
  82. package/dist/esm/components/builder/PopupManager.js +2 -59
  83. package/dist/esm/components/builder/SwitchView.js +2 -180
  84. package/dist/esm/components/builder/Toolbar.js +2 -702
  85. package/dist/esm/components/builder/Toolbox.js +2 -490
  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/image-to-layout/AddSectionImageToLayout.js +2 -146
  98. package/dist/esm/components/image-to-layout/DropElement.js +2 -188
  99. package/dist/esm/components/image-to-layout/ImageToLayout.js +2 -37
  100. package/dist/esm/constants/index.js +1 -0
  101. package/dist/esm/index.js +1 -36
  102. package/dist/esm/layouts/main.js +2 -26
  103. package/dist/esm/libs/api/get-builder-props.js +1 -44
  104. package/dist/esm/libs/api/get-collection-props.js +1 -66
  105. package/dist/esm/libs/api/get-home-page-props-v2.js +1 -143
  106. package/dist/esm/libs/api/get-home-page-props.js +1 -149
  107. package/dist/esm/libs/api/get-post-purchase-props-preview.js +1 -292
  108. package/dist/esm/libs/api/get-preview-props.js +1 -16
  109. package/dist/esm/libs/api/get-product-props.js +1 -71
  110. package/dist/esm/libs/api/get-static-page-props-preview.js +1 -157
  111. package/dist/esm/libs/api/get-static-page-props-v2.js +1 -166
  112. package/dist/esm/libs/api/get-static-page-props.js +1 -146
  113. package/dist/esm/libs/custom-fonts.js +6 -55
  114. package/dist/esm/libs/fetcher.js +1 -96
  115. package/dist/esm/libs/get-layout.js +1 -11
  116. package/dist/esm/libs/get-storefront-api.js +1 -10
  117. package/dist/esm/libs/getStaticPaths.js +1 -8
  118. package/dist/esm/libs/google-fonts.js +1 -112
  119. package/dist/esm/libs/helpers/check-option-font.js +1 -63
  120. package/dist/esm/libs/helpers/common.js +1 -24
  121. package/dist/esm/libs/helpers/extract-operation.js +1 -0
  122. package/dist/esm/libs/helpers/gen-css.js +1 -133
  123. package/dist/esm/libs/helpers/gen-fonts.js +1 -87
  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 -0
  127. package/dist/esm/libs/helpers/normalize.js +1 -96
  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 +2 -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 +2 -41
  136. package/dist/esm/pages/500.js +2 -72
  137. package/dist/esm/pages/CollectionGlobalProvider.js +2 -55
  138. package/dist/esm/pages/builder.js +2 -113
  139. package/dist/esm/pages/collection-detail.js +2 -60
  140. package/dist/esm/pages/preview.js +2 -24
  141. package/dist/esm/pages/product-detail.js +2 -65
  142. package/dist/esm/pages/static-v2.js +5 -131
  143. package/dist/esm/pages/static.js +2 -71
  144. package/dist/esm/store/libs-store.js +1 -12
  145. package/dist/types/index.d.ts +61 -63
  146. package/package.json +7 -7
  147. package/dist/cjs/components/builder/InteractionSelectOnPageHeader.js +0 -192
  148. package/dist/cjs/libs/helpers/gen-favicon.js +0 -22
  149. package/dist/esm/components/builder/InteractionSelectOnPageHeader.js +0 -188
  150. package/dist/esm/libs/helpers/gen-favicon.js +0 -20
package/dist/cjs/index.js CHANGED
@@ -1,82 +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 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
- var getStaticPaths = require('./libs/getStaticPaths.js');
28
- var genFonts = require('./libs/helpers/gen-fonts.js');
29
- var googleFonts = require('./libs/google-fonts.js');
30
- var getStorefrontApi = require('./libs/get-storefront-api.js');
31
- var ErrorBoundary = require('./components/ErrorBoundary.js');
32
- var ErrorFallback = require('./components/ErrorFallback.js');
33
- var _404 = require('./pages/404.js');
34
- var _500 = require('./pages/500.js');
35
- var GoogleAnalytic = require('./components/GoogleAnalytic.js');
36
- var FacebookPixel = require('./components/FacebookPixel.js');
37
- var TikTokPixel = require('./components/TikTokPixel.js');
38
- var parseHtml = require('./libs/parse-html.js');
39
-
40
-
41
-
42
- exports.getCollectionProps = getCollectionProps.getCollectionProps;
43
- exports.getHomePageProps = getHomePageProps.getHomePageProps;
44
- exports.getHomePagePropsV2 = getHomePagePropsV2.getHomePagePropsV2;
45
- exports.getPreviewProps = getPreviewProps.getPreviewProps;
46
- exports.getBuilderProps = getBuilderProps.getBuilderProps;
47
- exports.getProductProps = getProductProps.getProductProps;
48
- exports.getStaticPagePropsV2 = getStaticPagePropsV2.getStaticPagePropsV2;
49
- exports.getPostPurchasePropsPreview = getPostPurchasePropsPreview.getPostPurchasePropsPreview;
50
- exports.getStaticPagePropsPreview = getStaticPagePropsPreview.getStaticPagePropsPreview;
51
- exports.createAppAPIFetcher = fetcher.createAppAPIFetcher;
52
- exports.createFetcher = fetcher.createFetcher;
53
- exports.createShopifyFetcher = fetcher.createShopifyFetcher;
54
- exports.getLayout = getLayout.getLayout;
55
- exports.genCSS = genCss.genCSS;
56
- exports.useTrackingView = useTrackingView.useTrackingView;
57
- exports.usePagePreview = usePagePreview.usePagePreview;
58
- exports.isBot = userAgent.isBot;
59
- exports.normalizePageSectionResponseV2 = normalize.normalizePageSectionResponseV2;
60
- exports.parseBuilderTemplateV2 = normalize.parseBuilderTemplateV2;
61
- exports.getFallbackV2 = getFallback.getFallbackV2;
62
- exports.retryWithDelay = common.retryWithDelay;
63
- exports.CollectionDetailPage = collectionDetail.default;
64
- exports.PreviewPage = preview.PreviewPage;
65
- exports.ProductDetailPage = productDetail.default;
66
- exports.StaticPage = _static.default;
67
- exports.BuilderPage = builder.BuilderPage;
68
- exports.StaticPageV2 = staticV2.StaticPageV2;
69
- exports.getStaticPaths = getStaticPaths.getStaticPaths;
70
- exports.getFontFromGroupSetting = genFonts.getFontFromGroupSetting;
71
- exports.getFontsFromDataBuilder = genFonts.getFontsFromDataBuilder;
72
- exports.getFontFromGlobalStyle = googleFonts.getFontFromGlobalStyle;
73
- exports.getFonts = googleFonts.getFonts;
74
- exports.getStorefrontApi = getStorefrontApi.getStorefrontApi;
75
- exports.ErrorBoundary = ErrorBoundary.ErrorBoundary;
76
- exports.ErrorFallback = ErrorFallback.ErrorFallback;
77
- exports.Page404 = _404.Page404;
78
- exports.Page500 = _500.Page500;
79
- exports.GoogleAnalytic = GoogleAnalytic.GoogleAnalytic;
80
- exports.FacebookPixel = FacebookPixel.FacebookPixel;
81
- exports.TikTokPixel = TikTokPixel.TikTokPixel;
82
- exports.parseHtml = parseHtml.parseHtml;
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,30 +1,2 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var jsxRuntime = require('react/jsx-runtime');
6
- var core = require('@gem-sdk/core');
7
- var parseHtml = require('../libs/parse-html.js');
8
-
9
- const MainLayout = ({ children, ...props })=>{
10
- const mobileOnly = core.useShopStore((s)=>s.mobileOnly);
11
- return /*#__PURE__*/ jsxRuntime.jsxs(jsxRuntime.Fragment, {
12
- children: [
13
- parseHtml.parseHtml('custom-code-body', props?.customCodeBody),
14
- /*#__PURE__*/ jsxRuntime.jsx("div", {
15
- className: core.cls({
16
- 'gp-max-w-mobile gp-mx-auto gp-w-full': mobileOnly
17
- }),
18
- children: children
19
- }),
20
- /*#__PURE__*/ jsxRuntime.jsx(core.AddOn, {
21
- name: "cookie-bar"
22
- }),
23
- /*#__PURE__*/ jsxRuntime.jsx(core.AddOn, {
24
- name: "cart-drawer"
25
- })
26
- ]
27
- });
28
- };
29
-
30
- exports.default = MainLayout;
1
+ 'use client';
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,145 +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
-
13
- const getHomePagePropsV2 = (fetcher, shopifyFetcher)=>async ()=>{
14
- try {
15
- const variables = {
16
- slugType: 'STATIC'
17
- };
18
- const [theme, storeProperty, shopifyMeta] = await Promise.allSettled([
19
- fetcher([
20
- core.PublishedThemePagesDocument,
21
- variables
22
- ]),
23
- fetcher([
24
- core.StorePropertyDocument
25
- ]),
26
- shopifyFetcher([
27
- adapterShopify.ShopMetaDocument
28
- ])
29
- ]);
30
- if (theme.status === 'rejected') {
31
- throw new Error(theme.reason?.[0]);
32
- }
33
- const dataBuilder = theme.value?.publishedThemePages?.[0];
34
- if (!dataBuilder) {
35
- throw new Error(`No data builder found for Home page`);
36
- }
37
- const homeTemplate = normalize.parseBuilderTemplateV2(dataBuilder);
38
- const [elementFontStyle, fontStyle, fallback] = await Promise.all([
39
- googleFonts.getFontStyleFromPageTemplate(homeTemplate),
40
- googleFonts.getFontFromGlobalStyle(dataBuilder?.pageStyle?.data),
41
- getFallback.getFallbackV2(fetcher, homeTemplate)
42
- ]);
43
- const mobileOnly = dataBuilder.isMobile ?? false;
44
- const description = dataBuilder?.themePageDataSEO?.find((item)=>item?.key === 'global-meta-description')?.value;
45
- const thumbnail = parseJson.parseJson(dataBuilder?.themePageDataSEO?.find((item)=>item?.key === 'global-meta-thumbnail')?.value);
46
- const shopMeta = shopifyMeta.status === 'fulfilled' ? shopifyMeta.value : undefined;
47
- const shopData = storeProperty.status === 'fulfilled' ? storeProperty.value : undefined;
48
- const favicon = shopData?.storeProperty?.favicon ?? '/favicon/favicon-32x32.png';
49
- const seo = {
50
- defaultTitle: shopMeta?.shop.name,
51
- title: dataBuilder?.name ?? 'Home',
52
- description: description ?? shopMeta?.shop.description,
53
- openGraph: {
54
- site_name: shopMeta?.shop.name,
55
- locale: shopMeta?.localization.country.isoCode,
56
- title: dataBuilder?.name ?? shopMeta?.shop.name,
57
- description: description ?? shopMeta?.shop.description,
58
- images: thumbnail ? [
59
- thumbnail
60
- ] : []
61
- },
62
- additionalMetaTags: [
63
- {
64
- name: 'theme-color',
65
- content: '#000000'
66
- }
67
- ],
68
- canonical: `https://${shopData?.storeProperty?.primaryDomain}/`,
69
- additionalLinkTags: [
70
- {
71
- rel: 'icon',
72
- sizes: '32x32',
73
- href: `${favicon}-/crop/1:1/center/-/smart_resize/32x32/`
74
- },
75
- {
76
- rel: 'icon',
77
- sizes: '16x16',
78
- href: `${favicon}-/crop/1:1/center/-/smart_resize/16x16/`
79
- },
80
- {
81
- rel: 'apple-touch-icon',
82
- sizes: '180x180',
83
- href: `${favicon}-/crop/1:1/center/-/smart_resize/180x180/`
84
- },
85
- {
86
- rel: 'manifest',
87
- href: generateManifres.generateManifest({
88
- theme_color: '#000000',
89
- background_color: '#ffffff',
90
- display: 'standalone',
91
- scope: '/',
92
- start_url: '/',
93
- name: shopMeta?.shop.name,
94
- short_name: shopMeta?.shop.name,
95
- description: shopMeta?.shop.description,
96
- icons: [
97
- {
98
- src: `${favicon}-/crop/1:1/center/-/smart_resize/192x192/`,
99
- sizes: '192x192',
100
- type: 'image/png',
101
- purpose: 'any maskable'
102
- },
103
- {
104
- src: `${favicon}-/crop/1:1/center/-/smart_resize/512x512/`,
105
- sizes: '512x512',
106
- type: 'image/png'
107
- }
108
- ]
109
- })
110
- }
111
- ]
112
- };
113
- const languageIsoCode = shopMeta?.localization.language.isoCode ?? null;
114
- const countryIsoCode = shopMeta?.localization.country.isoCode ?? null;
115
- const locale = !languageIsoCode || !countryIsoCode ? null : `${languageIsoCode}-${countryIsoCode}`;
116
- return parseJson.serializableJson({
117
- themeStyle: genCss.genCSS(dataBuilder?.pageStyle?.data, mobileOnly),
118
- fontStyle,
119
- elementFontStyle,
120
- builderData: homeTemplate,
121
- swr: {
122
- fallback
123
- },
124
- moneyFormat: shopMeta?.shop.moneyFormat ?? null,
125
- currency: shopMeta?.localization.country.currency.isoCode ?? null,
126
- languageIsoCode,
127
- countryIsoCode,
128
- locale,
129
- swatches: parseJson.parseJson(shopData?.storeProperty?.swatchesConfig),
130
- seo,
131
- mobileOnly,
132
- gaTrackingId: dataBuilder.themePageAnalytic?.gaTrackingID ?? null,
133
- facebookPixelId: dataBuilder.themePageAnalytic?.fbPixelID ?? null,
134
- tiktokPixelId: dataBuilder.themePageAnalytic?.tiktokPixelID ?? null,
135
- customCodeHeader: dataBuilder.themePageCustomCode?.header ?? null,
136
- customCodeBody: dataBuilder.themePageCustomCode?.body ?? null,
137
- pageHandle: dataBuilder.handle ?? null
138
- });
139
- } catch (err) {
140
- nextjs.captureException(err);
141
- throw err;
142
- }
143
- };
144
-
145
- 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,151 +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
-
11
- const getHomePageProps = (fetcher, shopifyFetcher)=>async ()=>{
12
- const pageType = 'STATIC';
13
- const variables = {
14
- slugType: pageType
15
- };
16
- // const theme = await fetcher<PublishedThemePagesQueryResponse, PublishedThemePagesQueryVariables>([
17
- // PublishedThemePagesDocument,
18
- // variables,
19
- // ]);
20
- const [theme, storeProperty, shopifyMeta] = await Promise.allSettled([
21
- fetcher([
22
- core.PublishedThemePagesDocument,
23
- variables
24
- ]),
25
- fetcher([
26
- core.StorePropertyDocument
27
- ]),
28
- shopifyFetcher([
29
- adapterShopify.ShopMetaDocument
30
- ])
31
- ]);
32
- if (theme.status === 'rejected') {
33
- return {
34
- pageType
35
- };
36
- }
37
- const dataBuilder = theme.value.publishedThemePages?.[0];
38
- const homeTemplate = normalize.parseBuilderTemplate(dataBuilder);
39
- const fontStyle = await googleFonts.getFontFromGlobalStyle(dataBuilder?.pageStyle?.data);
40
- const queries = core.prefetchQueries(homeTemplate);
41
- const datas = await Promise.allSettled(queries.map(({ query, variables, func })=>{
42
- if (func) {
43
- return func(fetcher, variables);
44
- }
45
- if (query) return fetcher([
46
- query,
47
- variables
48
- ]);
49
- return {};
50
- }));
51
- const fallback = queries.reduce((acc, { key }, index)=>{
52
- const res = datas[index];
53
- if (res?.status === 'fulfilled') {
54
- return {
55
- ...acc,
56
- [key]: res.value
57
- };
58
- }
59
- return acc;
60
- }, {});
61
- const description = dataBuilder?.themePageDataSEO?.find((item)=>item?.key === 'global-meta-description')?.value;
62
- const thumbnail = parseJson.parseJson(dataBuilder?.themePageDataSEO?.find((item)=>item?.key === 'global-meta-thumbnail')?.value);
63
- const shopMeta = shopifyMeta.status === 'fulfilled' ? shopifyMeta.value : undefined;
64
- const shopData = storeProperty.status === 'fulfilled' ? storeProperty.value : undefined;
65
- const favicon = shopData?.storeProperty?.favicon ?? '/favicon/favicon-32x32.png';
66
- const seo = {
67
- defaultTitle: shopMeta?.shop.name,
68
- title: dataBuilder?.name ?? 'Home',
69
- description: description ?? shopMeta?.shop.description,
70
- openGraph: {
71
- site_name: shopMeta?.shop.name,
72
- locale: shopMeta?.localization.country.isoCode,
73
- title: dataBuilder?.name ?? shopMeta?.shop.name,
74
- description: description ?? shopMeta?.shop.description,
75
- images: thumbnail ? [
76
- thumbnail
77
- ] : []
78
- },
79
- additionalMetaTags: [
80
- {
81
- name: 'theme-color',
82
- content: '#000000'
83
- }
84
- ],
85
- canonical: '/',
86
- additionalLinkTags: [
87
- {
88
- rel: 'icon',
89
- sizes: '32x32',
90
- href: `${favicon}-/crop/1:1/center/-/smart_resize/32x32/`
91
- },
92
- {
93
- rel: 'icon',
94
- sizes: '16x16',
95
- href: `${favicon}-/crop/1:1/center/-/smart_resize/16x16/`
96
- },
97
- {
98
- rel: 'apple-touch-icon',
99
- sizes: '180x180',
100
- href: `${favicon}-/crop/1:1/center/-/smart_resize/180x180/`
101
- },
102
- {
103
- rel: 'manifest',
104
- href: generateManifres.generateManifest({
105
- theme_color: '#000000',
106
- background_color: '#ffffff',
107
- display: 'standalone',
108
- scope: '/',
109
- start_url: '/',
110
- name: shopMeta?.shop.name,
111
- short_name: shopMeta?.shop.name,
112
- description: shopMeta?.shop.description,
113
- icons: [
114
- {
115
- src: `${favicon}-/crop/1:1/center/-/smart_resize/192x192/`,
116
- sizes: '192x192',
117
- type: 'image/png',
118
- purpose: 'any maskable'
119
- },
120
- {
121
- src: `${favicon}-/crop/1:1/center/-/smart_resize/512x512/`,
122
- sizes: '512x512',
123
- type: 'image/png'
124
- }
125
- ]
126
- })
127
- }
128
- ]
129
- };
130
- const languageIsoCode = shopMeta?.localization.language.isoCode ?? null;
131
- const countryIsoCode = shopMeta?.localization.country.isoCode ?? null;
132
- const locale = !languageIsoCode || !countryIsoCode ? null : `${languageIsoCode}-${countryIsoCode}`;
133
- return parseJson.serializableJson({
134
- themeStyle: genCss.genCSS(dataBuilder?.pageStyle?.data),
135
- fontStyle,
136
- builderData: homeTemplate,
137
- pageType,
138
- swr: {
139
- fallback
140
- },
141
- moneyFormat: shopMeta?.shop.moneyFormat ?? null,
142
- currency: shopMeta?.localization.country.currency.isoCode ?? null,
143
- locale,
144
- languageIsoCode,
145
- countryIsoCode,
146
- swatches: parseJson.parseJson(shopData?.storeProperty?.swatchesConfig),
147
- seo
148
- });
149
- };
150
-
151
- 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;