@gem-sdk/core 1.48.0-dev.1 → 1.48.0-dev.102
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 +1 -0
- package/dist/cjs/components/InteractionSuffix.js +9 -1
- package/dist/cjs/components/Render.liquid.js +10 -11
- package/dist/cjs/graphql/fragments/product-little.generated.js +1 -0
- package/dist/cjs/graphql/fragments/published-theme-page.generated.js +8 -0
- package/dist/cjs/graphql-app-api/queries/ShopLibraryPage.generated.js +17 -0
- package/dist/cjs/helpers/animations.js +6 -6
- package/dist/cjs/helpers/background.js +1 -1
- package/dist/cjs/helpers/colors.js +2 -2
- package/dist/cjs/helpers/compose-advance-style.js +6 -3
- package/dist/cjs/helpers/interaction/index.js +66 -0
- package/dist/cjs/helpers/queries/get-product.js +1 -1
- package/dist/cjs/helpers/render.js +2 -0
- package/dist/cjs/helpers/shadow.js +15 -3
- package/dist/cjs/helpers/third-party/appConfig.js +77 -0
- package/dist/cjs/helpers/third-party/appSetting.js +115 -0
- package/dist/cjs/helpers/third-party/constant.js +12 -1
- package/dist/cjs/helpers/typography.js +19 -15
- package/dist/cjs/index.js +6 -0
- package/dist/cjs/types/animations.js +2 -0
- package/dist/cjs/types/custom.js +1 -0
- package/dist/esm/components/ComponentToolbarPreview.js +1 -0
- package/dist/esm/components/InteractionSuffix.js +10 -2
- package/dist/esm/components/Render.liquid.js +10 -11
- package/dist/esm/graphql/fragments/product-little.generated.js +1 -0
- package/dist/esm/graphql/fragments/published-theme-page.generated.js +8 -0
- package/dist/esm/graphql-app-api/queries/ShopLibraryPage.generated.js +15 -0
- package/dist/esm/helpers/animations.js +6 -6
- package/dist/esm/helpers/background.js +1 -1
- package/dist/esm/helpers/colors.js +2 -2
- package/dist/esm/helpers/compose-advance-style.js +7 -4
- package/dist/esm/helpers/interaction/index.js +64 -0
- package/dist/esm/helpers/queries/get-product.js +1 -1
- package/dist/esm/helpers/render.js +2 -0
- package/dist/esm/helpers/shadow.js +15 -4
- package/dist/esm/helpers/third-party/appConfig.js +67 -1
- package/dist/esm/helpers/third-party/appSetting.js +115 -0
- package/dist/esm/helpers/third-party/constant.js +13 -2
- package/dist/esm/helpers/typography.js +19 -16
- package/dist/esm/index.js +4 -2
- package/dist/esm/types/animations.js +2 -0
- package/dist/esm/types/custom.js +1 -0
- package/dist/types/index.d.ts +4922 -893
- package/package.json +3 -3
|
@@ -454,6 +454,7 @@ const ComponentToolbarPreview = (props)=>{
|
|
|
454
454
|
}
|
|
455
455
|
return /*#__PURE__*/ jsxRuntime.jsxs("div", {
|
|
456
456
|
"data-toolbar-parent": true,
|
|
457
|
+
"data-component-tag": parent.tag,
|
|
457
458
|
"data-parent-uid": parent.uid,
|
|
458
459
|
"data-toolbar-theme-section": isThemeSectionEditor,
|
|
459
460
|
"data-toolbar-parent-revert": isShowParentRevert,
|
|
@@ -14,10 +14,13 @@ require('react-transition-group');
|
|
|
14
14
|
require('@gem-sdk/core');
|
|
15
15
|
require('classnames');
|
|
16
16
|
require('dayjs');
|
|
17
|
+
var index = require('../helpers/interaction/index.js');
|
|
17
18
|
require('../helpers/convert.js');
|
|
18
19
|
|
|
19
20
|
const InteractionSuffix = ({ tag, uid })=>{
|
|
21
|
+
const { closeSelectOnPage } = index.useInteraction();
|
|
20
22
|
const currentInteraction = PageContext.usePageStore((s)=>s.interactionData?.item);
|
|
23
|
+
const isSelectOnPage = PageContext.usePageStore((s)=>s.interactionData?.isSelectOnPage);
|
|
21
24
|
const isCurrentInteractionTarget = react.useMemo(()=>{
|
|
22
25
|
return currentInteraction?.targets?.find((t)=>t.uid === uid);
|
|
23
26
|
}, [
|
|
@@ -46,10 +49,15 @@ const InteractionSuffix = ({ tag, uid })=>{
|
|
|
46
49
|
isCurrentInteractionTarget
|
|
47
50
|
]);
|
|
48
51
|
if (!isDisplay) {
|
|
49
|
-
return
|
|
52
|
+
return /*#__PURE__*/ jsxRuntime.jsx(jsxRuntime.Fragment, {});
|
|
50
53
|
}
|
|
51
54
|
return /*#__PURE__*/ jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
52
55
|
children: [
|
|
56
|
+
isSelectOnPage && /*#__PURE__*/ jsxRuntime.jsx("button", {
|
|
57
|
+
className: "gp-bg-[#F4F4F4] gp-px-2 gp-py-0.5 gp-rounded-lg gp-text-[#212121] gp-text-sm gp-font-medium gp-hidden interaction-use-element-btn",
|
|
58
|
+
onClick: closeSelectOnPage,
|
|
59
|
+
children: "Use element"
|
|
60
|
+
}),
|
|
53
61
|
/*#__PURE__*/ jsxRuntime.jsx("div", {
|
|
54
62
|
className: "hidden gp-left-[-40px] gp-left-[-80px] gp-right-[-40px] gp-right-[-80px]"
|
|
55
63
|
}),
|
|
@@ -76,8 +76,7 @@ const Render = ({ uid, builder, components, parentId, extraFiles = {}, pageConte
|
|
|
76
76
|
pageContext,
|
|
77
77
|
...passProps,
|
|
78
78
|
builderAttrs: {
|
|
79
|
-
...passProps.builderAttrs
|
|
80
|
-
'data-id': uid
|
|
79
|
+
...passProps.builderAttrs
|
|
81
80
|
},
|
|
82
81
|
rawChildren: item.childrens.map((id)=>{
|
|
83
82
|
return {
|
|
@@ -116,8 +115,7 @@ const Render = ({ uid, builder, components, parentId, extraFiles = {}, pageConte
|
|
|
116
115
|
pageContext,
|
|
117
116
|
...passProps,
|
|
118
117
|
builderAttrs: {
|
|
119
|
-
...passProps.builderAttrs
|
|
120
|
-
'data-id': uid
|
|
118
|
+
...passProps.builderAttrs
|
|
121
119
|
}
|
|
122
120
|
});
|
|
123
121
|
});
|
|
@@ -138,8 +136,7 @@ const Render = ({ uid, builder, components, parentId, extraFiles = {}, pageConte
|
|
|
138
136
|
pageContext,
|
|
139
137
|
...passProps,
|
|
140
138
|
builderAttrs: {
|
|
141
|
-
...passProps.builderAttrs
|
|
142
|
-
'data-id': uid
|
|
139
|
+
...passProps.builderAttrs
|
|
143
140
|
},
|
|
144
141
|
rawChildren: item.childrens.map((id)=>{
|
|
145
142
|
return {
|
|
@@ -179,8 +176,7 @@ const Render = ({ uid, builder, components, parentId, extraFiles = {}, pageConte
|
|
|
179
176
|
style: componentIconList.includes(item.tag) ? style : null,
|
|
180
177
|
...passProps,
|
|
181
178
|
builderAttrs: {
|
|
182
|
-
...passProps.builderAttrs
|
|
183
|
-
'data-id': uid
|
|
179
|
+
...passProps.builderAttrs
|
|
184
180
|
}
|
|
185
181
|
});
|
|
186
182
|
})}
|
|
@@ -219,7 +215,7 @@ const RenderCustomCode = (item)=>{
|
|
|
219
215
|
};
|
|
220
216
|
const appendAnimation = (props, liquid)=>{
|
|
221
217
|
const { advanced, tag } = props;
|
|
222
|
-
const { animation, op: opacity } = advanced ?? {};
|
|
218
|
+
const { animation, op: opacity, hasAnimationInteraction, displayInitInteraction = true } = advanced ?? {};
|
|
223
219
|
const getAnimationType = (settings, type)=>{
|
|
224
220
|
return settings?.triggerConfig?.[type]?.animation ?? 'none';
|
|
225
221
|
};
|
|
@@ -233,7 +229,9 @@ const appendAnimation = (props, liquid)=>{
|
|
|
233
229
|
const hoverDesktop = getAnimationType(getSettingsByDevice('desktop'), 'hover');
|
|
234
230
|
const appearTablet = getAnimationType(getSettingsByDevice('tablet'), 'appear');
|
|
235
231
|
const appearMobile = getAnimationType(getSettingsByDevice('mobile'), 'appear');
|
|
236
|
-
const enableAnimation = animation?.desktop?.enabled && (appearDesktop !== 'none' || hoverDesktop !== 'none') || animation?.tablet?.enabled && appearTablet !== 'none' || animation?.mobile?.enabled && appearMobile !== 'none';
|
|
232
|
+
const enableAnimation = animation?.desktop?.enabled && (appearDesktop !== 'none' || hoverDesktop !== 'none') || animation?.tablet?.enabled && appearTablet !== 'none' || animation?.mobile?.enabled && appearMobile !== 'none' || !!hasAnimationInteraction;
|
|
233
|
+
const enableAnimationWhenInit = animation?.desktop?.enabled && (appearDesktop !== 'none' || hoverDesktop !== 'none') || animation?.tablet?.enabled && appearTablet !== 'none' || animation?.mobile?.enabled && appearMobile !== 'none';
|
|
234
|
+
if (!enableAnimation) return liquid;
|
|
237
235
|
const getInitVisibility = (device)=>getSettingsByDevice(device)?.enabled && ![
|
|
238
236
|
'shake',
|
|
239
237
|
'none'
|
|
@@ -245,11 +243,12 @@ const appendAnimation = (props, liquid)=>{
|
|
|
245
243
|
};
|
|
246
244
|
return render.template`
|
|
247
245
|
<gp-animation
|
|
246
|
+
display-init="${!displayInitInteraction ? 'hide' : 'show'}"
|
|
248
247
|
gp-data='${JSON.stringify({
|
|
249
248
|
config: animation,
|
|
250
249
|
tag,
|
|
251
250
|
opacity,
|
|
252
|
-
|
|
251
|
+
notEnableAnimationWhenInit: !enableAnimationWhenInit
|
|
253
252
|
})}'
|
|
254
253
|
style="${{
|
|
255
254
|
display: 'contents'
|
|
@@ -28,6 +28,10 @@
|
|
|
28
28
|
themePageCustomFonts {
|
|
29
29
|
...CustomFontSelect
|
|
30
30
|
}
|
|
31
|
+
interaction {
|
|
32
|
+
id
|
|
33
|
+
value
|
|
34
|
+
}
|
|
31
35
|
}
|
|
32
36
|
`;
|
|
33
37
|
const PreviewThemePageSelect = `
|
|
@@ -55,6 +59,10 @@ const PreviewThemePageSelect = `
|
|
|
55
59
|
themePageCustomCode {
|
|
56
60
|
...CustomCodeSelect
|
|
57
61
|
}
|
|
62
|
+
interaction {
|
|
63
|
+
id
|
|
64
|
+
value
|
|
65
|
+
}
|
|
58
66
|
}
|
|
59
67
|
`;
|
|
60
68
|
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
/* eslint-disable */ const ShopLibraryPageDocument = `
|
|
4
|
+
query ShopLibraryPage($shopLibraryPageId: ID!) {
|
|
5
|
+
shopLibraryPage(id: $shopLibraryPageId) {
|
|
6
|
+
id
|
|
7
|
+
name
|
|
8
|
+
sectionPosition
|
|
9
|
+
shopLibrarySections {
|
|
10
|
+
id
|
|
11
|
+
component
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
`;
|
|
16
|
+
|
|
17
|
+
exports.ShopLibraryPageDocument = ShopLibraryPageDocument;
|
|
@@ -46,7 +46,7 @@ const animations = ()=>{
|
|
|
46
46
|
});
|
|
47
47
|
return cloneOptions;
|
|
48
48
|
};
|
|
49
|
-
const slide = (target, options)=>{
|
|
49
|
+
const slide = (target, options, reverse)=>{
|
|
50
50
|
const normalizedOptions = normalizeOptions(options);
|
|
51
51
|
const { direction, distance } = normalizedOptions;
|
|
52
52
|
const coordinate = [
|
|
@@ -67,11 +67,11 @@ const animations = ()=>{
|
|
|
67
67
|
transform: `translate${coordinate}(0)`
|
|
68
68
|
}
|
|
69
69
|
];
|
|
70
|
-
return generateAnimationInstance(target, preset, {
|
|
70
|
+
return generateAnimationInstance(target, reverse ? preset.reverse() : preset, {
|
|
71
71
|
...generateOptions(normalizedOptions, 500)
|
|
72
72
|
});
|
|
73
73
|
};
|
|
74
|
-
const fade = (target, options)=>{
|
|
74
|
+
const fade = (target, options, reverse)=>{
|
|
75
75
|
const normalizedOptions = normalizeOptions(options);
|
|
76
76
|
const preset = [
|
|
77
77
|
{
|
|
@@ -81,7 +81,7 @@ const animations = ()=>{
|
|
|
81
81
|
opacity: 1
|
|
82
82
|
}
|
|
83
83
|
];
|
|
84
|
-
return generateAnimationInstance(target, preset, {
|
|
84
|
+
return generateAnimationInstance(target, reverse ? preset.reverse() : preset, {
|
|
85
85
|
...generateOptions(normalizedOptions, 500)
|
|
86
86
|
});
|
|
87
87
|
};
|
|
@@ -101,7 +101,7 @@ const animations = ()=>{
|
|
|
101
101
|
easing: EASING[easing ?? 'linear']
|
|
102
102
|
};
|
|
103
103
|
};
|
|
104
|
-
const zoom = (target, options)=>{
|
|
104
|
+
const zoom = (target, options, reverse)=>{
|
|
105
105
|
const normalizedOptions = normalizeOptions(options);
|
|
106
106
|
const { scale, zoomDirection, isFade } = normalizedOptions;
|
|
107
107
|
const [i1, i2] = scale.in;
|
|
@@ -127,7 +127,7 @@ const animations = ()=>{
|
|
|
127
127
|
}
|
|
128
128
|
];
|
|
129
129
|
const zoomPreset = zoomDirection === 'in' ? zoomInPreset : zoomOutPreset;
|
|
130
|
-
return generateAnimationInstance(target, zoomPreset, {
|
|
130
|
+
return generateAnimationInstance(target, reverse ? zoomPreset.reverse() : zoomPreset, {
|
|
131
131
|
...generateOptions(normalizedOptions, 700)
|
|
132
132
|
});
|
|
133
133
|
};
|
|
@@ -121,7 +121,7 @@ const getBgAttachmentByDevice = (background, device)=>{
|
|
|
121
121
|
return background?.[device]?.attachment;
|
|
122
122
|
};
|
|
123
123
|
const composeBackgroundCss = (backgroundColor)=>{
|
|
124
|
-
return `${backgroundColor ? `background-color: ${colors.getSingleColorVariable(backgroundColor)}
|
|
124
|
+
return `${backgroundColor ? `background-color: ${colors.getSingleColorVariable(backgroundColor)};` : undefined}`;
|
|
125
125
|
};
|
|
126
126
|
const makeFixedBgAttachment = (background)=>{
|
|
127
127
|
if (!background) return;
|
|
@@ -114,9 +114,9 @@ const getGlobalColorResponsiveStyle = (type, data)=>{
|
|
|
114
114
|
}
|
|
115
115
|
}));
|
|
116
116
|
};
|
|
117
|
-
const getGlobalColorStateStyle = (type, data)=>{
|
|
117
|
+
const getGlobalColorStateStyle = (type, data, states)=>{
|
|
118
118
|
if (!data) return {};
|
|
119
|
-
return Object.fromEntries(Object.entries(data).map(([state, value])=>{
|
|
119
|
+
return Object.fromEntries(Object.entries(data).filter(([state])=>states?.length ? states?.includes(state) : true).map(([state, value])=>{
|
|
120
120
|
if (state === 'active') return [];
|
|
121
121
|
return [
|
|
122
122
|
`-${constant.stateMapping?.[state] || ''}-${type}`,
|
|
@@ -101,6 +101,9 @@ function composeAdvanceStyle(data, tag, pageType) {
|
|
|
101
101
|
if (attr === 'rounded') {
|
|
102
102
|
Object.assign(styles, radius.composeRadius(value));
|
|
103
103
|
}
|
|
104
|
+
if (attr === 'boxShadow') {
|
|
105
|
+
Object.assign(styles, shadow.getResonsiveStyleShadow(value, 'box-shadow', hasBoxShadow));
|
|
106
|
+
}
|
|
104
107
|
if (composeAttr === 'desktop') {
|
|
105
108
|
switch(attr){
|
|
106
109
|
case 'padding':
|
|
@@ -215,20 +218,20 @@ function composeAdvanceStyle(data, tag, pageType) {
|
|
|
215
218
|
}));
|
|
216
219
|
}
|
|
217
220
|
}
|
|
218
|
-
if (attr === 'blockPadding' && pageType ===
|
|
221
|
+
if (attr === 'blockPadding' && pageType === 'POST_PURCHASE') {
|
|
219
222
|
const valueMapped = postPurchasePaddingMapping[value];
|
|
220
223
|
styles[`--pb`] = getAttrValue(attr, valueMapped, tag);
|
|
221
224
|
styles[`--pt`] = getAttrValue(attr, valueMapped, tag);
|
|
222
225
|
styles[`--mb`] = '0px';
|
|
223
226
|
styles[`--mt`] = '0px';
|
|
224
227
|
}
|
|
225
|
-
if (attr === 'inlinePadding' && pageType ===
|
|
228
|
+
if (attr === 'inlinePadding' && pageType === 'POST_PURCHASE') {
|
|
226
229
|
const valueMapped = postPurchasePaddingMapping[value];
|
|
227
230
|
styles[`--pl`] = getAttrValue(attr, valueMapped, tag);
|
|
228
231
|
styles[`--pr`] = getAttrValue(attr, valueMapped, tag);
|
|
229
232
|
}
|
|
230
233
|
});
|
|
231
|
-
const advancedPostPurchaseStyles = pageType ===
|
|
234
|
+
const advancedPostPurchaseStyles = pageType === 'POST_PURCHASE' ? composeAdvanceStyleForPostPurchase(data, tag) : {};
|
|
232
235
|
return {
|
|
233
236
|
...styles,
|
|
234
237
|
...advancedPostPurchaseStyles
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
require('react/jsx-runtime');
|
|
4
|
+
require('zustand');
|
|
5
|
+
require('react');
|
|
6
|
+
require('swr');
|
|
7
|
+
var PageContext = require('../../contexts/PageContext.js');
|
|
8
|
+
require('@gem-sdk/adapter-shopify');
|
|
9
|
+
require('swr/mutation');
|
|
10
|
+
require('swr/infinite');
|
|
11
|
+
require('vanilla-lazyload');
|
|
12
|
+
require('../../hooks/useCartUI.js');
|
|
13
|
+
require('react-transition-group');
|
|
14
|
+
require('@gem-sdk/core');
|
|
15
|
+
require('classnames');
|
|
16
|
+
require('dayjs');
|
|
17
|
+
require('../convert.js');
|
|
18
|
+
|
|
19
|
+
const useInteraction = ()=>{
|
|
20
|
+
const setInteractionIsSelectOnPage = PageContext.usePageStore((s)=>s.setInteractionIsSelectOnPage);
|
|
21
|
+
const onListener = ({ event, selector }, callback)=>{
|
|
22
|
+
const element = document.querySelector(selector);
|
|
23
|
+
if (!element) return;
|
|
24
|
+
element.addEventListener(event, (e)=>{
|
|
25
|
+
const event = e;
|
|
26
|
+
const params = event.detail;
|
|
27
|
+
if (callback) callback(params);
|
|
28
|
+
});
|
|
29
|
+
};
|
|
30
|
+
const trigger = ({ event, data, selector })=>{
|
|
31
|
+
const element = document.querySelector(selector);
|
|
32
|
+
if (!element) return;
|
|
33
|
+
const eventDispatch = new CustomEvent(event, {
|
|
34
|
+
bubbles: false,
|
|
35
|
+
cancelable: true,
|
|
36
|
+
detail: {
|
|
37
|
+
data
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
element.dispatchEvent(eventDispatch);
|
|
41
|
+
};
|
|
42
|
+
const saveToElementInteractionData = (element, key, value)=>{
|
|
43
|
+
const interactionData = element.getAttribute('gp-data-interaction');
|
|
44
|
+
const interactionDataJson = JSON.parse(interactionData || '{}');
|
|
45
|
+
element.setAttribute('gp-data-interaction', JSON.stringify({
|
|
46
|
+
...interactionDataJson,
|
|
47
|
+
[key]: value
|
|
48
|
+
}));
|
|
49
|
+
};
|
|
50
|
+
const closeSelectOnPage = ()=>{
|
|
51
|
+
setInteractionIsSelectOnPage(false);
|
|
52
|
+
const event = new CustomEvent('editor:interaction:change-select-on-page', {
|
|
53
|
+
bubbles: true,
|
|
54
|
+
detail: false
|
|
55
|
+
});
|
|
56
|
+
window.dispatchEvent(event);
|
|
57
|
+
};
|
|
58
|
+
return {
|
|
59
|
+
onListener,
|
|
60
|
+
trigger,
|
|
61
|
+
saveToElementInteractionData,
|
|
62
|
+
closeSelectOnPage
|
|
63
|
+
};
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
exports.useInteraction = useInteraction;
|
|
@@ -36,7 +36,7 @@ const getProduct = async (fetcher, { id, isSample, isStorefront })=>{
|
|
|
36
36
|
};
|
|
37
37
|
};
|
|
38
38
|
const orderBy = {
|
|
39
|
-
field: '
|
|
39
|
+
field: 'PLATFORM_CREATED_AT',
|
|
40
40
|
direction: 'DESC'
|
|
41
41
|
};
|
|
42
42
|
const fetchProduct = async (fetcher, { id, isSample, isStorefront })=>{
|
|
@@ -27,10 +27,10 @@ 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] || '' : ''}-${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'
|
|
30
|
+
[`-${!isActiveState ? constant.stateMapping?.[state] || '' : ''}-${getShortname.getShortName(styleAppliedFor)}${shadowStyle.screen ? `-${shadowStyle.screen}` : ''}`]: 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
|
-
const getStyleShadowState = (shadow, styleAppliedFor, isEnableShadow)=>{
|
|
33
|
+
const getStyleShadowState = (shadow, styleAppliedFor, isEnableShadow, screen)=>{
|
|
34
34
|
if (!shadow || !styleAppliedFor) return {};
|
|
35
35
|
const style = {};
|
|
36
36
|
for (const [key, value] of Object.entries(shadow)){
|
|
@@ -38,11 +38,22 @@ const getStyleShadowState = (shadow, styleAppliedFor, isEnableShadow)=>{
|
|
|
38
38
|
value: value,
|
|
39
39
|
state: key,
|
|
40
40
|
styleAppliedFor,
|
|
41
|
-
isEnableShadow: isEnableShadow?.[key]
|
|
41
|
+
isEnableShadow: isEnableShadow?.[key],
|
|
42
|
+
screen: screen ?? ''
|
|
42
43
|
}));
|
|
43
44
|
}
|
|
44
45
|
return style;
|
|
45
46
|
};
|
|
47
|
+
const getResonsiveStyleShadow = (value, styleAppliedFor, isEnableShadow)=>{
|
|
48
|
+
if (!value) return undefined;
|
|
49
|
+
if ('desktop' in value || 'tablet' in value || 'mobile' in value) {
|
|
50
|
+
return {
|
|
51
|
+
...getStyleShadowState(value.desktop, styleAppliedFor, isEnableShadow.desktop),
|
|
52
|
+
...value.tablet && (isEnableShadow.tablet ?? isEnableShadow.desktop) ? getStyleShadowState(value.tablet, styleAppliedFor, isEnableShadow.tablet ?? isEnableShadow.desktop, 'tablet') : undefined,
|
|
53
|
+
...value.mobile && (isEnableShadow.mobile ?? isEnableShadow.tablet ?? isEnableShadow.desktop) ? getStyleShadowState(value.mobile, styleAppliedFor, isEnableShadow.mobile ?? isEnableShadow.tablet ?? isEnableShadow.desktop, 'mobile') : undefined
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
};
|
|
46
57
|
const composeShadowCss = ({ hasBoxShadow, boxShadowValue, important })=>{
|
|
47
58
|
if (!hasBoxShadow) return undefined;
|
|
48
59
|
if (!boxShadowValue) return undefined;
|
|
@@ -52,6 +63,7 @@ const composeShadowCss = ({ hasBoxShadow, boxShadowValue, important })=>{
|
|
|
52
63
|
};
|
|
53
64
|
|
|
54
65
|
exports.composeShadowCss = composeShadowCss;
|
|
66
|
+
exports.getResonsiveStyleShadow = getResonsiveStyleShadow;
|
|
55
67
|
exports.getStyleShadow = getStyleShadow;
|
|
56
68
|
exports.getStyleShadowState = getStyleShadowState;
|
|
57
69
|
exports.parseValueWithUnit = parseValueWithUnit;
|
|
@@ -54,13 +54,90 @@ const PumperBundlesVolumeDiscountConfig = {
|
|
|
54
54
|
appId: '0856870d-2aca-4b1e-a662-cf1797f61270'
|
|
55
55
|
}
|
|
56
56
|
};
|
|
57
|
+
const UnlimitedBundlesDiscountsConfig = {
|
|
58
|
+
UnlimitedBundlesDiscounts: {
|
|
59
|
+
appName: 'unlimited-bundles',
|
|
60
|
+
appId: 'd33d0f48-dee0-42a0-b156-2a5dce91814a'
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
const KiteFreeGiftDiscountConfig = {
|
|
64
|
+
KiteFreeGiftDiscount: {
|
|
65
|
+
appName: 'kite-free-gift-discounts',
|
|
66
|
+
appId: '2c7302c4-455d-4078-a829-48563ba26089'
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
const FastBundleBundlesDiscountsConfig = {
|
|
70
|
+
FastBundleBundlesDiscounts: {
|
|
71
|
+
appName: 'fast-bundle',
|
|
72
|
+
appId: '9e87fbe2-9041-4c23-acf5-322413994cef'
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
const SimpleBundlesKitsConfig = {
|
|
76
|
+
SimpleBundlesKits: {
|
|
77
|
+
appName: 'simple-bundles-kits',
|
|
78
|
+
appId: 'e553276b-36b2-446d-b80a-aa47fe5f96ac'
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
const EasyBundleBuilderSkailamaConfig = {
|
|
82
|
+
EasyBundleBuilderSkailama: {
|
|
83
|
+
appName: 'easy-bundles',
|
|
84
|
+
appId: '05b1325c-6303-4da5-8e2f-b13ab2a50e1a'
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
const AssortionUpsellBundlesConfig = {
|
|
88
|
+
AssortionUpsellBundles: {
|
|
89
|
+
appName: 'assortion',
|
|
90
|
+
appId: '5588d7f9-a5bc-4f4a-9c54-39b7e081dd23'
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
const PreorderNowPreOrderPqConfig = {
|
|
94
|
+
PreorderNowPreOrderPq: {
|
|
95
|
+
appName: 'preorder-now-pre-order-pq',
|
|
96
|
+
appId: '551fab2c-3af6-4a8f-ba21-736a71cb4540'
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
const KPreorderNowPartialPaymentConfig = {
|
|
100
|
+
KPreorderNowPartialPayment: {
|
|
101
|
+
appName: 'k-preorder-now-partial-payment',
|
|
102
|
+
appId: '65705a60-a3b0-43ae-9dc8-15db78d76b3b'
|
|
103
|
+
}
|
|
104
|
+
};
|
|
105
|
+
const FlyBundlesUpsellsFbtConfig = {
|
|
106
|
+
FlyBundlesUpsellsFbt: {
|
|
107
|
+
appName: 'fly-bundles-upsell',
|
|
108
|
+
appId: '26807bdc-c2ed-4a25-afb2-06e6b1ebf843'
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
const PreorderNowWodPresaleConfig = {
|
|
112
|
+
PreorderNowWodPresale: {
|
|
113
|
+
appName: 'preorder-now-wod-presale',
|
|
114
|
+
appId: 'fdf17d17-ef12-4a7b-8383-20cc1fc2a4b6'
|
|
115
|
+
}
|
|
116
|
+
};
|
|
117
|
+
const JunipProductReviewsUgcConfig = {
|
|
118
|
+
JunipProductReviewsUgc: {
|
|
119
|
+
appName: 'junip-product-reviews-ugc',
|
|
120
|
+
appId: 'dc14f5a8-ed15-41b1-ad08-cfba23f9789b'
|
|
121
|
+
}
|
|
122
|
+
};
|
|
57
123
|
|
|
124
|
+
exports.AssortionUpsellBundlesConfig = AssortionUpsellBundlesConfig;
|
|
58
125
|
exports.BonLoyaltyRewardsReferralsConfig = BonLoyaltyRewardsReferralsConfig;
|
|
126
|
+
exports.EasyBundleBuilderSkailamaConfig = EasyBundleBuilderSkailamaConfig;
|
|
127
|
+
exports.FastBundleBundlesDiscountsConfig = FastBundleBundlesDiscountsConfig;
|
|
128
|
+
exports.FlyBundlesUpsellsFbtConfig = FlyBundlesUpsellsFbtConfig;
|
|
129
|
+
exports.JunipProductReviewsUgcConfig = JunipProductReviewsUgcConfig;
|
|
130
|
+
exports.KPreorderNowPartialPaymentConfig = KPreorderNowPartialPaymentConfig;
|
|
131
|
+
exports.KiteFreeGiftDiscountConfig = KiteFreeGiftDiscountConfig;
|
|
59
132
|
exports.LoopSubscriptionsConfig = LoopSubscriptionsConfig;
|
|
133
|
+
exports.PreorderNowPreOrderPqConfig = PreorderNowPreOrderPqConfig;
|
|
134
|
+
exports.PreorderNowWodPresaleConfig = PreorderNowWodPresaleConfig;
|
|
60
135
|
exports.PumperBundlesVolumeDiscountConfig = PumperBundlesVolumeDiscountConfig;
|
|
61
136
|
exports.RechargeSubscriptionsConfig = RechargeSubscriptionsConfig;
|
|
62
137
|
exports.ReviewxpoProductReviewsAppConfig = ReviewxpoProductReviewsAppConfig;
|
|
63
138
|
exports.SelleasyConfig = SelleasyConfig;
|
|
64
139
|
exports.ShopifyFormsConfig = ShopifyFormsConfig;
|
|
140
|
+
exports.SimpleBundlesKitsConfig = SimpleBundlesKitsConfig;
|
|
65
141
|
exports.SkioSubscriptionsYcS20Config = SkioSubscriptionsYcS20Config;
|
|
66
142
|
exports.SubifySubscriptionsConfig = SubifySubscriptionsConfig;
|
|
143
|
+
exports.UnlimitedBundlesDiscountsConfig = UnlimitedBundlesDiscountsConfig;
|
|
@@ -81,6 +81,13 @@ const overrideSettings = (tag, currentSetting, appSetting)=>{
|
|
|
81
81
|
...currentSetting,
|
|
82
82
|
form_id: appSetting['formId']
|
|
83
83
|
};
|
|
84
|
+
case 'FlyBundlesUpsellsFbt':
|
|
85
|
+
{
|
|
86
|
+
return {
|
|
87
|
+
...currentSetting,
|
|
88
|
+
bundle_id: appSetting?.['customBundleId']
|
|
89
|
+
};
|
|
90
|
+
}
|
|
84
91
|
default:
|
|
85
92
|
return currentSetting;
|
|
86
93
|
}
|
|
@@ -105,7 +112,115 @@ const PumperBundlesVolumeDiscount = {
|
|
|
105
112
|
}
|
|
106
113
|
}
|
|
107
114
|
};
|
|
115
|
+
const UnlimitedBundlesDiscounts = {
|
|
116
|
+
UnlimitedBundlesDiscounts: {
|
|
117
|
+
'product-page-placeholder': null
|
|
118
|
+
}
|
|
119
|
+
};
|
|
120
|
+
const KiteFreeGiftDiscount = {
|
|
121
|
+
KiteFreeGiftDiscount: {
|
|
122
|
+
'app-block': null
|
|
123
|
+
}
|
|
124
|
+
};
|
|
125
|
+
const FastBundleBundlesDiscounts = {
|
|
126
|
+
FastBundleBundlesDiscounts: {
|
|
127
|
+
all_bundles: null,
|
|
128
|
+
fbt_position: null,
|
|
129
|
+
product_bundles: null,
|
|
130
|
+
product_bundle_with_ids: null,
|
|
131
|
+
volume_position: null
|
|
132
|
+
}
|
|
133
|
+
};
|
|
134
|
+
const SimpleBundlesKits = {
|
|
135
|
+
SimpleBundlesKits: {
|
|
136
|
+
'infinite-options-selector': null
|
|
137
|
+
}
|
|
138
|
+
};
|
|
139
|
+
const EasyBundleBuilderSkailama = {
|
|
140
|
+
EasyBundleBuilderSkailama: {
|
|
141
|
+
'app-block-bundlePage': null
|
|
142
|
+
}
|
|
143
|
+
};
|
|
144
|
+
const AssortionUpsellBundles = {
|
|
145
|
+
AssortionUpsellBundles: {
|
|
146
|
+
volume: null,
|
|
147
|
+
bundle: null,
|
|
148
|
+
addon: null
|
|
149
|
+
}
|
|
150
|
+
};
|
|
151
|
+
const PreorderNowPreOrderPq = {
|
|
152
|
+
PreorderNowPreOrderPq: {
|
|
153
|
+
'app-block-notifyapp-block-notify': null,
|
|
154
|
+
'app-block-partial': null,
|
|
155
|
+
'app-block-timer': null,
|
|
156
|
+
'app-block': null
|
|
157
|
+
}
|
|
158
|
+
};
|
|
159
|
+
const KPreorderNowPartialPayment = {
|
|
160
|
+
KPreorderNowPartialPayment: {
|
|
161
|
+
'kaktus-bundle': null
|
|
162
|
+
}
|
|
163
|
+
};
|
|
164
|
+
const FlyBundlesUpsellsFbt = {
|
|
165
|
+
FlyBundlesUpsellsFbt: {
|
|
166
|
+
'app-block-volume': null,
|
|
167
|
+
'app-block-upsell-block': null,
|
|
168
|
+
'app-block-fbt': null,
|
|
169
|
+
'app-block-custom': {
|
|
170
|
+
bundle_id: ''
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
};
|
|
174
|
+
const PreorderNowWodPresale = {
|
|
175
|
+
PreorderNowWodPresale: {
|
|
176
|
+
'app-block': null,
|
|
177
|
+
'popups-block': null
|
|
178
|
+
}
|
|
179
|
+
};
|
|
180
|
+
const JunipProductReviewsUgc = {
|
|
181
|
+
JunipProductReviewsUgc: {
|
|
182
|
+
'junip-review-carousel': {
|
|
183
|
+
reviewsType: 'product_reviews',
|
|
184
|
+
showSummary: true,
|
|
185
|
+
title: 'Reviews',
|
|
186
|
+
paddingTop: 48,
|
|
187
|
+
paddingBottom: 48,
|
|
188
|
+
containerClass: ''
|
|
189
|
+
},
|
|
190
|
+
'junip-ugc-gallery': {
|
|
191
|
+
layout: 'scroll',
|
|
192
|
+
title: '',
|
|
193
|
+
paddingTop: 48,
|
|
194
|
+
paddingBottom: 48,
|
|
195
|
+
containerClass: ''
|
|
196
|
+
},
|
|
197
|
+
'junip-product-review': {
|
|
198
|
+
product: '{{product}}'
|
|
199
|
+
},
|
|
200
|
+
'junip-product-summary': {
|
|
201
|
+
product: '{{product}}'
|
|
202
|
+
},
|
|
203
|
+
'junip-reviews': {
|
|
204
|
+
layout: 'list',
|
|
205
|
+
reviewsType: 'all',
|
|
206
|
+
showSummary: true,
|
|
207
|
+
reviewsCount: 10,
|
|
208
|
+
containerClass: ''
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
};
|
|
108
212
|
const composeSettingsByWidgetType = {
|
|
213
|
+
...JunipProductReviewsUgc,
|
|
214
|
+
...FlyBundlesUpsellsFbt,
|
|
215
|
+
...PreorderNowWodPresale,
|
|
216
|
+
...KPreorderNowPartialPayment,
|
|
217
|
+
...PreorderNowPreOrderPq,
|
|
218
|
+
...AssortionUpsellBundles,
|
|
219
|
+
...EasyBundleBuilderSkailama,
|
|
220
|
+
...FastBundleBundlesDiscounts,
|
|
221
|
+
...KiteFreeGiftDiscount,
|
|
222
|
+
...UnlimitedBundlesDiscounts,
|
|
223
|
+
...SimpleBundlesKits,
|
|
109
224
|
...PumperBundlesVolumeDiscount,
|
|
110
225
|
...ReviewxpoProductReviewsApp,
|
|
111
226
|
...ShopifyForms,
|
|
@@ -11,7 +11,18 @@ const mapShopifyAppMeta = {
|
|
|
11
11
|
...appConfig.SkioSubscriptionsYcS20Config,
|
|
12
12
|
...appConfig.ShopifyFormsConfig,
|
|
13
13
|
...appConfig.ReviewxpoProductReviewsAppConfig,
|
|
14
|
-
...appConfig.PumperBundlesVolumeDiscountConfig
|
|
14
|
+
...appConfig.PumperBundlesVolumeDiscountConfig,
|
|
15
|
+
...appConfig.UnlimitedBundlesDiscountsConfig,
|
|
16
|
+
...appConfig.KiteFreeGiftDiscountConfig,
|
|
17
|
+
...appConfig.FastBundleBundlesDiscountsConfig,
|
|
18
|
+
...appConfig.SimpleBundlesKitsConfig,
|
|
19
|
+
...appConfig.EasyBundleBuilderSkailamaConfig,
|
|
20
|
+
...appConfig.AssortionUpsellBundlesConfig,
|
|
21
|
+
...appConfig.PreorderNowPreOrderPqConfig,
|
|
22
|
+
...appConfig.KPreorderNowPartialPaymentConfig,
|
|
23
|
+
...appConfig.FlyBundlesUpsellsFbtConfig,
|
|
24
|
+
...appConfig.PreorderNowWodPresaleConfig,
|
|
25
|
+
...appConfig.JunipProductReviewsUgcConfig
|
|
15
26
|
};
|
|
16
27
|
const THIRD_PARTY_APP_BLOCK_ID_PREFIX = 'gp_app';
|
|
17
28
|
|