@gem-sdk/core 1.14.0-dev.518 → 1.14.0-dev.523

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.
@@ -12,11 +12,12 @@
12
12
  ${i}
13
13
  } catch(err){}
14
14
  </script>
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`
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}`,l={all:"Section"===d?"":"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
18
  gp-data='${JSON.stringify({targetSelector:`#${a}`,config:i,tag:d})}'
19
+ style="${{...l}}"
19
20
  >
20
- <div id="${a}">${t}</div>
21
+ <div style="${{...l}}" id="${a}">${t}</div>
21
22
  </gp-animation>
22
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 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 EASING={ease:"cubic-bezier(0.77,0,0.18,1)","ease-in":"cubic-bezier(0.9,0.03,0.69,0.22)","ease-out":"cubic-bezier(0.17,0.84,0.44,1)",linear:"linear"},animations=()=>{let r=r=>{let t=JSON.parse(JSON.stringify(r)),e=["delay","speed","scale","intensity"];return e.forEach(r=>{if(!t?.[r])return;if("scale"===r){if(!t?.zoomDirection)throw TypeError("zoomDirection not found on zoom preset");t[r]={in:Number(t?.scale?.in??1)/100,out:Number(t?.scale?.out??1)/100};return}let e=Number(t?.[r]);if("delay"===r?t[r]=1e3*e:t[r]=e,!isFinite(e))throw TypeError(`${r} must be a number`)}),t},t=(t,e)=>{let n=r(e),{direction:s,distance:o}=n,l=["left","right"].includes(s??"")?"X":"Y",f=["left","down"].includes(s??"")?"-":"",m=[{opacity:0,transform:`translate${l}(${f}${o??100}px)`},{opacity:1,transform:`translate${l}(0)`}];return i(t,m,{...a(n,500)})},e=(t,e)=>{let n=r(e),s=[{opacity:0},{opacity:1}];return i(t,s,{...a(n,500)})},a=(r,t)=>{let e=r=>r?10/r*1e3:t,{loop:a,delay:n,speed:s,easing:o}=r??{},i=e(s),l=n??0,f=i+l;return{iterations:a?1/0:1,duration:f,delay:l,easing:EASING[o??"linear"]}},n=(t,e)=>{let n=r(e),{scale:s,zoomDirection:o}=n,l=[{transform:"scale(1, 1)"},{transform:`scale(${s?.in??1.2}, ${s?.in??1.2})`}],f=[{transform:"scale(1, 1)"},{transform:`scale(${s?.out??.8}, ${s?.out??.8})`}],m="in"===o?l:f;return i(t,m,{...a(n,700)})},s=(r,t,e)=>{if(!t)return r;let a=t/e,n=[...r].pop();return[...r,{...n,offset:1-a}]},o=(t,e)=>{let n=r(e),{intensity:s}=n??{},o=[{transform:"translate3d(0, 0, 0)"}],l=[{transform:"translate3d(4px, 0, 0)"},{transform:"translate3d(-4px, 0, 0)"},{transform:"translate3d(4px, 0, 0)"}],f=[];Array.from(Array(s??1).keys()).forEach(()=>{f=[...f,...l]});let m=[{transform:"translate3d(-1px, 0, 0)"},{transform:"translate3d(2px, 0, 0)"},{transform:"translate3d(-4px, 0, 0)"},...f,{transform:"translate3d(-4px, 0, 0)"},{transform:"translate3d(2px, 0, 0)"},{transform:"translate3d(-1px, 0, 0)"}];return i(t,s?m:o,{...a(n??{},820)})},i=(r,t,e)=>{let a=new KeyframeEffect(r,s(t,e?.delay??0,e?.duration??0),{...e});return new Animation(a,document.timeline)};return{zoom:n,shake:o,fade:e,slide:t}};exports.animations=animations;
1
+ "use strict";const EASING={ease:"cubic-bezier(0.46,0.03,0.52,0.96)","ease-in":"cubic-bezier(0.55,0.08,0.68,0.53)","ease-out":"cubic-bezier(0.46,0.03,0.52,0.96)",linear:"linear"},animations=()=>{let r=r=>{let t=JSON.parse(JSON.stringify(r)),e=["delay","speed","scale","intensity"];return e.forEach(r=>{if(!t?.[r])return;if("scale"===r){if(!t?.zoomDirection)throw TypeError("zoomDirection not found on zoom preset");let[e,a]=t?.scale?.in??[1,1],[n,o]=t?.scale?.out??[1,1];t[r]={in:[Number(e)/100,Number(a)/100],out:[Number(n)/100,Number(o)/100]};return}let e=Number(t?.[r]);if("delay"===r?t[r]=1e3*e:t[r]=e,!isFinite(e))throw TypeError(`${r} must be a number`)}),t},t=(t,e)=>{let n=r(e),{direction:o,distance:s}=n,l=["left","right"].includes(o??"")?"X":"Y",m=["left","down"].includes(o??"")?"-":"",f=[{opacity:0,transform:`translate${l}(${m}${s??100}px)`},{opacity:1,transform:`translate${l}(0)`}];return i(t,f,{...a(n,500)})},e=(t,e)=>{let n=r(e),o=[{opacity:0},{opacity:1}];return i(t,o,{...a(n,500)})},a=(r,t)=>{let e=r=>r?1.5/r*1e3:t,{loop:a,delay:n,speed:o,easing:s}=r??{},i=e(o),l=n??0,m=i+l;return{iterations:a?1/0:1,duration:m,delay:l,easing:EASING[s??"linear"]}},n=(t,e)=>{let n=r(e),{scale:o,zoomDirection:s,isFade:l}=n,[m,f]=o.in,[u,c]=o.out,p=[{transform:`scale(${m}, ${m})`,opacity:l?0:1},{transform:`scale(${f??1.2}, ${f??1.2})`,opacity:1}],d=[{transform:`scale(${u}, ${u})`,opacity:l?0:1},{transform:`scale(${c??.8}, ${c??.8})`,opacity:1}],y="in"===s?p:d;return i(t,y,{...a(n,700)})},o=(r,t,e)=>{if(!t)return r;let a=t/e,n=[...r].pop();return[...r,{...n,offset:1-a}]},s=(t,e)=>{let n=r(e),{intensity:o}=n??{},s=[{transform:"translate3d(0, 0, 0)"}],l=[{transform:"translate3d(4px, 0, 0)"},{transform:"translate3d(-4px, 0, 0)"},{transform:"translate3d(4px, 0, 0)"}],m=[];Array.from(Array(o??1).keys()).forEach(()=>{m=[...m,...l]});let f=[{transform:"translate3d(-1px, 0, 0)"},{transform:"translate3d(2px, 0, 0)"},{transform:"translate3d(-4px, 0, 0)"},...m,{transform:"translate3d(-4px, 0, 0)"},{transform:"translate3d(2px, 0, 0)"},{transform:"translate3d(-1px, 0, 0)"}];return i(t,o?f:s,{...a(n??{},820)})},i=(r,t,e)=>{let a=new KeyframeEffect(r,o(t,e?.delay??0,e?.duration??0),{...e});return new Animation(a,document.timeline)};return{zoom:n,shake:s,fade:e,slide:t}};exports.animations=animations;
@@ -1 +1 @@
1
- "use strict";exports.AnimationType=void 0,function(i){i.Fade="fade",i.Slide="slide",i.Zoom="zoom",i.Shake="shake",i.None="none"}(exports.AnimationType||(exports.AnimationType={})),exports.AnimationSetting=void 0,function(i){i.Loop="loop",i.Scale="scale",i.Delay="delay",i.Easing="easing",i.Speed="speed",i.Distance="distance",i.Intensity="intensity",i.Direction="direction",i.ZoomDirection="zoomDirection"}(exports.AnimationSetting||(exports.AnimationSetting={})),exports.AnimationDirectionType=void 0,function(i){i.Left="left",i.Right="right",i.Up="up",i.Down="down"}(exports.AnimationDirectionType||(exports.AnimationDirectionType={})),exports.AnimationTriggerType=void 0,function(i){i.Appear="appear",i.Hover="hover"}(exports.AnimationTriggerType||(exports.AnimationTriggerType={})),exports.AnimationZoomDirectionType=void 0,function(i){i.In="in",i.Out="out"}(exports.AnimationZoomDirectionType||(exports.AnimationZoomDirectionType={})),exports.AnimationEasingType=void 0,function(i){i.Ease="ease",i.EaseIn="ease-in",i.EaseOut="ease-out",i.Linear="linear"}(exports.AnimationEasingType||(exports.AnimationEasingType={}));
1
+ "use strict";exports.AnimationType=void 0,function(i){i.Fade="fade",i.Slide="slide",i.Zoom="zoom",i.Shake="shake",i.None="none"}(exports.AnimationType||(exports.AnimationType={})),exports.AnimationSetting=void 0,function(i){i.Loop="loop",i.Scale="scale",i.Delay="delay",i.Easing="easing",i.Speed="speed",i.IsFade="isFade",i.Distance="distance",i.Intensity="intensity",i.Direction="direction",i.ZoomDirection="zoomDirection"}(exports.AnimationSetting||(exports.AnimationSetting={})),exports.AnimationDirectionType=void 0,function(i){i.Left="left",i.Right="right",i.Up="up",i.Down="down"}(exports.AnimationDirectionType||(exports.AnimationDirectionType={})),exports.AnimationTriggerType=void 0,function(i){i.Appear="appear",i.Hover="hover"}(exports.AnimationTriggerType||(exports.AnimationTriggerType={})),exports.AnimationZoomDirectionType=void 0,function(i){i.In="in",i.Out="out"}(exports.AnimationZoomDirectionType||(exports.AnimationZoomDirectionType={})),exports.AnimationEasingType=void 0,function(i){i.Ease="ease",i.EaseIn="ease-in",i.EaseOut="ease-out",i.Linear="linear"}(exports.AnimationEasingType||(exports.AnimationEasingType={}));
@@ -1,22 +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 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`
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 n,isLocalEnv as r}from"../helpers/convert.js";import{composeAdvanceStyle as i}from"../helpers/compose-advance-style.js";import{disableWrap as s,customRenderChildren as d}from"./constant.js";let componentsRenderWithParentId=["CarouselItem"],componentTexts=["Text","Heading"],componentIconList=["IconListV2","IconList"],componentUsingAdvanced=["IconList"],Render=({uid:n,builder:r,components:a,parentId:l,extraFiles:o={},pageContext:c,...p})=>{let u=r[n],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=s.includes(u.tag)?e(u?.childrens?.length,()=>m({builderProps:{uid:n,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:a,customProps:o,pageContext:c})),children:d.includes(u.tag)?"":WrapRenderChildren({uid:n,customProps:o},u.childrens.map(e=>RenderChildren({uid:e,builder:r,components:a,customProps:o,parentTag:u.tag,pageContext:c})))}),()=>m({builderProps:{uid:n,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:n,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:a,customProps:o,pageContext:c})),children:d.includes(u.tag)?"":WrapRenderChildren({uid:n,customProps:o},u.childrens.map(e=>RenderChildren({uid:e,builder:r,components:a,customProps:o,parentTag:u.tag,pageContext:c})))}),()=>m({builderProps:{uid:n,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=n=>{let{css:r,javascript:i,rootClassName:s}=n.advanced?.editorData||{},d=r?.replaceAll(s,n.uid),a=i?.replaceAll(s,n.uid),l=e(!!r,t`
4
4
  <style
5
- id="${`custom-css-${r?.uid}`}"
6
- >${s}</style>
5
+ id="${`custom-css-${n?.uid}`}"
6
+ >${d}</style>
7
7
  `),o=e(!!i,t`
8
8
  <script
9
- id="${`custom-js-${r?.uid}`}"
9
+ id="${`custom-js-${n?.uid}`}"
10
10
  >
11
11
  try {
12
12
  ${a}
13
13
  } catch(err){}
14
14
  </script>
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
- ${e(n,'<script src="{{ \'gp-animation.js\' | asset_url }}" defer="defer"></script>',`<script src="${r}/assets/gp-animation.js" defer="defer"></script>`)}
15
+ `);return{cssCode:l,jsCode:o}},appendAnimation=(i,s)=>{let{uid:d,advanced:a,tag:l}=i,{animation:o}=a??{},c=o?.desktop?.enabled||o?.tablet?.enabled||o?.mobile?.enabled;if(!c||!o?.desktop?.triggerConfig)return s;let p=`animation-wrapper-${d}`,u={all:"Section"===l?"":"inherit"};return t`
16
+ ${e(r,'<script src="{{ \'gp-animation.js\' | asset_url }}" defer="defer"></script>',`<script src="${n}/assets/gp-animation.js" defer="defer"></script>`)}
17
17
  <gp-animation
18
18
  gp-data='${JSON.stringify({targetSelector:`#${p}`,config:o,tag:l})}'
19
+ style="${{...u}}"
19
20
  >
20
- <div id="${p}">${d}</div>
21
+ <div style="${{...u}}" id="${p}">${s}</div>
21
22
  </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 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};
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
- let EASING={ease:"cubic-bezier(0.77,0,0.18,1)","ease-in":"cubic-bezier(0.9,0.03,0.69,0.22)","ease-out":"cubic-bezier(0.17,0.84,0.44,1)",linear:"linear"},animations=()=>{let r=r=>{let t=JSON.parse(JSON.stringify(r)),e=["delay","speed","scale","intensity"];return e.forEach(r=>{if(!t?.[r])return;if("scale"===r){if(!t?.zoomDirection)throw TypeError("zoomDirection not found on zoom preset");t[r]={in:Number(t?.scale?.in??1)/100,out:Number(t?.scale?.out??1)/100};return}let e=Number(t?.[r]);if("delay"===r?t[r]=1e3*e:t[r]=e,!isFinite(e))throw TypeError(`${r} must be a number`)}),t},t=(t,e)=>{let n=r(e),{direction:o,distance:s}=n,l=["left","right"].includes(o??"")?"X":"Y",f=["left","down"].includes(o??"")?"-":"",m=[{opacity:0,transform:`translate${l}(${f}${s??100}px)`},{opacity:1,transform:`translate${l}(0)`}];return i(t,m,{...a(n,500)})},e=(t,e)=>{let n=r(e),o=[{opacity:0},{opacity:1}];return i(t,o,{...a(n,500)})},a=(r,t)=>{let e=r=>r?10/r*1e3:t,{loop:a,delay:n,speed:o,easing:s}=r??{},i=e(o),l=n??0,f=i+l;return{iterations:a?1/0:1,duration:f,delay:l,easing:EASING[s??"linear"]}},n=(t,e)=>{let n=r(e),{scale:o,zoomDirection:s}=n,l=[{transform:"scale(1, 1)"},{transform:`scale(${o?.in??1.2}, ${o?.in??1.2})`}],f=[{transform:"scale(1, 1)"},{transform:`scale(${o?.out??.8}, ${o?.out??.8})`}],m="in"===s?l:f;return i(t,m,{...a(n,700)})},o=(r,t,e)=>{if(!t)return r;let a=t/e,n=[...r].pop();return[...r,{...n,offset:1-a}]},s=(t,e)=>{let n=r(e),{intensity:o}=n??{},s=[{transform:"translate3d(0, 0, 0)"}],l=[{transform:"translate3d(4px, 0, 0)"},{transform:"translate3d(-4px, 0, 0)"},{transform:"translate3d(4px, 0, 0)"}],f=[];Array.from(Array(o??1).keys()).forEach(()=>{f=[...f,...l]});let m=[{transform:"translate3d(-1px, 0, 0)"},{transform:"translate3d(2px, 0, 0)"},{transform:"translate3d(-4px, 0, 0)"},...f,{transform:"translate3d(-4px, 0, 0)"},{transform:"translate3d(2px, 0, 0)"},{transform:"translate3d(-1px, 0, 0)"}];return i(t,o?m:s,{...a(n??{},820)})},i=(r,t,e)=>{let a=new KeyframeEffect(r,o(t,e?.delay??0,e?.duration??0),{...e});return new Animation(a,document.timeline)};return{zoom:n,shake:s,fade:e,slide:t}};export{animations};
1
+ let EASING={ease:"cubic-bezier(0.46,0.03,0.52,0.96)","ease-in":"cubic-bezier(0.55,0.08,0.68,0.53)","ease-out":"cubic-bezier(0.46,0.03,0.52,0.96)",linear:"linear"},animations=()=>{let r=r=>{let t=JSON.parse(JSON.stringify(r)),e=["delay","speed","scale","intensity"];return e.forEach(r=>{if(!t?.[r])return;if("scale"===r){if(!t?.zoomDirection)throw TypeError("zoomDirection not found on zoom preset");let[e,a]=t?.scale?.in??[1,1],[n,o]=t?.scale?.out??[1,1];t[r]={in:[Number(e)/100,Number(a)/100],out:[Number(n)/100,Number(o)/100]};return}let e=Number(t?.[r]);if("delay"===r?t[r]=1e3*e:t[r]=e,!isFinite(e))throw TypeError(`${r} must be a number`)}),t},t=(t,e)=>{let n=r(e),{direction:o,distance:i}=n,l=["left","right"].includes(o??"")?"X":"Y",f=["left","down"].includes(o??"")?"-":"",m=[{opacity:0,transform:`translate${l}(${f}${i??100}px)`},{opacity:1,transform:`translate${l}(0)`}];return s(t,m,{...a(n,500)})},e=(t,e)=>{let n=r(e),o=[{opacity:0},{opacity:1}];return s(t,o,{...a(n,500)})},a=(r,t)=>{let e=r=>r?1.5/r*1e3:t,{loop:a,delay:n,speed:o,easing:i}=r??{},s=e(o),l=n??0,f=s+l;return{iterations:a?1/0:1,duration:f,delay:l,easing:EASING[i??"linear"]}},n=(t,e)=>{let n=r(e),{scale:o,zoomDirection:i,isFade:l}=n,[f,m]=o.in,[u,c]=o.out,p=[{transform:`scale(${f}, ${f})`,opacity:l?0:1},{transform:`scale(${m??1.2}, ${m??1.2})`,opacity:1}],d=[{transform:`scale(${u}, ${u})`,opacity:l?0:1},{transform:`scale(${c??.8}, ${c??.8})`,opacity:1}],y="in"===i?p:d;return s(t,y,{...a(n,700)})},o=(r,t,e)=>{if(!t)return r;let a=t/e,n=[...r].pop();return[...r,{...n,offset:1-a}]},i=(t,e)=>{let n=r(e),{intensity:o}=n??{},i=[{transform:"translate3d(0, 0, 0)"}],l=[{transform:"translate3d(4px, 0, 0)"},{transform:"translate3d(-4px, 0, 0)"},{transform:"translate3d(4px, 0, 0)"}],f=[];Array.from(Array(o??1).keys()).forEach(()=>{f=[...f,...l]});let m=[{transform:"translate3d(-1px, 0, 0)"},{transform:"translate3d(2px, 0, 0)"},{transform:"translate3d(-4px, 0, 0)"},...f,{transform:"translate3d(-4px, 0, 0)"},{transform:"translate3d(2px, 0, 0)"},{transform:"translate3d(-1px, 0, 0)"}];return s(t,o?m:i,{...a(n??{},820)})},s=(r,t,e)=>{let a=new KeyframeEffect(r,o(t,e?.delay??0,e?.duration??0),{...e});return new Animation(a,document.timeline)};return{zoom:n,shake:i,fade:e,slide:t}};export{animations};
@@ -1 +1 @@
1
- var AnimationType,AnimationSetting,AnimationDirectionType,AnimationTriggerType,AnimationZoomDirectionType,AnimationEasingType;!function(i){i.Fade="fade",i.Slide="slide",i.Zoom="zoom",i.Shake="shake",i.None="none"}(AnimationType||(AnimationType={})),function(i){i.Loop="loop",i.Scale="scale",i.Delay="delay",i.Easing="easing",i.Speed="speed",i.Distance="distance",i.Intensity="intensity",i.Direction="direction",i.ZoomDirection="zoomDirection"}(AnimationSetting||(AnimationSetting={})),function(i){i.Left="left",i.Right="right",i.Up="up",i.Down="down"}(AnimationDirectionType||(AnimationDirectionType={})),function(i){i.Appear="appear",i.Hover="hover"}(AnimationTriggerType||(AnimationTriggerType={})),function(i){i.In="in",i.Out="out"}(AnimationZoomDirectionType||(AnimationZoomDirectionType={})),function(i){i.Ease="ease",i.EaseIn="ease-in",i.EaseOut="ease-out",i.Linear="linear"}(AnimationEasingType||(AnimationEasingType={}));export{AnimationDirectionType,AnimationEasingType,AnimationSetting,AnimationTriggerType,AnimationType,AnimationZoomDirectionType};
1
+ var AnimationType,AnimationSetting,AnimationDirectionType,AnimationTriggerType,AnimationZoomDirectionType,AnimationEasingType;!function(i){i.Fade="fade",i.Slide="slide",i.Zoom="zoom",i.Shake="shake",i.None="none"}(AnimationType||(AnimationType={})),function(i){i.Loop="loop",i.Scale="scale",i.Delay="delay",i.Easing="easing",i.Speed="speed",i.IsFade="isFade",i.Distance="distance",i.Intensity="intensity",i.Direction="direction",i.ZoomDirection="zoomDirection"}(AnimationSetting||(AnimationSetting={})),function(i){i.Left="left",i.Right="right",i.Up="up",i.Down="down"}(AnimationDirectionType||(AnimationDirectionType={})),function(i){i.Appear="appear",i.Hover="hover"}(AnimationTriggerType||(AnimationTriggerType={})),function(i){i.In="in",i.Out="out"}(AnimationZoomDirectionType||(AnimationZoomDirectionType={})),function(i){i.Ease="ease",i.EaseIn="ease-in",i.EaseOut="ease-out",i.Linear="linear"}(AnimationEasingType||(AnimationEasingType={}));export{AnimationDirectionType,AnimationEasingType,AnimationSetting,AnimationTriggerType,AnimationType,AnimationZoomDirectionType};
@@ -7537,6 +7537,7 @@ declare enum AnimationSetting {
7537
7537
  Delay = "delay",
7538
7538
  Easing = "easing",
7539
7539
  Speed = "speed",
7540
+ IsFade = "isFade",
7540
7541
  Distance = "distance",
7541
7542
  Intensity = "intensity",
7542
7543
  Direction = "direction",
@@ -7572,16 +7573,17 @@ type AnimationBaseSetting = {
7572
7573
  easing: AnimationEasingType;
7573
7574
  direction: AnimationDirectionType;
7574
7575
  zoomDirection: AnimationZoomDirectionType;
7576
+ isFade: boolean;
7575
7577
  };
7576
7578
  /** Represents the animation setting extracted from the animation control */
7577
7579
  type AnimationSettingType = {
7578
7580
  scale: ScaleByDirection;
7579
7581
  } & AnimationBaseSetting;
7580
7582
  type ScaleByDirection = {
7581
- [key in AnimationZoomDirectionType]: number | string;
7583
+ [key in AnimationZoomDirectionType]: [number | string, number | string];
7582
7584
  };
7583
7585
  type AnimationShakeSettingType = Pick<AnimationSettingType, AnimationSetting.Loop | AnimationSetting.Intensity | AnimationSetting.Speed | AnimationSetting.Delay | AnimationSetting.Easing>;
7584
- type AnimationZoomSettingType = Pick<AnimationSettingType, AnimationSetting.Scale | AnimationSetting.ZoomDirection | AnimationSetting.Speed | AnimationSetting.Delay | AnimationSetting.Easing>;
7586
+ type AnimationZoomSettingType = Pick<AnimationSettingType, AnimationSetting.Scale | AnimationSetting.ZoomDirection | AnimationSetting.Speed | AnimationSetting.Delay | AnimationSetting.Easing | AnimationSetting.IsFade>;
7585
7587
  type AnimationFadeSettingType = Pick<AnimationSettingType, AnimationSetting.Speed | AnimationSetting.Delay | AnimationSetting.Easing>;
7586
7588
  type AnimationSlideSettingType = Pick<AnimationSettingType, AnimationSetting.Direction | AnimationSetting.Distance | AnimationSetting.Speed | AnimationSetting.Delay | AnimationSetting.Easing>;
7587
7589
  type SettingByAnimationType = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gem-sdk/core",
3
- "version": "1.14.0-dev.518",
3
+ "version": "1.14.0-dev.523",
4
4
  "license": "MIT",
5
5
  "sideEffects": false,
6
6
  "main": "dist/cjs/index.js",
@@ -25,7 +25,7 @@
25
25
  },
26
26
  "devDependencies": {
27
27
  "@gem-sdk/adapter-shopify": "1.14.0-dev.284",
28
- "@gem-sdk/styles": "1.14.0-dev.513"
28
+ "@gem-sdk/styles": "1.14.0-dev.519"
29
29
  },
30
30
  "dependencies": {
31
31
  "react-error-boundary": "4.0.10",