@gem-sdk/pages 2.0.0-staging.711 → 2.0.0-staging.860

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 (146) 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/dist/types/index.d.ts +1 -1
  146. package/package.json +6 -6
@@ -1,41 +1,2 @@
1
1
  'use client';
2
- import { PageViewUpDocument } from '@gem-sdk/core';
3
- import { useCallback, useEffect } from 'react';
4
-
5
- const useTrackingView = (token, handle, isFallback)=>{
6
- const shopToken = token || process.env.NEXT_PUBLIC_SHOP_TOKEN;
7
- const apiURL = process.env.NEXT_PUBLIC_API_URL;
8
- const sendTracking = useCallback((handle)=>{
9
- if (!apiURL || !shopToken) return;
10
- const variables = {
11
- pageHandle: handle
12
- };
13
- const headers = {
14
- 'Content-Type': 'application/json',
15
- 'X-GemX-Shop-Token': shopToken
16
- };
17
- fetch(apiURL, {
18
- method: 'POST',
19
- headers,
20
- body: JSON.stringify({
21
- query: PageViewUpDocument,
22
- variables
23
- })
24
- }).finally(()=>{
25
- //
26
- });
27
- }, [
28
- apiURL,
29
- shopToken
30
- ]);
31
- useEffect(()=>{
32
- if (!handle || isFallback) return;
33
- sendTracking(handle);
34
- }, [
35
- handle,
36
- sendTracking,
37
- isFallback
38
- ]);
39
- };
40
-
41
- export { useTrackingView };
2
+ import{PageViewUpDocument as e}from"@gem-sdk/core";import{useCallback as o,useEffect as r}from"react";let useTrackingView=(t,n,i)=>{let p=t||process.env.NEXT_PUBLIC_SHOP_TOKEN,s=process.env.NEXT_PUBLIC_API_URL,a=o(o=>{if(!s||!p)return;let r={pageHandle:o},t={"Content-Type":"application/json","X-GemX-Shop-Token":p};fetch(s,{method:"POST",headers:t,body:JSON.stringify({query:e,variables:r})}).finally(()=>{})},[s,p]);r(()=>{n&&!i&&a(n)},[n,a,i])};export{useTrackingView};
@@ -1,90 +1 @@
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
+ 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,32 +1 @@
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 };
1
+ import{jsx as t}from"react/jsx-runtime";import r,{Element as e,Text as i}from"html-react-parser";let parseHtml=(n,a,l)=>{if(a)try{return r(a,{replace:r=>{if("script"!==r.type||!(r instanceof e))return null;let a=r.children?.[0];return a?a instanceof i||l?a instanceof i&&l?t("script",{id:n,...r.attribs,dangerouslySetInnerHTML:{__html:a.data}},n):void 0:t("script",{id:n,...r.attribs},n):null}})}catch{return}};export{parseHtml};