@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.
@@ -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
- ...props
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
- ...props
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
- ...props
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
- ...props
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 };
@@ -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.72",
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.70",
31
+ "@gem-sdk/styles": "1.44.0-dev.76",
32
32
  "@types/classnames": "^2.3.1"
33
33
  },
34
34
  "dependencies": {