@gem-sdk/core 1.14.0-dev.516 → 1.14.0-dev.521

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.
@@ -16,7 +16,8 @@
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="all: inherit"
19
20
  >
20
- <div id="${a}">${t}</div>
21
+ <div style="all: inherit" 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";var variant=require("./variant.js");function getSelectedVariant(e,t){if(e&&e.length&&t&&e[0]?.selectedOptions.length===Object.keys(t).length)return e.find(e=>Object.entries(t).every(([t,n])=>e?.selectedOptions.some(e=>e.name===t&&e.value===n)))}function parseSelectedOption(e){if(e&&(!e||0!==e.length))return e.reduce((e,{name:t,value:n})=>t&&n?{...e,[t]:n}:e,{})}function checkAvailableVariantInStock(e,t,n){return!!e&&e.some(e=>{if(e){let{selectedOptions:a}=e,r=a?.some(e=>e?.name===t&&e.value===n),c=variant.checkInStock(e);return r&&c}return!1})}exports.checkAvailableVariantInStock=checkAvailableVariantInStock,exports.getSelectedVariant=getSelectedVariant,exports.parseSelectedOption=parseSelectedOption;
1
+ "use strict";var variant=require("./variant.js");function getSelectedVariant(e,t,n){return e&&e.length&&t&&e[0]?.selectedOptions.length===Object.keys(t).length?n?e.find(e=>e?.id===n):e.find(e=>Object.entries(t).every(([t,n])=>e?.selectedOptions.some(e=>e.name===t&&e.value===n))):void 0}function parseSelectedOption(e){if(e&&(!e||0!==e.length))return e.reduce((e,{name:t,value:n})=>t&&n?{...e,[t]:n}:e,{})}function checkAvailableVariantInStock(e,t,n){return!!e&&e.some(e=>{if(e){let{selectedOptions:a}=e,r=a?.some(e=>e?.name===t&&e.value===n),i=variant.checkInStock(e);return r&&i}return!1})}exports.checkAvailableVariantInStock=checkAvailableVariantInStock,exports.getSelectedVariant=getSelectedVariant,exports.parseSelectedOption=parseSelectedOption;
@@ -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,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 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 r,isLocalEnv as n}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: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=s.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:d.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:d.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:s}=r.advanced?.editorData||{},d=n?.replaceAll(s,r.uid),a=i?.replaceAll(s,r.uid),l=e(!!n,t`
4
4
  <style
5
5
  id="${`custom-css-${r?.uid}`}"
6
- >${s}</style>
6
+ >${d}</style>
7
7
  `),o=e(!!i,t`
8
8
  <script
9
9
  id="${`custom-js-${r?.uid}`}"
@@ -12,11 +12,12 @@ 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,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`
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}`;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
+ style="all: inherit"
19
20
  >
20
- <div id="${p}">${d}</div>
21
+ <div style="all: inherit" 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 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 s=r[i];if(s){let r=n+s,d=new TextEncoder,a=r?d.encode(r).length:0;if(Math.ceil(a/1024)>=180){let r=`gp-section-snippet-${e+i}`;t.extraFiles[r]=s,n+=`{% render '${r}', product: product, variant: variant, product_form_id: product_form_id, productSelectedVariant: productSelectedVariant %}`}else n+=s}}return n};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
- import{checkInStock as e}from"./variant.js";function getSelectedVariant(e,t){if(e&&e.length&&t&&e[0]?.selectedOptions.length===Object.keys(t).length)return e.find(e=>Object.entries(t).every(([t,n])=>e?.selectedOptions.some(e=>e.name===t&&e.value===n)))}function parseSelectedOption(e){if(e&&(!e||0!==e.length))return e.reduce((e,{name:t,value:n})=>t&&n?{...e,[t]:n}:e,{})}function checkAvailableVariantInStock(t,n,r){return!!t&&t.some(t=>{if(t){let{selectedOptions:a}=t,i=a?.some(e=>e?.name===n&&e.value===r),c=e(t);return i&&c}return!1})}export{checkAvailableVariantInStock,getSelectedVariant,parseSelectedOption};
1
+ import{checkInStock as e}from"./variant.js";function getSelectedVariant(e,t,n){return e&&e.length&&t&&e[0]?.selectedOptions.length===Object.keys(t).length?n?e.find(e=>e?.id===n):e.find(e=>Object.entries(t).every(([t,n])=>e?.selectedOptions.some(e=>e.name===t&&e.value===n))):void 0}function parseSelectedOption(e){if(e&&(!e||0!==e.length))return e.reduce((e,{name:t,value:n})=>t&&n?{...e,[t]:n}:e,{})}function checkAvailableVariantInStock(t,n,r){return!!t&&t.some(t=>{if(t){let{selectedOptions:i}=t,a=i?.some(e=>e?.name===n&&e.value===r),c=e(t);return a&&c}return!1})}export{checkAvailableVariantInStock,getSelectedVariant,parseSelectedOption};
@@ -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 = {
@@ -9781,7 +9783,7 @@ declare const composeRadiusResponsive: (radiusValue?: ObjectDevices<CornerRadius
9781
9783
  declare const getRadiusStyleActiveState: (radiusValue?: StateProp<CornerRadius>) => React.CSSProperties;
9782
9784
  declare const composeCornerCss: (value?: CornerRadius | undefined, important?: boolean) => string | undefined;
9783
9785
 
9784
- declare function getSelectedVariant(variants?: Maybe<VariantSelectFragment>[], choices?: Record<string, string>): Maybe<VariantSelectFragment>;
9786
+ declare function getSelectedVariant(variants?: Maybe<VariantSelectFragment>[], choices?: Record<string, string>, variantId?: string | null): Maybe<VariantSelectFragment>;
9785
9787
  declare function parseSelectedOption(options: SelectedOption[]): SelectedOption | undefined;
9786
9788
  declare function checkAvailableVariantInStock(variants: Maybe<VariantSelectFragment>[] | undefined, optionId: string, optionValue: string): boolean;
9787
9789
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gem-sdk/core",
3
- "version": "1.14.0-dev.516",
3
+ "version": "1.14.0-dev.521",
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",