@gem-sdk/pages 2.0.0-dev.884 → 2.0.0-staging.118

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 (144) hide show
  1. package/dist/cjs/components/ErrorBoundary.js +41 -1
  2. package/dist/cjs/components/ErrorFallback.js +27 -1
  3. package/dist/cjs/components/FacebookPixel.js +34 -3
  4. package/dist/cjs/components/FooterForPostPurchase.js +35 -1
  5. package/dist/cjs/components/GoogleAnalytic.js +66 -5
  6. package/dist/cjs/components/TikTokPixel.js +20 -3
  7. package/dist/cjs/components/builder/Body.js +37 -0
  8. package/dist/cjs/components/builder/Footer.js +155 -0
  9. package/dist/cjs/components/builder/Header.js +188 -0
  10. package/dist/cjs/components/builder/PopupManager.js +64 -1
  11. package/dist/cjs/components/builder/SwitchView.js +185 -0
  12. package/dist/cjs/components/builder/Toolbar.js +701 -1
  13. package/dist/cjs/components/builder/Toolbox.js +485 -1
  14. package/dist/cjs/components/builder/const.js +56 -0
  15. package/dist/cjs/components/builder/toolbar/const.js +7 -0
  16. package/dist/cjs/components/builder/toolbar/utils/findDOMClosest.js +41 -0
  17. package/dist/cjs/components/builder/toolbar/utils/findOverflowParent.js +20 -0
  18. package/dist/cjs/components/builder/toolbar/utils/getChildrenByAttrSelector.js +18 -0
  19. package/dist/cjs/components/builder/toolbar/utils/getDOMElementParents.js +32 -0
  20. package/dist/cjs/components/builder/toolbar/utils/isOverParent.js +16 -0
  21. package/dist/cjs/components/builder/toolbar/utils/isOverToolbarPosition.js +12 -0
  22. package/dist/cjs/components/builder/toolbar/utils/isSection.js +8 -0
  23. package/dist/cjs/components/builder/toolbar/utils/notVisible.js +8 -0
  24. package/dist/cjs/components/builder/toolbar/utils/waitForElementToExist.js +27 -0
  25. package/dist/cjs/components/image-to-layout/AddSectionImageToLayout.js +151 -1
  26. package/dist/cjs/components/image-to-layout/DropElement.js +167 -1
  27. package/dist/cjs/components/image-to-layout/ImageToLayout.js +42 -1
  28. package/dist/cjs/index.js +80 -1
  29. package/dist/cjs/layouts/main.js +31 -1
  30. package/dist/cjs/libs/api/get-builder-props.js +46 -1
  31. package/dist/cjs/libs/api/get-collection-props.js +68 -1
  32. package/dist/cjs/libs/api/get-home-page-props-v2.js +145 -1
  33. package/dist/cjs/libs/api/get-home-page-props.js +151 -1
  34. package/dist/cjs/libs/api/get-post-purchase-props-preview.js +268 -1
  35. package/dist/cjs/libs/api/get-preview-props.js +18 -1
  36. package/dist/cjs/libs/api/get-product-props.js +73 -1
  37. package/dist/cjs/libs/api/get-static-page-props-preview.js +155 -1
  38. package/dist/cjs/libs/api/get-static-page-props-v2.js +164 -1
  39. package/dist/cjs/libs/api/get-static-page-props.js +148 -1
  40. package/dist/cjs/libs/custom-fonts.js +60 -6
  41. package/dist/cjs/libs/fetcher.js +100 -1
  42. package/dist/cjs/libs/get-layout.js +13 -1
  43. package/dist/cjs/libs/get-storefront-api.js +12 -1
  44. package/dist/cjs/libs/getStaticPaths.js +10 -1
  45. package/dist/cjs/libs/google-fonts.js +118 -1
  46. package/dist/cjs/libs/helpers/check-option-font.js +65 -0
  47. package/dist/cjs/libs/helpers/common.js +27 -1
  48. package/dist/cjs/libs/helpers/gen-css.js +135 -1
  49. package/dist/cjs/libs/helpers/gen-fonts.js +90 -1
  50. package/dist/cjs/libs/helpers/generate-manifres.js +5 -1
  51. package/dist/cjs/libs/helpers/get-fallback.js +34 -1
  52. package/dist/cjs/libs/helpers/normalize.js +111 -1
  53. package/dist/cjs/libs/helpers/parse-json.js +16 -1
  54. package/dist/cjs/libs/helpers/user-agent.js +7 -1
  55. package/dist/cjs/libs/hooks/use-tracking-view.js +43 -1
  56. package/dist/cjs/libs/hooks/usePagePreview.js +92 -1
  57. package/dist/cjs/libs/parse-html.js +34 -1
  58. package/dist/cjs/libs/shopify-cdn-with-google-fonts.js +1845 -1
  59. package/dist/cjs/pages/404.js +43 -1
  60. package/dist/cjs/pages/500.js +74 -1
  61. package/dist/cjs/pages/CollectionGlobalProvider.js +59 -1
  62. package/dist/cjs/pages/builder.js +115 -1
  63. package/dist/cjs/pages/collection-detail.js +64 -1
  64. package/dist/cjs/pages/preview.js +26 -1
  65. package/dist/cjs/pages/product-detail.js +69 -1
  66. package/dist/cjs/pages/static-v2.js +139 -1
  67. package/dist/cjs/pages/static.js +75 -1
  68. package/dist/cjs/store/libs-store.js +14 -0
  69. package/dist/esm/components/ErrorBoundary.js +39 -1
  70. package/dist/esm/components/ErrorFallback.js +25 -1
  71. package/dist/esm/components/FacebookPixel.js +32 -3
  72. package/dist/esm/components/FooterForPostPurchase.js +31 -1
  73. package/dist/esm/components/GoogleAnalytic.js +64 -5
  74. package/dist/esm/components/TikTokPixel.js +18 -3
  75. package/dist/esm/components/builder/Body.js +33 -0
  76. package/dist/esm/components/builder/Footer.js +151 -0
  77. package/dist/esm/components/builder/Header.js +184 -0
  78. package/dist/esm/components/builder/PopupManager.js +60 -1
  79. package/dist/esm/components/builder/SwitchView.js +181 -0
  80. package/dist/esm/components/builder/Toolbar.js +697 -1
  81. package/dist/esm/components/builder/Toolbox.js +481 -1
  82. package/dist/esm/components/builder/const.js +54 -0
  83. package/dist/esm/components/builder/toolbar/const.js +4 -0
  84. package/dist/esm/components/builder/toolbar/utils/findDOMClosest.js +39 -0
  85. package/dist/esm/components/builder/toolbar/utils/findOverflowParent.js +18 -0
  86. package/dist/esm/components/builder/toolbar/utils/getChildrenByAttrSelector.js +16 -0
  87. package/dist/esm/components/builder/toolbar/utils/getDOMElementParents.js +30 -0
  88. package/dist/esm/components/builder/toolbar/utils/isOverParent.js +14 -0
  89. package/dist/esm/components/builder/toolbar/utils/isOverToolbarPosition.js +10 -0
  90. package/dist/esm/components/builder/toolbar/utils/isSection.js +6 -0
  91. package/dist/esm/components/builder/toolbar/utils/notVisible.js +6 -0
  92. package/dist/esm/components/builder/toolbar/utils/waitForElementToExist.js +25 -0
  93. package/dist/esm/components/image-to-layout/AddSectionImageToLayout.js +147 -1
  94. package/dist/esm/components/image-to-layout/DropElement.js +165 -1
  95. package/dist/esm/components/image-to-layout/ImageToLayout.js +38 -1
  96. package/dist/esm/index.js +35 -1
  97. package/dist/esm/layouts/main.js +27 -1
  98. package/dist/esm/libs/api/get-builder-props.js +44 -1
  99. package/dist/esm/libs/api/get-collection-props.js +66 -1
  100. package/dist/esm/libs/api/get-home-page-props-v2.js +143 -1
  101. package/dist/esm/libs/api/get-home-page-props.js +149 -1
  102. package/dist/esm/libs/api/get-post-purchase-props-preview.js +260 -1
  103. package/dist/esm/libs/api/get-preview-props.js +16 -1
  104. package/dist/esm/libs/api/get-product-props.js +71 -1
  105. package/dist/esm/libs/api/get-static-page-props-preview.js +153 -1
  106. package/dist/esm/libs/api/get-static-page-props-v2.js +162 -1
  107. package/dist/esm/libs/api/get-static-page-props.js +146 -1
  108. package/dist/esm/libs/custom-fonts.js +55 -6
  109. package/dist/esm/libs/fetcher.js +96 -1
  110. package/dist/esm/libs/get-layout.js +11 -1
  111. package/dist/esm/libs/get-storefront-api.js +10 -1
  112. package/dist/esm/libs/getStaticPaths.js +8 -1
  113. package/dist/esm/libs/google-fonts.js +112 -1
  114. package/dist/esm/libs/helpers/check-option-font.js +63 -0
  115. package/dist/esm/libs/helpers/common.js +24 -1
  116. package/dist/esm/libs/helpers/gen-css.js +133 -1
  117. package/dist/esm/libs/helpers/gen-fonts.js +87 -1
  118. package/dist/esm/libs/helpers/generate-manifres.js +3 -1
  119. package/dist/esm/libs/helpers/get-fallback.js +32 -1
  120. package/dist/esm/libs/helpers/normalize.js +103 -1
  121. package/dist/esm/libs/helpers/parse-json.js +13 -1
  122. package/dist/esm/libs/helpers/user-agent.js +5 -1
  123. package/dist/esm/libs/hooks/use-tracking-view.js +41 -1
  124. package/dist/esm/libs/hooks/usePagePreview.js +90 -1
  125. package/dist/esm/libs/parse-html.js +32 -1
  126. package/dist/esm/libs/shopify-cdn-with-google-fonts.js +1843 -1
  127. package/dist/esm/pages/404.js +41 -1
  128. package/dist/esm/pages/500.js +72 -1
  129. package/dist/esm/pages/CollectionGlobalProvider.js +55 -1
  130. package/dist/esm/pages/builder.js +113 -1
  131. package/dist/esm/pages/collection-detail.js +60 -1
  132. package/dist/esm/pages/preview.js +24 -1
  133. package/dist/esm/pages/product-detail.js +65 -1
  134. package/dist/esm/pages/static-v2.js +137 -1
  135. package/dist/esm/pages/static.js +71 -1
  136. package/dist/esm/store/libs-store.js +12 -0
  137. package/dist/types/index.d.ts +50 -34
  138. package/package.json +8 -5
  139. package/dist/cjs/components/Footer.js +0 -1
  140. package/dist/cjs/components/Header.js +0 -1
  141. package/dist/cjs/components/builder/toolbar/Onboarding.js +0 -1
  142. package/dist/esm/components/Footer.js +0 -1
  143. package/dist/esm/components/Header.js +0 -1
  144. package/dist/esm/components/builder/toolbar/Onboarding.js +0 -1
@@ -1 +1,90 @@
1
- import{generateManifest as e}from"../helpers/generate-manifres.js";import{parseJson as o}from"../helpers/parse-json.js";let usePagePreview=(r,a,n)=>{let s=r?.isMobile??!1,i=n?.status==="fulfilled"?n.value:void 0,t="fulfilled"===a.status?a.value:void 0,l=t?.storeProperty?.favicon??"/favicon/favicon-32x32.png",c=i?.localization.language.isoCode??null,p=i?.localization.country.isoCode??null,m=i?.shop.moneyFormat??null,f=i?.localization.country.currency.isoCode??null,u=o(t?.storeProperty?.swatchesConfig),d=c&&p?`${c}-${p}`:null,h={defaultTitle:i?.shop.name,title:r?.name,openGraph:{site_name:i?.shop.name,locale:i?.localization.country.isoCode,title:r?.name??i?.shop.name},nofollow:!0,noindex:!0,canonical:`/preview/${r?.id}`,additionalMetaTags:[{name:"theme-color",content:"#000000"}],additionalLinkTags:[{rel:"icon",sizes:"32x32",href:`${l}-/crop/1:1/center/-/smart_resize/32x32/`},{rel:"icon",sizes:"16x16",href:`${l}-/crop/1:1/center/-/smart_resize/16x16/`},{rel:"apple-touch-icon",sizes:"180x180",href:`${l}-/crop/1:1/center/-/smart_resize/180x180/`},{rel:"manifest",href:e({theme_color:"#000000",background_color:"#ffffff",display:"standalone",scope:"/",start_url:"/",name:i?.shop.name,short_name:i?.shop.name,description:i?.shop.description,icons:[{src:`${l}-/crop/1:1/center/-/smart_resize/192x192/`,sizes:"192x192",type:"image/png",purpose:"any maskable"},{src:`${l}-/crop/1:1/center/-/smart_resize/512x512/`,sizes:"512x512",type:"image/png"}]})}]};return{seo:h,pageConfig:{mobileOnly:s,locale:d,languageIsoCode:c,countryIsoCode:p,moneyFormat:m,currency:f,swatches:u}}};export{usePagePreview};
1
+ import { generateManifest } from '../helpers/generate-manifres.js';
2
+ import { parseJson } from '../helpers/parse-json.js';
3
+
4
+ const usePagePreview = (dataBuilder, storeProperty, shopifyMeta)=>{
5
+ const mobileOnly = dataBuilder?.isMobile ?? false;
6
+ const shopMeta = shopifyMeta?.status === 'fulfilled' ? shopifyMeta.value : undefined;
7
+ const shopData = storeProperty.status === 'fulfilled' ? storeProperty.value : undefined;
8
+ const favicon = shopData?.storeProperty?.favicon ?? '/favicon/favicon-32x32.png';
9
+ const languageIsoCode = shopMeta?.localization.language.isoCode ?? null;
10
+ const countryIsoCode = shopMeta?.localization.country.isoCode ?? null;
11
+ const moneyFormat = shopMeta?.shop.moneyFormat ?? null;
12
+ const currency = shopMeta?.localization.country.currency.isoCode ?? null;
13
+ const swatches = parseJson(shopData?.storeProperty?.swatchesConfig);
14
+ const locale = !languageIsoCode || !countryIsoCode ? null : `${languageIsoCode}-${countryIsoCode}`;
15
+ const seo = {
16
+ defaultTitle: shopMeta?.shop.name,
17
+ title: dataBuilder?.name,
18
+ openGraph: {
19
+ site_name: shopMeta?.shop.name,
20
+ locale: shopMeta?.localization.country.isoCode,
21
+ title: dataBuilder?.name ?? shopMeta?.shop.name
22
+ },
23
+ nofollow: true,
24
+ noindex: true,
25
+ canonical: `/preview/${dataBuilder?.id}`,
26
+ additionalMetaTags: [
27
+ {
28
+ name: 'theme-color',
29
+ content: '#000000'
30
+ }
31
+ ],
32
+ additionalLinkTags: [
33
+ {
34
+ rel: 'icon',
35
+ sizes: '32x32',
36
+ href: `${favicon}-/crop/1:1/center/-/smart_resize/32x32/`
37
+ },
38
+ {
39
+ rel: 'icon',
40
+ sizes: '16x16',
41
+ href: `${favicon}-/crop/1:1/center/-/smart_resize/16x16/`
42
+ },
43
+ {
44
+ rel: 'apple-touch-icon',
45
+ sizes: '180x180',
46
+ href: `${favicon}-/crop/1:1/center/-/smart_resize/180x180/`
47
+ },
48
+ {
49
+ rel: 'manifest',
50
+ href: generateManifest({
51
+ theme_color: '#000000',
52
+ background_color: '#ffffff',
53
+ display: 'standalone',
54
+ scope: '/',
55
+ start_url: '/',
56
+ name: shopMeta?.shop.name,
57
+ short_name: shopMeta?.shop.name,
58
+ description: shopMeta?.shop.description,
59
+ icons: [
60
+ {
61
+ src: `${favicon}-/crop/1:1/center/-/smart_resize/192x192/`,
62
+ sizes: '192x192',
63
+ type: 'image/png',
64
+ purpose: 'any maskable'
65
+ },
66
+ {
67
+ src: `${favicon}-/crop/1:1/center/-/smart_resize/512x512/`,
68
+ sizes: '512x512',
69
+ type: 'image/png'
70
+ }
71
+ ]
72
+ })
73
+ }
74
+ ]
75
+ };
76
+ return {
77
+ seo,
78
+ pageConfig: {
79
+ mobileOnly,
80
+ locale,
81
+ languageIsoCode,
82
+ countryIsoCode,
83
+ moneyFormat,
84
+ currency,
85
+ swatches
86
+ }
87
+ };
88
+ };
89
+
90
+ export { usePagePreview };
@@ -1 +1,32 @@
1
- import{jsx as t}from"react/jsx-runtime";import r,{Element as e,Text as a}from"html-react-parser";import i from"next/script";let parseHtml=(n,s)=>{if(n)try{return r(n,{replace:r=>{if("script"===r.type&&r instanceof e){let e=r.children?.[0];if(e instanceof a)return s?t("script",{...r.attribs,dangerouslySetInnerHTML:{__html:e.data}}):t(i,{...r.attribs,dangerouslySetInnerHTML:{__html:e.data}});if(!s)return t(i,{...r.attribs})}}})}catch{return}};export{parseHtml};
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import parse, { Element, Text } from 'html-react-parser';
3
+
4
+ const parseHtml = (key, html, isHead)=>{
5
+ if (!html) return undefined;
6
+ try {
7
+ return parse(html, {
8
+ replace: (node)=>{
9
+ if (node.type !== 'script' || !(node instanceof Element)) return null;
10
+ const child = node.children?.[0];
11
+ if (!child) return null;
12
+ if (!(child instanceof Text) && !isHead) return /*#__PURE__*/ jsx("script", {
13
+ id: key,
14
+ ...node.attribs
15
+ }, key);
16
+ if (child instanceof Text && isHead) {
17
+ return /*#__PURE__*/ jsx("script", {
18
+ id: key,
19
+ ...node.attribs,
20
+ dangerouslySetInnerHTML: {
21
+ __html: child.data
22
+ }
23
+ }, key);
24
+ }
25
+ }
26
+ });
27
+ } catch {
28
+ return undefined;
29
+ }
30
+ };
31
+
32
+ export { parseHtml };