@gem-sdk/core 1.14.0-dev.493 → 1.14.0-dev.499
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/Render.liquid.js +7 -7
- package/dist/cjs/helpers/animations.js +1 -1
- package/dist/cjs/hooks/animation/useAnimationConfig.js +1 -1
- package/dist/cjs/hooks/animation/useAnimationPreview.js +1 -1
- package/dist/cjs/hooks/animation/useAnimationTarget.js +1 -1
- package/dist/cjs/hooks/animation/useApplyAnimation.js +1 -1
- package/dist/esm/components/Render.liquid.js +7 -7
- package/dist/esm/helpers/animations.js +1 -1
- package/dist/esm/hooks/animation/useAnimationConfig.js +1 -1
- package/dist/esm/hooks/animation/useAnimationPreview.js +1 -1
- package/dist/esm/hooks/animation/useAnimationTarget.js +1 -1
- package/dist/esm/hooks/animation/useApplyAnimation.js +1 -1
- package/dist/types/index.d.ts +16 -0
- package/package.json +1 -1
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),require("react"),require("react/jsx-runtime"),require("zustand"),require("swr"),require("@gem-sdk/adapter-shopify"),require("swr/mutation"),require("vanilla-lazyload"),require("../hooks/useCartUI.js"),require("react-transition-group"),require("@gem-sdk/core");var render=require("../helpers/render.js"),convert=require("../helpers/convert.js"),composeAdvanceStyle=require("../helpers/compose-advance-style.js"),constant=require("./constant.js");const componentsRenderWithParentId=["CarouselItem"],componentTexts=["Text","Heading"],componentIconList=["IconListV2"],Render=({uid:e,builder:
|
|
2
|
-
${render.RenderIf(a?.childrens?.length,()=>l({builderProps:{uid:e,builderData:a},styles:a.styles,setting:a.settings,advanced:{cssClass:a?.advanced?.cssClass},pageContext:i,...s,rawChildren:a.childrens.map(e=>({...
|
|
3
|
-
</div>`;let{cssCode:
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),require("react"),require("react/jsx-runtime"),require("zustand"),require("swr"),require("@gem-sdk/adapter-shopify"),require("swr/mutation"),require("vanilla-lazyload"),require("../hooks/useCartUI.js"),require("react-transition-group"),require("@gem-sdk/core");var render=require("../helpers/render.js"),convert=require("../helpers/convert.js"),composeAdvanceStyle=require("../helpers/compose-advance-style.js"),constant=require("./constant.js");const componentsRenderWithParentId=["CarouselItem"],componentTexts=["Text","Heading"],componentIconList=["IconListV2","IconList"],componentUsingAdvanced=["IconList"],Render=({uid:e,builder:t,components:r,parentId:n,extraFiles:d={},pageContext:i,...s})=>{let a=t[e],l=r[a?.tag];if(!l)return console.log("Miss component: ",a),{liquid:"",extraFiles:d};if(!a||a?.type==="section")return{liquid:"",extraFiles:d};{let d={extraFiles:{}},c=composeAdvanceStyle.composeAdvanceStyle(a.advanced,a.tag),o="";o=constant.disableWrap.includes(a.tag)?render.RenderIf(a?.childrens?.length,()=>l({builderProps:{uid:e,builderData:a},styles:a.styles,setting:a.settings,style:c,advanced:a.advanced,parentId:componentsRenderWithParentId.includes(a.tag)?n:null,pageContext:i,...s,rawChildren:a.childrens.map(e=>({...t[e],uid:e,builder:t,components:r,customProps:d,pageContext:i})),children:constant.customRenderChildren.includes(a.tag)?"":WrapRenderChildren({uid:e,customProps:d},a.childrens.map(e=>RenderChildren({uid:e,builder:t,components:r,customProps:d,parentTag:a.tag,pageContext:i})))}),()=>l({builderProps:{uid:e,builderData:a},styles:a.styles,setting:a.settings,advanced:a.advanced,style:c,isText:!!componentTexts.includes(a.tag)||null,parentId:componentsRenderWithParentId.includes(a.tag)?n:null,pageContext:i,...s})):render.template`<div style="${componentIconList.includes(a.tag)?"":c}" class="${a.uid} ${a?.childrens?.length||"IconListItemHoz"!==a.tag?"":"hidden"}">
|
|
2
|
+
${render.RenderIf(a?.childrens?.length,()=>l({builderProps:{uid:e,builderData:a},styles:a.styles,setting:a.settings,advanced:{...componentUsingAdvanced.includes(a.tag)?a?.advanced:{},cssClass:a?.advanced?.cssClass},pageContext:i,...s,rawChildren:a.childrens.map(e=>({...t[e],uid:e,builder:t,components:r,customProps:d,pageContext:i})),children:constant.customRenderChildren.includes(a.tag)?"":WrapRenderChildren({uid:e,customProps:d},a.childrens.map(e=>RenderChildren({uid:e,builder:t,components:r,customProps:d,parentTag:a.tag,pageContext:i})))}),()=>l({builderProps:{uid:e,builderData:a},styles:a.styles,setting:a.settings,advanced:{cssClass:a?.advanced?.cssClass},pageContext:i,isText:!!componentTexts.includes(a.tag)||null,style:componentIconList.includes(a.tag)?c:null,...s}))}
|
|
3
|
+
</div>`;let{cssCode:p,jsCode:u}=RenderCustomCode(a);return p&&(o+=p),u&&(o+=u),{liquid:o=appendAnimation(a,o),extraFiles:d.extraFiles}}},RenderCustomCode=e=>{let{css:t,javascript:r,rootClassName:n}=e.advanced?.editorData||{},d=t?.replaceAll(n,e.uid),i=r?.replaceAll(n,e.uid),s=render.RenderIf(!!t,render.template`
|
|
4
4
|
<style
|
|
5
5
|
id="${`custom-css-${e?.uid}`}"
|
|
6
6
|
>${d}</style>
|
|
7
|
-
`),a=render.RenderIf(!!
|
|
7
|
+
`),a=render.RenderIf(!!r,render.template`
|
|
8
8
|
<script
|
|
9
9
|
id="${`custom-js-${e?.uid}`}"
|
|
10
10
|
>
|
|
@@ -12,11 +12,11 @@
|
|
|
12
12
|
${i}
|
|
13
13
|
} catch(err){}
|
|
14
14
|
</script>
|
|
15
|
-
`);return{cssCode:s,jsCode:a}},appendAnimation=(e,
|
|
15
|
+
`);return{cssCode:s,jsCode:a}},appendAnimation=(e,t)=>{let{uid:r,advanced:n,tag:d}=e,{animation:i}=n??{},s=i?.desktop?.enabled||i?.tablet?.enabled||i?.mobile?.enabled;if(!s||!i?.desktop?.triggerConfig)return t;let a=`animation-wrapper-${r}`;return render.template`
|
|
16
16
|
${render.RenderIf(convert.isLocalEnv,'<script src="{{ \'gp-animation.js\' | asset_url }}" defer="defer"></script>',`<script src="${convert.baseAssetURL}/assets/gp-animation.js" defer="defer"></script>`)}
|
|
17
17
|
<gp-animation
|
|
18
18
|
gp-data='${JSON.stringify({targetSelector:`#${a}`,config:i,tag:d})}'
|
|
19
19
|
>
|
|
20
|
-
<div id="${a}">${
|
|
20
|
+
<div id="${a}">${t}</div>
|
|
21
21
|
</gp-animation>
|
|
22
|
-
`},RenderChildren=e=>{let
|
|
22
|
+
`},RenderChildren=e=>{let t=Render(e);for(let r in t.extraFiles)Object.prototype.hasOwnProperty.call(t.extraFiles,r)&&(e.customProps.extraFiles[r]=t.extraFiles[r]);let r=new TextEncoder,n=t?.liquid?r.encode(t.liquid).length:0;if(Math.ceil(n/1024)>=180){let r=`gp-section-snippet-${e.uid}`;return e.customProps.extraFiles[r]=t.liquid,`{% render '${r}', product: product, variant: variant, product_form_id: product_form_id, productSelectedVariant: productSelectedVariant %}`}return t.liquid},WrapRenderChildren=({uid:e,customProps:t},r)=>{let n="";if(r?.length)for(let d=0;d<r.length;d++){let i=r[d];if(i){let r=n+i,s=new TextEncoder,a=r?s.encode(r).length:0;if(Math.ceil(a/1024)>=180){let r=`gp-section-snippet-${e+d}`;t.extraFiles[r]=i,n+=`{% render '${r}', product: product, variant: variant, product_form_id: product_form_id, productSelectedVariant: productSelectedVariant %}`}else n+=i}}return n};exports.RenderChildren=RenderChildren,exports.WrapRenderChildren=WrapRenderChildren,exports.default=Render;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const animations=()=>{let t=t=>{let r=["delay","duration","scale","intensity"];return r.forEach(r=>{if(t?.[r]){let a=Number(t?.[r]);if(t[r]=a,!isFinite(a))throw TypeError(`${r} must be a number`)}}),t},r=(r,a,e)=>{let s=t(a),{direction:l,distance:o}=s,
|
|
1
|
+
"use strict";const animations=()=>{let t=t=>{let r=["delay","duration","scale","intensity"];return r.forEach(r=>{if(t?.[r]){let a=Number(t?.[r]);if(t[r]=a,!isFinite(a))throw TypeError(`${r} must be a number`)}}),t},r=(r,a,e)=>{let s=t(a),{direction:l,distance:o}=s,i=["left","right"].includes(l??"")?"X":"Y",m=["left","down"].includes(l??"")?"-":"",d=[{opacity:"fade"===e?0:1,transform:`translate${i}(${m}${o??100}px)`},{opacity:1,transform:`translate${i}(0)`}];return f(r,d,{...n(s,500)})},a=(t,a)=>r(t,a,"slide"),e=(t,a)=>r(t,a,"fade"),n=(t,r)=>{let{loop:a,delay:e,duration:n}=t??{},s=e??0,l=(n??r)+s;return{iterations:a?1/0:1,duration:l,delay:s}},s=(r,a)=>{let e=t(a),{scale:s,zoomDirection:l}=e,o=[{transform:"scale(1, 1)"},{transform:`scale(${s??1.2}, ${s??1.2})`}],i=[{transform:"scale(1, 1)"},{transform:`scale(${s??.8}, ${s??.8})`}],m="in"===l?o:i;return f(r,m,{...n(e,700),fill:"forwards"})},l=(t,r,a)=>{if(!r)return t;let e=r/a,n=[...t].pop();return[...t,{...n,offset:1-e}]},o=(r,a)=>{let e=t(a),{intensity:s}=e??{},l=[{transform:"translate3d(0, 0, 0)"}],o=[{transform:"translate3d(4px, 0, 0)"},{transform:"translate3d(-4px, 0, 0)"},{transform:"translate3d(4px, 0, 0)"}],i=[];Array.from(Array(s??1).keys()).forEach(()=>{i=[...i,...o]});let m=[{transform:"translate3d(-1px, 0, 0)"},{transform:"translate3d(2px, 0, 0)"},{transform:"translate3d(-4px, 0, 0)"},...i,{transform:"translate3d(-4px, 0, 0)"},{transform:"translate3d(2px, 0, 0)"},{transform:"translate3d(-1px, 0, 0)"}];return f(r,s?m:l,{...n(e??{},820),easing:"ease"})},f=(t,r,a)=>{let e=new KeyframeEffect(t,l(r,a?.delay??0,a?.duration??0),a);return new Animation(e,document.timeline)};return{zoom:s,shake:o,fade:e,slide:a}};exports.animations=animations;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var react=require("react"),useCurrentDevice=require("../use-current-device.js");const useAnimationConfig=e=>{let
|
|
1
|
+
"use strict";var react=require("react"),useCurrentDevice=require("../use-current-device.js");const useAnimationConfig=e=>{let t=useCurrentDevice.useCurrentDevice(),n=react.useMemo(()=>e?.advanced?.animation?.[t],[t,e?.advanced?.animation]),r=()=>{let{trigger:e,triggerConfig:t}=n,{animation:r,setting:i}=t[e],a=i[r];return{type:r,setting:getConvertedSetting(a)}},i=n?.enabled;return{isEnabledAnimation:i,getAnimationConfig:r}},getConvertedSetting=e=>{let{duration:t,delay:n,scale:r}=e;return t&&(e.duration=1e3*t),n&&(e.delay=1e3*n),r&&(e.scale=r/100),e};exports.useAnimationConfig=useAnimationConfig;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var react=require("react"),useAnimationTarget=require("./useAnimationTarget.js");const useAnimationPreview=({componentUid:e,
|
|
1
|
+
"use strict";var react=require("react"),useAnimationTarget=require("./useAnimationTarget.js");const useAnimationPreview=({componentUid:e,componentTag:i,playAnimation:t,cancelAnimation:r,setAnimationOnFinish:a})=>{let{setToolbarVisibility:n}=useAnimationTarget.useAnimationTarget({componentUid:e,componentTag:i}),s=react.useCallback(i=>{let{uid:s,isCancel:u}=i.detail;e===s&&(r(),u||(t(),n("hidden"),a(()=>{n("visible")})))},[e,r,t,a,n]);return{previewAnimation:s}};exports.useAnimationPreview=useAnimationPreview;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var react=require("react");const useAnimationTarget=e=>{let
|
|
1
|
+
"use strict";var react=require("react");const useAnimationTarget=({componentUid:e,componentTag:r})=>{let t=react.useRef(null),u=react.useRef(null),c=react.useRef(null),a=react.useRef(null),n=react.useRef(null),l=react.useRef(null),o=react.useCallback((e,r)=>{e&&(e.style.visibility=r)},[]),s=react.useCallback(e=>{o(u.current,e),o(c.current,e),o(a.current,e),o(n.current,e),o(l.current,e)},[o]);return react.useEffect(()=>{t.current=document.querySelector(`[data-uid="${e}"]`),t.current&&(u.current=t.current.querySelector("[data-toolbar]"),c.current=t.current.querySelector("[data-outline]"),a.current=t.current.querySelector("[data-spacing]"),"Section"===r&&(n.current=t.current.querySelector("[data-toolbar-add-top]"),l.current=t.current.querySelector("[data-toolbar-add-bottom]")))},[e,r]),{setToolbarVisibility:s,target:t.current}};exports.useAnimationTarget=useAnimationTarget;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var react=require("react"),useAnimations=require("../useAnimations.js"),useAnimationTarget=require("./useAnimationTarget.js"),useAnimationConfig=require("./useAnimationConfig.js"),useAnimationActions=require("./useAnimationActions.js"),useAnimationPreview=require("./useAnimationPreview.js");const useApplyAnimation=({props:e})=>{let
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var react=require("react"),useAnimations=require("../useAnimations.js"),useAnimationTarget=require("./useAnimationTarget.js"),useAnimationConfig=require("./useAnimationConfig.js"),useAnimationActions=require("./useAnimationActions.js"),useAnimationPreview=require("./useAnimationPreview.js");const useApplyAnimation=({props:e})=>{let{uid:i,tag:n}=e,t=useAnimations.useAnimations(),{target:s}=useAnimationTarget.useAnimationTarget({componentUid:i,componentTag:n}),{isEnabledAnimation:a,getAnimationConfig:o}=useAnimationConfig.useAnimationConfig(e),{setAnimation:r,cancelAnimation:u,playAnimation:A,setAnimationOnFinish:m}=useAnimationActions.useAnimationActions(),{previewAnimation:c}=useAnimationPreview.useAnimationPreview({componentUid:i,componentTag:n,playAnimation:A,cancelAnimation:u,setAnimationOnFinish:m}),f=react.useCallback(()=>{let{type:e,setting:i}=o();if(!s||!e||"none"===e){u();return}u();let n=t[e](s,i);r(n)},[t,u,o,r,s]);react.useEffect(()=>(a?f():u(),()=>{u()}),[i,f,u,a]),react.useEffect(()=>(window.addEventListener("preview-animation",c),()=>{window.removeEventListener("preview-animation",c)}),[c])};exports.default=useApplyAnimation;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import"react";import"react/jsx-runtime";import"zustand";import"swr";import"@gem-sdk/adapter-shopify";import"swr/mutation";import"vanilla-lazyload";import"../hooks/useCartUI.js";import"react-transition-group";import"@gem-sdk/core";import{RenderIf as e,template as t}from"../helpers/render.js";import{baseAssetURL as r,isLocalEnv as n}from"../helpers/convert.js";import{composeAdvanceStyle as i}from"../helpers/compose-advance-style.js";import{disableWrap as
|
|
2
|
-
${e(u?.childrens?.length,()=>m({builderProps:{uid:r,builderData:u},styles:u.styles,setting:u.settings,advanced:{cssClass:u?.advanced?.cssClass},pageContext:c,...p,rawChildren:u.childrens.map(e=>({...n[e],uid:e,builder:n,components:a,customProps:o,pageContext:c})),children:
|
|
3
|
-
</div>`;let{cssCode:f,jsCode:v}=RenderCustomCode(u);return f&&(h+=f),v&&(h+=v),{liquid:h=appendAnimation(u,h),extraFiles:o.extraFiles}}},RenderCustomCode=r=>{let{css:n,javascript:i,rootClassName:
|
|
1
|
+
import"react";import"react/jsx-runtime";import"zustand";import"swr";import"@gem-sdk/adapter-shopify";import"swr/mutation";import"vanilla-lazyload";import"../hooks/useCartUI.js";import"react-transition-group";import"@gem-sdk/core";import{RenderIf as e,template as t}from"../helpers/render.js";import{baseAssetURL as r,isLocalEnv as n}from"../helpers/convert.js";import{composeAdvanceStyle as i}from"../helpers/compose-advance-style.js";import{disableWrap as d,customRenderChildren as s}from"./constant.js";let componentsRenderWithParentId=["CarouselItem"],componentTexts=["Text","Heading"],componentIconList=["IconListV2","IconList"],componentUsingAdvanced=["IconList"],Render=({uid:r,builder:n,components:a,parentId:l,extraFiles:o={},pageContext:c,...p})=>{let u=n[r],m=a[u?.tag];if(!m)return console.log("Miss component: ",u),{liquid:"",extraFiles:o};if(!u||u?.type==="section")return{liquid:"",extraFiles:o};{let o={extraFiles:{}},g=i(u.advanced,u.tag),h="";h=d.includes(u.tag)?e(u?.childrens?.length,()=>m({builderProps:{uid:r,builderData:u},styles:u.styles,setting:u.settings,style:g,advanced:u.advanced,parentId:componentsRenderWithParentId.includes(u.tag)?l:null,pageContext:c,...p,rawChildren:u.childrens.map(e=>({...n[e],uid:e,builder:n,components:a,customProps:o,pageContext:c})),children:s.includes(u.tag)?"":WrapRenderChildren({uid:r,customProps:o},u.childrens.map(e=>RenderChildren({uid:e,builder:n,components:a,customProps:o,parentTag:u.tag,pageContext:c})))}),()=>m({builderProps:{uid:r,builderData:u},styles:u.styles,setting:u.settings,advanced:u.advanced,style:g,isText:!!componentTexts.includes(u.tag)||null,parentId:componentsRenderWithParentId.includes(u.tag)?l:null,pageContext:c,...p})):t`<div style="${componentIconList.includes(u.tag)?"":g}" class="${u.uid} ${u?.childrens?.length||"IconListItemHoz"!==u.tag?"":"hidden"}">
|
|
2
|
+
${e(u?.childrens?.length,()=>m({builderProps:{uid:r,builderData:u},styles:u.styles,setting:u.settings,advanced:{...componentUsingAdvanced.includes(u.tag)?u?.advanced:{},cssClass:u?.advanced?.cssClass},pageContext:c,...p,rawChildren:u.childrens.map(e=>({...n[e],uid:e,builder:n,components:a,customProps:o,pageContext:c})),children:s.includes(u.tag)?"":WrapRenderChildren({uid:r,customProps:o},u.childrens.map(e=>RenderChildren({uid:e,builder:n,components:a,customProps:o,parentTag:u.tag,pageContext:c})))}),()=>m({builderProps:{uid:r,builderData:u},styles:u.styles,setting:u.settings,advanced:{cssClass:u?.advanced?.cssClass},pageContext:c,isText:!!componentTexts.includes(u.tag)||null,style:componentIconList.includes(u.tag)?g:null,...p}))}
|
|
3
|
+
</div>`;let{cssCode:f,jsCode:v}=RenderCustomCode(u);return f&&(h+=f),v&&(h+=v),{liquid:h=appendAnimation(u,h),extraFiles:o.extraFiles}}},RenderCustomCode=r=>{let{css:n,javascript:i,rootClassName:d}=r.advanced?.editorData||{},s=n?.replaceAll(d,r.uid),a=i?.replaceAll(d,r.uid),l=e(!!n,t`
|
|
4
4
|
<style
|
|
5
5
|
id="${`custom-css-${r?.uid}`}"
|
|
6
|
-
>${
|
|
6
|
+
>${s}</style>
|
|
7
7
|
`),o=e(!!i,t`
|
|
8
8
|
<script
|
|
9
9
|
id="${`custom-js-${r?.uid}`}"
|
|
@@ -12,11 +12,11 @@ import"react";import"react/jsx-runtime";import"zustand";import"swr";import"@gem-
|
|
|
12
12
|
${a}
|
|
13
13
|
} catch(err){}
|
|
14
14
|
</script>
|
|
15
|
-
`);return{cssCode:l,jsCode:o}},appendAnimation=(i,
|
|
15
|
+
`);return{cssCode:l,jsCode:o}},appendAnimation=(i,d)=>{let{uid:s,advanced:a,tag:l}=i,{animation:o}=a??{},c=o?.desktop?.enabled||o?.tablet?.enabled||o?.mobile?.enabled;if(!c||!o?.desktop?.triggerConfig)return d;let p=`animation-wrapper-${s}`;return t`
|
|
16
16
|
${e(n,'<script src="{{ \'gp-animation.js\' | asset_url }}" defer="defer"></script>',`<script src="${r}/assets/gp-animation.js" defer="defer"></script>`)}
|
|
17
17
|
<gp-animation
|
|
18
18
|
gp-data='${JSON.stringify({targetSelector:`#${p}`,config:o,tag:l})}'
|
|
19
19
|
>
|
|
20
|
-
<div id="${p}">${
|
|
20
|
+
<div id="${p}">${d}</div>
|
|
21
21
|
</gp-animation>
|
|
22
|
-
`},RenderChildren=e=>{let t=Render(e);for(let r in t.extraFiles)Object.prototype.hasOwnProperty.call(t.extraFiles,r)&&(e.customProps.extraFiles[r]=t.extraFiles[r]);let r=new TextEncoder,n=t?.liquid?r.encode(t.liquid).length:0;if(Math.ceil(n/1024)>=180){let r=`gp-section-snippet-${e.uid}`;return e.customProps.extraFiles[r]=t.liquid,`{% render '${r}', product: product, variant: variant, product_form_id: product_form_id, productSelectedVariant: productSelectedVariant %}`}return t.liquid},WrapRenderChildren=({uid:e,customProps:t},r)=>{let n="";if(r?.length)for(let i=0;i<r.length;i++){let
|
|
22
|
+
`},RenderChildren=e=>{let t=Render(e);for(let r in t.extraFiles)Object.prototype.hasOwnProperty.call(t.extraFiles,r)&&(e.customProps.extraFiles[r]=t.extraFiles[r]);let r=new TextEncoder,n=t?.liquid?r.encode(t.liquid).length:0;if(Math.ceil(n/1024)>=180){let r=`gp-section-snippet-${e.uid}`;return e.customProps.extraFiles[r]=t.liquid,`{% render '${r}', product: product, variant: variant, product_form_id: product_form_id, productSelectedVariant: productSelectedVariant %}`}return t.liquid},WrapRenderChildren=({uid:e,customProps:t},r)=>{let n="";if(r?.length)for(let i=0;i<r.length;i++){let d=r[i];if(d){let r=n+d,s=new TextEncoder,a=r?s.encode(r).length:0;if(Math.ceil(a/1024)>=180){let r=`gp-section-snippet-${e+i}`;t.extraFiles[r]=d,n+=`{% render '${r}', product: product, variant: variant, product_form_id: product_form_id, productSelectedVariant: productSelectedVariant %}`}else n+=d}}return n};export{RenderChildren,WrapRenderChildren,Render as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
let animations=()=>{let
|
|
1
|
+
let animations=()=>{let r=r=>{let t=["delay","duration","scale","intensity"];return t.forEach(t=>{if(r?.[t]){let a=Number(r?.[t]);if(r[t]=a,!isFinite(a))throw TypeError(`${t} must be a number`)}}),r},t=(t,a,e)=>{let s=r(a),{direction:l,distance:o}=s,i=["left","right"].includes(l??"")?"X":"Y",m=["left","down"].includes(l??"")?"-":"",d=[{opacity:"fade"===e?0:1,transform:`translate${i}(${m}${o??100}px)`},{opacity:1,transform:`translate${i}(0)`}];return f(t,d,{...n(s,500)})},a=(r,a)=>t(r,a,"slide"),e=(r,a)=>t(r,a,"fade"),n=(r,t)=>{let{loop:a,delay:e,duration:n}=r??{},s=e??0,l=(n??t)+s;return{iterations:a?1/0:1,duration:l,delay:s}},s=(t,a)=>{let e=r(a),{scale:s,zoomDirection:l}=e,o=[{transform:"scale(1, 1)"},{transform:`scale(${s??1.2}, ${s??1.2})`}],i=[{transform:"scale(1, 1)"},{transform:`scale(${s??.8}, ${s??.8})`}],m="in"===l?o:i;return f(t,m,{...n(e,700),fill:"forwards"})},l=(r,t,a)=>{if(!t)return r;let e=t/a,n=[...r].pop();return[...r,{...n,offset:1-e}]},o=(t,a)=>{let e=r(a),{intensity:s}=e??{},l=[{transform:"translate3d(0, 0, 0)"}],o=[{transform:"translate3d(4px, 0, 0)"},{transform:"translate3d(-4px, 0, 0)"},{transform:"translate3d(4px, 0, 0)"}],i=[];Array.from(Array(s??1).keys()).forEach(()=>{i=[...i,...o]});let m=[{transform:"translate3d(-1px, 0, 0)"},{transform:"translate3d(2px, 0, 0)"},{transform:"translate3d(-4px, 0, 0)"},...i,{transform:"translate3d(-4px, 0, 0)"},{transform:"translate3d(2px, 0, 0)"},{transform:"translate3d(-1px, 0, 0)"}];return f(t,s?m:l,{...n(e??{},820),easing:"ease"})},f=(r,t,a)=>{let e=new KeyframeEffect(r,l(t,a?.delay??0,a?.duration??0),a);return new Animation(e,document.timeline)};return{zoom:s,shake:o,fade:e,slide:a}};export{animations};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useMemo as e}from"react";import{useCurrentDevice as
|
|
1
|
+
import{useMemo as e}from"react";import{useCurrentDevice as t}from"../use-current-device.js";let useAnimationConfig=n=>{let i=t(),r=e(()=>n?.advanced?.animation?.[i],[i,n?.advanced?.animation]),a=()=>{let{trigger:e,triggerConfig:t}=r,{animation:n,setting:i}=t[e],a=i[n];return{type:n,setting:getConvertedSetting(a)}},o=r?.enabled;return{isEnabledAnimation:o,getAnimationConfig:a}},getConvertedSetting=e=>{let{duration:t,delay:n,scale:i}=e;return t&&(e.duration=1e3*t),n&&(e.delay=1e3*n),i&&(e.scale=i/100),e};export{useAnimationConfig};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useCallback as e}from"react";import{useAnimationTarget as i}from"./useAnimationTarget.js";let useAnimationPreview=({componentUid:t,
|
|
1
|
+
import{useCallback as e}from"react";import{useAnimationTarget as i}from"./useAnimationTarget.js";let useAnimationPreview=({componentUid:t,componentTag:r,playAnimation:n,cancelAnimation:o,setAnimationOnFinish:m})=>{let{setToolbarVisibility:a}=i({componentUid:t,componentTag:r}),l=e(e=>{let{uid:i,isCancel:r}=e.detail;t===i&&(o(),r||(n(),a("hidden"),m(()=>{a("visible")})))},[t,o,n,m,a]);return{previewAnimation:l}};export{useAnimationPreview};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useRef as r,useCallback as
|
|
1
|
+
import{useRef as r,useCallback as t,useEffect as e}from"react";let useAnimationTarget=({componentUid:u,componentTag:n})=>{let c=r(null),l=r(null),a=r(null),o=r(null),i=r(null),d=r(null),y=t((r,t)=>{r&&(r.style.visibility=t)},[]),S=t(r=>{y(l.current,r),y(a.current,r),y(o.current,r),y(i.current,r),y(d.current,r)},[y]);return e(()=>{c.current=document.querySelector(`[data-uid="${u}"]`),c.current&&(l.current=c.current.querySelector("[data-toolbar]"),a.current=c.current.querySelector("[data-outline]"),o.current=c.current.querySelector("[data-spacing]"),"Section"===n&&(i.current=c.current.querySelector("[data-toolbar-add-top]"),d.current=c.current.querySelector("[data-toolbar-add-bottom]")))},[u,n]),{setToolbarVisibility:S,target:c.current}};export{useAnimationTarget};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useCallback as i,useEffect as e}from"react";import{useAnimations as
|
|
1
|
+
import{useCallback as i,useEffect as e}from"react";import{useAnimations as t}from"../useAnimations.js";import{useAnimationTarget as n}from"./useAnimationTarget.js";import{useAnimationConfig as o}from"./useAnimationConfig.js";import{useAnimationActions as r}from"./useAnimationActions.js";import{useAnimationPreview as m}from"./useAnimationPreview.js";let useApplyAnimation=({props:a})=>{let{uid:s,tag:p}=a,u=t(),{target:A}=n({componentUid:s,componentTag:p}),{isEnabledAnimation:f,getAnimationConfig:l}=o(a),{setAnimation:w,cancelAnimation:d,playAnimation:v,setAnimationOnFinish:j}=r(),{previewAnimation:g}=m({componentUid:s,componentTag:p,playAnimation:v,cancelAnimation:d,setAnimationOnFinish:j}),c=i(()=>{let{type:i,setting:e}=l();if(!A||!i||"none"===i){d();return}d();let t=u[i](A,e);w(t)},[u,d,l,w,A]);e(()=>(f?c():d(),()=>{d()}),[s,c,d,f]),e(()=>(window.addEventListener("preview-animation",g),()=>{window.removeEventListener("preview-animation",g)}),[g])};export{useApplyAnimation as default};
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1231,6 +1231,19 @@ type ControlUI = {
|
|
|
1231
1231
|
hideOnPages?: PageType[];
|
|
1232
1232
|
};
|
|
1233
1233
|
isMoreSetting?: boolean;
|
|
1234
|
+
controlChangeTrigger?: {
|
|
1235
|
+
settings?: {
|
|
1236
|
+
controlId: string;
|
|
1237
|
+
controlKey?: string;
|
|
1238
|
+
newValue: any;
|
|
1239
|
+
controlType: string;
|
|
1240
|
+
groupType: string;
|
|
1241
|
+
condition: string;
|
|
1242
|
+
}[];
|
|
1243
|
+
options?: {
|
|
1244
|
+
noRecordHistory?: boolean;
|
|
1245
|
+
};
|
|
1246
|
+
};
|
|
1234
1247
|
};
|
|
1235
1248
|
type PageType = 'ARTICLE' | 'BLOG' | 'COLLECTION' | 'GP_ARTICLE' | 'GP_BLOG' | 'GP_COLLECTION' | 'GP_INDEX' | 'GP_PRODUCT' | 'GP_STATIC' | 'PRODUCT' | 'STATIC' | 'THEME_SECTION';
|
|
1236
1249
|
type ComponentPreset = {
|
|
@@ -7524,6 +7537,7 @@ type AnimationOptions = {
|
|
|
7524
7537
|
duration?: number;
|
|
7525
7538
|
delay?: number;
|
|
7526
7539
|
intensity?: number;
|
|
7540
|
+
zoomDirection?: 'in' | 'out';
|
|
7527
7541
|
};
|
|
7528
7542
|
|
|
7529
7543
|
type ExtraFiles = Record<string, string>;
|
|
@@ -7685,6 +7699,7 @@ type ProductListContextProps = {
|
|
|
7685
7699
|
spacing?: ObjectDevices<number>;
|
|
7686
7700
|
layout?: 'grid' | 'slider';
|
|
7687
7701
|
dot?: ObjectDevices<boolean>;
|
|
7702
|
+
dotStyle?: ObjectDevices<'none' | 'inside' | 'outside'>;
|
|
7688
7703
|
arrow?: ObjectDevices<boolean>;
|
|
7689
7704
|
controlOverContent?: ObjectDevices<boolean>;
|
|
7690
7705
|
speed?: number;
|
|
@@ -10093,6 +10108,7 @@ declare const useProductListSettings: () => {
|
|
|
10093
10108
|
spacing?: Partial<Record<NameDevices$1, number>> | undefined;
|
|
10094
10109
|
layout?: "grid" | "slider" | undefined;
|
|
10095
10110
|
dot?: Partial<Record<NameDevices$1, boolean>> | undefined;
|
|
10111
|
+
dotStyle?: Partial<Record<NameDevices$1, "none" | "inside" | "outside">> | undefined;
|
|
10096
10112
|
arrow?: Partial<Record<NameDevices$1, boolean>> | undefined;
|
|
10097
10113
|
controlOverContent?: Partial<Record<NameDevices$1, boolean>> | undefined;
|
|
10098
10114
|
speed?: number | undefined;
|