@gem-sdk/core 1.44.0-dev.72 → 1.44.0-dev.76
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 +5 -1
- package/dist/cjs/components/ComponentWrapperPreview.js +16 -2
- package/dist/cjs/components/InteractionSuffix.js +107 -0
- package/dist/cjs/components/Render.liquid.js +2 -3
- package/dist/cjs/contexts/PageContext.js +29 -1
- package/dist/cjs/hooks/animation/useAnimationPreview.js +1 -0
- package/dist/cjs/hooks/animation/useApplyAnimation.js +2 -0
- package/dist/cjs/hooks/useInteraction.js +19 -0
- package/dist/cjs/index.js +9 -0
- package/dist/cjs/types/custom.js +44 -0
- package/dist/esm/components/ComponentToolbarPreview.js +5 -1
- package/dist/esm/components/ComponentWrapperPreview.js +16 -2
- package/dist/esm/components/InteractionSuffix.js +105 -0
- package/dist/esm/components/Render.liquid.js +2 -3
- package/dist/esm/contexts/PageContext.js +29 -1
- package/dist/esm/hooks/animation/useAnimationPreview.js +1 -0
- package/dist/esm/hooks/animation/useApplyAnimation.js +2 -0
- package/dist/esm/hooks/useInteraction.js +17 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/types/custom.js +44 -0
- package/dist/types/index.d.ts +123 -1
- package/package.json +2 -2
|
@@ -21,6 +21,7 @@ var useToolbarPostPurchase = require('../hooks/useToolbarPostPurchase.js');
|
|
|
21
21
|
var constant = require('./constant.js');
|
|
22
22
|
var AIContentGenerator = require('./ai-generator/AIContentGenerator.js');
|
|
23
23
|
var AIGenContentLoading = require('./ai-generator/AIGenContentLoading.js');
|
|
24
|
+
var InteractionSuffix = require('./InteractionSuffix.js');
|
|
24
25
|
require('../helpers/convert.js');
|
|
25
26
|
|
|
26
27
|
const SECTION_LIMIT = 25;
|
|
@@ -329,7 +330,6 @@ const ComponentToolbarPreview = (props)=>{
|
|
|
329
330
|
const isEnableCreateThemeSection = ()=>{
|
|
330
331
|
return editingPageType !== 'STATIC' && editingPageType !== 'POST_PURCHASE';
|
|
331
332
|
};
|
|
332
|
-
// if (!isActive) return null;
|
|
333
333
|
return /*#__PURE__*/ jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
334
334
|
children: [
|
|
335
335
|
!(props.tag == 'Section' && isThemeSectionEditor) && /*#__PURE__*/ jsxRuntime.jsxs("div", {
|
|
@@ -594,6 +594,10 @@ const ComponentToolbarPreview = (props)=>{
|
|
|
594
594
|
fill: "currentColor"
|
|
595
595
|
})
|
|
596
596
|
})
|
|
597
|
+
}),
|
|
598
|
+
/*#__PURE__*/ jsxRuntime.jsx(InteractionSuffix.InteractionSuffix, {
|
|
599
|
+
tag: props.tag,
|
|
600
|
+
uid: props.uid
|
|
597
601
|
})
|
|
598
602
|
]
|
|
599
603
|
}, props.uid),
|
|
@@ -5,6 +5,7 @@ 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');
|
|
8
9
|
var constant = require('./constant.js');
|
|
9
10
|
var RenderCustomCode = require('./RenderCustomCode.js');
|
|
10
11
|
var ComponentToolbarPreview = require('./ComponentToolbarPreview.js');
|
|
@@ -32,6 +33,19 @@ const ComponentWrapperPreview = ({ children, ...props })=>{
|
|
|
32
33
|
}, [
|
|
33
34
|
props.uid
|
|
34
35
|
]);
|
|
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
|
+
}
|
|
35
49
|
const pageType = shop.usePageType();
|
|
36
50
|
if (props.type === 'section') {
|
|
37
51
|
return null;
|
|
@@ -136,7 +150,7 @@ const ComponentWrapperPreview = ({ children, ...props })=>{
|
|
|
136
150
|
return /*#__PURE__*/ jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
137
151
|
children: [
|
|
138
152
|
/*#__PURE__*/ jsxRuntime.jsx(ComponentAnimation.default, {
|
|
139
|
-
...
|
|
153
|
+
...currentProps
|
|
140
154
|
}),
|
|
141
155
|
/*#__PURE__*/ jsxRuntime.jsx(RenderCustomCode.default, {
|
|
142
156
|
uid: props.uid,
|
|
@@ -165,7 +179,7 @@ const ComponentWrapperPreview = ({ children, ...props })=>{
|
|
|
165
179
|
return /*#__PURE__*/ jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
166
180
|
children: [
|
|
167
181
|
/*#__PURE__*/ jsxRuntime.jsx(ComponentAnimation.default, {
|
|
168
|
-
...
|
|
182
|
+
...currentProps
|
|
169
183
|
}),
|
|
170
184
|
/*#__PURE__*/ jsxRuntime.jsx(RenderCustomCode.default, {
|
|
171
185
|
uid: props.uid,
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var react = require('react');
|
|
5
|
+
require('zustand');
|
|
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('../helpers/convert.js');
|
|
18
|
+
|
|
19
|
+
const InteractionSuffix = ({ tag, uid })=>{
|
|
20
|
+
const currentInteraction = PageContext.usePageStore((s)=>s.interactionData?.item);
|
|
21
|
+
const isCurrentInteractionTarget = react.useMemo(()=>{
|
|
22
|
+
return currentInteraction?.targets?.find((t)=>t.uid === uid);
|
|
23
|
+
}, [
|
|
24
|
+
currentInteraction,
|
|
25
|
+
uid
|
|
26
|
+
]);
|
|
27
|
+
const isCurrentInteractionTrigger = react.useMemo(()=>{
|
|
28
|
+
return currentInteraction?.self?.uid === uid;
|
|
29
|
+
}, [
|
|
30
|
+
currentInteraction,
|
|
31
|
+
uid
|
|
32
|
+
]);
|
|
33
|
+
const isDisplay = react.useMemo(()=>{
|
|
34
|
+
return isCurrentInteractionTarget || isCurrentInteractionTrigger;
|
|
35
|
+
}, [
|
|
36
|
+
isCurrentInteractionTarget,
|
|
37
|
+
isCurrentInteractionTrigger
|
|
38
|
+
]);
|
|
39
|
+
const positionOffset = react.useMemo(()=>{
|
|
40
|
+
if (isCurrentInteractionTrigger && isCurrentInteractionTarget) {
|
|
41
|
+
return 80;
|
|
42
|
+
}
|
|
43
|
+
return 40;
|
|
44
|
+
}, [
|
|
45
|
+
isCurrentInteractionTrigger,
|
|
46
|
+
isCurrentInteractionTarget
|
|
47
|
+
]);
|
|
48
|
+
if (!isDisplay) {
|
|
49
|
+
return undefined;
|
|
50
|
+
}
|
|
51
|
+
return /*#__PURE__*/ jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
52
|
+
children: [
|
|
53
|
+
/*#__PURE__*/ jsxRuntime.jsx("div", {
|
|
54
|
+
className: "hidden gp-left-[-40px] gp-left-[-80px] gp-right-[-40px] gp-right-[-80px]"
|
|
55
|
+
}),
|
|
56
|
+
/*#__PURE__*/ jsxRuntime.jsxs("div", {
|
|
57
|
+
className: `gp-hidden gp-absolute interaction-suffix gp-gap-[8px] ${tag == 'Section' ? `gp-left-[-${positionOffset}px]` : `gp-right-[-${positionOffset}px]`}`,
|
|
58
|
+
children: [
|
|
59
|
+
isCurrentInteractionTrigger && /*#__PURE__*/ jsxRuntime.jsx("div", {
|
|
60
|
+
className: `gp-h-8 gp-rounded-[8px] gp-w-8 gp-bg-[#212121] gp-flex gp-justify-center gp-items-center `,
|
|
61
|
+
children: /*#__PURE__*/ jsxRuntime.jsx("svg", {
|
|
62
|
+
width: "16",
|
|
63
|
+
height: "16",
|
|
64
|
+
viewBox: "0 0 16 16",
|
|
65
|
+
fill: "none",
|
|
66
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
67
|
+
children: /*#__PURE__*/ jsxRuntime.jsx("path", {
|
|
68
|
+
fillRule: "evenodd",
|
|
69
|
+
clipRule: "evenodd",
|
|
70
|
+
d: "M12.9196 5.80449C13.0989 5.80449 13.1876 6.02216 13.0595 6.14749L4.83569 14.1892C4.69517 14.3267 4.46149 14.2002 4.49967 14.0074L5.50422 8.93537C5.53483 8.7808 5.41656 8.6368 5.25898 8.6368H3.08019C2.92551 8.6368 2.82938 8.46874 2.90779 8.33541L6.72099 1.85154C6.75692 1.79045 6.8225 1.75293 6.89338 1.75293H12.5729C12.7386 1.75293 12.8324 1.94273 12.7319 2.07435L10.1891 5.40272C10.0634 5.56724 10.1807 5.80449 10.3877 5.80449H12.9196Z",
|
|
71
|
+
fill: "#F9F9F9"
|
|
72
|
+
})
|
|
73
|
+
})
|
|
74
|
+
}),
|
|
75
|
+
isCurrentInteractionTarget && /*#__PURE__*/ jsxRuntime.jsx("div", {
|
|
76
|
+
className: `gp-h-8 min-w-8 gp-rounded-[8px] gp-w-8 gp-bg-[#212121] gp-flex gp-justify-center gp-items-center`,
|
|
77
|
+
children: /*#__PURE__*/ jsxRuntime.jsxs("svg", {
|
|
78
|
+
width: "16",
|
|
79
|
+
height: "16",
|
|
80
|
+
viewBox: "0 0 16 16",
|
|
81
|
+
fill: "none",
|
|
82
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
83
|
+
children: [
|
|
84
|
+
/*#__PURE__*/ jsxRuntime.jsx("path", {
|
|
85
|
+
d: "M8.58987 2.11238C8.62815 2.66333 8.21254 3.141 7.66158 3.17928C6.73192 3.24386 5.84034 3.57396 5.09276 4.13034C4.34519 4.68673 3.77304 5.44602 3.44429 6.31801C3.11554 7.19 3.04401 8.13803 3.23821 9.04947C3.4324 9.96092 3.88415 10.7975 4.53978 11.4597C5.19541 12.122 6.02737 12.5821 6.93682 12.7854C7.84626 12.9888 8.79496 12.9268 9.67021 12.6068C10.5455 12.2869 11.3105 11.7224 11.8743 10.9804C12.4382 10.2385 12.7772 9.35025 12.8512 8.42129C12.895 7.87074 13.3768 7.45996 13.9273 7.50377C14.4779 7.54758 14.8887 8.0294 14.8449 8.57994C14.7406 9.8906 14.2622 11.1438 13.4667 12.1906C12.6711 13.2374 11.5918 14.0338 10.3569 14.4852C9.12204 14.9367 7.78353 15.0241 6.50041 14.7373C5.2173 14.4504 4.0435 13.8012 3.11848 12.8668C2.19345 11.9324 1.55609 10.7522 1.28211 9.46624C1.00813 8.1803 1.10905 6.84274 1.57287 5.61247C2.03669 4.3822 2.84393 3.31093 3.89867 2.52593C4.95342 1.74093 6.21133 1.27521 7.52297 1.18409C8.07393 1.14581 8.5516 1.56142 8.58987 2.11238Z",
|
|
86
|
+
fill: "#F9F9F9"
|
|
87
|
+
}),
|
|
88
|
+
/*#__PURE__*/ jsxRuntime.jsx("path", {
|
|
89
|
+
fillRule: "evenodd",
|
|
90
|
+
clipRule: "evenodd",
|
|
91
|
+
d: "M11.9757 1.25658C12.184 1.31428 12.3452 1.47958 12.3976 1.68929L12.7872 3.24774L14.3457 3.63736C14.5554 3.68978 14.7207 3.85096 14.7784 4.05928C14.8361 4.2676 14.7773 4.49085 14.6244 4.64371L12.7167 6.55141C12.5677 6.70044 12.3514 6.76035 12.1469 6.70924L10.5688 6.3147L8.42436 8.45912C8.19005 8.69344 7.81015 8.69344 7.57583 8.45912C7.34152 8.22481 7.34152 7.84491 7.57583 7.61059L9.72025 5.46617L9.32572 3.88804C9.2746 3.68357 9.33451 3.46728 9.48354 3.31825L11.3912 1.41054C11.5441 1.25769 11.7674 1.19888 11.9757 1.25658ZM10.8795 5.15545L12.1084 5.46267L13.0266 4.54451L12.1469 4.3246C11.9319 4.27086 11.7641 4.10301 11.7104 3.88804L11.4904 3.0084L10.5723 3.92656L10.8795 5.15545Z",
|
|
92
|
+
fill: "#F9F9F9"
|
|
93
|
+
}),
|
|
94
|
+
/*#__PURE__*/ jsxRuntime.jsx("path", {
|
|
95
|
+
d: "M7.35783 6.45343C7.87208 6.25201 8.12568 5.67185 7.92426 5.15761C7.72284 4.64336 7.14268 4.38976 6.62844 4.59118C6.05705 4.81498 5.55049 5.17772 5.15453 5.64655C4.75858 6.11538 4.4857 6.67552 4.36055 7.27631C4.23539 7.87709 4.26189 8.49961 4.43764 9.08758C4.6134 9.67555 4.93289 10.2105 5.36727 10.6439C5.80165 11.0774 6.33722 11.3958 6.92556 11.5702C7.51391 11.7445 8.13643 11.7695 8.73683 11.6427C9.33723 11.5158 9.89652 11.2413 10.3641 10.8439C10.8318 10.4465 11.1929 9.93885 11.4151 9.36679C11.615 8.85196 11.3597 8.27254 10.8449 8.07262C10.3301 7.87269 9.75066 8.12797 9.55073 8.6428C9.44887 8.9051 9.28329 9.1378 9.06901 9.3199C8.85474 9.50199 8.59851 9.62774 8.32352 9.68582C8.04853 9.7439 7.76341 9.73249 7.49394 9.65262C7.22445 9.57274 6.97907 9.42691 6.78001 9.22825C6.58093 9.0296 6.43446 8.78439 6.35386 8.51478C6.27327 8.24517 6.26112 7.9597 6.31851 7.6842C6.37591 7.4087 6.50102 7.1519 6.68251 6.93702C6.86399 6.72214 7.0961 6.55595 7.35783 6.45343Z",
|
|
96
|
+
fill: "#F9F9F9"
|
|
97
|
+
})
|
|
98
|
+
]
|
|
99
|
+
})
|
|
100
|
+
})
|
|
101
|
+
]
|
|
102
|
+
})
|
|
103
|
+
]
|
|
104
|
+
});
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
exports.InteractionSuffix = InteractionSuffix;
|
|
@@ -39,7 +39,6 @@ const Render = ({ uid, builder, components, parentId, extraFiles = {}, pageConte
|
|
|
39
39
|
const item = builder[uid];
|
|
40
40
|
const Component = components[item?.tag];
|
|
41
41
|
if (!Component) {
|
|
42
|
-
console.log('Miss component: ', item);
|
|
43
42
|
return {
|
|
44
43
|
liquid: '',
|
|
45
44
|
extraFiles
|
|
@@ -221,7 +220,6 @@ const appendAnimation = (props, liquid)=>{
|
|
|
221
220
|
const appearTablet = getAnimationType(getSettingsByDevice('tablet'), 'appear');
|
|
222
221
|
const appearMobile = getAnimationType(getSettingsByDevice('mobile'), 'appear');
|
|
223
222
|
const enableAnimation = animation?.desktop?.enabled && (appearDesktop !== 'none' || hoverDesktop !== 'none') || animation?.tablet?.enabled && appearTablet !== 'none' || animation?.mobile?.enabled && appearMobile !== 'none';
|
|
224
|
-
if (!enableAnimation) return liquid;
|
|
225
223
|
const getInitVisibility = (device)=>getSettingsByDevice(device)?.enabled && ![
|
|
226
224
|
'shake',
|
|
227
225
|
'none'
|
|
@@ -236,7 +234,8 @@ const appendAnimation = (props, liquid)=>{
|
|
|
236
234
|
gp-data='${JSON.stringify({
|
|
237
235
|
config: animation,
|
|
238
236
|
tag,
|
|
239
|
-
opacity
|
|
237
|
+
opacity,
|
|
238
|
+
isEnableInit: enableAnimation
|
|
240
239
|
})}'
|
|
241
240
|
style="${{
|
|
242
241
|
display: 'contents'
|
|
@@ -31,6 +31,31 @@ 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
|
+
}));
|
|
34
59
|
}
|
|
35
60
|
}));
|
|
36
61
|
const PageProvider = ({ children, dynamicProduct, dynamicCollection, productOffers, publicStoreFrontData, ...passProps })=>{
|
|
@@ -38,7 +63,10 @@ const PageProvider = ({ children, dynamicProduct, dynamicCollection, productOffe
|
|
|
38
63
|
dynamicProduct,
|
|
39
64
|
dynamicCollection,
|
|
40
65
|
productOffers,
|
|
41
|
-
publicStoreFrontData
|
|
66
|
+
publicStoreFrontData,
|
|
67
|
+
interactionData: {
|
|
68
|
+
selectType: 'element'
|
|
69
|
+
}
|
|
42
70
|
}), [
|
|
43
71
|
dynamicProduct,
|
|
44
72
|
dynamicCollection,
|
|
@@ -5,6 +5,7 @@ var react = require('react');
|
|
|
5
5
|
const useAnimationPreview = ({ props, playAnimation, cancelAnimation, setAnimationOnFinish, setToolbarActive })=>{
|
|
6
6
|
const previewAnimation = react.useCallback((e)=>{
|
|
7
7
|
const { uid, isCancel } = e.detail;
|
|
8
|
+
console.log('props.uid !== uid', props.uid !== uid, props.uid, uid);
|
|
8
9
|
if (props.uid !== uid) return;
|
|
9
10
|
cancelAnimation();
|
|
10
11
|
if (isCancel) {
|
|
@@ -8,6 +8,7 @@ var useAnimationTarget = require('./useAnimationTarget.js');
|
|
|
8
8
|
var useAnimationConfig = require('./useAnimationConfig.js');
|
|
9
9
|
var useAnimationActions = require('./useAnimationActions.js');
|
|
10
10
|
var useAnimationPreview = require('./useAnimationPreview.js');
|
|
11
|
+
require('../../types/custom.js');
|
|
11
12
|
var animations = require('../../types/animations.js');
|
|
12
13
|
|
|
13
14
|
const useApplyAnimation = ({ props })=>{
|
|
@@ -40,6 +41,7 @@ const useApplyAnimation = ({ props })=>{
|
|
|
40
41
|
setting,
|
|
41
42
|
target: item.target
|
|
42
43
|
}));
|
|
44
|
+
console.log('listAnimations', listAnimations);
|
|
43
45
|
cancelAnimation();
|
|
44
46
|
setAnimation(listAnimations);
|
|
45
47
|
}, [
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var PageContext = require('../contexts/PageContext.js');
|
|
4
|
+
|
|
5
|
+
const useInteraction = ()=>{
|
|
6
|
+
const interactionData = PageContext.usePageStore((state)=>state.interactionData);
|
|
7
|
+
const { item } = interactionData || {};
|
|
8
|
+
const getAnimationByUid = (uid)=>{
|
|
9
|
+
const targets = item?.targets;
|
|
10
|
+
const targetByUid = targets?.find((target)=>target.uid === uid);
|
|
11
|
+
const metaDataContainsAnimation = targetByUid?.events?.find((it)=>it.condition?.metaData?.animation);
|
|
12
|
+
return metaDataContainsAnimation?.condition?.metaData?.animation;
|
|
13
|
+
};
|
|
14
|
+
return {
|
|
15
|
+
getAnimationByUid
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
exports.useInteraction = useInteraction;
|
package/dist/cjs/index.js
CHANGED
|
@@ -98,6 +98,7 @@ var useProductList = require('./hooks/useProductList.js');
|
|
|
98
98
|
var useSuspenseFetch = require('./hooks/useSuspenseFetch.js');
|
|
99
99
|
var useSwatchesOptions = require('./hooks/useSwatchesOptions.js');
|
|
100
100
|
var useInitialSwatchesOptions = require('./hooks/useInitialSwatchesOptions.js');
|
|
101
|
+
var custom = require('./types/custom.js');
|
|
101
102
|
var shop$1 = require('./types/shop.js');
|
|
102
103
|
var appAPI = require('./types/appAPI.js');
|
|
103
104
|
var globalStyle = require('./types/global-style.js');
|
|
@@ -355,6 +356,14 @@ exports.useProductListStyles = useProductList.useProductListStyles;
|
|
|
355
356
|
exports.useSuspenseFetch = useSuspenseFetch.default;
|
|
356
357
|
exports.useSwatchesOptions = useSwatchesOptions.default;
|
|
357
358
|
exports.useInitialSwatchesOptions = useInitialSwatchesOptions.default;
|
|
359
|
+
Object.defineProperty(exports, 'InteractionTargetEvent', {
|
|
360
|
+
enumerable: true,
|
|
361
|
+
get: function () { return custom.InteractionTargetEvent; }
|
|
362
|
+
});
|
|
363
|
+
Object.defineProperty(exports, 'InteractionTriggerEvent', {
|
|
364
|
+
enumerable: true,
|
|
365
|
+
get: function () { return custom.InteractionTriggerEvent; }
|
|
366
|
+
});
|
|
358
367
|
exports.ShopType = shop$1;
|
|
359
368
|
exports.AppAPIType = appAPI;
|
|
360
369
|
exports.OptionNormalStyle = globalStyle.OptionNormalStyle;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
exports.InteractionTargetEvent = void 0;
|
|
4
|
+
(function(InteractionTargetEvent) {
|
|
5
|
+
InteractionTargetEvent[InteractionTargetEvent['gp:change-background-color'] = 0] = 'gp:change-background-color';
|
|
6
|
+
InteractionTargetEvent[InteractionTargetEvent['gp:run-animation'] = 1] = 'gp:run-animation';
|
|
7
|
+
InteractionTargetEvent[InteractionTargetEvent['gp:toggle-element-visibility'] = 2] = 'gp:toggle-element-visibility';
|
|
8
|
+
InteractionTargetEvent[InteractionTargetEvent['gp:change-text'] = 3] = 'gp:change-text';
|
|
9
|
+
InteractionTargetEvent[InteractionTargetEvent['gp:scroll-to'] = 4] = 'gp:scroll-to';
|
|
10
|
+
InteractionTargetEvent[InteractionTargetEvent['gp:change-text-style'] = 5] = 'gp:change-text-style';
|
|
11
|
+
InteractionTargetEvent[InteractionTargetEvent['gp:change-content'] = 6] = 'gp:change-content';
|
|
12
|
+
InteractionTargetEvent[InteractionTargetEvent['gp:change-button-style'] = 7] = 'gp:change-button-style';
|
|
13
|
+
InteractionTargetEvent[InteractionTargetEvent['gp:copy-text'] = 8] = 'gp:copy-text';
|
|
14
|
+
InteractionTargetEvent[InteractionTargetEvent['gp:change-image'] = 9] = 'gp:change-image';
|
|
15
|
+
InteractionTargetEvent[InteractionTargetEvent['gp:toggle-video-play'] = 10] = 'gp:toggle-video-play';
|
|
16
|
+
InteractionTargetEvent[InteractionTargetEvent['gp:change-slider-ratio'] = 11] = 'gp:change-slider-ratio';
|
|
17
|
+
InteractionTargetEvent[InteractionTargetEvent['gp:change-icon-style'] = 12] = 'gp:change-icon-style';
|
|
18
|
+
InteractionTargetEvent[InteractionTargetEvent['gp:change-expanded-item'] = 13] = 'gp:change-expanded-item';
|
|
19
|
+
InteractionTargetEvent[InteractionTargetEvent['gp:change-active-item'] = 14] = 'gp:change-active-item';
|
|
20
|
+
InteractionTargetEvent[InteractionTargetEvent['gp:change-slide'] = 15] = 'gp:change-slide';
|
|
21
|
+
InteractionTargetEvent[InteractionTargetEvent['gp:change-image-step'] = 16] = 'gp:change-image-step';
|
|
22
|
+
InteractionTargetEvent[InteractionTargetEvent['gp:change-text-value'] = 17] = 'gp:change-text-value';
|
|
23
|
+
InteractionTargetEvent[InteractionTargetEvent['gp:toggle-popup-open'] = 18] = 'gp:toggle-popup-open';
|
|
24
|
+
InteractionTargetEvent[InteractionTargetEvent['gp:show-or-hide'] = 19] = 'gp:show-or-hide';
|
|
25
|
+
})(exports.InteractionTargetEvent || (exports.InteractionTargetEvent = {}));
|
|
26
|
+
exports.InteractionTriggerEvent = void 0;
|
|
27
|
+
(function(InteractionTriggerEvent) {
|
|
28
|
+
InteractionTriggerEvent[InteractionTriggerEvent['click'] = 0] = 'click';
|
|
29
|
+
InteractionTriggerEvent[InteractionTriggerEvent["active"] = 1] = "active";
|
|
30
|
+
InteractionTriggerEvent[InteractionTriggerEvent['mouseover'] = 2] = 'mouseover';
|
|
31
|
+
InteractionTriggerEvent[InteractionTriggerEvent['gp:appear'] = 3] = 'gp:appear';
|
|
32
|
+
InteractionTriggerEvent[InteractionTriggerEvent['gp:item-selected'] = 4] = 'gp:item-selected';
|
|
33
|
+
InteractionTriggerEvent[InteractionTriggerEvent['gp:item-unselected'] = 5] = 'gp:item-unselected';
|
|
34
|
+
InteractionTriggerEvent[InteractionTriggerEvent['gp:item-hovered'] = 6] = 'gp:item-hovered';
|
|
35
|
+
InteractionTriggerEvent[InteractionTriggerEvent['gp:item-click'] = 7] = 'gp:item-click';
|
|
36
|
+
InteractionTriggerEvent[InteractionTriggerEvent['gp:after-submit'] = 8] = 'gp:after-submit';
|
|
37
|
+
InteractionTriggerEvent[InteractionTriggerEvent['gp:quantity-change'] = 9] = 'gp:quantity-change';
|
|
38
|
+
InteractionTriggerEvent[InteractionTriggerEvent['gp:after-checked-value'] = 10] = 'gp:after-checked-value';
|
|
39
|
+
InteractionTriggerEvent[InteractionTriggerEvent['gp:after-add-to-cart'] = 11] = 'gp:after-add-to-cart';
|
|
40
|
+
InteractionTriggerEvent[InteractionTriggerEvent['gp:popup-open'] = 12] = 'gp:popup-open';
|
|
41
|
+
InteractionTriggerEvent[InteractionTriggerEvent['gp:popup-close'] = 13] = 'gp:popup-close';
|
|
42
|
+
InteractionTriggerEvent[InteractionTriggerEvent['scroll-up'] = 14] = 'scroll-up';
|
|
43
|
+
InteractionTriggerEvent[InteractionTriggerEvent['scroll-down'] = 15] = 'scroll-down';
|
|
44
|
+
})(exports.InteractionTriggerEvent || (exports.InteractionTriggerEvent = {}));
|
|
@@ -17,6 +17,7 @@ import { usePostPurchase } from '../hooks/useToolbarPostPurchase.js';
|
|
|
17
17
|
import { ableGenerateContentElements } from './constant.js';
|
|
18
18
|
import { AIContentGenerator } from './ai-generator/AIContentGenerator.js';
|
|
19
19
|
import { AIGenContentLoading } from './ai-generator/AIGenContentLoading.js';
|
|
20
|
+
import { InteractionSuffix } from './InteractionSuffix.js';
|
|
20
21
|
import '../helpers/convert.js';
|
|
21
22
|
|
|
22
23
|
const SECTION_LIMIT = 25;
|
|
@@ -325,7 +326,6 @@ const ComponentToolbarPreview = (props)=>{
|
|
|
325
326
|
const isEnableCreateThemeSection = ()=>{
|
|
326
327
|
return editingPageType !== 'STATIC' && editingPageType !== 'POST_PURCHASE';
|
|
327
328
|
};
|
|
328
|
-
// if (!isActive) return null;
|
|
329
329
|
return /*#__PURE__*/ jsxs(Fragment, {
|
|
330
330
|
children: [
|
|
331
331
|
!(props.tag == 'Section' && isThemeSectionEditor) && /*#__PURE__*/ jsxs("div", {
|
|
@@ -590,6 +590,10 @@ const ComponentToolbarPreview = (props)=>{
|
|
|
590
590
|
fill: "currentColor"
|
|
591
591
|
})
|
|
592
592
|
})
|
|
593
|
+
}),
|
|
594
|
+
/*#__PURE__*/ jsx(InteractionSuffix, {
|
|
595
|
+
tag: props.tag,
|
|
596
|
+
uid: props.uid
|
|
593
597
|
})
|
|
594
598
|
]
|
|
595
599
|
}, props.uid),
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
2
2
|
import { memo, useEffect, isValidElement } from 'react';
|
|
3
3
|
import { composeAdvanceStyle } from '../helpers/compose-advance-style.js';
|
|
4
|
+
import { useInteraction } from '../hooks/useInteraction.js';
|
|
4
5
|
import { disableWrap, excludeApplyStyle } from './constant.js';
|
|
5
6
|
import RenderCustomCode from './RenderCustomCode.js';
|
|
6
7
|
import ComponentToolbarPreview from './ComponentToolbarPreview.js';
|
|
@@ -28,6 +29,19 @@ const ComponentWrapperPreview = ({ children, ...props })=>{
|
|
|
28
29
|
}, [
|
|
29
30
|
props.uid
|
|
30
31
|
]);
|
|
32
|
+
const currentProps = props;
|
|
33
|
+
const { getAnimationByUid } = useInteraction();
|
|
34
|
+
const animationByInteraction = getAnimationByUid(props.uid);
|
|
35
|
+
if (animationByInteraction) {
|
|
36
|
+
currentProps.advanced = {
|
|
37
|
+
...currentProps.advanced,
|
|
38
|
+
animation: {
|
|
39
|
+
desktop: animationByInteraction,
|
|
40
|
+
tablet: animationByInteraction,
|
|
41
|
+
mobile: animationByInteraction
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
}
|
|
31
45
|
const pageType = usePageType();
|
|
32
46
|
if (props.type === 'section') {
|
|
33
47
|
return null;
|
|
@@ -132,7 +146,7 @@ const ComponentWrapperPreview = ({ children, ...props })=>{
|
|
|
132
146
|
return /*#__PURE__*/ jsxs(Fragment, {
|
|
133
147
|
children: [
|
|
134
148
|
/*#__PURE__*/ jsx(ComponentAnimation, {
|
|
135
|
-
...
|
|
149
|
+
...currentProps
|
|
136
150
|
}),
|
|
137
151
|
/*#__PURE__*/ jsx(RenderCustomCode, {
|
|
138
152
|
uid: props.uid,
|
|
@@ -161,7 +175,7 @@ const ComponentWrapperPreview = ({ children, ...props })=>{
|
|
|
161
175
|
return /*#__PURE__*/ jsxs(Fragment, {
|
|
162
176
|
children: [
|
|
163
177
|
/*#__PURE__*/ jsx(ComponentAnimation, {
|
|
164
|
-
...
|
|
178
|
+
...currentProps
|
|
165
179
|
}),
|
|
166
180
|
/*#__PURE__*/ jsx(RenderCustomCode, {
|
|
167
181
|
uid: props.uid,
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { useMemo } from 'react';
|
|
3
|
+
import 'zustand';
|
|
4
|
+
import 'swr';
|
|
5
|
+
import { usePageStore } from '../contexts/PageContext.js';
|
|
6
|
+
import '@gem-sdk/adapter-shopify';
|
|
7
|
+
import 'swr/mutation';
|
|
8
|
+
import 'swr/infinite';
|
|
9
|
+
import 'vanilla-lazyload';
|
|
10
|
+
import '../hooks/useCartUI.js';
|
|
11
|
+
import 'react-transition-group';
|
|
12
|
+
import '@gem-sdk/core';
|
|
13
|
+
import 'classnames';
|
|
14
|
+
import 'dayjs';
|
|
15
|
+
import '../helpers/convert.js';
|
|
16
|
+
|
|
17
|
+
const InteractionSuffix = ({ tag, uid })=>{
|
|
18
|
+
const currentInteraction = usePageStore((s)=>s.interactionData?.item);
|
|
19
|
+
const isCurrentInteractionTarget = useMemo(()=>{
|
|
20
|
+
return currentInteraction?.targets?.find((t)=>t.uid === uid);
|
|
21
|
+
}, [
|
|
22
|
+
currentInteraction,
|
|
23
|
+
uid
|
|
24
|
+
]);
|
|
25
|
+
const isCurrentInteractionTrigger = useMemo(()=>{
|
|
26
|
+
return currentInteraction?.self?.uid === uid;
|
|
27
|
+
}, [
|
|
28
|
+
currentInteraction,
|
|
29
|
+
uid
|
|
30
|
+
]);
|
|
31
|
+
const isDisplay = useMemo(()=>{
|
|
32
|
+
return isCurrentInteractionTarget || isCurrentInteractionTrigger;
|
|
33
|
+
}, [
|
|
34
|
+
isCurrentInteractionTarget,
|
|
35
|
+
isCurrentInteractionTrigger
|
|
36
|
+
]);
|
|
37
|
+
const positionOffset = useMemo(()=>{
|
|
38
|
+
if (isCurrentInteractionTrigger && isCurrentInteractionTarget) {
|
|
39
|
+
return 80;
|
|
40
|
+
}
|
|
41
|
+
return 40;
|
|
42
|
+
}, [
|
|
43
|
+
isCurrentInteractionTrigger,
|
|
44
|
+
isCurrentInteractionTarget
|
|
45
|
+
]);
|
|
46
|
+
if (!isDisplay) {
|
|
47
|
+
return undefined;
|
|
48
|
+
}
|
|
49
|
+
return /*#__PURE__*/ jsxs(Fragment, {
|
|
50
|
+
children: [
|
|
51
|
+
/*#__PURE__*/ jsx("div", {
|
|
52
|
+
className: "hidden gp-left-[-40px] gp-left-[-80px] gp-right-[-40px] gp-right-[-80px]"
|
|
53
|
+
}),
|
|
54
|
+
/*#__PURE__*/ jsxs("div", {
|
|
55
|
+
className: `gp-hidden gp-absolute interaction-suffix gp-gap-[8px] ${tag == 'Section' ? `gp-left-[-${positionOffset}px]` : `gp-right-[-${positionOffset}px]`}`,
|
|
56
|
+
children: [
|
|
57
|
+
isCurrentInteractionTrigger && /*#__PURE__*/ jsx("div", {
|
|
58
|
+
className: `gp-h-8 gp-rounded-[8px] gp-w-8 gp-bg-[#212121] gp-flex gp-justify-center gp-items-center `,
|
|
59
|
+
children: /*#__PURE__*/ jsx("svg", {
|
|
60
|
+
width: "16",
|
|
61
|
+
height: "16",
|
|
62
|
+
viewBox: "0 0 16 16",
|
|
63
|
+
fill: "none",
|
|
64
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
65
|
+
children: /*#__PURE__*/ jsx("path", {
|
|
66
|
+
fillRule: "evenodd",
|
|
67
|
+
clipRule: "evenodd",
|
|
68
|
+
d: "M12.9196 5.80449C13.0989 5.80449 13.1876 6.02216 13.0595 6.14749L4.83569 14.1892C4.69517 14.3267 4.46149 14.2002 4.49967 14.0074L5.50422 8.93537C5.53483 8.7808 5.41656 8.6368 5.25898 8.6368H3.08019C2.92551 8.6368 2.82938 8.46874 2.90779 8.33541L6.72099 1.85154C6.75692 1.79045 6.8225 1.75293 6.89338 1.75293H12.5729C12.7386 1.75293 12.8324 1.94273 12.7319 2.07435L10.1891 5.40272C10.0634 5.56724 10.1807 5.80449 10.3877 5.80449H12.9196Z",
|
|
69
|
+
fill: "#F9F9F9"
|
|
70
|
+
})
|
|
71
|
+
})
|
|
72
|
+
}),
|
|
73
|
+
isCurrentInteractionTarget && /*#__PURE__*/ jsx("div", {
|
|
74
|
+
className: `gp-h-8 min-w-8 gp-rounded-[8px] gp-w-8 gp-bg-[#212121] gp-flex gp-justify-center gp-items-center`,
|
|
75
|
+
children: /*#__PURE__*/ jsxs("svg", {
|
|
76
|
+
width: "16",
|
|
77
|
+
height: "16",
|
|
78
|
+
viewBox: "0 0 16 16",
|
|
79
|
+
fill: "none",
|
|
80
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
81
|
+
children: [
|
|
82
|
+
/*#__PURE__*/ jsx("path", {
|
|
83
|
+
d: "M8.58987 2.11238C8.62815 2.66333 8.21254 3.141 7.66158 3.17928C6.73192 3.24386 5.84034 3.57396 5.09276 4.13034C4.34519 4.68673 3.77304 5.44602 3.44429 6.31801C3.11554 7.19 3.04401 8.13803 3.23821 9.04947C3.4324 9.96092 3.88415 10.7975 4.53978 11.4597C5.19541 12.122 6.02737 12.5821 6.93682 12.7854C7.84626 12.9888 8.79496 12.9268 9.67021 12.6068C10.5455 12.2869 11.3105 11.7224 11.8743 10.9804C12.4382 10.2385 12.7772 9.35025 12.8512 8.42129C12.895 7.87074 13.3768 7.45996 13.9273 7.50377C14.4779 7.54758 14.8887 8.0294 14.8449 8.57994C14.7406 9.8906 14.2622 11.1438 13.4667 12.1906C12.6711 13.2374 11.5918 14.0338 10.3569 14.4852C9.12204 14.9367 7.78353 15.0241 6.50041 14.7373C5.2173 14.4504 4.0435 13.8012 3.11848 12.8668C2.19345 11.9324 1.55609 10.7522 1.28211 9.46624C1.00813 8.1803 1.10905 6.84274 1.57287 5.61247C2.03669 4.3822 2.84393 3.31093 3.89867 2.52593C4.95342 1.74093 6.21133 1.27521 7.52297 1.18409C8.07393 1.14581 8.5516 1.56142 8.58987 2.11238Z",
|
|
84
|
+
fill: "#F9F9F9"
|
|
85
|
+
}),
|
|
86
|
+
/*#__PURE__*/ jsx("path", {
|
|
87
|
+
fillRule: "evenodd",
|
|
88
|
+
clipRule: "evenodd",
|
|
89
|
+
d: "M11.9757 1.25658C12.184 1.31428 12.3452 1.47958 12.3976 1.68929L12.7872 3.24774L14.3457 3.63736C14.5554 3.68978 14.7207 3.85096 14.7784 4.05928C14.8361 4.2676 14.7773 4.49085 14.6244 4.64371L12.7167 6.55141C12.5677 6.70044 12.3514 6.76035 12.1469 6.70924L10.5688 6.3147L8.42436 8.45912C8.19005 8.69344 7.81015 8.69344 7.57583 8.45912C7.34152 8.22481 7.34152 7.84491 7.57583 7.61059L9.72025 5.46617L9.32572 3.88804C9.2746 3.68357 9.33451 3.46728 9.48354 3.31825L11.3912 1.41054C11.5441 1.25769 11.7674 1.19888 11.9757 1.25658ZM10.8795 5.15545L12.1084 5.46267L13.0266 4.54451L12.1469 4.3246C11.9319 4.27086 11.7641 4.10301 11.7104 3.88804L11.4904 3.0084L10.5723 3.92656L10.8795 5.15545Z",
|
|
90
|
+
fill: "#F9F9F9"
|
|
91
|
+
}),
|
|
92
|
+
/*#__PURE__*/ jsx("path", {
|
|
93
|
+
d: "M7.35783 6.45343C7.87208 6.25201 8.12568 5.67185 7.92426 5.15761C7.72284 4.64336 7.14268 4.38976 6.62844 4.59118C6.05705 4.81498 5.55049 5.17772 5.15453 5.64655C4.75858 6.11538 4.4857 6.67552 4.36055 7.27631C4.23539 7.87709 4.26189 8.49961 4.43764 9.08758C4.6134 9.67555 4.93289 10.2105 5.36727 10.6439C5.80165 11.0774 6.33722 11.3958 6.92556 11.5702C7.51391 11.7445 8.13643 11.7695 8.73683 11.6427C9.33723 11.5158 9.89652 11.2413 10.3641 10.8439C10.8318 10.4465 11.1929 9.93885 11.4151 9.36679C11.615 8.85196 11.3597 8.27254 10.8449 8.07262C10.3301 7.87269 9.75066 8.12797 9.55073 8.6428C9.44887 8.9051 9.28329 9.1378 9.06901 9.3199C8.85474 9.50199 8.59851 9.62774 8.32352 9.68582C8.04853 9.7439 7.76341 9.73249 7.49394 9.65262C7.22445 9.57274 6.97907 9.42691 6.78001 9.22825C6.58093 9.0296 6.43446 8.78439 6.35386 8.51478C6.27327 8.24517 6.26112 7.9597 6.31851 7.6842C6.37591 7.4087 6.50102 7.1519 6.68251 6.93702C6.86399 6.72214 7.0961 6.55595 7.35783 6.45343Z",
|
|
94
|
+
fill: "#F9F9F9"
|
|
95
|
+
})
|
|
96
|
+
]
|
|
97
|
+
})
|
|
98
|
+
})
|
|
99
|
+
]
|
|
100
|
+
})
|
|
101
|
+
]
|
|
102
|
+
});
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
export { InteractionSuffix };
|
|
@@ -35,7 +35,6 @@ const Render = ({ uid, builder, components, parentId, extraFiles = {}, pageConte
|
|
|
35
35
|
const item = builder[uid];
|
|
36
36
|
const Component = components[item?.tag];
|
|
37
37
|
if (!Component) {
|
|
38
|
-
console.log('Miss component: ', item);
|
|
39
38
|
return {
|
|
40
39
|
liquid: '',
|
|
41
40
|
extraFiles
|
|
@@ -217,7 +216,6 @@ const appendAnimation = (props, liquid)=>{
|
|
|
217
216
|
const appearTablet = getAnimationType(getSettingsByDevice('tablet'), 'appear');
|
|
218
217
|
const appearMobile = getAnimationType(getSettingsByDevice('mobile'), 'appear');
|
|
219
218
|
const enableAnimation = animation?.desktop?.enabled && (appearDesktop !== 'none' || hoverDesktop !== 'none') || animation?.tablet?.enabled && appearTablet !== 'none' || animation?.mobile?.enabled && appearMobile !== 'none';
|
|
220
|
-
if (!enableAnimation) return liquid;
|
|
221
219
|
const getInitVisibility = (device)=>getSettingsByDevice(device)?.enabled && ![
|
|
222
220
|
'shake',
|
|
223
221
|
'none'
|
|
@@ -232,7 +230,8 @@ const appendAnimation = (props, liquid)=>{
|
|
|
232
230
|
gp-data='${JSON.stringify({
|
|
233
231
|
config: animation,
|
|
234
232
|
tag,
|
|
235
|
-
opacity
|
|
233
|
+
opacity,
|
|
234
|
+
isEnableInit: enableAnimation
|
|
236
235
|
})}'
|
|
237
236
|
style="${{
|
|
238
237
|
display: 'contents'
|
|
@@ -29,6 +29,31 @@ const createPageStoreProvider = (data)=>createStore((set)=>({
|
|
|
29
29
|
set({
|
|
30
30
|
publicStoreFrontData: publicStoreFrontData
|
|
31
31
|
});
|
|
32
|
+
},
|
|
33
|
+
setInteractionIsSelectOnPage: (value)=>{
|
|
34
|
+
set((state)=>({
|
|
35
|
+
interactionData: {
|
|
36
|
+
...state.interactionData,
|
|
37
|
+
isSelectOnPage: value
|
|
38
|
+
}
|
|
39
|
+
}));
|
|
40
|
+
},
|
|
41
|
+
setInteractionItem: (item)=>{
|
|
42
|
+
set((state)=>({
|
|
43
|
+
interactionData: {
|
|
44
|
+
...state.interactionData,
|
|
45
|
+
item,
|
|
46
|
+
isSelectOnPage: state.interactionData?.isSelectOnPage || false
|
|
47
|
+
}
|
|
48
|
+
}));
|
|
49
|
+
},
|
|
50
|
+
setInteractionSelectType: (selectType)=>{
|
|
51
|
+
set((state)=>({
|
|
52
|
+
interactionData: {
|
|
53
|
+
...state.interactionData,
|
|
54
|
+
selectType
|
|
55
|
+
}
|
|
56
|
+
}));
|
|
32
57
|
}
|
|
33
58
|
}));
|
|
34
59
|
const PageProvider = ({ children, dynamicProduct, dynamicCollection, productOffers, publicStoreFrontData, ...passProps })=>{
|
|
@@ -36,7 +61,10 @@ const PageProvider = ({ children, dynamicProduct, dynamicCollection, productOffe
|
|
|
36
61
|
dynamicProduct,
|
|
37
62
|
dynamicCollection,
|
|
38
63
|
productOffers,
|
|
39
|
-
publicStoreFrontData
|
|
64
|
+
publicStoreFrontData,
|
|
65
|
+
interactionData: {
|
|
66
|
+
selectType: 'element'
|
|
67
|
+
}
|
|
40
68
|
}), [
|
|
41
69
|
dynamicProduct,
|
|
42
70
|
dynamicCollection,
|
|
@@ -3,6 +3,7 @@ import { useCallback } from 'react';
|
|
|
3
3
|
const useAnimationPreview = ({ props, playAnimation, cancelAnimation, setAnimationOnFinish, setToolbarActive })=>{
|
|
4
4
|
const previewAnimation = useCallback((e)=>{
|
|
5
5
|
const { uid, isCancel } = e.detail;
|
|
6
|
+
console.log('props.uid !== uid', props.uid !== uid, props.uid, uid);
|
|
6
7
|
if (props.uid !== uid) return;
|
|
7
8
|
cancelAnimation();
|
|
8
9
|
if (isCancel) {
|
|
@@ -4,6 +4,7 @@ import { useAnimationTarget } from './useAnimationTarget.js';
|
|
|
4
4
|
import { useAnimationConfig } from './useAnimationConfig.js';
|
|
5
5
|
import { useAnimationActions } from './useAnimationActions.js';
|
|
6
6
|
import { useAnimationPreview } from './useAnimationPreview.js';
|
|
7
|
+
import '../../types/custom.js';
|
|
7
8
|
import { AnimationType } from '../../types/animations.js';
|
|
8
9
|
|
|
9
10
|
const useApplyAnimation = ({ props })=>{
|
|
@@ -36,6 +37,7 @@ const useApplyAnimation = ({ props })=>{
|
|
|
36
37
|
setting,
|
|
37
38
|
target: item.target
|
|
38
39
|
}));
|
|
40
|
+
console.log('listAnimations', listAnimations);
|
|
39
41
|
cancelAnimation();
|
|
40
42
|
setAnimation(listAnimations);
|
|
41
43
|
}, [
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { usePageStore } from '../contexts/PageContext.js';
|
|
2
|
+
|
|
3
|
+
const useInteraction = ()=>{
|
|
4
|
+
const interactionData = usePageStore((state)=>state.interactionData);
|
|
5
|
+
const { item } = interactionData || {};
|
|
6
|
+
const getAnimationByUid = (uid)=>{
|
|
7
|
+
const targets = item?.targets;
|
|
8
|
+
const targetByUid = targets?.find((target)=>target.uid === uid);
|
|
9
|
+
const metaDataContainsAnimation = targetByUid?.events?.find((it)=>it.condition?.metaData?.animation);
|
|
10
|
+
return metaDataContainsAnimation?.condition?.metaData?.animation;
|
|
11
|
+
};
|
|
12
|
+
return {
|
|
13
|
+
getAnimationByUid
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
export { useInteraction };
|
package/dist/esm/index.js
CHANGED
|
@@ -99,6 +99,7 @@ export { useProductList, useProductListProducts, useProductListSettings, useProd
|
|
|
99
99
|
export { default as useSuspenseFetch } from './hooks/useSuspenseFetch.js';
|
|
100
100
|
export { default as useSwatchesOptions } from './hooks/useSwatchesOptions.js';
|
|
101
101
|
export { default as useInitialSwatchesOptions } from './hooks/useInitialSwatchesOptions.js';
|
|
102
|
+
export { InteractionTargetEvent, InteractionTriggerEvent } from './types/custom.js';
|
|
102
103
|
import * as shop from './types/shop.js';
|
|
103
104
|
export { shop as ShopType };
|
|
104
105
|
import * as appAPI from './types/appAPI.js';
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
var InteractionTargetEvent;
|
|
2
|
+
(function(InteractionTargetEvent) {
|
|
3
|
+
InteractionTargetEvent[InteractionTargetEvent['gp:change-background-color'] = 0] = 'gp:change-background-color';
|
|
4
|
+
InteractionTargetEvent[InteractionTargetEvent['gp:run-animation'] = 1] = 'gp:run-animation';
|
|
5
|
+
InteractionTargetEvent[InteractionTargetEvent['gp:toggle-element-visibility'] = 2] = 'gp:toggle-element-visibility';
|
|
6
|
+
InteractionTargetEvent[InteractionTargetEvent['gp:change-text'] = 3] = 'gp:change-text';
|
|
7
|
+
InteractionTargetEvent[InteractionTargetEvent['gp:scroll-to'] = 4] = 'gp:scroll-to';
|
|
8
|
+
InteractionTargetEvent[InteractionTargetEvent['gp:change-text-style'] = 5] = 'gp:change-text-style';
|
|
9
|
+
InteractionTargetEvent[InteractionTargetEvent['gp:change-content'] = 6] = 'gp:change-content';
|
|
10
|
+
InteractionTargetEvent[InteractionTargetEvent['gp:change-button-style'] = 7] = 'gp:change-button-style';
|
|
11
|
+
InteractionTargetEvent[InteractionTargetEvent['gp:copy-text'] = 8] = 'gp:copy-text';
|
|
12
|
+
InteractionTargetEvent[InteractionTargetEvent['gp:change-image'] = 9] = 'gp:change-image';
|
|
13
|
+
InteractionTargetEvent[InteractionTargetEvent['gp:toggle-video-play'] = 10] = 'gp:toggle-video-play';
|
|
14
|
+
InteractionTargetEvent[InteractionTargetEvent['gp:change-slider-ratio'] = 11] = 'gp:change-slider-ratio';
|
|
15
|
+
InteractionTargetEvent[InteractionTargetEvent['gp:change-icon-style'] = 12] = 'gp:change-icon-style';
|
|
16
|
+
InteractionTargetEvent[InteractionTargetEvent['gp:change-expanded-item'] = 13] = 'gp:change-expanded-item';
|
|
17
|
+
InteractionTargetEvent[InteractionTargetEvent['gp:change-active-item'] = 14] = 'gp:change-active-item';
|
|
18
|
+
InteractionTargetEvent[InteractionTargetEvent['gp:change-slide'] = 15] = 'gp:change-slide';
|
|
19
|
+
InteractionTargetEvent[InteractionTargetEvent['gp:change-image-step'] = 16] = 'gp:change-image-step';
|
|
20
|
+
InteractionTargetEvent[InteractionTargetEvent['gp:change-text-value'] = 17] = 'gp:change-text-value';
|
|
21
|
+
InteractionTargetEvent[InteractionTargetEvent['gp:toggle-popup-open'] = 18] = 'gp:toggle-popup-open';
|
|
22
|
+
InteractionTargetEvent[InteractionTargetEvent['gp:show-or-hide'] = 19] = 'gp:show-or-hide';
|
|
23
|
+
})(InteractionTargetEvent || (InteractionTargetEvent = {}));
|
|
24
|
+
var InteractionTriggerEvent;
|
|
25
|
+
(function(InteractionTriggerEvent) {
|
|
26
|
+
InteractionTriggerEvent[InteractionTriggerEvent['click'] = 0] = 'click';
|
|
27
|
+
InteractionTriggerEvent[InteractionTriggerEvent["active"] = 1] = "active";
|
|
28
|
+
InteractionTriggerEvent[InteractionTriggerEvent['mouseover'] = 2] = 'mouseover';
|
|
29
|
+
InteractionTriggerEvent[InteractionTriggerEvent['gp:appear'] = 3] = 'gp:appear';
|
|
30
|
+
InteractionTriggerEvent[InteractionTriggerEvent['gp:item-selected'] = 4] = 'gp:item-selected';
|
|
31
|
+
InteractionTriggerEvent[InteractionTriggerEvent['gp:item-unselected'] = 5] = 'gp:item-unselected';
|
|
32
|
+
InteractionTriggerEvent[InteractionTriggerEvent['gp:item-hovered'] = 6] = 'gp:item-hovered';
|
|
33
|
+
InteractionTriggerEvent[InteractionTriggerEvent['gp:item-click'] = 7] = 'gp:item-click';
|
|
34
|
+
InteractionTriggerEvent[InteractionTriggerEvent['gp:after-submit'] = 8] = 'gp:after-submit';
|
|
35
|
+
InteractionTriggerEvent[InteractionTriggerEvent['gp:quantity-change'] = 9] = 'gp:quantity-change';
|
|
36
|
+
InteractionTriggerEvent[InteractionTriggerEvent['gp:after-checked-value'] = 10] = 'gp:after-checked-value';
|
|
37
|
+
InteractionTriggerEvent[InteractionTriggerEvent['gp:after-add-to-cart'] = 11] = 'gp:after-add-to-cart';
|
|
38
|
+
InteractionTriggerEvent[InteractionTriggerEvent['gp:popup-open'] = 12] = 'gp:popup-open';
|
|
39
|
+
InteractionTriggerEvent[InteractionTriggerEvent['gp:popup-close'] = 13] = 'gp:popup-close';
|
|
40
|
+
InteractionTriggerEvent[InteractionTriggerEvent['scroll-up'] = 14] = 'scroll-up';
|
|
41
|
+
InteractionTriggerEvent[InteractionTriggerEvent['scroll-down'] = 15] = 'scroll-down';
|
|
42
|
+
})(InteractionTriggerEvent || (InteractionTriggerEvent = {}));
|
|
43
|
+
|
|
44
|
+
export { InteractionTargetEvent, InteractionTriggerEvent };
|
package/dist/types/index.d.ts
CHANGED
|
@@ -8218,6 +8218,75 @@ type PublicStoreFrontData = {
|
|
|
8218
8218
|
token?: string;
|
|
8219
8219
|
endpoint?: string;
|
|
8220
8220
|
};
|
|
8221
|
+
type InteractionElement<E, T> = {
|
|
8222
|
+
uid?: string;
|
|
8223
|
+
event?: E;
|
|
8224
|
+
condition?: T;
|
|
8225
|
+
elementTag?: string;
|
|
8226
|
+
targetOutsideSelector?: string;
|
|
8227
|
+
targetInsideSelector?: string;
|
|
8228
|
+
};
|
|
8229
|
+
declare enum InteractionTargetEvent {
|
|
8230
|
+
'gp:change-background-color' = 0,
|
|
8231
|
+
'gp:run-animation' = 1,
|
|
8232
|
+
'gp:toggle-element-visibility' = 2,
|
|
8233
|
+
'gp:change-text' = 3,
|
|
8234
|
+
'gp:scroll-to' = 4,
|
|
8235
|
+
'gp:change-text-style' = 5,
|
|
8236
|
+
'gp:change-content' = 6,
|
|
8237
|
+
'gp:change-button-style' = 7,
|
|
8238
|
+
'gp:copy-text' = 8,
|
|
8239
|
+
'gp:change-image' = 9,
|
|
8240
|
+
'gp:toggle-video-play' = 10,
|
|
8241
|
+
'gp:change-slider-ratio' = 11,
|
|
8242
|
+
'gp:change-icon-style' = 12,
|
|
8243
|
+
'gp:change-expanded-item' = 13,
|
|
8244
|
+
'gp:change-active-item' = 14,
|
|
8245
|
+
'gp:change-slide' = 15,
|
|
8246
|
+
'gp:change-image-step' = 16,
|
|
8247
|
+
'gp:change-text-value' = 17,
|
|
8248
|
+
'gp:toggle-popup-open' = 18,
|
|
8249
|
+
'gp:show-or-hide' = 19
|
|
8250
|
+
}
|
|
8251
|
+
declare enum InteractionTriggerEvent {
|
|
8252
|
+
'click' = 0,
|
|
8253
|
+
active = 1,
|
|
8254
|
+
'mouseover' = 2,
|
|
8255
|
+
'gp:appear' = 3,
|
|
8256
|
+
'gp:item-selected' = 4,
|
|
8257
|
+
'gp:item-unselected' = 5,
|
|
8258
|
+
'gp:item-hovered' = 6,
|
|
8259
|
+
'gp:item-click' = 7,
|
|
8260
|
+
'gp:after-submit' = 8,
|
|
8261
|
+
'gp:quantity-change' = 9,
|
|
8262
|
+
'gp:after-checked-value' = 10,
|
|
8263
|
+
'gp:after-add-to-cart' = 11,
|
|
8264
|
+
'gp:popup-open' = 12,
|
|
8265
|
+
'gp:popup-close' = 13,
|
|
8266
|
+
'scroll-up' = 14,
|
|
8267
|
+
'scroll-down' = 15
|
|
8268
|
+
}
|
|
8269
|
+
type InteractionCondition = {
|
|
8270
|
+
type?: 'equal' | 'greater' | 'less' | 'greater-or-equal' | 'less-or-equal' | 'distance-to-top' | 'selected-item' | 'between' | 'out-of-stock' | 'out-of-time' | 'delay';
|
|
8271
|
+
data?: unknown;
|
|
8272
|
+
metaData?: any;
|
|
8273
|
+
};
|
|
8274
|
+
type Interaction = {
|
|
8275
|
+
self?: InteractionElement<InteractionTriggerEvent, InteractionCondition>;
|
|
8276
|
+
targets?: InteractionTarget[];
|
|
8277
|
+
};
|
|
8278
|
+
type InteractionTarget = {
|
|
8279
|
+
uid?: string;
|
|
8280
|
+
elementTag?: string;
|
|
8281
|
+
targetOutsideSelector?: string;
|
|
8282
|
+
targetInsideSelector?: string;
|
|
8283
|
+
events?: InteractionTargetEventObject[];
|
|
8284
|
+
};
|
|
8285
|
+
type InteractionTargetEventObject = {
|
|
8286
|
+
event: InteractionTargetEvent;
|
|
8287
|
+
eventName: string;
|
|
8288
|
+
condition: InteractionCondition;
|
|
8289
|
+
};
|
|
8221
8290
|
|
|
8222
8291
|
type Maybe<T> = T | undefined;
|
|
8223
8292
|
type InputMaybe<T> = T | undefined;
|
|
@@ -28889,11 +28958,19 @@ type PageContextProps = {
|
|
|
28889
28958
|
productOffers?: ProductOffer[];
|
|
28890
28959
|
salePageProductId?: string;
|
|
28891
28960
|
publicStoreFrontData?: PublicStoreFrontData | null;
|
|
28961
|
+
interactionData?: {
|
|
28962
|
+
item?: Interaction;
|
|
28963
|
+
isSelectOnPage?: boolean;
|
|
28964
|
+
selectType?: 'element' | 'page';
|
|
28965
|
+
};
|
|
28892
28966
|
setDynamicProduct: (data: DynamicProduct) => void;
|
|
28893
28967
|
setDynamicCollection: (data: DynamicCollection) => void;
|
|
28894
28968
|
setPostPurchaseProductOffers: (productOffers: ProductOffer[]) => void;
|
|
28895
28969
|
setSalePageProductId: (id: string) => void;
|
|
28896
28970
|
setPublicStoreFrontData: (publicStoreFrontData: PublicStoreFrontData | null) => void;
|
|
28971
|
+
setInteractionItem: (item: Interaction) => void;
|
|
28972
|
+
setInteractionIsSelectOnPage: (value: boolean) => void;
|
|
28973
|
+
setInteractionSelectType: (selectType: 'element' | 'page') => void;
|
|
28897
28974
|
};
|
|
28898
28975
|
type PageProviderProps = Pick<PageContextProps, 'dynamicProduct' | 'dynamicCollection' | 'productOffers'> & {
|
|
28899
28976
|
children: React.ReactNode;
|
|
@@ -30177,6 +30254,15 @@ declare const filterAttrInStyle: (style?: React.CSSProperties, filterKeys?: stri
|
|
|
30177
30254
|
'--z-mobile'?: csstype.Property.ZIndex | undefined;
|
|
30178
30255
|
'--hvr-z-mobile'?: csstype.Property.ZIndex | undefined;
|
|
30179
30256
|
'--focus-z-mobile'?: csstype.Property.ZIndex | undefined;
|
|
30257
|
+
'--wm'?: csstype.Property.WritingMode | undefined;
|
|
30258
|
+
'--hvr-wm'?: csstype.Property.WritingMode | undefined;
|
|
30259
|
+
'--focus-wm'?: csstype.Property.WritingMode | undefined;
|
|
30260
|
+
'--wm-tablet'?: csstype.Property.WritingMode | undefined;
|
|
30261
|
+
'--hvr-wm-tablet'?: csstype.Property.WritingMode | undefined;
|
|
30262
|
+
'--focus-wm-tablet'?: csstype.Property.WritingMode | undefined;
|
|
30263
|
+
'--wm-mobile'?: csstype.Property.WritingMode | undefined;
|
|
30264
|
+
'--hvr-wm-mobile'?: csstype.Property.WritingMode | undefined;
|
|
30265
|
+
'--focus-wm-mobile'?: csstype.Property.WritingMode | undefined;
|
|
30180
30266
|
accentColor?: csstype.Property.AccentColor | undefined;
|
|
30181
30267
|
alignContent?: csstype.Property.AlignContent | undefined;
|
|
30182
30268
|
alignItems?: csstype.Property.AlignItems | undefined;
|
|
@@ -31672,6 +31758,15 @@ declare const removeAttrInStyle: (style?: React.CSSProperties, filterKeys?: stri
|
|
|
31672
31758
|
'--z-mobile'?: csstype.Property.ZIndex | undefined;
|
|
31673
31759
|
'--hvr-z-mobile'?: csstype.Property.ZIndex | undefined;
|
|
31674
31760
|
'--focus-z-mobile'?: csstype.Property.ZIndex | undefined;
|
|
31761
|
+
'--wm'?: csstype.Property.WritingMode | undefined;
|
|
31762
|
+
'--hvr-wm'?: csstype.Property.WritingMode | undefined;
|
|
31763
|
+
'--focus-wm'?: csstype.Property.WritingMode | undefined;
|
|
31764
|
+
'--wm-tablet'?: csstype.Property.WritingMode | undefined;
|
|
31765
|
+
'--hvr-wm-tablet'?: csstype.Property.WritingMode | undefined;
|
|
31766
|
+
'--focus-wm-tablet'?: csstype.Property.WritingMode | undefined;
|
|
31767
|
+
'--wm-mobile'?: csstype.Property.WritingMode | undefined;
|
|
31768
|
+
'--hvr-wm-mobile'?: csstype.Property.WritingMode | undefined;
|
|
31769
|
+
'--focus-wm-mobile'?: csstype.Property.WritingMode | undefined;
|
|
31675
31770
|
accentColor?: csstype.Property.AccentColor | undefined;
|
|
31676
31771
|
alignContent?: csstype.Property.AlignContent | undefined;
|
|
31677
31772
|
alignItems?: csstype.Property.AlignItems | undefined;
|
|
@@ -33167,6 +33262,15 @@ declare const filterCornerInStyle: (style?: React.CSSProperties) => {
|
|
|
33167
33262
|
'--z-mobile'?: csstype.Property.ZIndex | undefined;
|
|
33168
33263
|
'--hvr-z-mobile'?: csstype.Property.ZIndex | undefined;
|
|
33169
33264
|
'--focus-z-mobile'?: csstype.Property.ZIndex | undefined;
|
|
33265
|
+
'--wm'?: csstype.Property.WritingMode | undefined;
|
|
33266
|
+
'--hvr-wm'?: csstype.Property.WritingMode | undefined;
|
|
33267
|
+
'--focus-wm'?: csstype.Property.WritingMode | undefined;
|
|
33268
|
+
'--wm-tablet'?: csstype.Property.WritingMode | undefined;
|
|
33269
|
+
'--hvr-wm-tablet'?: csstype.Property.WritingMode | undefined;
|
|
33270
|
+
'--focus-wm-tablet'?: csstype.Property.WritingMode | undefined;
|
|
33271
|
+
'--wm-mobile'?: csstype.Property.WritingMode | undefined;
|
|
33272
|
+
'--hvr-wm-mobile'?: csstype.Property.WritingMode | undefined;
|
|
33273
|
+
'--focus-wm-mobile'?: csstype.Property.WritingMode | undefined;
|
|
33170
33274
|
accentColor?: csstype.Property.AccentColor | undefined;
|
|
33171
33275
|
alignContent?: csstype.Property.AlignContent | undefined;
|
|
33172
33276
|
alignItems?: csstype.Property.AlignItems | undefined;
|
|
@@ -34662,6 +34766,15 @@ declare const removePaddingYInStyle: (style?: React.CSSProperties) => {
|
|
|
34662
34766
|
'--z-mobile'?: csstype.Property.ZIndex | undefined;
|
|
34663
34767
|
'--hvr-z-mobile'?: csstype.Property.ZIndex | undefined;
|
|
34664
34768
|
'--focus-z-mobile'?: csstype.Property.ZIndex | undefined;
|
|
34769
|
+
'--wm'?: csstype.Property.WritingMode | undefined;
|
|
34770
|
+
'--hvr-wm'?: csstype.Property.WritingMode | undefined;
|
|
34771
|
+
'--focus-wm'?: csstype.Property.WritingMode | undefined;
|
|
34772
|
+
'--wm-tablet'?: csstype.Property.WritingMode | undefined;
|
|
34773
|
+
'--hvr-wm-tablet'?: csstype.Property.WritingMode | undefined;
|
|
34774
|
+
'--focus-wm-tablet'?: csstype.Property.WritingMode | undefined;
|
|
34775
|
+
'--wm-mobile'?: csstype.Property.WritingMode | undefined;
|
|
34776
|
+
'--hvr-wm-mobile'?: csstype.Property.WritingMode | undefined;
|
|
34777
|
+
'--focus-wm-mobile'?: csstype.Property.WritingMode | undefined;
|
|
34665
34778
|
accentColor?: csstype.Property.AccentColor | undefined;
|
|
34666
34779
|
alignContent?: csstype.Property.AlignContent | undefined;
|
|
34667
34780
|
alignItems?: csstype.Property.AlignItems | undefined;
|
|
@@ -36297,6 +36410,15 @@ declare const composeTypographyStyle: (typo?: TypographySettingV2, typography?:
|
|
|
36297
36410
|
'--z-mobile'?: csstype.Property.ZIndex | undefined;
|
|
36298
36411
|
'--hvr-z-mobile'?: csstype.Property.ZIndex | undefined;
|
|
36299
36412
|
'--focus-z-mobile'?: csstype.Property.ZIndex | undefined;
|
|
36413
|
+
'--wm'?: csstype.Property.WritingMode | undefined;
|
|
36414
|
+
'--hvr-wm'?: csstype.Property.WritingMode | undefined;
|
|
36415
|
+
'--focus-wm'?: csstype.Property.WritingMode | undefined;
|
|
36416
|
+
'--wm-tablet'?: csstype.Property.WritingMode | undefined;
|
|
36417
|
+
'--hvr-wm-tablet'?: csstype.Property.WritingMode | undefined;
|
|
36418
|
+
'--focus-wm-tablet'?: csstype.Property.WritingMode | undefined;
|
|
36419
|
+
'--wm-mobile'?: csstype.Property.WritingMode | undefined;
|
|
36420
|
+
'--hvr-wm-mobile'?: csstype.Property.WritingMode | undefined;
|
|
36421
|
+
'--focus-wm-mobile'?: csstype.Property.WritingMode | undefined;
|
|
36300
36422
|
accentColor?: csstype.Property.AccentColor | undefined;
|
|
36301
36423
|
alignContent?: csstype.Property.AlignContent | undefined;
|
|
36302
36424
|
alignItems?: csstype.Property.AlignItems | undefined;
|
|
@@ -37408,4 +37530,4 @@ type PublishedThemePageSelectFragment = Pick<PublishedThemePage$1, 'id' | 'name'
|
|
|
37408
37530
|
|
|
37409
37531
|
declare const getProductBySlug: (fetcher: FetchFunc, slug?: string) => Promise<ProductSelectFragment>;
|
|
37410
37532
|
|
|
37411
|
-
export { AddOn, AddonProvider, AddonProviderProps, AdvancedType, AliReviewsWidgetType, AlignItemProp, AlignProp, AnimationBaseSetting, AnimationConfig, AnimationDirectionType, AnimationEasingType, AnimationFadeSettingType, AnimationSetting, AnimationSettingType, AnimationShakeSettingType, AnimationSlideSettingType, AnimationTrigger, AnimationTriggerType, AnimationType, AnimationZoomDirectionType, AnimationZoomSettingType, appAPI as AppAPIType, ArticleListProvider, ArticleListProviderProps, ArticleProvider, ArticleProviderProps, Background, BaseProps, BasePropsWrap, BlockEntity, BogosWidgetType, BoldSubscriptionsWidgetType, Border, BorderStyle, BuilderComponentProvider, BuilderComponentProviderProps, BuilderEntity, BuilderEntityNested, BuilderPreviewProvider, BuilderPreviewProviderProps, BuilderProvider, BuilderProviderProps, BuilderState, Builtin, CartLineProvider, CartLineProviderProps, CollectionDetailFilterDocument, CollectionDetailFilterQueryResponse, CollectionDetailFilterQueryVariables, CollectionDocument, CollectionProvider, CollectionProviderProps, CollectionQueryResponse, CollectionQueryVariables, CollectionSelectFragment, CollectionsDocument, CollectionsQueryResponse, CollectionsQueryVariables, ColorKey, ColorType$1 as ColorType, ColorValueType, Component, ComponentPreset, ComponentSetting, ContainerProp, ControlProp, ControlTriggerAction, ControlUI, CornerRadius, CornerRadiusType, CustomComponentConfig, DeepPartial, DynamicCollection, DynamicProduct, ExtractState, FeraReviewsV3WidgetType, FeraReviewsWidgetType, FetchCollectionArgs, FetchFunc, FetchProductParams, FlexDirectionProp, FontName, GRADIENT_BGR_KEY, GlobalStyleConfig, GlobalStyleResponsiveConfig, GlobalSwatchesData, GraphQLConnection, GroupPropType, GrowaveWidgetType, HSLAColorType, HSLColorType, HexColorType, ImageShape$1 as ImageShape, InitComponentType, InstantJudgeMeReviewsWidgetType, InstantKlaviyoWidgetType, InstantLooxReviewsWidgetType, JudgeMeReviewsWidgetType, KlaviyoWidgetType, LaiProductReviewsAdvancedWidgetType, LaiProductReviewsWidgetType, LibrarySaleFunnelDocument, LibrarySaleFunnelQueryResponse, LibrarySaleFunnelQueryVariables, LibraryTemplateDocument, LibraryTemplateQueryResponse, LibraryTemplateQueryVariables, LooxReviewsWidgetType, ModalProvider, ModalProviderProps, NameDevices$1 as NameDevices, NestedKeys, ObjectDeviceGlobalType, ObjectDevices, ObjectLayoutValue, OmnisendWidgetType, OnlyOne, OpinewDesignWidgetType, OpinewWidgetType, OptionNormalStyle, OptionSpecialStyle, Options, PageContext, PageProvider, PageProviderProps, PageType, PageViewUpDocument, PageViewUpMutationResponse, PageViewUpMutationVariables, PickyStoryWidgetType, PostPurchaseTypo, PreviewPageDocument, PreviewPageQueryResponse, PreviewPageQueryVariables, Primitive, ProductInputAnalytic, ProductListProvider, ProductListProviderProps, ProductOffer, ProductProvider, ProductProviderProps, ProductReviewsWidgetType, ProductSelectFragment, ProductsDocument, ProductsQueryResponse, ProductsQueryVariables, PublicStoreFrontData, PublishedThemePageSelectFragment, PublishedThemePagesDocument, PublishedThemePagesQueryResponse, PublishedThemePagesQueryVariables, RGBAColorType, RGBColorType, Ratio$1 as Ratio, RawChild, RenderMemo as Render, RenderChildren, RenderIf, Render as RenderLiquid, RenderMode, RenderPreviewMemo as RenderPreview, RequiredCursorEdge, ResponsiveKey, ResponsiveStateProp, RivyoWidgetType, RoundedSize, RyviuWidgetType, SaleFunnelDiscount$1 as SaleFunnelDiscount, SaleFunnelDiscountEdge$1 as SaleFunnelDiscountEdge, SaleFunnelDiscountObjectType$1 as SaleFunnelDiscountObjectType, SaleFunnelDiscountType$1 as SaleFunnelDiscountType, SaleFunnelDiscountValueType$1 as SaleFunnelDiscountValueType, SaleFunnelDiscountsDocument, SaleFunnelDiscountsQueryResponse, SaleFunnelDiscountsQueryVariables, Scalars$1 as Scalars, ScaleByDirection, SectionData, SectionEntity, SectionProvider, SectionProviderProps, SettingByAnimationType, SettingByAnimationValues, ShadowProps, ShadowStyle, ShadowStyleApplied, ShadowType, ShopProvider, ShopProviderProps, shop as ShopType, SizeProps, SizeSetting, SizeSettingGlobal, SizeType, SpacingType, StampedWidgetType, StateProp, StateSelector, StateType, StoreConfig, StorePropertyDocument, StorePropertyQueryResponse, StorePropertyQueryVariables, SwatchesOptionType, SwatchesOptionValue, ThemePageDocument, ThemePageQueryResponse, ThemePageQueryVariables, ThemeSectionStatus$1 as ThemeSectionStatus, TransformProp, TriggerConfig, TrustooWidgetType, TypographyProps, TypographySetting, TypographySettingV2, TypographyType, TypographyV2Attrs, TypographyV2Props, UltimateSalesBoostWidgetType, VariantSelectFragment, VitalsWidgetType, WiserV2WidgetType, WiserWidgetType, WrapRenderChildren, YotpoReviewsWidgetType, animations, baseAssetURL, calculateFirstProduct, checkAvailableVariantInStock, cls, composeAdvanceStyle, composeAdvanceStyleForPostPurchase, composeBackgroundCss, composeBorderCss, composeCornerCss, composeFallbackTypographyStyle, composeFontFamilyTypographyV2, composeGridLayout, composeMemo, composePositionLineHeight, composePostionIconList, composeRadius, composeRadiusResponsive, composeShadowCss, composeSize, composeSizeCss, composeSpacing, composeTextColorCss, composeTypography, composeTypographyAttr, composeTypographyClassName, composeTypographyCss, composeTypographyStyle, composeTypographyV2, composeTypographyV2Css, convertHTML, convertOldLayout, convertTextAlignToJustify, dataStringify, fetchMedias, fetchVariants, filterAttrInStyle, filterCornerInStyle, filterToolbarPreview, flattenConnection, formatMoney, fpixel, genSizeClass, genTypoClass, genVariable, generateCollectionQueryKey, generateProductQueryKey, generateProductsQueryKey, getAspectRatioGlobalSize, getBgImageByDevice, getBorderStyle, getCarouselContainerHeight, getCollection, getCornerCSSFromGlobal, getCustomRadius, getGlobalColorCSSProp, getGlobalColorClass, getGlobalColorResponsiveClass, getGlobalColorResponsiveStyle, getGlobalColorStateClass, getGlobalColorStateClassDynamicBtn, getGlobalColorStateResponsiveClass, getGlobalColorStateResponsiveClassDynamicBtn, getGlobalColorStateResponsiveStyle, getGlobalColorStateStyle, getGlobalColorStyle, getGlobalSizeGap, getGradientBgrStyleByDevice, getGradientBgrStyleForButton, getHeightByShapeGlobalSize, getPaddingGlobalSize, getProduct, getProductBySlug, getRadiusCSSFromGlobal, getRadiusStyleActiveState, getResponsiveStateValue, getResponsiveValue, getResponsiveValueByScreen, getSelectedVariant, getShortName, getSingleColorVariable, getSpacingVariable, getStyleBackgroundByDevice, getStyleBgColor, getStyleShadow, getStyleShadowState, getValueByDevice, getWidthByShapeGlobalSize, getWidthHeightGlobalSize, globalEvent, gridToArrayRegex, gtag, handleConvertBorderColor, handleConvertBorderStyle, handleConvertBorderWidth, handleConvertClassColor, handleConvertClassColorDynamicBtn, isBrowser, isColor, isColumnDirectionExist, isDefined, isEmptyChildren, isLocalEnv, isSafari, loadScript, makeAspectRatio, makeContainerWidthOrHeight, makeDotGapToCarouselStyle, makeFixedBgAttachment, makeGlobalSize, makeGlobalSizeHeightResponsive, makeGlobalSizeIcon, makeGlobalSizeWidthResponsive, makeHeight, makeLineClamp, makeStyle, makeStyleKey, makeStyleResponsive, makeStyleResponsiveByScreen, makeStyleResponsiveState, makeStyleState, makeStyleWithDefault, makeWidth, normalizeBuilderData, optionLayoutStyle, parseSelectedOption, parseValueWithUnit, prefetchQueries, props, removeAttrInStyle, removeNullUndefined, removePaddingYInStyle, removeUndefinedValuesFromObject, shopifyPriceRounding, splitStyle, styles, template, tiktokpixel, useAddToCart, useAddon, useAddons, useArticleListStore, useArticleStore, useArticlesQuery, useBlogsQuery, useBuilderComponent, useBuilderPreviewStore, useBuilderStore, useCartData, useCartDiscountCodesUpdate, useCartId, useCartLine, useCartLineStore, useCartNoteUpdate, useCartUI, useCheckAvailableVariantInStock, useCheckoutUrl, useCollection, useCollectionQuery, useCollectionStore, useCollectionsQuery, useConnectedShopify, useCreateCart, useCurrency, useCurrentDevice, useCurrentVariant, useCurrentVariantInStock, useEditorMode, useFeaturedImageGlobal, useFormatMoney, useInitialSwatchesOptions, useIsSampleProduct, useIsStorefrontProduct, useIsSyncProduct, useIsomorphicLayoutEffect, useLazyVideo, useLoadScript, useLocale, useMatchMutate, useMobileOnly, useModalStore, useMoney, useMoneyFormat, usePageStore, usePageType, usePluginEnable, usePrevious, useProduct, useProductList, useProductListProducts, useProductListSettings, useProductListStore, useProductListStyles, useProductOfferDiscount, useProductProperties, useProductQuery, useProductStore, useProductsQuery, useProductsQueryAll, useQuantity, useRemoveCartItem, useSection, useSectionStore, useSelectedOption, useShopStore, useStoreFront, useSuspenseFetch, useSwatches, useSwatchesOptions, useUniqProductID, useUpdateCartItem, useVariant, useVariantOutStock, useVariants, validateEmail };
|
|
37533
|
+
export { AddOn, AddonProvider, AddonProviderProps, AdvancedType, AliReviewsWidgetType, AlignItemProp, AlignProp, AnimationBaseSetting, AnimationConfig, AnimationDirectionType, AnimationEasingType, AnimationFadeSettingType, AnimationSetting, AnimationSettingType, AnimationShakeSettingType, AnimationSlideSettingType, AnimationTrigger, AnimationTriggerType, AnimationType, AnimationZoomDirectionType, AnimationZoomSettingType, appAPI as AppAPIType, ArticleListProvider, ArticleListProviderProps, ArticleProvider, ArticleProviderProps, Background, BaseProps, BasePropsWrap, BlockEntity, BogosWidgetType, BoldSubscriptionsWidgetType, Border, BorderStyle, BuilderComponentProvider, BuilderComponentProviderProps, BuilderEntity, BuilderEntityNested, BuilderPreviewProvider, BuilderPreviewProviderProps, BuilderProvider, BuilderProviderProps, BuilderState, Builtin, CartLineProvider, CartLineProviderProps, CollectionDetailFilterDocument, CollectionDetailFilterQueryResponse, CollectionDetailFilterQueryVariables, CollectionDocument, CollectionProvider, CollectionProviderProps, CollectionQueryResponse, CollectionQueryVariables, CollectionSelectFragment, CollectionsDocument, CollectionsQueryResponse, CollectionsQueryVariables, ColorKey, ColorType$1 as ColorType, ColorValueType, Component, ComponentPreset, ComponentSetting, ContainerProp, ControlProp, ControlTriggerAction, ControlUI, CornerRadius, CornerRadiusType, CustomComponentConfig, DeepPartial, DynamicCollection, DynamicProduct, ExtractState, FeraReviewsV3WidgetType, FeraReviewsWidgetType, FetchCollectionArgs, FetchFunc, FetchProductParams, FlexDirectionProp, FontName, GRADIENT_BGR_KEY, GlobalStyleConfig, GlobalStyleResponsiveConfig, GlobalSwatchesData, GraphQLConnection, GroupPropType, GrowaveWidgetType, HSLAColorType, HSLColorType, HexColorType, ImageShape$1 as ImageShape, InitComponentType, InstantJudgeMeReviewsWidgetType, InstantKlaviyoWidgetType, InstantLooxReviewsWidgetType, Interaction, InteractionCondition, InteractionElement, InteractionTarget, InteractionTargetEvent, InteractionTargetEventObject, InteractionTriggerEvent, JudgeMeReviewsWidgetType, KlaviyoWidgetType, LaiProductReviewsAdvancedWidgetType, LaiProductReviewsWidgetType, LibrarySaleFunnelDocument, LibrarySaleFunnelQueryResponse, LibrarySaleFunnelQueryVariables, LibraryTemplateDocument, LibraryTemplateQueryResponse, LibraryTemplateQueryVariables, LooxReviewsWidgetType, ModalProvider, ModalProviderProps, NameDevices$1 as NameDevices, NestedKeys, ObjectDeviceGlobalType, ObjectDevices, ObjectLayoutValue, OmnisendWidgetType, OnlyOne, OpinewDesignWidgetType, OpinewWidgetType, OptionNormalStyle, OptionSpecialStyle, Options, PageContext, PageProvider, PageProviderProps, PageType, PageViewUpDocument, PageViewUpMutationResponse, PageViewUpMutationVariables, PickyStoryWidgetType, PostPurchaseTypo, PreviewPageDocument, PreviewPageQueryResponse, PreviewPageQueryVariables, Primitive, ProductInputAnalytic, ProductListProvider, ProductListProviderProps, ProductOffer, ProductProvider, ProductProviderProps, ProductReviewsWidgetType, ProductSelectFragment, ProductsDocument, ProductsQueryResponse, ProductsQueryVariables, PublicStoreFrontData, PublishedThemePageSelectFragment, PublishedThemePagesDocument, PublishedThemePagesQueryResponse, PublishedThemePagesQueryVariables, RGBAColorType, RGBColorType, Ratio$1 as Ratio, RawChild, RenderMemo as Render, RenderChildren, RenderIf, Render as RenderLiquid, RenderMode, RenderPreviewMemo as RenderPreview, RequiredCursorEdge, ResponsiveKey, ResponsiveStateProp, RivyoWidgetType, RoundedSize, RyviuWidgetType, SaleFunnelDiscount$1 as SaleFunnelDiscount, SaleFunnelDiscountEdge$1 as SaleFunnelDiscountEdge, SaleFunnelDiscountObjectType$1 as SaleFunnelDiscountObjectType, SaleFunnelDiscountType$1 as SaleFunnelDiscountType, SaleFunnelDiscountValueType$1 as SaleFunnelDiscountValueType, SaleFunnelDiscountsDocument, SaleFunnelDiscountsQueryResponse, SaleFunnelDiscountsQueryVariables, Scalars$1 as Scalars, ScaleByDirection, SectionData, SectionEntity, SectionProvider, SectionProviderProps, SettingByAnimationType, SettingByAnimationValues, ShadowProps, ShadowStyle, ShadowStyleApplied, ShadowType, ShopProvider, ShopProviderProps, shop as ShopType, SizeProps, SizeSetting, SizeSettingGlobal, SizeType, SpacingType, StampedWidgetType, StateProp, StateSelector, StateType, StoreConfig, StorePropertyDocument, StorePropertyQueryResponse, StorePropertyQueryVariables, SwatchesOptionType, SwatchesOptionValue, ThemePageDocument, ThemePageQueryResponse, ThemePageQueryVariables, ThemeSectionStatus$1 as ThemeSectionStatus, TransformProp, TriggerConfig, TrustooWidgetType, TypographyProps, TypographySetting, TypographySettingV2, TypographyType, TypographyV2Attrs, TypographyV2Props, UltimateSalesBoostWidgetType, VariantSelectFragment, VitalsWidgetType, WiserV2WidgetType, WiserWidgetType, WrapRenderChildren, YotpoReviewsWidgetType, animations, baseAssetURL, calculateFirstProduct, checkAvailableVariantInStock, cls, composeAdvanceStyle, composeAdvanceStyleForPostPurchase, composeBackgroundCss, composeBorderCss, composeCornerCss, composeFallbackTypographyStyle, composeFontFamilyTypographyV2, composeGridLayout, composeMemo, composePositionLineHeight, composePostionIconList, composeRadius, composeRadiusResponsive, composeShadowCss, composeSize, composeSizeCss, composeSpacing, composeTextColorCss, composeTypography, composeTypographyAttr, composeTypographyClassName, composeTypographyCss, composeTypographyStyle, composeTypographyV2, composeTypographyV2Css, convertHTML, convertOldLayout, convertTextAlignToJustify, dataStringify, fetchMedias, fetchVariants, filterAttrInStyle, filterCornerInStyle, filterToolbarPreview, flattenConnection, formatMoney, fpixel, genSizeClass, genTypoClass, genVariable, generateCollectionQueryKey, generateProductQueryKey, generateProductsQueryKey, getAspectRatioGlobalSize, getBgImageByDevice, getBorderStyle, getCarouselContainerHeight, getCollection, getCornerCSSFromGlobal, getCustomRadius, getGlobalColorCSSProp, getGlobalColorClass, getGlobalColorResponsiveClass, getGlobalColorResponsiveStyle, getGlobalColorStateClass, getGlobalColorStateClassDynamicBtn, getGlobalColorStateResponsiveClass, getGlobalColorStateResponsiveClassDynamicBtn, getGlobalColorStateResponsiveStyle, getGlobalColorStateStyle, getGlobalColorStyle, getGlobalSizeGap, getGradientBgrStyleByDevice, getGradientBgrStyleForButton, getHeightByShapeGlobalSize, getPaddingGlobalSize, getProduct, getProductBySlug, getRadiusCSSFromGlobal, getRadiusStyleActiveState, getResponsiveStateValue, getResponsiveValue, getResponsiveValueByScreen, getSelectedVariant, getShortName, getSingleColorVariable, getSpacingVariable, getStyleBackgroundByDevice, getStyleBgColor, getStyleShadow, getStyleShadowState, getValueByDevice, getWidthByShapeGlobalSize, getWidthHeightGlobalSize, globalEvent, gridToArrayRegex, gtag, handleConvertBorderColor, handleConvertBorderStyle, handleConvertBorderWidth, handleConvertClassColor, handleConvertClassColorDynamicBtn, isBrowser, isColor, isColumnDirectionExist, isDefined, isEmptyChildren, isLocalEnv, isSafari, loadScript, makeAspectRatio, makeContainerWidthOrHeight, makeDotGapToCarouselStyle, makeFixedBgAttachment, makeGlobalSize, makeGlobalSizeHeightResponsive, makeGlobalSizeIcon, makeGlobalSizeWidthResponsive, makeHeight, makeLineClamp, makeStyle, makeStyleKey, makeStyleResponsive, makeStyleResponsiveByScreen, makeStyleResponsiveState, makeStyleState, makeStyleWithDefault, makeWidth, normalizeBuilderData, optionLayoutStyle, parseSelectedOption, parseValueWithUnit, prefetchQueries, props, removeAttrInStyle, removeNullUndefined, removePaddingYInStyle, removeUndefinedValuesFromObject, shopifyPriceRounding, splitStyle, styles, template, tiktokpixel, useAddToCart, useAddon, useAddons, useArticleListStore, useArticleStore, useArticlesQuery, useBlogsQuery, useBuilderComponent, useBuilderPreviewStore, useBuilderStore, useCartData, useCartDiscountCodesUpdate, useCartId, useCartLine, useCartLineStore, useCartNoteUpdate, useCartUI, useCheckAvailableVariantInStock, useCheckoutUrl, useCollection, useCollectionQuery, useCollectionStore, useCollectionsQuery, useConnectedShopify, useCreateCart, useCurrency, useCurrentDevice, useCurrentVariant, useCurrentVariantInStock, useEditorMode, useFeaturedImageGlobal, useFormatMoney, useInitialSwatchesOptions, useIsSampleProduct, useIsStorefrontProduct, useIsSyncProduct, useIsomorphicLayoutEffect, useLazyVideo, useLoadScript, useLocale, useMatchMutate, useMobileOnly, useModalStore, useMoney, useMoneyFormat, usePageStore, usePageType, usePluginEnable, usePrevious, useProduct, useProductList, useProductListProducts, useProductListSettings, useProductListStore, useProductListStyles, useProductOfferDiscount, useProductProperties, useProductQuery, useProductStore, useProductsQuery, useProductsQueryAll, useQuantity, useRemoveCartItem, useSection, useSectionStore, useSelectedOption, useShopStore, useStoreFront, useSuspenseFetch, useSwatches, useSwatchesOptions, useUniqProductID, useUpdateCartItem, useVariant, useVariantOutStock, useVariants, validateEmail };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gem-sdk/core",
|
|
3
|
-
"version": "1.44.0-dev.
|
|
3
|
+
"version": "1.44.0-dev.76",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"main": "dist/cjs/index.js",
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
30
|
"@gem-sdk/adapter-shopify": "1.44.0-dev.70",
|
|
31
|
-
"@gem-sdk/styles": "1.44.0-dev.
|
|
31
|
+
"@gem-sdk/styles": "1.44.0-dev.76",
|
|
32
32
|
"@types/classnames": "^2.3.1"
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|