@gem-sdk/components 19.1.0-dev.19 → 19.1.0-dev.20
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/sticky/common/helper.js +1 -0
- package/dist/cjs/sticky/common/styles.js +1 -1
- package/dist/cjs/sticky/components/Sticky.liquid.js +7 -7
- package/dist/cjs/sticky/hooks/useSticky.js +1 -1
- package/dist/cjs/sticky/settings/configs/settings-v2.js +1 -1
- package/dist/cjs/sticky/settings/configs/ui-v2.js +1 -1
- package/dist/esm/sticky/common/helper.js +1 -0
- package/dist/esm/sticky/common/styles.js +1 -1
- package/dist/esm/sticky/components/Sticky.liquid.js +7 -7
- package/dist/esm/sticky/hooks/useSticky.js +1 -1
- package/dist/esm/sticky/settings/configs/settings-v2.js +1 -1
- package/dist/esm/sticky/settings/configs/ui-v2.js +1 -1
- package/dist/types/index.d.ts +8 -1
- package/package.json +2 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";const e=e=>e.trim()?(e.startsWith("#el-")?e.replace("#el-","#"):e).replace(/^#/,"").trim():"",t=({value:t})=>e(t?.link??""),r=({value:e})=>t({value:e}).length>0,i=({value:e})=>{let r=t({value:e});if(!r)return null;let i=r.replace(/\\/g,"\\\\").replace(/"/g,'\\"'),l=window.CSS?.escape?window.CSS.escape(r):i;return document.querySelector(`[data-id="${i}"], #${l}`)},l=({value:e})=>{let t=i({value:e});if(!t)return;let r=t.getBoundingClientRect(),l=window.innerHeight,n=r.top+window.scrollY,o=r.height>l;return o?{triggerY:n,ready:r.top<=0&&r.bottom>0}:{triggerY:n+r.height-l,ready:r.top>=0&&r.bottom<=l}};exports.getScrollPercent=()=>{let e=document.documentElement,t=e.scrollHeight-window.innerHeight;return t<=0?100:window.scrollY/t*100},exports.getSectionElement=i,exports.getSectionId=t,exports.getSectionTrigger=l,exports.hasSectionValue=r,exports.isVisibleBetweenSections=({showFrom:e,hideFrom:t})=>{let i=r({value:e}),n=r({value:t});if(!i&&!n)return!0;let o=i?l({value:e}):void 0,c=n?l({value:t}):void 0;if(o?.ready&&c?.ready)return!0;let g=window.scrollY,s=i?o?.triggerY??1/0:-1/0,d=n?c?.triggerY??1/0:1/0;return i&&!n?g>=s:!i&&n?g<d:s===d||(s<d?g>=s&&g<d:g<d||g>=s)};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("@gem-sdk/core");require("react/jsx-runtime"),require("react");var t=require("../../common/const.js"),l=require("../../helpers.js"),r=require("../settings/configs/translate.js");const
|
|
1
|
+
"use strict";var e=require("@gem-sdk/core");require("react/jsx-runtime"),require("react");var t=require("../../common/const.js"),l=require("../../helpers.js"),r=require("../settings/configs/translate.js"),a=require("./helper.js");const o=e=>"top"==e?"sticky":"fixed",s=(e,t,l,r,s)=>{let i={[`--top${e}`]:"auto",[`--${l+e}`]:"0",[`--pos${e}`]:o(l)};switch(t){case"after-first-cart-button":case"after-first-scroll":i[`--d${e}`]="none";break;case"always":i[`--d${e}`]="block";break;case"between-sections":!a.hasSectionValue({value:r})||a.hasSectionValue({value:s})?i[`--d${e}`]="block":i[`--d${e}`]="none"}return i},i=(e,t,l,r)=>({...s("",e?.desktop,t?.desktop,l,r),...s("-tablet",e?.tablet??e?.desktop,t?.tablet??t?.desktop,l,r),...s("-mobile",e?.mobile??e?.tablet??e?.desktop,t?.mobile??t?.tablet??t?.desktop,l,r)}),p=(e,t)=>({[`--left${t}`]:"top"==e?"0":"50%",[`--t${t}`]:"top"==e?"unset":"translateX(-50%)"}),b=e=>({...p(e?.desktop,""),...p(e?.tablet??e?.desktop,"-tablet"),...p(e?.mobile??e?.tablet??e?.desktop,"-mobile")}),n=e=>{let t={};return["--pt","--pb","--pr","--pl","--pt-mobile","--pb-mobile","--pr-mobile","--pl-mobile","--pt-tablet","--pb-tablet","--pr-tablet","--pl-tablet"].forEach(l=>{e?.[l]&&(t[l]=e[l])}),t},c=e=>{let t={...e};return["--pt","--pb","--pr","--pl","--pt-mobile","--pb-mobile","--pr-mobile","--pl-mobile","--pt-tablet","--pb-tablet","--pr-tablet","--pl-tablet"].forEach(e=>{delete t?.[e]}),t};exports.displayConditionStyle=i,exports.filterStyles=c,exports.getContainerStyles=e=>{let{position:l,display:r,showFrom:a,hideFrom:o}=e;return{margin:"0 auto",...b(l),...i(r,l,a,o),"z-index":t.ELEMENT_Z_INDEX.STICKY}},exports.getContentStyles=({setting:t,style:a,uid:o,pageContext:s,type:i="React"})=>{let{background:p}=t||{},b="Liquid"===i?l.getBackgroundTranslated({background:p,uid:o,enableTranslate:!!r.Sticky?.background?.id,pageContext:s,isTranslateVideo:!1}):p;return{...e.makeStyle({m:"0 auto"}),...n(a),...c(a),...e.getStyleBackgroundByDevice(b||p),...e.getGradientImageBgrStyleByDevice(b||p)}},exports.getDisplayStyle=s,exports.getStylePadding=n;
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@gem-sdk/core"),t=require("../../helpers.js"),s=require("@gem-sdk/system"),a=require("../common/styles.js"),r=require("../common/classes.js");exports.default=({children:i,builderAttrs:l,setting:d,style:n,builderProps:o,advanced:p,pageContext:c})=>{let{width:g,position:m,display:y,
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@gem-sdk/core"),t=require("../../helpers.js"),s=require("@gem-sdk/system"),a=require("../common/styles.js"),r=require("../common/classes.js");exports.default=({children:i,builderAttrs:l,setting:d,style:n,builderProps:o,advanced:p,pageContext:c})=>{let{width:g,position:m,display:y,scrollPercent:u,showFrom:$,hideFrom:k,preloadBgImage:f,background:S,isScrollToTop:b}=d??{},v=p?.d,C=s.createStyle({...e.makeStyleResponsive("w",g),...a.getContainerStyles({position:m,display:y,showFrom:$,hideFrom:k})}),R=s.createStyle(a.getContentStyles({setting:d,style:n,uid:o?.uid,pageContext:c??{},type:"Liquid"})),j=s.createClass(r.getContainerClasses({uid:o?.uid,isScrollToTop:b,cssClass:p?.cssClass,isLiquid:!0})),q=s.createStateOrContext({uid:o?.uid,setting:{display:{desktop:y?.desktop,tablet:y?.tablet??y?.desktop,mobile:y?.mobile??y?.tablet??y?.desktop},scrollPercent:u,showFrom:$,hideFrom:k},advanced:{d:v}}),I=`.drawer-page-content {
|
|
2
2
|
transform: none !important;
|
|
3
3
|
-webkit-transform: none !important;
|
|
4
4
|
}`;return e.template`
|
|
5
|
-
${e.RenderIf(!!
|
|
5
|
+
${e.RenderIf(!!f,`${e.RenderIf(!!S?.desktop?.image?.src,`<link rel="preload" href="${S?.desktop?.image?.src}" as="image" />`)}${e.RenderIf(!!S?.tablet?.image?.src,`<link rel="preload" href="${S?.tablet?.image?.src}" as="image" />`)}${e.RenderIf(!!S?.mobile?.image?.src,`<link rel="preload" href="${S?.mobile?.image?.src}" as="image" />`)}`)}
|
|
6
6
|
<gp-sticky
|
|
7
7
|
id="${o?.uid}"
|
|
8
8
|
data-id="${o?.uid}"
|
|
9
|
-
class="${
|
|
10
|
-
style="${
|
|
9
|
+
class="${j} ${t.getSettingPreloadData("gps-lazy")}"
|
|
10
|
+
style="${C}"
|
|
11
11
|
>
|
|
12
|
-
<script gp-data type="application/json">${JSON.stringify(
|
|
13
|
-
<style>${
|
|
14
|
-
<div ${{...l}} style="${{...
|
|
12
|
+
<script gp-data type="application/json">${JSON.stringify(q)}</script>
|
|
13
|
+
<style>${I}</style>
|
|
14
|
+
<div ${{...l}} style="${{...R}}">
|
|
15
15
|
${i}
|
|
16
16
|
</div>
|
|
17
17
|
</gp-sticky>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@gem-sdk/core"),t=require("react");exports.default=
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@gem-sdk/core"),t=require("react"),o=require("../common/helper.js");exports.default=l=>{let{width:i,position:s,display:n,scrollPercent:r,showFrom:a,hideFrom:u}=l??{},p=e.makeStyleResponsive("w",i),b=e.usePageStore(e=>"interaction"===e.sidebarMode),c=e.useCurrentDevice(),d=e.useEditorMode(),[m,k]=t.useState(!1),f=e.useStickyStore(e=>e.getFirstVisibleElement(c)),v=({position:e,device:t})=>({[`--left${t}`]:"top"==e?"0":"50%",[`--t${t}`]:"top"==e?"unset":"translateX(-50%)"}),w=t.useMemo(()=>({...v({position:s?.desktop,device:""}),...v({position:s?.tablet??s?.desktop,device:"-tablet"}),...v({position:s?.mobile??s?.tablet??s?.desktop,device:"-mobile"})}),[s?.desktop,s?.mobile,s?.tablet]),S=t.useMemo(()=>{if(b&&s?.[c]==="top")return"40px"},[c,b,s]),[E,V]=t.useState(null),M=a?.link,x=u?.link;t.useEffect(()=>{let e;if(V(null),"edit"===d)return;let t=[n?.desktop,n?.tablet,n?.mobile],l=t.some(e=>"after-first-scroll"===e||"between-sections"===e);if(!l)return;let i=()=>({percent:o.getScrollPercent(),isBetweenSectionsVisible:o.isVisibleBetweenSections({showFrom:{link:M},hideFrom:{link:x}})});V(i());let s=()=>{clearTimeout(e),e=setTimeout(()=>V(i()),50)};return window.addEventListener("scroll",s,{passive:!0}),()=>{clearTimeout(e),window.removeEventListener("scroll",s)}},[d,n?.desktop,n?.tablet,n?.mobile,M,x]);let y=t.useMemo(()=>{let e=({displayValue:e})=>{switch(e){case"after-first-cart-button":return m?"block":"none";case"after-first-scroll":if(!E)return"none";return E.percent>=(r??0)?"block":"none";case"between-sections":if(!E)return!o.hasSectionValue({value:a})||o.hasSectionValue({value:u})?"block":"none";return E.isBetweenSectionsVisible?"block":"none";default:return"block"}},t=n?.desktop,l=n?.tablet??t,i=n?.mobile??l;return{"--d":e({displayValue:t}),"--d-tablet":e({displayValue:l}),"--d-mobile":e({displayValue:i})}},[n?.desktop,n?.mobile,n?.tablet,x,M,r,E,m]),g=t.useMemo(()=>({"--top":S??"auto","--top-tablet":S??"auto","--top-mobile":S??"auto",[`--${s?.desktop}`]:S??"0px",[`--${s?.tablet??s?.desktop}-tablet`]:S??"0px",[`--${s?.mobile??s?.tablet??s?.desktop}-mobile`]:S??"0px"}),[S,s?.desktop,s?.mobile,s?.tablet]),h=({position:e})=>"top"==e?"sticky":"fixed",F=t.useMemo(()=>({"--pos":h({position:s?.desktop}),"--pos-tablet":h({position:s?.tablet??s?.desktop}),"--pos-mobile":h({position:s?.mobile??s?.tablet??s?.desktop})}),[s?.desktop,s?.mobile,s?.tablet]);return t.useEffect(()=>{if(!f)return;let e=null,t=()=>{e=null,k(f.getBoundingClientRect().top<=0)},o=()=>{null===e&&(e=requestAnimationFrame(t))};return t(),window.addEventListener("scroll",o,{passive:!0}),()=>{window.removeEventListener("scroll",o),null!==e&&cancelAnimationFrame(e)}},[f]),t.useEffect(()=>{k(!1)},[c]),{w:p,displayStyle:g,positionStyle:F,getCSSAlign:w,makeDisplaySettingStyles:y}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.StickySettingsV2=[{id:"setting",controls:[{id:"fullWidth",label:"Full Width",type:"toggle",devices:{desktop:{default:!0},tablet:{default:!0},mobile:{default:!0}}},{id:"width",type:"dropdown:input",label:"Width",inputType:"number",units:["px","%"],hideUnit:!1,isRowWith:!0,devices:{desktop:{default:"100%"}},displayOptions:[{label:"Full",value:"100%",showValue:!0},{label:"Default",value:"1200px",showValue:!0}]},{id:"background",type:"background-media",ignoreReRender:!0,devices:{desktop:{default:{type:"color",color:"transparent",image:{src:"",width:0,height:0},size:"cover",position:{x:50,y:50},repeat:"no-repeat",attachment:"scroll"}}},compoDefaultValue:{desktop:{default:{type:"color",color:"#dddddd",image:{src:"https://cdn.shopify.com/s/files/1/2005/9307/files/background_settings.jpg",width:1200,height:480},size:"cover",position:{x:50,y:50},repeat:"no-repeat",attachment:"scroll",preload:!1,loop:!0}}}},{id:"preloadBgImage",type:"toggle",label:"Preload Image",default:!1},{id:"position",label:"Layout",type:"layout-selector",iconViewBox:"0 0 76 48",itemPerRow:2,itemSpacing:"large",enableItemBackground:!0,enableItemOpacity:!0,options:[{label:"Bottom",value:"bottom",iconName:"gp-sticky-position-bottom"},{label:"Top",value:"top",iconName:"gp-sticky-position-top"}],devices:{desktop:{default:"bottom"}}},{id:"display",label:"Display",type:"select",devices:{desktop:{default:"always"}},options:[{label:"Always show",value:"always"},{label:"After first cart button",value:"after-first-cart-button"}]},{id:"isScrollToTop",type:"toggle",default:!1}]}];
|
|
1
|
+
"use strict";exports.StickySettingsV2=[{id:"setting",controls:[{id:"fullWidth",label:"Full Width",type:"toggle",devices:{desktop:{default:!0},tablet:{default:!0},mobile:{default:!0}}},{id:"width",type:"dropdown:input",label:"Width",inputType:"number",units:["px","%"],hideUnit:!1,isRowWith:!0,devices:{desktop:{default:"100%"}},displayOptions:[{label:"Full",value:"100%",showValue:!0},{label:"Default",value:"1200px",showValue:!0}]},{id:"background",type:"background-media",ignoreReRender:!0,devices:{desktop:{default:{type:"color",color:"transparent",image:{src:"",width:0,height:0},size:"cover",position:{x:50,y:50},repeat:"no-repeat",attachment:"scroll"}}},compoDefaultValue:{desktop:{default:{type:"color",color:"#dddddd",image:{src:"https://cdn.shopify.com/s/files/1/2005/9307/files/background_settings.jpg",width:1200,height:480},size:"cover",position:{x:50,y:50},repeat:"no-repeat",attachment:"scroll",preload:!1,loop:!0}}}},{id:"preloadBgImage",type:"toggle",label:"Preload Image",default:!1},{id:"position",label:"Layout",type:"layout-selector",iconViewBox:"0 0 76 48",itemPerRow:2,itemSpacing:"large",enableItemBackground:!0,enableItemOpacity:!0,options:[{label:"Bottom",value:"bottom",iconName:"gp-sticky-position-bottom"},{label:"Top",value:"top",iconName:"gp-sticky-position-top"}],devices:{desktop:{default:"bottom"}}},{id:"display",label:"Display",type:"select",devices:{desktop:{default:"always"}},options:[{label:"Always show",value:"always"},{label:"After first cart button",value:"after-first-cart-button"},{label:"After scrolling down",value:"after-first-scroll"},{label:"Between sections",value:"between-sections"}]},{id:"scrollPercent",type:"input:unit",units:["%"],min:0,max:100,placeholder:"0%",isNumber:!0},{id:"showFrom",type:"pick-link",optionConfig:{"scroll-to":{popoverLabel:"Show Sticky ATC start from",title:"",hideScrollToTop:!0}},default:{type:"scroll-to",link:""},isHiddenOpenLinkSelect:!0,hiddenOptions:{"stay-on-page":!0,"open-page":!0,"open-url":!0,"open-popup":!0,"go-to-sales-page":!0}},{id:"hideFrom",type:"pick-link",optionConfig:{"scroll-to":{popoverLabel:"Hide Sticky ATC start from",title:"",hideScrollToTop:!0}},default:{type:"scroll-to",link:""},isHiddenOpenLinkSelect:!0,hiddenOptions:{"stay-on-page":!0,"open-page":!0,"open-url":!0,"open-popup":!0,"go-to-sales-page":!0}},{id:"isScrollToTop",type:"toggle",default:!1}]}];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.SettingUIV2=[{label:"Layout",controls:[{setting:{id:"position"},layout:"vertical"}]},{label:"Size",hiddenOnMobile:!0,controls:[{setting:{id:"width"},label:"Width"},{label:"Padding",controlConfig:{id:"padding",type:"padding-v2",linkWithSetting:{name:"spacing-setting",field:"padding"},compoDefaultValue:{type:"custom",top:"16px",bottom:"16px",left:"24px",right:"24px"}}}]},{label:"Background",controls:[{setting:{id:"background"},layout:"vertical",options:{updateFields:[{field:"preload",settingId:"preloadBgImage"}]},controlChangeTrigger:{settings:[{action:{controlId:"preloadBgImage",valueFromField:"preload",groupType:"setting",controlType:"setting",removeDevice:!0}}],options:{noRecordHistory:!0}}}]},{label:"Shape",hiddenOnMobile:!0,controls:[{label:"Border",controlConfig:{id:"border-advanced",type:"border-v2",linkWithSetting:{name:"border",field:"normal"},compoDefaultValue:{color:"line-3",border:"solid",width:"1px",borderWidth:"1px"}}},{label:"Corner",setting:{id:"rounded",state:"normal"}},{label:"Shadow",setting:{id:"boxShadow",state:"normal"},options:{updateFields:[{field:"normal.enable",settingId:"hasBoxShadow",state:"normal"}]},controlChangeTrigger:{settings:[{condition:"boxShadow.normal.enable === true",source:["boxShadow","hasBoxShadow"],action:{controlId:"hasBoxShadow",groupType:"advanced",controlType:"advanced",state:"normal",newValue:!0}},{condition:"boxShadow.normal.enable === false",source:["boxShadow","hasBoxShadow"],action:{controlId:"hasBoxShadow",groupType:"advanced",controlType:"advanced",state:"normal",newValue:!1}}],options:{noRecordHistory:!0}}}]},{label:"Display option",controls:[{label:"Condition",setting:{id:"display"}}]}];
|
|
1
|
+
"use strict";exports.SettingUIV2=[{label:"Layout",controls:[{setting:{id:"position"},layout:"vertical"}]},{label:"Size",hiddenOnMobile:!0,controls:[{setting:{id:"width"},label:"Width"},{label:"Padding",controlConfig:{id:"padding",type:"padding-v2",linkWithSetting:{name:"spacing-setting",field:"padding"},compoDefaultValue:{type:"custom",top:"16px",bottom:"16px",left:"24px",right:"24px"}}}]},{label:"Background",controls:[{setting:{id:"background"},layout:"vertical",options:{updateFields:[{field:"preload",settingId:"preloadBgImage"}]},controlChangeTrigger:{settings:[{action:{controlId:"preloadBgImage",valueFromField:"preload",groupType:"setting",controlType:"setting",removeDevice:!0}}],options:{noRecordHistory:!0}}}]},{label:"Shape",hiddenOnMobile:!0,controls:[{label:"Border",controlConfig:{id:"border-advanced",type:"border-v2",linkWithSetting:{name:"border",field:"normal"},compoDefaultValue:{color:"line-3",border:"solid",width:"1px",borderWidth:"1px"}}},{label:"Corner",setting:{id:"rounded",state:"normal"}},{label:"Shadow",setting:{id:"boxShadow",state:"normal"},options:{updateFields:[{field:"normal.enable",settingId:"hasBoxShadow",state:"normal"}]},controlChangeTrigger:{settings:[{condition:"boxShadow.normal.enable === true",source:["boxShadow","hasBoxShadow"],action:{controlId:"hasBoxShadow",groupType:"advanced",controlType:"advanced",state:"normal",newValue:!0}},{condition:"boxShadow.normal.enable === false",source:["boxShadow","hasBoxShadow"],action:{controlId:"hasBoxShadow",groupType:"advanced",controlType:"advanced",state:"normal",newValue:!1}}],options:{noRecordHistory:!0}}}]},{label:"Display option",controls:[{label:"Condition",setting:{id:"display"}},{label:"Page scrolled",conditionDisplay:"display === 'after-first-scroll'",setting:{id:"scrollPercent"}},{label:"Show from",conditionDisplay:"display === 'between-sections'",setting:{id:"showFrom"}},{label:"Hide from",conditionDisplay:"display === 'between-sections'",setting:{id:"hideFrom"}}]}];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
let e=e=>e.trim()?(e.startsWith("#el-")?e.replace("#el-","#"):e).replace(/^#/,"").trim():"",t=({value:t})=>e(t?.link??""),r=({value:e})=>t({value:e}).length>0,i=({value:e})=>{let r=t({value:e});if(!r)return null;let i=r.replace(/\\/g,"\\\\").replace(/"/g,'\\"'),l=window.CSS?.escape?window.CSS.escape(r):i;return document.querySelector(`[data-id="${i}"], #${l}`)},l=({value:e})=>{let t=i({value:e});if(!t)return;let r=t.getBoundingClientRect(),l=window.innerHeight,n=r.top+window.scrollY,o=r.height>l;return o?{triggerY:n,ready:r.top<=0&&r.bottom>0}:{triggerY:n+r.height-l,ready:r.top>=0&&r.bottom<=l}},n=()=>{let e=document.documentElement,t=e.scrollHeight-window.innerHeight;return t<=0?100:window.scrollY/t*100},o=({showFrom:e,hideFrom:t})=>{let i=r({value:e}),n=r({value:t});if(!i&&!n)return!0;let o=i?l({value:e}):void 0,g=n?l({value:t}):void 0;if(o?.ready&&g?.ready)return!0;let c=window.scrollY,d=i?o?.triggerY??1/0:-1/0,a=n?g?.triggerY??1/0:1/0;return i&&!n?c>=d:!i&&n?c<a:d===a||(d<a?c>=d&&c<a:c<a||c>=d)};export{n as getScrollPercent,i as getSectionElement,t as getSectionId,l as getSectionTrigger,r as hasSectionValue,o as isVisibleBetweenSections};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{getGradientImageBgrStyleByDevice as t,getStyleBackgroundByDevice as e,makeStyle as l}from"@gem-sdk/core";import"react/jsx-runtime";import"react";import{ELEMENT_Z_INDEX as o}from"../../common/const.js";import{getBackgroundTranslated as
|
|
1
|
+
import{getGradientImageBgrStyleByDevice as t,getStyleBackgroundByDevice as e,makeStyle as l}from"@gem-sdk/core";import"react/jsx-runtime";import"react";import{ELEMENT_Z_INDEX as o}from"../../common/const.js";import{getBackgroundTranslated as r}from"../../helpers.js";import{Sticky as a}from"../settings/configs/translate.js";import{hasSectionValue as p}from"./helper.js";let s=t=>"top"==t?"sticky":"fixed",b=(t,e,l,o,r)=>{let a={[`--top${t}`]:"auto",[`--${l+t}`]:"0",[`--pos${t}`]:s(l)};switch(e){case"after-first-cart-button":case"after-first-scroll":a[`--d${t}`]="none";break;case"always":a[`--d${t}`]="block";break;case"between-sections":!p({value:o})||p({value:r})?a[`--d${t}`]="block":a[`--d${t}`]="none"}return a},i=(t,e,l,o)=>({...b("",t?.desktop,e?.desktop,l,o),...b("-tablet",t?.tablet??t?.desktop,e?.tablet??e?.desktop,l,o),...b("-mobile",t?.mobile??t?.tablet??t?.desktop,e?.mobile??e?.tablet??e?.desktop,l,o)}),n=(t,e)=>({[`--left${e}`]:"top"==t?"0":"50%",[`--t${e}`]:"top"==t?"unset":"translateX(-50%)"}),m=t=>({...n(t?.desktop,""),...n(t?.tablet??t?.desktop,"-tablet"),...n(t?.mobile??t?.tablet??t?.desktop,"-mobile")}),d=t=>{let{position:e,display:l,showFrom:r,hideFrom:a}=t;return{margin:"0 auto",...m(e),...i(l,e,r,a),"z-index":o.STICKY}},c=({setting:o,style:p,uid:s,pageContext:b,type:i="React"})=>{let{background:n}=o||{},m="Liquid"===i?r({background:n,uid:s,enableTranslate:!!a?.background?.id,pageContext:b,isTranslateVideo:!1}):n;return{...l({m:"0 auto"}),...k(p),...f(p),...e(m||n),...t(m||n)}},k=t=>{let e={};return["--pt","--pb","--pr","--pl","--pt-mobile","--pb-mobile","--pr-mobile","--pl-mobile","--pt-tablet","--pb-tablet","--pr-tablet","--pl-tablet"].forEach(l=>{t?.[l]&&(e[l]=t[l])}),e},f=t=>{let e={...t};return["--pt","--pb","--pr","--pl","--pt-mobile","--pb-mobile","--pr-mobile","--pl-mobile","--pt-tablet","--pb-tablet","--pr-tablet","--pl-tablet"].forEach(t=>{delete e?.[t]}),e};export{i as displayConditionStyle,f as filterStyles,d as getContainerStyles,c as getContentStyles,b as getDisplayStyle,k as getStylePadding};
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import{makeStyleResponsive as s,RenderIf as e,isLocalEnv as t,baseAssetURL as i,template as r}from"@gem-sdk/core";import{getSettingPreloadData as a}from"../../helpers.js";import{createStyle as l,createClass as d,createStateOrContext as o}from"@gem-sdk/system";import{getContainerStyles as p,getContentStyles as m}from"../common/styles.js";import{getContainerClasses as c}from"../common/classes.js";let n=({children:n,builderAttrs:g,setting:$,style:k,builderProps:y,advanced:f,pageContext:u})=>{let{width:b,position:v,display:S,
|
|
1
|
+
import{makeStyleResponsive as s,RenderIf as e,isLocalEnv as t,baseAssetURL as i,template as r}from"@gem-sdk/core";import{getSettingPreloadData as a}from"../../helpers.js";import{createStyle as l,createClass as d,createStateOrContext as o}from"@gem-sdk/system";import{getContainerStyles as p,getContentStyles as m}from"../common/styles.js";import{getContainerClasses as c}from"../common/classes.js";let n=({children:n,builderAttrs:g,setting:$,style:k,builderProps:y,advanced:f,pageContext:u})=>{let{width:b,position:v,display:S,scrollPercent:j,showFrom:h,hideFrom:E,preloadBgImage:w,background:C,isScrollToTop:q}=$??{},x=f?.d,A=l({...s("w",b),...p({position:v,display:S,showFrom:h,hideFrom:E})}),G=l(m({setting:$,style:k,uid:y?.uid,pageContext:u??{},type:"Liquid"})),L=d(c({uid:y?.uid,isScrollToTop:q,cssClass:f?.cssClass,isLiquid:!0})),N=o({uid:y?.uid,setting:{display:{desktop:S?.desktop,tablet:S?.tablet??S?.desktop,mobile:S?.mobile??S?.tablet??S?.desktop},scrollPercent:j,showFrom:h,hideFrom:E},advanced:{d:x}}),O=`.drawer-page-content {
|
|
2
2
|
transform: none !important;
|
|
3
3
|
-webkit-transform: none !important;
|
|
4
4
|
}`;return r`
|
|
5
|
-
${e(!!
|
|
5
|
+
${e(!!w,`${e(!!C?.desktop?.image?.src,`<link rel="preload" href="${C?.desktop?.image?.src}" as="image" />`)}${e(!!C?.tablet?.image?.src,`<link rel="preload" href="${C?.tablet?.image?.src}" as="image" />`)}${e(!!C?.mobile?.image?.src,`<link rel="preload" href="${C?.mobile?.image?.src}" as="image" />`)}`)}
|
|
6
6
|
<gp-sticky
|
|
7
7
|
id="${y?.uid}"
|
|
8
8
|
data-id="${y?.uid}"
|
|
9
|
-
class="${
|
|
10
|
-
style="${
|
|
9
|
+
class="${L} ${a("gps-lazy")}"
|
|
10
|
+
style="${A}"
|
|
11
11
|
>
|
|
12
|
-
<script gp-data type="application/json">${JSON.stringify(
|
|
13
|
-
<style>${
|
|
14
|
-
<div ${{...g}} style="${{...
|
|
12
|
+
<script gp-data type="application/json">${JSON.stringify(N)}</script>
|
|
13
|
+
<style>${O}</style>
|
|
14
|
+
<div ${{...g}} style="${{...G}}">
|
|
15
15
|
${n}
|
|
16
16
|
</div>
|
|
17
17
|
</gp-sticky>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{makeStyleResponsive as
|
|
1
|
+
import{makeStyleResponsive as e,usePageStore as t,useCurrentDevice as o,useEditorMode as l,useStickyStore as i}from"@gem-sdk/core";import{useState as n,useMemo as s,useEffect as r}from"react";import{isVisibleBetweenSections as a,getScrollPercent as p,hasSectionValue as b}from"../common/helper.js";let d=d=>{let{width:u,position:m,display:c,scrollPercent:k,showFrom:f,hideFrom:w}=d??{},v=e("w",u),x=t(e=>"interaction"===e.sidebarMode),V=o(),y=l(),[E,F]=n(!1),$=i(e=>e.getFirstVisibleElement(V)),g=({position:e,device:t})=>({[`--left${t}`]:"top"==e?"0":"50%",[`--t${t}`]:"top"==e?"unset":"translateX(-50%)"}),h=s(()=>({...g({position:m?.desktop,device:""}),...g({position:m?.tablet??m?.desktop,device:"-tablet"}),...g({position:m?.mobile??m?.tablet??m?.desktop,device:"-mobile"})}),[m?.desktop,m?.mobile,m?.tablet]),L=s(()=>{if(x&&m?.[V]==="top")return"40px"},[V,x,m]),[B,S]=n(null),T=f?.link,A=w?.link;r(()=>{let e;if(S(null),"edit"===y)return;let t=[c?.desktop,c?.tablet,c?.mobile],o=t.some(e=>"after-first-scroll"===e||"between-sections"===e);if(!o)return;let l=()=>({percent:p(),isBetweenSectionsVisible:a({showFrom:{link:T},hideFrom:{link:A}})});S(l());let i=()=>{clearTimeout(e),e=setTimeout(()=>S(l()),50)};return window.addEventListener("scroll",i,{passive:!0}),()=>{clearTimeout(e),window.removeEventListener("scroll",i)}},[y,c?.desktop,c?.tablet,c?.mobile,T,A]);let j=s(()=>{let e=({displayValue:e})=>{switch(e){case"after-first-cart-button":return E?"block":"none";case"after-first-scroll":if(!B)return"none";return B.percent>=(k??0)?"block":"none";case"between-sections":if(!B)return!b({value:f})||b({value:w})?"block":"none";return B.isBetweenSectionsVisible?"block":"none";default:return"block"}},t=c?.desktop,o=c?.tablet??t,l=c?.mobile??o;return{"--d":e({displayValue:t}),"--d-tablet":e({displayValue:o}),"--d-mobile":e({displayValue:l})}},[c?.desktop,c?.mobile,c?.tablet,A,T,k,B,E]),q=s(()=>({"--top":L??"auto","--top-tablet":L??"auto","--top-mobile":L??"auto",[`--${m?.desktop}`]:L??"0px",[`--${m?.tablet??m?.desktop}-tablet`]:L??"0px",[`--${m?.mobile??m?.tablet??m?.desktop}-mobile`]:L??"0px"}),[L,m?.desktop,m?.mobile,m?.tablet]),C=({position:e})=>"top"==e?"sticky":"fixed",M=s(()=>({"--pos":C({position:m?.desktop}),"--pos-tablet":C({position:m?.tablet??m?.desktop}),"--pos-mobile":C({position:m?.mobile??m?.tablet??m?.desktop})}),[m?.desktop,m?.mobile,m?.tablet]);return r(()=>{if(!$)return;let e=null,t=()=>{e=null,F($.getBoundingClientRect().top<=0)},o=()=>{null===e&&(e=requestAnimationFrame(t))};return t(),window.addEventListener("scroll",o,{passive:!0}),()=>{window.removeEventListener("scroll",o),null!==e&&cancelAnimationFrame(e)}},[$]),r(()=>{F(!1)},[V]),{w:v,displayStyle:q,positionStyle:M,getCSSAlign:h,makeDisplaySettingStyles:j}};export{d as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
let e=[{id:"setting",controls:[{id:"fullWidth",label:"Full Width",type:"toggle",devices:{desktop:{default:!0},tablet:{default:!0},mobile:{default:!0}}},{id:"width",type:"dropdown:input",label:"Width",inputType:"number",units:["px","%"],hideUnit:!1,isRowWith:!0,devices:{desktop:{default:"100%"}},displayOptions:[{label:"Full",value:"100%",showValue:!0},{label:"Default",value:"1200px",showValue:!0}]},{id:"background",type:"background-media",ignoreReRender:!0,devices:{desktop:{default:{type:"color",color:"transparent",image:{src:"",width:0,height:0},size:"cover",position:{x:50,y:50},repeat:"no-repeat",attachment:"scroll"}}},compoDefaultValue:{desktop:{default:{type:"color",color:"#dddddd",image:{src:"https://cdn.shopify.com/s/files/1/2005/9307/files/background_settings.jpg",width:1200,height:480},size:"cover",position:{x:50,y:50},repeat:"no-repeat",attachment:"scroll",preload:!1,loop:!0}}}},{id:"preloadBgImage",type:"toggle",label:"Preload Image",default:!1},{id:"position",label:"Layout",type:"layout-selector",iconViewBox:"0 0 76 48",itemPerRow:2,itemSpacing:"large",enableItemBackground:!0,enableItemOpacity:!0,options:[{label:"Bottom",value:"bottom",iconName:"gp-sticky-position-bottom"},{label:"Top",value:"top",iconName:"gp-sticky-position-top"}],devices:{desktop:{default:"bottom"}}},{id:"display",label:"Display",type:"select",devices:{desktop:{default:"always"}},options:[{label:"Always show",value:"always"},{label:"After first cart button",value:"after-first-cart-button"}]},{id:"isScrollToTop",type:"toggle",default:!1}]}];export{e as StickySettingsV2};
|
|
1
|
+
let e=[{id:"setting",controls:[{id:"fullWidth",label:"Full Width",type:"toggle",devices:{desktop:{default:!0},tablet:{default:!0},mobile:{default:!0}}},{id:"width",type:"dropdown:input",label:"Width",inputType:"number",units:["px","%"],hideUnit:!1,isRowWith:!0,devices:{desktop:{default:"100%"}},displayOptions:[{label:"Full",value:"100%",showValue:!0},{label:"Default",value:"1200px",showValue:!0}]},{id:"background",type:"background-media",ignoreReRender:!0,devices:{desktop:{default:{type:"color",color:"transparent",image:{src:"",width:0,height:0},size:"cover",position:{x:50,y:50},repeat:"no-repeat",attachment:"scroll"}}},compoDefaultValue:{desktop:{default:{type:"color",color:"#dddddd",image:{src:"https://cdn.shopify.com/s/files/1/2005/9307/files/background_settings.jpg",width:1200,height:480},size:"cover",position:{x:50,y:50},repeat:"no-repeat",attachment:"scroll",preload:!1,loop:!0}}}},{id:"preloadBgImage",type:"toggle",label:"Preload Image",default:!1},{id:"position",label:"Layout",type:"layout-selector",iconViewBox:"0 0 76 48",itemPerRow:2,itemSpacing:"large",enableItemBackground:!0,enableItemOpacity:!0,options:[{label:"Bottom",value:"bottom",iconName:"gp-sticky-position-bottom"},{label:"Top",value:"top",iconName:"gp-sticky-position-top"}],devices:{desktop:{default:"bottom"}}},{id:"display",label:"Display",type:"select",devices:{desktop:{default:"always"}},options:[{label:"Always show",value:"always"},{label:"After first cart button",value:"after-first-cart-button"},{label:"After scrolling down",value:"after-first-scroll"},{label:"Between sections",value:"between-sections"}]},{id:"scrollPercent",type:"input:unit",units:["%"],min:0,max:100,placeholder:"0%",isNumber:!0},{id:"showFrom",type:"pick-link",optionConfig:{"scroll-to":{popoverLabel:"Show Sticky ATC start from",title:"",hideScrollToTop:!0}},default:{type:"scroll-to",link:""},isHiddenOpenLinkSelect:!0,hiddenOptions:{"stay-on-page":!0,"open-page":!0,"open-url":!0,"open-popup":!0,"go-to-sales-page":!0}},{id:"hideFrom",type:"pick-link",optionConfig:{"scroll-to":{popoverLabel:"Hide Sticky ATC start from",title:"",hideScrollToTop:!0}},default:{type:"scroll-to",link:""},isHiddenOpenLinkSelect:!0,hiddenOptions:{"stay-on-page":!0,"open-page":!0,"open-url":!0,"open-popup":!0,"go-to-sales-page":!0}},{id:"isScrollToTop",type:"toggle",default:!1}]}];export{e as StickySettingsV2};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
let o=[{label:"Layout",controls:[{setting:{id:"position"},layout:"vertical"}]},{label:"Size",hiddenOnMobile:!0,controls:[{setting:{id:"width"},label:"Width"},{label:"Padding",controlConfig:{id:"padding",type:"padding-v2",linkWithSetting:{name:"spacing-setting",field:"padding"},compoDefaultValue:{type:"custom",top:"16px",bottom:"16px",left:"24px",right:"24px"}}}]},{label:"Background",controls:[{setting:{id:"background"},layout:"vertical",options:{updateFields:[{field:"preload",settingId:"preloadBgImage"}]},controlChangeTrigger:{settings:[{action:{controlId:"preloadBgImage",valueFromField:"preload",groupType:"setting",controlType:"setting",removeDevice:!0}}],options:{noRecordHistory:!0}}}]},{label:"Shape",hiddenOnMobile:!0,controls:[{label:"Border",controlConfig:{id:"border-advanced",type:"border-v2",linkWithSetting:{name:"border",field:"normal"},compoDefaultValue:{color:"line-3",border:"solid",width:"1px",borderWidth:"1px"}}},{label:"Corner",setting:{id:"rounded",state:"normal"}},{label:"Shadow",setting:{id:"boxShadow",state:"normal"},options:{updateFields:[{field:"normal.enable",settingId:"hasBoxShadow",state:"normal"}]},controlChangeTrigger:{settings:[{condition:"boxShadow.normal.enable === true",source:["boxShadow","hasBoxShadow"],action:{controlId:"hasBoxShadow",groupType:"advanced",controlType:"advanced",state:"normal",newValue:!0}},{condition:"boxShadow.normal.enable === false",source:["boxShadow","hasBoxShadow"],action:{controlId:"hasBoxShadow",groupType:"advanced",controlType:"advanced",state:"normal",newValue:!1}}],options:{noRecordHistory:!0}}}]},{label:"Display option",controls:[{label:"Condition",setting:{id:"display"}}]}];export{o as SettingUIV2};
|
|
1
|
+
let o=[{label:"Layout",controls:[{setting:{id:"position"},layout:"vertical"}]},{label:"Size",hiddenOnMobile:!0,controls:[{setting:{id:"width"},label:"Width"},{label:"Padding",controlConfig:{id:"padding",type:"padding-v2",linkWithSetting:{name:"spacing-setting",field:"padding"},compoDefaultValue:{type:"custom",top:"16px",bottom:"16px",left:"24px",right:"24px"}}}]},{label:"Background",controls:[{setting:{id:"background"},layout:"vertical",options:{updateFields:[{field:"preload",settingId:"preloadBgImage"}]},controlChangeTrigger:{settings:[{action:{controlId:"preloadBgImage",valueFromField:"preload",groupType:"setting",controlType:"setting",removeDevice:!0}}],options:{noRecordHistory:!0}}}]},{label:"Shape",hiddenOnMobile:!0,controls:[{label:"Border",controlConfig:{id:"border-advanced",type:"border-v2",linkWithSetting:{name:"border",field:"normal"},compoDefaultValue:{color:"line-3",border:"solid",width:"1px",borderWidth:"1px"}}},{label:"Corner",setting:{id:"rounded",state:"normal"}},{label:"Shadow",setting:{id:"boxShadow",state:"normal"},options:{updateFields:[{field:"normal.enable",settingId:"hasBoxShadow",state:"normal"}]},controlChangeTrigger:{settings:[{condition:"boxShadow.normal.enable === true",source:["boxShadow","hasBoxShadow"],action:{controlId:"hasBoxShadow",groupType:"advanced",controlType:"advanced",state:"normal",newValue:!0}},{condition:"boxShadow.normal.enable === false",source:["boxShadow","hasBoxShadow"],action:{controlId:"hasBoxShadow",groupType:"advanced",controlType:"advanced",state:"normal",newValue:!1}}],options:{noRecordHistory:!0}}}]},{label:"Display option",controls:[{label:"Condition",setting:{id:"display"}},{label:"Page scrolled",conditionDisplay:"display === 'after-first-scroll'",setting:{id:"scrollPercent"}},{label:"Show from",conditionDisplay:"display === 'between-sections'",setting:{id:"showFrom"}},{label:"Hide from",conditionDisplay:"display === 'between-sections'",setting:{id:"hideFrom"}}]}];export{o as SettingUIV2};
|
package/dist/types/index.d.ts
CHANGED
|
@@ -6082,9 +6082,16 @@ declare const shopPayInstallmentSetting: {
|
|
|
6082
6082
|
};
|
|
6083
6083
|
|
|
6084
6084
|
type Position = 'top' | 'bottom';
|
|
6085
|
-
type DisplayOptionValue = 'always' | 'after-first-scroll' | 'after-first-cart-button' | 'meet-section';
|
|
6085
|
+
type DisplayOptionValue = 'always' | 'after-first-scroll' | 'after-first-cart-button' | 'between-sections' | 'meet-section';
|
|
6086
|
+
type SectionLinkValue = {
|
|
6087
|
+
link?: string;
|
|
6088
|
+
type?: 'scroll-to';
|
|
6089
|
+
};
|
|
6086
6090
|
type StickySettingProps = {
|
|
6087
6091
|
display: ObjectDevices<DisplayOptionValue>;
|
|
6092
|
+
scrollPercent?: number;
|
|
6093
|
+
showFrom?: SectionLinkValue;
|
|
6094
|
+
hideFrom?: SectionLinkValue;
|
|
6088
6095
|
fullWidth?: ObjectDevices<boolean>;
|
|
6089
6096
|
width?: ObjectDevices<string>;
|
|
6090
6097
|
background: ObjectDevices<BackgroundMedia>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gem-sdk/components",
|
|
3
|
-
"version": "19.1.0-dev.
|
|
3
|
+
"version": "19.1.0-dev.20",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"main": "dist/cjs/index.js",
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
"i18n:extract": "rollup -c ./scripts/rollup.config.settings.mjs && node ./scripts/translate/extract-texts-to-locales.js && node ./scripts/translate/en-keys-usage.js"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
|
-
"@gem-sdk/core": "19.1.0-dev.
|
|
29
|
+
"@gem-sdk/core": "19.1.0-dev.20",
|
|
30
30
|
"@gem-sdk/styles": "19.1.0-dev.19",
|
|
31
31
|
"@gem-sdk/system": "19.1.0-dev.19",
|
|
32
32
|
"@types/react-transition-group": "^4.4.12",
|