@gem-sdk/core 1.14.0-dev.571 → 1.14.0-dev.574
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 +10 -10
- 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 +11 -11
- 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/package.json +1 -1
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0})
|
|
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:
|
|
3
|
-
</div>`;let{cssCode:
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var makeStyle=require("../helpers/make-style.js");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:i={},pageContext:d,...s})=>{let a=t[e],l=r[a?.tag];if(!l)return console.log("Miss component: ",a),{liquid:"",extraFiles:i};if(!a||a?.type==="section")return{liquid:"",extraFiles:i};{let i={extraFiles:{}},o=composeAdvanceStyle.composeAdvanceStyle(a.advanced,a.tag),c="";c=constant.disableWrap.includes(a.tag)?render.RenderIf(a?.childrens?.length,()=>l({builderProps:{uid:e,builderData:a},styles:a.styles,setting:a.settings,style:o,advanced:a.advanced,parentId:componentsRenderWithParentId.includes(a.tag)?n:null,pageContext:d,...s,rawChildren:a.childrens.map(e=>({...t[e],uid:e,builder:t,components:r,customProps:i,pageContext:d})),children:constant.customRenderChildren.includes(a.tag)?"":WrapRenderChildren({uid:e,customProps:i},a.childrens.map(e=>RenderChildren({uid:e,builder:t,components:r,customProps:i,parentTag:a.tag,pageContext:d})))}),()=>l({builderProps:{uid:e,builderData:a},styles:a.styles,setting:a.settings,advanced:a.advanced,style:o,isText:!!componentTexts.includes(a.tag)||null,parentId:componentsRenderWithParentId.includes(a.tag)?n:null,pageContext:d,...s})):render.template`<div style="${componentIconList.includes(a.tag)?"":o}" 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:d,...s,rawChildren:a.childrens.map(e=>({...t[e],uid:e,builder:t,components:r,customProps:i,pageContext:d})),children:constant.customRenderChildren.includes(a.tag)?"":WrapRenderChildren({uid:e,customProps:i},a.childrens.map(e=>RenderChildren({uid:e,builder:t,components:r,customProps:i,parentTag:a.tag,pageContext:d})))}),()=>l({builderProps:{uid:e,builderData:a},styles:a.styles,setting:a.settings,advanced:{cssClass:a?.advanced?.cssClass},pageContext:d,isText:!!componentTexts.includes(a.tag)||null,style:componentIconList.includes(a.tag)?o:null,...s}))}
|
|
3
|
+
</div>`;let{cssCode:p,jsCode:u}=RenderCustomCode(a);return p&&(c+=p),u&&(c+=u),{liquid:c=appendAnimation(a,c),extraFiles:i.extraFiles}}},RenderCustomCode=e=>{let{css:t,javascript:r,rootClassName:n}=e.advanced?.editorData||{},i=t?.replaceAll(n,e.uid),d=r?.replaceAll(n,e.uid),s=render.RenderIf(!!t,render.template`
|
|
4
4
|
<style
|
|
5
5
|
id="${`custom-css-${e?.uid}`}"
|
|
6
|
-
>${
|
|
6
|
+
>${i}</style>
|
|
7
7
|
`),a=render.RenderIf(!!r,render.template`
|
|
8
8
|
<script
|
|
9
9
|
id="${`custom-js-${e?.uid}`}"
|
|
10
10
|
>
|
|
11
11
|
try {
|
|
12
|
-
${
|
|
12
|
+
${d}
|
|
13
13
|
} catch(err){}
|
|
14
14
|
</script>
|
|
15
|
-
`);return{cssCode:s,jsCode:a}},appendAnimation=(e,t)=>{let{advanced:r,tag:n}=e,{animation:
|
|
15
|
+
`);return{cssCode:s,jsCode:a}},appendAnimation=(e,t)=>{let{advanced:r,tag:n}=e,{animation:i}=r??{},d=i?.desktop?.enabled||i?.tablet?.enabled||i?.mobile?.enabled;if(!d||!i?.desktop?.triggerConfig)return t;let s=(e,t)=>e?.triggerConfig?.[t]?.animation??"none",a=e=>{if("desktop"===e);else if("tablet"===e)return i?.tablet??i?.desktop;else if("mobile"===e)return i?.mobile??i?.tablet??i?.desktop;return i?.desktop},l=e=>+!(a(e)?.enabled&&"none"!==s(a(e),"appear")),o={desktop:l("desktop"),tablet:l("tablet"),mobile:l("mobile")},c={all:"Section"===n?"":"inherit"};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
|
-
gp-data='${JSON.stringify({config:
|
|
19
|
-
style="${{...
|
|
18
|
+
gp-data='${JSON.stringify({config:i,tag:n})}'
|
|
19
|
+
style="${{...c}}"
|
|
20
20
|
>
|
|
21
|
-
<div style="${{...
|
|
21
|
+
<div style="${{...makeStyle.makeStyleResponsive("op",o)}}">${t}</div>
|
|
22
22
|
</gp-animation>
|
|
23
|
-
`},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
|
|
23
|
+
`},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};exports.RenderChildren=RenderChildren,exports.WrapRenderChildren=WrapRenderChildren,exports.default=Render;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var react=require("react")
|
|
1
|
+
"use strict";var react=require("react");const useAnimationPreview=({props:e,playAnimation:i,cancelAnimation:r,setAnimationOnFinish:t,setToolbarActive:a})=>{let u=react.useCallback(u=>{let{uid:n,isCancel:s}=u.detail;if(e.uid===n){if(r(),s){a(!0);return}i(),a(!1),t(()=>{a(!0)})}},[e.uid,r,i,a,t]);return{previewAnimation:u}};exports.useAnimationPreview=useAnimationPreview;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var react=require("react"),useAnimationConfig=require("./useAnimationConfig.js");const SPACING_ACTIVE_ATTRIBUTE="data-spacing",TOOLBAR_ACTIVE_ATTRIBUTE="data-toolbar-active",OUTLINE_ACTIVE_ATTRIBUTE="data-outline-active",TOOLBAR_ADD_SECTION_ACTIVE_ATTRIBUTE="data-toolbar-add-active",useAnimationTarget=t=>{let{isEnabledAnimation:e}=useAnimationConfig.useAnimationConfig(t),r=t.tag,a=t.uid,
|
|
1
|
+
"use strict";var react=require("react"),useAnimationConfig=require("./useAnimationConfig.js");const SPACING_ACTIVE_ATTRIBUTE="data-spacing",TOOLBAR_ACTIVE_ATTRIBUTE="data-toolbar-active",OUTLINE_ACTIVE_ATTRIBUTE="data-outline-active",TOOLBAR_ADD_SECTION_ACTIVE_ATTRIBUTE="data-toolbar-add-active",useAnimationTarget=t=>{let{isEnabledAnimation:e}=useAnimationConfig.useAnimationConfig(t),r=t.tag,a=t.uid,u=react.useRef(null),o=react.useRef([]),T=t=>{if(o.current)for(let e of o.current)t?(e.toolbar?.setAttribute(TOOLBAR_ACTIVE_ATTRIBUTE,"true"),e.outline?.setAttribute(OUTLINE_ACTIVE_ATTRIBUTE,"true"),e.spacing?.setAttribute(SPACING_ACTIVE_ATTRIBUTE,"true"),e.addSectionTop?.setAttribute(TOOLBAR_ADD_SECTION_ACTIVE_ATTRIBUTE,"true"),e.addSectionBottom?.setAttribute(TOOLBAR_ADD_SECTION_ACTIVE_ATTRIBUTE,"true")):(e.toolbar?.removeAttribute(TOOLBAR_ACTIVE_ATTRIBUTE),e.outline?.removeAttribute(OUTLINE_ACTIVE_ATTRIBUTE),e.spacing?.removeAttribute(SPACING_ACTIVE_ATTRIBUTE),e.addSectionTop?.removeAttribute(TOOLBAR_ADD_SECTION_ACTIVE_ATTRIBUTE),e.addSectionBottom?.removeAttribute(TOOLBAR_ADD_SECTION_ACTIVE_ATTRIBUTE))},i=t=>{let e=t.querySelector("[data-toolbar-add-top]"),r=t.querySelector("[data-toolbar-add-bottom]"),a=Array.from(t.children),u=a.find(t=>null!==t.getAttribute("data-toolbar")),o=a.find(t=>null!==t.getAttribute("data-outline"));return{sectionToolbar:u,sectionOutline:o,sectionAddTop:e,sectionAddBottom:r}},A=react.useCallback(t=>t.reduce((t,e)=>{let a=null,u=null,o=e,T=e.querySelector("[data-toolbar][data-toolbar-active]"),A=e.querySelector("[data-outline][data-outline-active]"),n=Array.from(o.children),c=n.find(t=>null!==t.getAttribute("data-spacing"));switch(r){case"Button":case"SubmitButton":case"ProductButton":case"DynamicCheckout":o=e.querySelector("button");break;case"ProductProperties":o=e.querySelector("input");break;case"Section":{o=e;let{sectionOutline:t,sectionToolbar:r,sectionAddTop:n,sectionAddBottom:c}=i(o);A=t,T=r,a=n,u=c;break}default:o=e}let l={target:o,toolbar:T,outline:A,spacing:c,addSectionTop:a,addSectionBottom:u};return t.push(l),t},[]),[r]),n=react.useCallback(()=>{if(!e)return;u.current||(u.current=document.querySelectorAll(`[data-uid="${a}"]`));let t=Array.from(u.current);if(!t.length)return;let r=A(t);o.current=r},[a,A,e]);return react.useEffect(()=>{n()},[e,n]),{targetObjects:o,setToolbarActive:T,initListOfTargets:n}};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"),animations=require("../../types/animations.js");const useApplyAnimation=({props:e})=>{let{uid:i}=e,n=useAnimations.useAnimations(),{initListOfTargets:t,targetObjects:a}=useAnimationTarget.useAnimationTarget(e),{isEnabledAnimation:
|
|
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"),animations=require("../../types/animations.js");const useApplyAnimation=({props:e})=>{let{uid:i}=e,n=useAnimations.useAnimations(),{initListOfTargets:t,targetObjects:a,setToolbarActive:s}=useAnimationTarget.useAnimationTarget(e),{isEnabledAnimation:r,getAnimationConfig:o}=useAnimationConfig.useAnimationConfig(e),{setAnimation:u,cancelAnimation:m,playAnimation:A,setAnimationOnFinish:c}=useAnimationActions.useAnimationActions(),{previewAnimation:p}=useAnimationPreview.useAnimationPreview({props:e,playAnimation:A,cancelAnimation:m,setAnimationOnFinish:c,setToolbarActive:s}),v=react.useCallback(({target:e,setting:i,type:t})=>n[t](e,i),[n]),w=react.useCallback(()=>{let{type:e,setting:i}=o();if(!e||e===animations.AnimationType.None||!a.current.length){m();return}let n=a.current.map(n=>v({type:e,setting:i,target:n.target}));m(),u(n)},[o,a,m,u,v]);react.useEffect(()=>(r?(t(),w()):m(),()=>{m()}),[i,w,m,r,t]),react.useEffect(()=>(window.addEventListener("preview-animation",p),()=>{window.removeEventListener("preview-animation",p)}),[p]),react.useEffect(()=>(window.addEventListener("init-animation-target",t),()=>{window.removeEventListener("init-animation-target",t)}),[t])};exports.default=useApplyAnimation;
|
|
@@ -1,23 +1,23 @@
|
|
|
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
|
|
2
|
-
${
|
|
3
|
-
</div>`;let{cssCode:f,jsCode:
|
|
1
|
+
import{makeStyleResponsive as e}from"../helpers/make-style.js";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 t,template as n}from"../helpers/render.js";import{baseAssetURL as r,isLocalEnv as i}from"../helpers/convert.js";import{composeAdvanceStyle as s}from"../helpers/compose-advance-style.js";import{disableWrap as d,customRenderChildren as a}from"./constant.js";let componentsRenderWithParentId=["CarouselItem"],componentTexts=["Text","Heading"],componentIconList=["IconListV2","IconList"],componentUsingAdvanced=["IconList"],Render=({uid:e,builder:r,components:i,parentId:l,extraFiles:o={},pageContext:c,...p})=>{let u=r[e],m=i[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=s(u.advanced,u.tag),h="";h=d.includes(u.tag)?t(u?.childrens?.length,()=>m({builderProps:{uid:e,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=>({...r[e],uid:e,builder:r,components:i,customProps:o,pageContext:c})),children:a.includes(u.tag)?"":WrapRenderChildren({uid:e,customProps:o},u.childrens.map(e=>RenderChildren({uid:e,builder:r,components:i,customProps:o,parentTag:u.tag,pageContext:c})))}),()=>m({builderProps:{uid:e,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})):n`<div style="${componentIconList.includes(u.tag)?"":g}" class="${u.uid} ${u?.childrens?.length||"IconListItemHoz"!==u.tag?"":"hidden"}">
|
|
2
|
+
${t(u?.childrens?.length,()=>m({builderProps:{uid:e,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=>({...r[e],uid:e,builder:r,components:i,customProps:o,pageContext:c})),children:a.includes(u.tag)?"":WrapRenderChildren({uid:e,customProps:o},u.childrens.map(e=>RenderChildren({uid:e,builder:r,components:i,customProps:o,parentTag:u.tag,pageContext:c})))}),()=>m({builderProps:{uid:e,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:b}=RenderCustomCode(u);return f&&(h+=f),b&&(h+=b),{liquid:h=appendAnimation(u,h),extraFiles:o.extraFiles}}},RenderCustomCode=e=>{let{css:r,javascript:i,rootClassName:s}=e.advanced?.editorData||{},d=r?.replaceAll(s,e.uid),a=i?.replaceAll(s,e.uid),l=t(!!r,n`
|
|
4
4
|
<style
|
|
5
|
-
id="${`custom-css-${
|
|
5
|
+
id="${`custom-css-${e?.uid}`}"
|
|
6
6
|
>${d}</style>
|
|
7
|
-
`),o=
|
|
7
|
+
`),o=t(!!i,n`
|
|
8
8
|
<script
|
|
9
|
-
id="${`custom-js-${
|
|
9
|
+
id="${`custom-js-${e?.uid}`}"
|
|
10
10
|
>
|
|
11
11
|
try {
|
|
12
12
|
${a}
|
|
13
13
|
} catch(err){}
|
|
14
14
|
</script>
|
|
15
|
-
`);return{cssCode:l,jsCode:o}},appendAnimation=(
|
|
16
|
-
${
|
|
15
|
+
`);return{cssCode:l,jsCode:o}},appendAnimation=(s,d)=>{let{advanced:a,tag:l}=s,{animation:o}=a??{},c=o?.desktop?.enabled||o?.tablet?.enabled||o?.mobile?.enabled;if(!c||!o?.desktop?.triggerConfig)return d;let p=(e,t)=>e?.triggerConfig?.[t]?.animation??"none",u=e=>{if("desktop"===e);else if("tablet"===e)return o?.tablet??o?.desktop;else if("mobile"===e)return o?.mobile??o?.tablet??o?.desktop;return o?.desktop},m=e=>+!(u(e)?.enabled&&"none"!==p(u(e),"appear")),g={desktop:m("desktop"),tablet:m("tablet"),mobile:m("mobile")},h={all:"Section"===l?"":"inherit"};return n`
|
|
16
|
+
${t(i,'<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
|
-
gp-data='${JSON.stringify({config:
|
|
19
|
-
style="${{...
|
|
18
|
+
gp-data='${JSON.stringify({config:o,tag:l})}'
|
|
19
|
+
style="${{...h}}"
|
|
20
20
|
>
|
|
21
|
-
<div style="${{...
|
|
21
|
+
<div style="${{...e("op",g)}}">${d}</div>
|
|
22
22
|
</gp-animation>
|
|
23
23
|
`},RenderChildren=e=>{let t=Render(e);for(let n in t.extraFiles)Object.prototype.hasOwnProperty.call(t.extraFiles,n)&&(e.customProps.extraFiles[n]=t.extraFiles[n]);let n=new TextEncoder,r=t?.liquid?n.encode(t.liquid).length:0;if(Math.ceil(r/1024)>=180){let n=`gp-section-snippet-${e.uid}`;return e.customProps.extraFiles[n]=t.liquid,`{% render '${n}', product: product, variant: variant, product_form_id: product_form_id, productSelectedVariant: productSelectedVariant %}`}return t.liquid},WrapRenderChildren=({uid:e,customProps:t},n)=>{let r="";if(n?.length)for(let i=0;i<n.length;i++){let s=n[i];if(s){let n=r+s,d=new TextEncoder,a=n?d.encode(n).length:0;if(Math.ceil(a/1024)>=180){let n=`gp-section-snippet-${e+i}`;t.extraFiles[n]=s,r+=`{% render '${n}', product: product, variant: variant, product_form_id: product_form_id, productSelectedVariant: productSelectedVariant %}`}else r+=s}}return r};export{RenderChildren,WrapRenderChildren,Render as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useCallback as e}from"react";
|
|
1
|
+
import{useCallback as e}from"react";let useAnimationPreview=({props:i,playAnimation:t,cancelAnimation:r,setAnimationOnFinish:n,setToolbarActive:u})=>{let o=e(e=>{let{uid:o,isCancel:a}=e.detail;if(i.uid===o){if(r(),a){u(!0);return}t(),u(!1),n(()=>{u(!0)})}},[i.uid,r,t,u,n]);return{previewAnimation:o}};export{useAnimationPreview};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useRef as t,useCallback as e,useEffect as r}from"react";import{useAnimationConfig as T}from"./useAnimationConfig.js";let SPACING_ACTIVE_ATTRIBUTE="data-spacing",TOOLBAR_ACTIVE_ATTRIBUTE="data-toolbar-active",OUTLINE_ACTIVE_ATTRIBUTE="data-outline-active",TOOLBAR_ADD_SECTION_ACTIVE_ATTRIBUTE="data-toolbar-add-active",useAnimationTarget=
|
|
1
|
+
import{useRef as t,useCallback as e,useEffect as r}from"react";import{useAnimationConfig as T}from"./useAnimationConfig.js";let SPACING_ACTIVE_ATTRIBUTE="data-spacing",TOOLBAR_ACTIVE_ATTRIBUTE="data-toolbar-active",OUTLINE_ACTIVE_ATTRIBUTE="data-outline-active",TOOLBAR_ADD_SECTION_ACTIVE_ATTRIBUTE="data-toolbar-add-active",useAnimationTarget=a=>{let{isEnabledAnimation:o}=T(a),u=a.tag,A=a.uid,i=t(null),n=t([]),l=t=>{if(n.current)for(let e of n.current)t?(e.toolbar?.setAttribute(TOOLBAR_ACTIVE_ATTRIBUTE,"true"),e.outline?.setAttribute(OUTLINE_ACTIVE_ATTRIBUTE,"true"),e.spacing?.setAttribute(SPACING_ACTIVE_ATTRIBUTE,"true"),e.addSectionTop?.setAttribute(TOOLBAR_ADD_SECTION_ACTIVE_ATTRIBUTE,"true"),e.addSectionBottom?.setAttribute(TOOLBAR_ADD_SECTION_ACTIVE_ATTRIBUTE,"true")):(e.toolbar?.removeAttribute(TOOLBAR_ACTIVE_ATTRIBUTE),e.outline?.removeAttribute(OUTLINE_ACTIVE_ATTRIBUTE),e.spacing?.removeAttribute(SPACING_ACTIVE_ATTRIBUTE),e.addSectionTop?.removeAttribute(TOOLBAR_ADD_SECTION_ACTIVE_ATTRIBUTE),e.addSectionBottom?.removeAttribute(TOOLBAR_ADD_SECTION_ACTIVE_ATTRIBUTE))},c=t=>{let e=t.querySelector("[data-toolbar-add-top]"),r=t.querySelector("[data-toolbar-add-bottom]"),T=Array.from(t.children),a=T.find(t=>null!==t.getAttribute("data-toolbar")),o=T.find(t=>null!==t.getAttribute("data-outline"));return{sectionToolbar:a,sectionOutline:o,sectionAddTop:e,sectionAddBottom:r}},d=e(t=>t.reduce((t,e)=>{let r=null,T=null,a=e,o=e.querySelector("[data-toolbar][data-toolbar-active]"),A=e.querySelector("[data-outline][data-outline-active]"),i=Array.from(a.children),n=i.find(t=>null!==t.getAttribute("data-spacing"));switch(u){case"Button":case"SubmitButton":case"ProductButton":case"DynamicCheckout":a=e.querySelector("button");break;case"ProductProperties":a=e.querySelector("input");break;case"Section":{a=e;let{sectionOutline:t,sectionToolbar:u,sectionAddTop:i,sectionAddBottom:n}=c(a);A=t,o=u,r=i,T=n;break}default:a=e}let l={target:a,toolbar:o,outline:A,spacing:n,addSectionTop:r,addSectionBottom:T};return t.push(l),t},[]),[u]),I=e(()=>{if(!o)return;i.current||(i.current=document.querySelectorAll(`[data-uid="${A}"]`));let t=Array.from(i.current);if(!t.length)return;let e=d(t);n.current=e},[A,d,o]);return r(()=>{I()},[o,I]),{targetObjects:n,setToolbarActive:l,initListOfTargets:I}};export{useAnimationTarget};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useCallback as t,useEffect as i}from"react";import{useAnimations as e}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";import{AnimationType as a}from"../../types/animations.js";let useApplyAnimation=({props:s})=>{let{uid:p}=s,u=e(),{initListOfTargets:
|
|
1
|
+
import{useCallback as t,useEffect as i}from"react";import{useAnimations as e}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";import{AnimationType as a}from"../../types/animations.js";let useApplyAnimation=({props:s})=>{let{uid:p}=s,u=e(),{initListOfTargets:w,targetObjects:d,setToolbarActive:f}=n(s),{isEnabledAnimation:A,getAnimationConfig:v}=o(s),{setAnimation:l,cancelAnimation:g,playAnimation:j,setAnimationOnFinish:c}=r(),{previewAnimation:E}=m({props:s,playAnimation:j,cancelAnimation:g,setAnimationOnFinish:c,setToolbarActive:f}),L=t(({target:t,setting:i,type:e})=>u[e](t,i),[u]),y=t(()=>{let{type:t,setting:i}=v();if(!t||t===a.None||!d.current.length){g();return}let e=d.current.map(e=>L({type:t,setting:i,target:e.target}));g(),l(e)},[v,d,g,l,L]);i(()=>(A?(w(),y()):g(),()=>{g()}),[p,y,g,A,w]),i(()=>(window.addEventListener("preview-animation",E),()=>{window.removeEventListener("preview-animation",E)}),[E]),i(()=>(window.addEventListener("init-animation-target",w),()=>{window.removeEventListener("init-animation-target",w)}),[w])};export{useApplyAnimation as default};
|