@gem-sdk/core 1.47.0-dev.5 → 1.47.0-staging.2
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.
- package/dist/cjs/components/ComponentToolbarPreview.js +106 -156
- package/dist/cjs/components/ComponentWrapperPreview.js +2 -16
- package/dist/cjs/components/Render.liquid.js +7 -35
- package/dist/cjs/components/RenderPreview.js +0 -1
- package/dist/cjs/components/constant.js +1 -2
- package/dist/cjs/contexts/PageContext.js +1 -29
- package/dist/cjs/contexts/SectionContext.js +1 -0
- package/dist/cjs/helpers/colors.js +1 -1
- package/dist/cjs/helpers/shadow.js +1 -1
- package/dist/cjs/helpers/third-party/appConfig.js +0 -14
- package/dist/cjs/helpers/third-party/appSetting.js +0 -22
- package/dist/cjs/helpers/third-party/constant.js +1 -3
- package/dist/cjs/hooks/animation/useApplyAnimation.js +0 -1
- package/dist/cjs/hooks/useFormatMoney.js +60 -61
- package/dist/cjs/index.js +0 -12
- package/dist/esm/components/ComponentToolbarPreview.js +106 -156
- package/dist/esm/components/ComponentWrapperPreview.js +2 -16
- package/dist/esm/components/Render.liquid.js +7 -35
- package/dist/esm/components/RenderPreview.js +0 -1
- package/dist/esm/components/constant.js +1 -2
- package/dist/esm/contexts/PageContext.js +1 -29
- package/dist/esm/contexts/SectionContext.js +1 -0
- package/dist/esm/helpers/colors.js +1 -1
- package/dist/esm/helpers/shadow.js +1 -1
- package/dist/esm/helpers/third-party/appConfig.js +1 -13
- package/dist/esm/helpers/third-party/appSetting.js +0 -22
- package/dist/esm/helpers/third-party/constant.js +2 -4
- package/dist/esm/hooks/animation/useApplyAnimation.js +0 -1
- package/dist/esm/hooks/useFormatMoney.js +61 -61
- package/dist/esm/index.js +1 -3
- package/dist/types/index.d.ts +4 -169
- package/package.json +3 -3
- package/dist/cjs/components/InteractionSuffix.js +0 -107
- package/dist/cjs/helpers/align.js +0 -19
- package/dist/cjs/hooks/useInteraction.js +0 -19
- package/dist/cjs/types/custom.js +0 -44
- package/dist/esm/components/InteractionSuffix.js +0 -105
- package/dist/esm/helpers/align.js +0 -17
- package/dist/esm/hooks/useInteraction.js +0 -17
- package/dist/esm/types/custom.js +0 -44
|
@@ -7,7 +7,6 @@ var react = require('react');
|
|
|
7
7
|
require('zustand');
|
|
8
8
|
var BuilderPreviewContext = require('../contexts/BuilderPreviewContext.js');
|
|
9
9
|
var ShopContext = require('../contexts/ShopContext.js');
|
|
10
|
-
var PageContext = require('../contexts/PageContext.js');
|
|
11
10
|
require('@gem-sdk/adapter-shopify');
|
|
12
11
|
require('swr');
|
|
13
12
|
require('swr/mutation');
|
|
@@ -22,7 +21,6 @@ var useToolbarPostPurchase = require('../hooks/useToolbarPostPurchase.js');
|
|
|
22
21
|
var constant = require('./constant.js');
|
|
23
22
|
var AIContentGenerator = require('./ai-generator/AIContentGenerator.js');
|
|
24
23
|
var AIGenContentLoading = require('./ai-generator/AIGenContentLoading.js');
|
|
25
|
-
var InteractionSuffix = require('./InteractionSuffix.js');
|
|
26
24
|
require('../helpers/convert.js');
|
|
27
25
|
|
|
28
26
|
const SECTION_LIMIT = 25;
|
|
@@ -39,7 +37,6 @@ const ComponentToolbarPreview = (props)=>{
|
|
|
39
37
|
const isShopifySection = props.isShopifySection;
|
|
40
38
|
const storefrontUrl = ShopContext.useShopStore((s)=>s.storefrontUrl);
|
|
41
39
|
const editingPageType = ShopContext.useShopStore((s)=>s.pageType);
|
|
42
|
-
const interactionData = PageContext.usePageStore((s)=>s.interactionData);
|
|
43
40
|
const getParents = BuilderPreviewContext.useBuilderPreviewStore((s)=>s.getParents);
|
|
44
41
|
const root = BuilderPreviewContext.useBuilderPreviewStore((s)=>s.getItem('ROOT'));
|
|
45
42
|
const isThemeSectionEditor = BuilderPreviewContext.useBuilderPreviewStore((s)=>s.isThemeSectionEditor);
|
|
@@ -50,7 +47,6 @@ const ComponentToolbarPreview = (props)=>{
|
|
|
50
47
|
const [deleteTooltipPosition, setDeleteTooltipPosition] = react.useState('top');
|
|
51
48
|
const [isDisableDelete, setIsUnableDelete] = react.useState(false);
|
|
52
49
|
const [parentProductUid, setParentProductUid] = react.useState('');
|
|
53
|
-
const [articleUid, setArticleUid] = react.useState('');
|
|
54
50
|
const [tooltipText, setTooltipText] = react.useState({
|
|
55
51
|
width: '',
|
|
56
52
|
text: ''
|
|
@@ -59,28 +55,12 @@ const ComponentToolbarPreview = (props)=>{
|
|
|
59
55
|
const isSaleFunnelPage = react.useMemo(()=>editingPageType === 'POST_PURCHASE', [
|
|
60
56
|
editingPageType
|
|
61
57
|
]);
|
|
62
|
-
const isSelectOnPage = react.useMemo(()=>interactionData?.isSelectOnPage, [
|
|
63
|
-
interactionData
|
|
64
|
-
]);
|
|
65
58
|
const { checkDisableDelete, getTooltipText, checkDisableDuplicate } = useToolbarPostPurchase.usePostPurchase(props.uid, props.tag || '');
|
|
66
59
|
const editProductElementList = [
|
|
67
60
|
'Product Title',
|
|
68
61
|
'Product Description',
|
|
69
|
-
'Product Price'
|
|
70
|
-
|
|
71
|
-
const editArticleElementList = [
|
|
72
|
-
'Article Title',
|
|
73
|
-
'Article Content',
|
|
74
|
-
'Article Image',
|
|
75
|
-
'Article Author',
|
|
76
|
-
'Article Category',
|
|
77
|
-
'Article Date',
|
|
78
|
-
'Article Excerpt',
|
|
79
|
-
'Article Tags'
|
|
80
|
-
];
|
|
81
|
-
const editAbleElementList = [
|
|
82
|
-
...editProductElementList,
|
|
83
|
-
...editArticleElementList
|
|
62
|
+
'Product Price',
|
|
63
|
+
'Product Vendor'
|
|
84
64
|
];
|
|
85
65
|
const isOverToolbarPosition = (el, parent)=>{
|
|
86
66
|
const parentLength = parents.length;
|
|
@@ -127,29 +107,15 @@ const ComponentToolbarPreview = (props)=>{
|
|
|
127
107
|
}, [
|
|
128
108
|
storefrontUrl
|
|
129
109
|
]);
|
|
130
|
-
const
|
|
131
|
-
return `https://admin.shopify.com/store/${shopName}
|
|
110
|
+
const shopifyEditLink = react.useMemo(()=>{
|
|
111
|
+
return productId ? `https://admin.shopify.com/store/${shopName}/products/${productId}` : '';
|
|
132
112
|
}, [
|
|
113
|
+
productId,
|
|
133
114
|
shopName
|
|
134
115
|
]);
|
|
135
|
-
const linkEditProduct = react.useMemo(()=>{
|
|
136
|
-
return productId ? `${linkShopDefault}/products/${productId}` : '';
|
|
137
|
-
}, [
|
|
138
|
-
linkShopDefault,
|
|
139
|
-
productId
|
|
140
|
-
]);
|
|
141
|
-
const linkEditArticle = react.useMemo(()=>{
|
|
142
|
-
return articleUid ? `${linkShopDefault}/articles/${articleUid}` : '';
|
|
143
|
-
}, [
|
|
144
|
-
articleUid,
|
|
145
|
-
linkShopDefault
|
|
146
|
-
]);
|
|
147
116
|
// Get parents
|
|
148
117
|
const onActiveComponent = react.useCallback((e)=>{
|
|
149
118
|
const detail = e.detail;
|
|
150
|
-
if (detail?.articleId) {
|
|
151
|
-
setArticleUid(detail.articleId);
|
|
152
|
-
}
|
|
153
119
|
if (detail?.componentUid == props.uid) {
|
|
154
120
|
getDeleteTooltipPosition();
|
|
155
121
|
if (isSaleFunnelPage) {
|
|
@@ -241,15 +207,7 @@ const ComponentToolbarPreview = (props)=>{
|
|
|
241
207
|
window.dispatchEvent(event);
|
|
242
208
|
};
|
|
243
209
|
const goToShopifyEditLink = ()=>{
|
|
244
|
-
|
|
245
|
-
window.open(linkEditArticle, '_blank');
|
|
246
|
-
return;
|
|
247
|
-
}
|
|
248
|
-
if (editProductElementList.includes(toolbarName() ?? '')) {
|
|
249
|
-
window.open(linkEditProduct, '_blank');
|
|
250
|
-
return;
|
|
251
|
-
}
|
|
252
|
-
window.open(linkShopDefault, '_blank');
|
|
210
|
+
window.open(shopifyEditLink, '_blank');
|
|
253
211
|
};
|
|
254
212
|
const onDelete = (e)=>{
|
|
255
213
|
e.preventDefault();
|
|
@@ -504,117 +462,109 @@ const ComponentToolbarPreview = (props)=>{
|
|
|
504
462
|
]
|
|
505
463
|
}, parent.uid);
|
|
506
464
|
}),
|
|
507
|
-
!
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
d: "M7.85018 13.0942L11.6419 9.30246L13.3438 11.0044L9.55212 14.7961C9.43782 14.9104 9.28573 14.9791 9.1244 14.9892L7.93427 15.0641C7.73484 15.0767 7.56961 14.9114 7.58216 14.712L7.65706 13.5219C7.66721 13.3606 7.73588 13.2085 7.85018 13.0942Z",
|
|
564
|
-
fill: "currentColor"
|
|
565
|
-
})
|
|
566
|
-
]
|
|
567
|
-
})
|
|
568
|
-
}),
|
|
569
|
-
/*#__PURE__*/ jsxRuntime.jsx(Tooltip.default, {
|
|
570
|
-
enable: props.tag == 'Section' && getSectionNumber() >= SECTION_LIMIT,
|
|
571
|
-
text: "Page has reached Shopify’s 25 section-limit",
|
|
572
|
-
position: "bottom",
|
|
573
|
-
"data-toolbar-duplicate": true,
|
|
574
|
-
"data-toolbar-disable": props.tag == 'Section' && getSectionNumber() >= SECTION_LIMIT || isDisableDuplicate,
|
|
575
|
-
onClick: isDisableDuplicate ? undefined : (e)=>onDuplicate(e),
|
|
576
|
-
"aria-hidden": "true",
|
|
577
|
-
className: isDisableDuplicate ? '!gp-cursor-not-allowed' : '',
|
|
578
|
-
children: /*#__PURE__*/ jsxRuntime.jsx("svg", {
|
|
579
|
-
width: "16",
|
|
580
|
-
height: "16",
|
|
581
|
-
viewBox: "0 0 16 16",
|
|
582
|
-
fill: "none",
|
|
583
|
-
children: /*#__PURE__*/ jsxRuntime.jsx("path", {
|
|
584
|
-
fillRule: "evenodd",
|
|
585
|
-
clipRule: "evenodd",
|
|
586
|
-
d: "M6.08423 1.21289C5.53194 1.21289 5.08423 1.66061 5.08423 2.21289V3.78711H4.26172C3.43329 3.78711 2.76172 4.45868 2.76172 5.28711V13.2871C2.76172 14.1155 3.43329 14.7871 4.26172 14.7871H10.2617C11.0901 14.7871 11.7617 14.1155 11.7617 13.2871V12.4629H13.0842C13.6365 12.4629 14.0842 12.0152 14.0842 11.4629V2.21289C14.0842 1.66061 13.6365 1.21289 13.0842 1.21289H6.08423ZM10.7617 12.4629H6.08423C5.53194 12.4629 5.08423 12.0152 5.08423 11.4629V4.78711H4.26172C3.98558 4.78711 3.76172 5.01097 3.76172 5.28711V13.2871C3.76172 13.5633 3.98558 13.7871 4.26172 13.7871H10.2617C10.5379 13.7871 10.7617 13.5633 10.7617 13.2871V12.4629Z",
|
|
587
|
-
fill: "currentColor"
|
|
588
|
-
})
|
|
589
|
-
})
|
|
590
|
-
}),
|
|
591
|
-
/*#__PURE__*/ jsxRuntime.jsx(Tooltip.default, {
|
|
592
|
-
"data-toolbar-delete": true,
|
|
593
|
-
onClick: (e)=>isDisableDelete ? null : onDelete(e),
|
|
594
|
-
enable: isDisableDelete,
|
|
595
|
-
"data-toolbar-disable": isDisableDelete,
|
|
596
|
-
width: tooltipText.width,
|
|
597
|
-
text: tooltipText.text,
|
|
598
|
-
position: deleteTooltipPosition,
|
|
599
|
-
"aria-hidden": "true",
|
|
600
|
-
children: /*#__PURE__*/ jsxRuntime.jsx("svg", {
|
|
601
|
-
width: "16",
|
|
602
|
-
height: "16",
|
|
603
|
-
viewBox: "0 0 16 16",
|
|
604
|
-
fill: "none",
|
|
605
|
-
children: /*#__PURE__*/ jsxRuntime.jsx("path", {
|
|
606
|
-
fillRule: "evenodd",
|
|
607
|
-
clipRule: "evenodd",
|
|
608
|
-
d: "M11 2.88965V2.38965C11 1.56122 10.3284 0.889648 9.5 0.889648H6.5C5.67157 0.889648 5 1.56122 5 2.38965V2.88965H2C1.72386 2.88965 1.5 3.11351 1.5 3.38965C1.5 3.66579 1.72386 3.88965 2 3.88965H3.21997V13.1099C3.21997 14.2144 4.1154 15.1099 5.21997 15.1099H11.22C12.3245 15.1099 13.22 14.2144 13.22 13.1099V3.88965H14C14.2761 3.88965 14.5 3.66579 14.5 3.38965C14.5 3.11351 14.2761 2.88965 14 2.88965H11ZM6 2.88965H10V2.38965C10 2.11351 9.77614 1.88965 9.5 1.88965H6.5C6.22386 1.88965 6 2.11351 6 2.38965V2.88965ZM6.24976 6.13965C6.66397 6.13965 6.99976 6.47543 6.99976 6.88965V11.3896C6.99976 11.8039 6.66397 12.1396 6.24976 12.1396C5.83554 12.1396 5.49976 11.8039 5.49976 11.3896V6.88965C5.49976 6.47543 5.83554 6.13965 6.24976 6.13965ZM10.4998 6.88965C10.4998 6.47543 10.164 6.13965 9.74976 6.13965C9.33554 6.13965 8.99976 6.47543 8.99976 6.88965V11.3896C8.99976 11.8039 9.33554 12.1396 9.74976 12.1396C10.164 12.1396 10.4998 11.8039 10.4998 11.3896V6.88965Z",
|
|
609
|
-
fill: "currentColor"
|
|
610
|
-
})
|
|
465
|
+
props.tag === 'Section' && !props.isThemeSection && isEnableCreateThemeSection() && !props.isShopifySection && getIndexSection() < SECTION_LIMIT && /*#__PURE__*/ jsxRuntime.jsx(CreateThemeSection.CreateThemeSection, {
|
|
466
|
+
...props
|
|
467
|
+
}),
|
|
468
|
+
isEnableAIContent() && /*#__PURE__*/ jsxRuntime.jsx(AIContentGenerator.AIContentGenerator, {
|
|
469
|
+
...props
|
|
470
|
+
}),
|
|
471
|
+
props.tag == 'Sticky' && /*#__PURE__*/ jsxRuntime.jsx("div", {
|
|
472
|
+
"data-toolbar-zoom-out": true,
|
|
473
|
+
onClick: (e)=>onZoomOut(e),
|
|
474
|
+
"aria-hidden": "true",
|
|
475
|
+
children: /*#__PURE__*/ jsxRuntime.jsx("svg", {
|
|
476
|
+
width: "16",
|
|
477
|
+
height: "16",
|
|
478
|
+
viewBox: "0 0 16 16",
|
|
479
|
+
fill: "none",
|
|
480
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
481
|
+
children: /*#__PURE__*/ jsxRuntime.jsx("path", {
|
|
482
|
+
fillRule: "evenodd",
|
|
483
|
+
clipRule: "evenodd",
|
|
484
|
+
d: "M14.5 7C14.7761 7 15 6.77614 15 6.5C15 6.22386 14.7761 6 14.5 6L10.7072 6L14.8536 1.85355C15.0489 1.65829 15.0489 1.34171 14.8536 1.14645C14.6584 0.951186 14.3418 0.951185 14.1465 1.14645L10 5.29297L10 1.5C10 1.22386 9.77614 1 9.5 1C9.22386 1 9 1.22386 9 1.5L9 6.5C9 6.77614 9.22386 7 9.5 7L14.5 7ZM6 10.7073L6 14.5C6 14.7761 6.22386 15 6.5 15C6.77614 15 7 14.7761 7 14.5L7 9.5C7 9.22386 6.77614 9 6.5 9H1.5C1.22386 9 1 9.22386 1 9.5C1 9.77614 1.22386 10 1.5 10H5.29306L1.14662 14.1464C0.951353 14.3417 0.951353 14.6583 1.14662 14.8536C1.34188 15.0488 1.65846 15.0488 1.85372 14.8536L6 10.7073Z",
|
|
485
|
+
fill: "currentColor"
|
|
486
|
+
})
|
|
487
|
+
})
|
|
488
|
+
}),
|
|
489
|
+
editProductElementList.includes(toolbarName() ?? '') && /*#__PURE__*/ jsxRuntime.jsx(Tooltip.default, {
|
|
490
|
+
"data-toolbar-title": true,
|
|
491
|
+
enable: true,
|
|
492
|
+
"data-toolbar-disable": false,
|
|
493
|
+
text: "Edit content in Shopify",
|
|
494
|
+
position: "top",
|
|
495
|
+
onClick: goToShopifyEditLink,
|
|
496
|
+
"aria-hidden": "true",
|
|
497
|
+
children: /*#__PURE__*/ jsxRuntime.jsxs("svg", {
|
|
498
|
+
width: "16",
|
|
499
|
+
height: "16",
|
|
500
|
+
viewBox: "0 0 16 16",
|
|
501
|
+
fill: "none",
|
|
502
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
503
|
+
children: [
|
|
504
|
+
/*#__PURE__*/ jsxRuntime.jsx("path", {
|
|
505
|
+
fillRule: "evenodd",
|
|
506
|
+
clipRule: "evenodd",
|
|
507
|
+
d: "M8.61129 2.47348C8.61129 2.47348 8.47099 2.51557 8.23248 2.59274C8.19039 2.46647 8.13427 2.30512 8.05009 2.15079C7.78352 1.6387 7.39068 1.37212 6.91366 1.36511C6.87858 1.36511 6.85052 1.36511 6.81545 1.37212C6.80843 1.36511 6.80142 1.35634 6.7944 1.34757C6.78739 1.3388 6.78037 1.33003 6.77336 1.32302C6.56992 1.09854 6.30335 0.993314 5.98768 1.00033C5.37737 1.02137 4.76706 1.46332 4.269 2.249C3.91825 2.80319 3.65869 3.49767 3.58153 4.03082C3.38823 4.09074 3.21092 4.14586 3.05516 4.19429C2.64595 4.32151 2.3851 4.40261 2.37494 4.40261C2.01718 4.51485 2.01016 4.52888 1.96106 4.85859C1.92598 5.11113 1 12.2945 1 12.2945L7.14764 13.3583C7.18955 13.118 7.30454 12.8953 7.47848 12.7214L8.70249 11.4974V2.45945C8.66741 2.45945 8.63234 2.46647 8.61129 2.47348ZM6.82948 3.02767L6.62554 3.09101C6.27515 3.19989 5.90094 3.31617 5.5317 3.42752C5.65797 2.94349 5.89648 2.46647 6.19111 2.15079C6.30335 2.03154 6.45067 1.90527 6.63306 1.8281C6.80142 2.18587 6.83649 2.68393 6.82948 3.02767ZM5.99469 1.4072C6.13499 1.4072 6.26126 1.43526 6.36649 1.50541C6.19813 1.58959 6.0438 1.71586 5.88947 1.87721C5.50364 2.29109 5.202 2.94349 5.08274 3.56783C4.74459 3.66991 4.41804 3.77199 4.10838 3.8688L4.01646 3.89753C4.22691 2.90841 5.05468 1.43526 5.99469 1.4072ZM4.80214 7.0122C4.81874 7.26957 5.09737 7.44833 5.43473 7.66478C5.95252 7.99699 6.60867 8.41798 6.66813 9.3482C6.7453 10.5548 6.02977 11.3826 4.99154 11.4457C3.7569 11.5229 3.06943 10.7933 3.06943 10.7933L3.32899 9.67791C3.32899 9.67791 4.01646 10.197 4.56363 10.1619C4.92139 10.1409 5.04767 9.84627 5.04065 9.64283C5.01607 9.26796 4.73308 9.06671 4.41569 8.84101C4.00848 8.55142 3.54465 8.22157 3.49735 7.4331C3.42018 6.24756 4.19885 5.05501 5.91051 4.94277C6.57694 4.90068 6.91366 5.06904 6.91366 5.06904L6.52082 6.53518C6.52082 6.53518 6.08589 6.33876 5.56678 6.36682C4.80915 6.41592 4.79512 6.89294 4.80214 7.0122ZM7.23635 2.9014C7.22934 2.59274 7.19426 2.15781 7.04695 1.78601C7.50994 1.87721 7.74143 2.39632 7.83964 2.71199C7.70008 2.75665 7.54275 2.80575 7.37118 2.8593L7.23635 2.9014Z",
|
|
508
|
+
fill: "currentColor"
|
|
509
|
+
}),
|
|
510
|
+
/*#__PURE__*/ jsxRuntime.jsx("path", {
|
|
511
|
+
d: "M10.7719 3.44156C10.7757 3.47543 11.1733 6.16931 11.541 8.65883L8.95503 11.2448V2.57871C9.16548 2.78214 9.71265 3.31528 9.71265 3.31528C9.71265 3.31528 10.6106 3.32931 10.6597 3.33633C10.7088 3.34334 10.7649 3.37842 10.7719 3.44156Z",
|
|
512
|
+
fill: "currentColor"
|
|
513
|
+
}),
|
|
514
|
+
/*#__PURE__*/ jsxRuntime.jsx("path", {
|
|
515
|
+
d: "M14.8056 8.644L14.0424 7.88088C13.7832 7.62163 13.3629 7.62163 13.1036 7.88088L12.1519 8.83258L13.8539 10.5345L14.8056 9.58282C15.0648 9.32357 15.0648 8.90325 14.8056 8.644Z",
|
|
516
|
+
fill: "currentColor"
|
|
517
|
+
}),
|
|
518
|
+
/*#__PURE__*/ jsxRuntime.jsx("path", {
|
|
519
|
+
d: "M7.85018 13.0942L11.6419 9.30246L13.3438 11.0044L9.55212 14.7961C9.43782 14.9104 9.28573 14.9791 9.1244 14.9892L7.93427 15.0641C7.73484 15.0767 7.56961 14.9114 7.58216 14.712L7.65706 13.5219C7.66721 13.3606 7.73588 13.2085 7.85018 13.0942Z",
|
|
520
|
+
fill: "currentColor"
|
|
611
521
|
})
|
|
522
|
+
]
|
|
523
|
+
})
|
|
524
|
+
}),
|
|
525
|
+
/*#__PURE__*/ jsxRuntime.jsx(Tooltip.default, {
|
|
526
|
+
enable: props.tag == 'Section' && getSectionNumber() >= SECTION_LIMIT,
|
|
527
|
+
text: "Page has reached Shopify’s 25 section-limit",
|
|
528
|
+
position: "bottom",
|
|
529
|
+
"data-toolbar-duplicate": true,
|
|
530
|
+
"data-toolbar-disable": props.tag == 'Section' && getSectionNumber() >= SECTION_LIMIT || isDisableDuplicate,
|
|
531
|
+
onClick: isDisableDuplicate ? undefined : (e)=>onDuplicate(e),
|
|
532
|
+
"aria-hidden": "true",
|
|
533
|
+
className: isDisableDuplicate ? '!gp-cursor-not-allowed' : '',
|
|
534
|
+
children: /*#__PURE__*/ jsxRuntime.jsx("svg", {
|
|
535
|
+
width: "16",
|
|
536
|
+
height: "16",
|
|
537
|
+
viewBox: "0 0 16 16",
|
|
538
|
+
fill: "none",
|
|
539
|
+
children: /*#__PURE__*/ jsxRuntime.jsx("path", {
|
|
540
|
+
fillRule: "evenodd",
|
|
541
|
+
clipRule: "evenodd",
|
|
542
|
+
d: "M6.08423 1.21289C5.53194 1.21289 5.08423 1.66061 5.08423 2.21289V3.78711H4.26172C3.43329 3.78711 2.76172 4.45868 2.76172 5.28711V13.2871C2.76172 14.1155 3.43329 14.7871 4.26172 14.7871H10.2617C11.0901 14.7871 11.7617 14.1155 11.7617 13.2871V12.4629H13.0842C13.6365 12.4629 14.0842 12.0152 14.0842 11.4629V2.21289C14.0842 1.66061 13.6365 1.21289 13.0842 1.21289H6.08423ZM10.7617 12.4629H6.08423C5.53194 12.4629 5.08423 12.0152 5.08423 11.4629V4.78711H4.26172C3.98558 4.78711 3.76172 5.01097 3.76172 5.28711V13.2871C3.76172 13.5633 3.98558 13.7871 4.26172 13.7871H10.2617C10.5379 13.7871 10.7617 13.5633 10.7617 13.2871V12.4629Z",
|
|
543
|
+
fill: "currentColor"
|
|
612
544
|
})
|
|
613
|
-
|
|
545
|
+
})
|
|
614
546
|
}),
|
|
615
|
-
/*#__PURE__*/ jsxRuntime.jsx(
|
|
616
|
-
|
|
617
|
-
|
|
547
|
+
/*#__PURE__*/ jsxRuntime.jsx(Tooltip.default, {
|
|
548
|
+
"data-toolbar-delete": true,
|
|
549
|
+
onClick: (e)=>isDisableDelete ? null : onDelete(e),
|
|
550
|
+
enable: isDisableDelete,
|
|
551
|
+
"data-toolbar-disable": isDisableDelete,
|
|
552
|
+
width: tooltipText.width,
|
|
553
|
+
text: tooltipText.text,
|
|
554
|
+
position: deleteTooltipPosition,
|
|
555
|
+
"aria-hidden": "true",
|
|
556
|
+
children: /*#__PURE__*/ jsxRuntime.jsx("svg", {
|
|
557
|
+
width: "16",
|
|
558
|
+
height: "16",
|
|
559
|
+
viewBox: "0 0 16 16",
|
|
560
|
+
fill: "none",
|
|
561
|
+
children: /*#__PURE__*/ jsxRuntime.jsx("path", {
|
|
562
|
+
fillRule: "evenodd",
|
|
563
|
+
clipRule: "evenodd",
|
|
564
|
+
d: "M11 2.88965V2.38965C11 1.56122 10.3284 0.889648 9.5 0.889648H6.5C5.67157 0.889648 5 1.56122 5 2.38965V2.88965H2C1.72386 2.88965 1.5 3.11351 1.5 3.38965C1.5 3.66579 1.72386 3.88965 2 3.88965H3.21997V13.1099C3.21997 14.2144 4.1154 15.1099 5.21997 15.1099H11.22C12.3245 15.1099 13.22 14.2144 13.22 13.1099V3.88965H14C14.2761 3.88965 14.5 3.66579 14.5 3.38965C14.5 3.11351 14.2761 2.88965 14 2.88965H11ZM6 2.88965H10V2.38965C10 2.11351 9.77614 1.88965 9.5 1.88965H6.5C6.22386 1.88965 6 2.11351 6 2.38965V2.88965ZM6.24976 6.13965C6.66397 6.13965 6.99976 6.47543 6.99976 6.88965V11.3896C6.99976 11.8039 6.66397 12.1396 6.24976 12.1396C5.83554 12.1396 5.49976 11.8039 5.49976 11.3896V6.88965C5.49976 6.47543 5.83554 6.13965 6.24976 6.13965ZM10.4998 6.88965C10.4998 6.47543 10.164 6.13965 9.74976 6.13965C9.33554 6.13965 8.99976 6.47543 8.99976 6.88965V11.3896C8.99976 11.8039 9.33554 12.1396 9.74976 12.1396C10.164 12.1396 10.4998 11.8039 10.4998 11.3896V6.88965Z",
|
|
565
|
+
fill: "currentColor"
|
|
566
|
+
})
|
|
567
|
+
})
|
|
618
568
|
})
|
|
619
569
|
]
|
|
620
570
|
}, props.uid),
|
|
@@ -5,7 +5,6 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var jsxRuntime = require('react/jsx-runtime');
|
|
6
6
|
var react = require('react');
|
|
7
7
|
var composeAdvanceStyle = require('../helpers/compose-advance-style.js');
|
|
8
|
-
var useInteraction = require('../hooks/useInteraction.js');
|
|
9
8
|
var constant = require('./constant.js');
|
|
10
9
|
var RenderCustomCode = require('./RenderCustomCode.js');
|
|
11
10
|
var ComponentToolbarPreview = require('./ComponentToolbarPreview.js');
|
|
@@ -33,19 +32,6 @@ const ComponentWrapperPreview = ({ children, ...props })=>{
|
|
|
33
32
|
}, [
|
|
34
33
|
props.uid
|
|
35
34
|
]);
|
|
36
|
-
const currentProps = props;
|
|
37
|
-
const { getAnimationByUid } = useInteraction.useInteraction();
|
|
38
|
-
const animationByInteraction = getAnimationByUid(props.uid);
|
|
39
|
-
if (animationByInteraction) {
|
|
40
|
-
currentProps.advanced = {
|
|
41
|
-
...currentProps.advanced,
|
|
42
|
-
animation: {
|
|
43
|
-
desktop: animationByInteraction,
|
|
44
|
-
tablet: animationByInteraction,
|
|
45
|
-
mobile: animationByInteraction
|
|
46
|
-
}
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
35
|
const pageType = shop.usePageType();
|
|
50
36
|
if (props.type === 'section') {
|
|
51
37
|
return null;
|
|
@@ -150,7 +136,7 @@ const ComponentWrapperPreview = ({ children, ...props })=>{
|
|
|
150
136
|
return /*#__PURE__*/ jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
151
137
|
children: [
|
|
152
138
|
/*#__PURE__*/ jsxRuntime.jsx(ComponentAnimation.default, {
|
|
153
|
-
...
|
|
139
|
+
...props
|
|
154
140
|
}),
|
|
155
141
|
/*#__PURE__*/ jsxRuntime.jsx(RenderCustomCode.default, {
|
|
156
142
|
uid: props.uid,
|
|
@@ -179,7 +165,7 @@ const ComponentWrapperPreview = ({ children, ...props })=>{
|
|
|
179
165
|
return /*#__PURE__*/ jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
180
166
|
children: [
|
|
181
167
|
/*#__PURE__*/ jsxRuntime.jsx(ComponentAnimation.default, {
|
|
182
|
-
...
|
|
168
|
+
...props
|
|
183
169
|
}),
|
|
184
170
|
/*#__PURE__*/ jsxRuntime.jsx(RenderCustomCode.default, {
|
|
185
171
|
uid: props.uid,
|
|
@@ -20,6 +20,7 @@ require('dayjs');
|
|
|
20
20
|
var composeAdvanceStyle = require('../helpers/compose-advance-style.js');
|
|
21
21
|
var convert = require('../helpers/convert.js');
|
|
22
22
|
var render = require('../helpers/render.js');
|
|
23
|
+
require('cssjson');
|
|
23
24
|
|
|
24
25
|
const componentsRenderWithParentId = [
|
|
25
26
|
'CarouselItem'
|
|
@@ -39,6 +40,7 @@ const Render = ({ uid, builder, components, parentId, extraFiles = {}, pageConte
|
|
|
39
40
|
const item = builder[uid];
|
|
40
41
|
const Component = components[item?.tag];
|
|
41
42
|
if (!Component) {
|
|
43
|
+
console.log('Miss component: ', item);
|
|
42
44
|
return {
|
|
43
45
|
liquid: '',
|
|
44
46
|
extraFiles
|
|
@@ -75,10 +77,6 @@ const Render = ({ uid, builder, components, parentId, extraFiles = {}, pageConte
|
|
|
75
77
|
parentId: componentsRenderWithParentId.includes(item.tag) ? parentId : null,
|
|
76
78
|
pageContext,
|
|
77
79
|
...passProps,
|
|
78
|
-
builderAttrs: {
|
|
79
|
-
...passProps.builderAttrs,
|
|
80
|
-
'data-id': uid
|
|
81
|
-
},
|
|
82
80
|
rawChildren: item.childrens.map((id)=>{
|
|
83
81
|
return {
|
|
84
82
|
...builder[id],
|
|
@@ -114,15 +112,11 @@ const Render = ({ uid, builder, components, parentId, extraFiles = {}, pageConte
|
|
|
114
112
|
isText: componentTexts.includes(item.tag) ? true : null,
|
|
115
113
|
parentId: componentsRenderWithParentId.includes(item.tag) ? parentId : null,
|
|
116
114
|
pageContext,
|
|
117
|
-
...passProps
|
|
118
|
-
builderAttrs: {
|
|
119
|
-
...passProps.builderAttrs,
|
|
120
|
-
'data-id': uid
|
|
121
|
-
}
|
|
115
|
+
...passProps
|
|
122
116
|
});
|
|
123
117
|
});
|
|
124
118
|
} else {
|
|
125
|
-
liquid = render.template`<div
|
|
119
|
+
liquid = render.template`<div style="${!componentIconList.includes(item.tag) ? style : ''}" class="${item.uid} ${!item?.childrens?.length && item.tag === 'IconListItemHoz' ? 'hidden' : ''}">
|
|
126
120
|
${render.RenderIf(item?.childrens?.length, ()=>{
|
|
127
121
|
return Component({
|
|
128
122
|
builderProps: {
|
|
@@ -137,10 +131,6 @@ const Render = ({ uid, builder, components, parentId, extraFiles = {}, pageConte
|
|
|
137
131
|
},
|
|
138
132
|
pageContext,
|
|
139
133
|
...passProps,
|
|
140
|
-
builderAttrs: {
|
|
141
|
-
...passProps.builderAttrs,
|
|
142
|
-
'data-id': uid
|
|
143
|
-
},
|
|
144
134
|
rawChildren: item.childrens.map((id)=>{
|
|
145
135
|
return {
|
|
146
136
|
...builder[id],
|
|
@@ -177,11 +167,7 @@ const Render = ({ uid, builder, components, parentId, extraFiles = {}, pageConte
|
|
|
177
167
|
pageContext,
|
|
178
168
|
isText: componentTexts.includes(item.tag) ? true : null,
|
|
179
169
|
style: componentIconList.includes(item.tag) ? style : null,
|
|
180
|
-
...passProps
|
|
181
|
-
builderAttrs: {
|
|
182
|
-
...passProps.builderAttrs,
|
|
183
|
-
'data-id': uid
|
|
184
|
-
}
|
|
170
|
+
...passProps
|
|
185
171
|
});
|
|
186
172
|
})}
|
|
187
173
|
</div>`;
|
|
@@ -196,20 +182,6 @@ const Render = ({ uid, builder, components, parentId, extraFiles = {}, pageConte
|
|
|
196
182
|
};
|
|
197
183
|
}
|
|
198
184
|
};
|
|
199
|
-
// const isEmptyCSS = (cssString: string | undefined): boolean => {
|
|
200
|
-
// if (!cssString) return true;
|
|
201
|
-
// const cssJSON = toJSON(cssString);
|
|
202
|
-
// const isObjectEmpty = (obj: any): boolean => {
|
|
203
|
-
// if (typeof obj !== 'object' || obj === null) return true;
|
|
204
|
-
// return !Object.keys(obj).some((key) => {
|
|
205
|
-
// return (
|
|
206
|
-
// (key === 'attributes' && Object.keys(obj[key]).length > 0) ||
|
|
207
|
-
// (typeof obj[key] === 'object' && !isObjectEmpty(obj[key]))
|
|
208
|
-
// );
|
|
209
|
-
// });
|
|
210
|
-
// };
|
|
211
|
-
// return isObjectEmpty(cssJSON.children);
|
|
212
|
-
// };
|
|
213
185
|
const RenderCustomCode = (item)=>{
|
|
214
186
|
const { css, javascript, rootClassName } = item.advanced?.editorData || {};
|
|
215
187
|
const replacedCSS = css?.replaceAll(rootClassName, item.uid);
|
|
@@ -248,6 +220,7 @@ const appendAnimation = (props, liquid)=>{
|
|
|
248
220
|
const appearTablet = getAnimationType(getSettingsByDevice('tablet'), 'appear');
|
|
249
221
|
const appearMobile = getAnimationType(getSettingsByDevice('mobile'), 'appear');
|
|
250
222
|
const enableAnimation = animation?.desktop?.enabled && (appearDesktop !== 'none' || hoverDesktop !== 'none') || animation?.tablet?.enabled && appearTablet !== 'none' || animation?.mobile?.enabled && appearMobile !== 'none';
|
|
223
|
+
if (!enableAnimation) return liquid;
|
|
251
224
|
const getInitVisibility = (device)=>getSettingsByDevice(device)?.enabled && ![
|
|
252
225
|
'shake',
|
|
253
226
|
'none'
|
|
@@ -262,8 +235,7 @@ const appendAnimation = (props, liquid)=>{
|
|
|
262
235
|
gp-data='${JSON.stringify({
|
|
263
236
|
config: animation,
|
|
264
237
|
tag,
|
|
265
|
-
opacity
|
|
266
|
-
isEnableInit: enableAnimation
|
|
238
|
+
opacity
|
|
267
239
|
})}'
|
|
268
240
|
style="${{
|
|
269
241
|
display: 'contents'
|
|
@@ -45,7 +45,6 @@ const RenderPreview = ({ uid, ...passProps })=>{
|
|
|
45
45
|
setting: item.settings,
|
|
46
46
|
...passProps,
|
|
47
47
|
children: item.childrens.map((id)=>/*#__PURE__*/ jsxRuntime.jsx(RenderPreviewMemo, {
|
|
48
|
-
bundleItem: passProps?.bundleItem,
|
|
49
48
|
uid: id
|
|
50
49
|
}, id))
|
|
51
50
|
}) : /*#__PURE__*/ jsxRuntime.jsx(Component, {
|
|
@@ -31,31 +31,6 @@ const createPageStoreProvider = (data)=>zustand.createStore((set)=>({
|
|
|
31
31
|
set({
|
|
32
32
|
publicStoreFrontData: publicStoreFrontData
|
|
33
33
|
});
|
|
34
|
-
},
|
|
35
|
-
setInteractionIsSelectOnPage: (value)=>{
|
|
36
|
-
set((state)=>({
|
|
37
|
-
interactionData: {
|
|
38
|
-
...state.interactionData,
|
|
39
|
-
isSelectOnPage: value
|
|
40
|
-
}
|
|
41
|
-
}));
|
|
42
|
-
},
|
|
43
|
-
setInteractionItem: (item)=>{
|
|
44
|
-
set((state)=>({
|
|
45
|
-
interactionData: {
|
|
46
|
-
...state.interactionData,
|
|
47
|
-
item,
|
|
48
|
-
isSelectOnPage: state.interactionData?.isSelectOnPage || false
|
|
49
|
-
}
|
|
50
|
-
}));
|
|
51
|
-
},
|
|
52
|
-
setInteractionSelectType: (selectType)=>{
|
|
53
|
-
set((state)=>({
|
|
54
|
-
interactionData: {
|
|
55
|
-
...state.interactionData,
|
|
56
|
-
selectType
|
|
57
|
-
}
|
|
58
|
-
}));
|
|
59
34
|
}
|
|
60
35
|
}));
|
|
61
36
|
const PageProvider = ({ children, dynamicProduct, dynamicCollection, productOffers, publicStoreFrontData, ...passProps })=>{
|
|
@@ -63,10 +38,7 @@ const PageProvider = ({ children, dynamicProduct, dynamicCollection, productOffe
|
|
|
63
38
|
dynamicProduct,
|
|
64
39
|
dynamicCollection,
|
|
65
40
|
productOffers,
|
|
66
|
-
publicStoreFrontData
|
|
67
|
-
interactionData: {
|
|
68
|
-
selectType: 'element'
|
|
69
|
-
}
|
|
41
|
+
publicStoreFrontData
|
|
70
42
|
}), [
|
|
71
43
|
dynamicProduct,
|
|
72
44
|
dynamicCollection,
|
|
@@ -10,6 +10,7 @@ const SectionContext = /*#__PURE__*/ react.createContext(null);
|
|
|
10
10
|
const createSectionProvider = (data)=>zustand.createStore((set, get)=>({
|
|
11
11
|
data: data ?? {},
|
|
12
12
|
getSection: (id)=>{
|
|
13
|
+
console.log('get().data', get().data);
|
|
13
14
|
const section = get().data[id];
|
|
14
15
|
return section ?? undefined;
|
|
15
16
|
},
|
|
@@ -119,7 +119,7 @@ const getGlobalColorStateStyle = (type, data)=>{
|
|
|
119
119
|
return Object.fromEntries(Object.entries(data).map(([state, value])=>{
|
|
120
120
|
if (state === 'active') return [];
|
|
121
121
|
return [
|
|
122
|
-
`-${constant.stateMapping?.[state]
|
|
122
|
+
`-${constant.stateMapping?.[state]}-${type}`,
|
|
123
123
|
getSingleColorVariable(value)
|
|
124
124
|
];
|
|
125
125
|
}).filter(isDefined.isDefined));
|
|
@@ -27,7 +27,7 @@ const getStyleShadow = (shadowStyle, isActiveState = false)=>{
|
|
|
27
27
|
if (typeof value.distance == 'undefined') return {};
|
|
28
28
|
const { value: distance, unit: unitDistance } = parseValueWithUnit(`${value?.distance}`);
|
|
29
29
|
return {
|
|
30
|
-
[`-${!isActiveState ? constant.stateMapping?.[state]
|
|
30
|
+
[`-${!isActiveState ? constant.stateMapping?.[state] : ''}-${getShortname.getShortName(styleAppliedFor)}`]: isEnableShadow ? `${Math.cos(parseFloat(`${value?.angle}`) * Math.PI / 180) * parseFloat(`${distance}`)}${unitDistance} ${Math.sin(parseFloat(`${value?.angle}`) * Math.PI / 180) * parseFloat(`${distance}`)}${unitDistance} ${value?.blur} ${styleAppliedFor === 'box-shadow' ? value?.spread + ' ' : ''}${colors.getSingleColorVariable(value?.color)}` : 'none'
|
|
31
31
|
};
|
|
32
32
|
};
|
|
33
33
|
const getStyleShadowState = (shadow, styleAppliedFor, isEnableShadow)=>{
|
|
@@ -42,24 +42,10 @@ const ShopifyFormsConfig = {
|
|
|
42
42
|
appId: '8744a304-fcb1-4347-b211-bb6b4759a76a'
|
|
43
43
|
}
|
|
44
44
|
};
|
|
45
|
-
const ReviewxpoProductReviewsAppConfig = {
|
|
46
|
-
ReviewxpoProductReviewsApp: {
|
|
47
|
-
appName: 'reviewxpo-product-reviews-app',
|
|
48
|
-
appId: '3e3d94fa-8b53-4134-942c-f7662dc9282f'
|
|
49
|
-
}
|
|
50
|
-
};
|
|
51
|
-
const PumperBundlesVolumeDiscountConfig = {
|
|
52
|
-
PumperBundlesVolumeDiscount: {
|
|
53
|
-
appName: 'Pumper Bundles Volume Discount',
|
|
54
|
-
appId: '0856870d-2aca-4b1e-a662-cf1797f61270'
|
|
55
|
-
}
|
|
56
|
-
};
|
|
57
45
|
|
|
58
46
|
exports.BonLoyaltyRewardsReferralsConfig = BonLoyaltyRewardsReferralsConfig;
|
|
59
47
|
exports.LoopSubscriptionsConfig = LoopSubscriptionsConfig;
|
|
60
|
-
exports.PumperBundlesVolumeDiscountConfig = PumperBundlesVolumeDiscountConfig;
|
|
61
48
|
exports.RechargeSubscriptionsConfig = RechargeSubscriptionsConfig;
|
|
62
|
-
exports.ReviewxpoProductReviewsAppConfig = ReviewxpoProductReviewsAppConfig;
|
|
63
49
|
exports.SelleasyConfig = SelleasyConfig;
|
|
64
50
|
exports.ShopifyFormsConfig = ShopifyFormsConfig;
|
|
65
51
|
exports.SkioSubscriptionsYcS20Config = SkioSubscriptionsYcS20Config;
|