@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
@@ -1,42 +1,2 @@
1
- 'use strict';
2
-
3
- var core = require('@gem-sdk/core');
4
- var react = require('react');
5
-
6
- const useTrackingView = (token, handle, isFallback)=>{
7
- const shopToken = token || process.env.NEXT_PUBLIC_SHOP_TOKEN;
8
- const apiURL = process.env.NEXT_PUBLIC_API_URL;
9
- const sendTracking = react.useCallback((handle)=>{
10
- if (!apiURL || !shopToken) return;
11
- const variables = {
12
- pageHandle: handle
13
- };
14
- const headers = {
15
- 'Content-Type': 'application/json',
16
- 'X-GemX-Shop-Token': shopToken
17
- };
18
- fetch(apiURL, {
19
- method: 'POST',
20
- headers,
21
- body: JSON.stringify({
22
- query: core.PageViewUpDocument,
23
- variables
24
- })
25
- }).finally(()=>{
26
- //
27
- });
28
- }, [
29
- apiURL,
30
- shopToken
31
- ]);
32
- react.useEffect(()=>{
33
- if (!handle || isFallback) return;
34
- sendTracking(handle);
35
- }, [
36
- handle,
37
- sendTracking,
38
- isFallback
39
- ]);
40
- };
41
-
42
- exports.useTrackingView = useTrackingView;
1
+ 'use client';
2
+ "use strict";var core=require("@gem-sdk/core"),react=require("react");const useTrackingView=(e,r,c)=>{let t=e||process.env.NEXT_PUBLIC_SHOP_TOKEN,a=process.env.NEXT_PUBLIC_API_URL,i=react.useCallback(e=>{if(!a||!t)return;let r={pageHandle:e},c={"Content-Type":"application/json","X-GemX-Shop-Token":t};fetch(a,{method:"POST",headers:c,body:JSON.stringify({query:core.PageViewUpDocument,variables:r})}).finally(()=>{})},[a,t]);react.useEffect(()=>{r&&!c&&i(r)},[r,i,c])};exports.useTrackingView=useTrackingView;
@@ -1,92 +1 @@
1
- 'use strict';
2
-
3
- var generateManifres = require('../helpers/generate-manifres.js');
4
- var parseJson = require('../helpers/parse-json.js');
5
-
6
- const usePagePreview = (dataBuilder, storeProperty, shopifyMeta)=>{
7
- const mobileOnly = dataBuilder?.isMobile ?? false;
8
- const shopMeta = shopifyMeta?.status === 'fulfilled' ? shopifyMeta.value : undefined;
9
- const shopData = storeProperty.status === 'fulfilled' ? storeProperty.value : undefined;
10
- const favicon = shopData?.storeProperty?.favicon ?? '/favicon/favicon-32x32.png';
11
- const languageIsoCode = shopMeta?.localization.language.isoCode ?? null;
12
- const countryIsoCode = shopMeta?.localization.country.isoCode ?? null;
13
- const moneyFormat = shopMeta?.shop.moneyFormat ?? null;
14
- const currency = shopMeta?.localization.country.currency.isoCode ?? null;
15
- const swatches = parseJson.parseJson(shopData?.storeProperty?.swatchesConfig);
16
- const locale = !languageIsoCode || !countryIsoCode ? null : `${languageIsoCode}-${countryIsoCode}`;
17
- const seo = {
18
- defaultTitle: shopMeta?.shop.name,
19
- title: dataBuilder?.name,
20
- openGraph: {
21
- site_name: shopMeta?.shop.name,
22
- locale: shopMeta?.localization.country.isoCode,
23
- title: dataBuilder?.name ?? shopMeta?.shop.name
24
- },
25
- nofollow: true,
26
- noindex: true,
27
- canonical: `/preview/${dataBuilder?.id}`,
28
- additionalMetaTags: [
29
- {
30
- name: 'theme-color',
31
- content: '#000000'
32
- }
33
- ],
34
- additionalLinkTags: [
35
- {
36
- rel: 'icon',
37
- sizes: '32x32',
38
- href: `${favicon}-/crop/1:1/center/-/smart_resize/32x32/`
39
- },
40
- {
41
- rel: 'icon',
42
- sizes: '16x16',
43
- href: `${favicon}-/crop/1:1/center/-/smart_resize/16x16/`
44
- },
45
- {
46
- rel: 'apple-touch-icon',
47
- sizes: '180x180',
48
- href: `${favicon}-/crop/1:1/center/-/smart_resize/180x180/`
49
- },
50
- {
51
- rel: 'manifest',
52
- href: generateManifres.generateManifest({
53
- theme_color: '#000000',
54
- background_color: '#ffffff',
55
- display: 'standalone',
56
- scope: '/',
57
- start_url: '/',
58
- name: shopMeta?.shop.name,
59
- short_name: shopMeta?.shop.name,
60
- description: shopMeta?.shop.description,
61
- icons: [
62
- {
63
- src: `${favicon}-/crop/1:1/center/-/smart_resize/192x192/`,
64
- sizes: '192x192',
65
- type: 'image/png',
66
- purpose: 'any maskable'
67
- },
68
- {
69
- src: `${favicon}-/crop/1:1/center/-/smart_resize/512x512/`,
70
- sizes: '512x512',
71
- type: 'image/png'
72
- }
73
- ]
74
- })
75
- }
76
- ]
77
- };
78
- return {
79
- seo,
80
- pageConfig: {
81
- mobileOnly,
82
- locale,
83
- languageIsoCode,
84
- countryIsoCode,
85
- moneyFormat,
86
- currency,
87
- swatches
88
- }
89
- };
90
- };
91
-
92
- exports.usePagePreview = usePagePreview;
1
+ "use strict";var generateManifres=require("../helpers/generate-manifres.js"),parseJson=require("../helpers/parse-json.js");const usePagePreview=(e,o,r)=>{let s=e?.isMobile??!1,a=r?.status==="fulfilled"?r.value:void 0,n="fulfilled"===o.status?o.value:void 0,i=n?.storeProperty?.favicon??"/favicon/favicon-32x32.png",t=a?.localization.language.isoCode??null,l=a?.localization.country.isoCode??null,c=a?.shop.moneyFormat??null,p=a?.localization.country.currency.isoCode??null,u=parseJson.parseJson(n?.storeProperty?.swatchesConfig),f=t&&l?`${t}-${l}`:null,m={defaultTitle:a?.shop.name,title:e?.name,openGraph:{site_name:a?.shop.name,locale:a?.localization.country.isoCode,title:e?.name??a?.shop.name},nofollow:!0,noindex:!0,canonical:`/preview/${e?.id}`,additionalMetaTags:[{name:"theme-color",content:"#000000"}],additionalLinkTags:[{rel:"icon",sizes:"32x32",href:`${i}-/crop/1:1/center/-/smart_resize/32x32/`},{rel:"icon",sizes:"16x16",href:`${i}-/crop/1:1/center/-/smart_resize/16x16/`},{rel:"apple-touch-icon",sizes:"180x180",href:`${i}-/crop/1:1/center/-/smart_resize/180x180/`},{rel:"manifest",href:generateManifres.generateManifest({theme_color:"#000000",background_color:"#ffffff",display:"standalone",scope:"/",start_url:"/",name:a?.shop.name,short_name:a?.shop.name,description:a?.shop.description,icons:[{src:`${i}-/crop/1:1/center/-/smart_resize/192x192/`,sizes:"192x192",type:"image/png",purpose:"any maskable"},{src:`${i}-/crop/1:1/center/-/smart_resize/512x512/`,sizes:"512x512",type:"image/png"}]})}]};return{seo:m,pageConfig:{mobileOnly:s,locale:f,languageIsoCode:t,countryIsoCode:l,moneyFormat:c,currency:p,swatches:u}}};exports.usePagePreview=usePagePreview;
@@ -1,34 +1 @@
1
- 'use strict';
2
-
3
- var jsxRuntime = require('react/jsx-runtime');
4
- var parse = require('html-react-parser');
5
-
6
- const parseHtml = (key, html, isHead)=>{
7
- if (!html) return undefined;
8
- try {
9
- return parse(html, {
10
- replace: (node)=>{
11
- if (node.type !== 'script' || !(node instanceof parse.Element)) return null;
12
- const child = node.children?.[0];
13
- if (!child) return null;
14
- if (!(child instanceof parse.Text) && !isHead) return /*#__PURE__*/ jsxRuntime.jsx("script", {
15
- id: key,
16
- ...node.attribs
17
- }, key);
18
- if (child instanceof parse.Text && isHead) {
19
- return /*#__PURE__*/ jsxRuntime.jsx("script", {
20
- id: key,
21
- ...node.attribs,
22
- dangerouslySetInnerHTML: {
23
- __html: child.data
24
- }
25
- }, key);
26
- }
27
- }
28
- });
29
- } catch {
30
- return undefined;
31
- }
32
- };
33
-
34
- exports.parseHtml = parseHtml;
1
+ "use strict";var jsxRuntime=require("react/jsx-runtime"),parse=require("html-react-parser");const parseHtml=(e,r,t)=>{if(r)try{return parse(r,{replace:r=>{if("script"!==r.type||!(r instanceof parse.Element))return null;let s=r.children?.[0];return s?s instanceof parse.Text||t?s instanceof parse.Text&&t?jsxRuntime.jsx("script",{id:e,...r.attribs,dangerouslySetInnerHTML:{__html:s.data}},e):void 0:jsxRuntime.jsx("script",{id:e,...r.attribs},e):null}})}catch{return}};exports.parseHtml=parseHtml;