@gem-sdk/components 7.0.1-dev.1 → 7.0.1-dev.11

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.
Files changed (21) hide show
  1. package/dist/cjs/countdown-timer/common/helpers.js +1 -1
  2. package/dist/cjs/countdown-timer/hooks/useTimeLeft.js +1 -1
  3. package/dist/cjs/product/components/product-badge/ProductBadge.liquid.js +10 -10
  4. package/dist/cjs/product/components/product-badge/utils/renderBadgeLiquid.js +3 -4
  5. package/dist/cjs/product/components/product-list/ProductListCarouselItem.liquid.js +1 -1
  6. package/dist/cjs/product/components/product-list/ProductListGridItem.liquid.js +1 -1
  7. package/dist/cjs/product/components/product-list-v3/ProductList.js +1 -1
  8. package/dist/cjs/product/components/product-list-v3/ProductListCarouselItem.liquid.js +1 -1
  9. package/dist/cjs/product/components/product-list-v3/ProductListGridItem.liquid.js +1 -1
  10. package/dist/cjs/third-party/settings/BonLoyaltyRewardsReferrals/index.js +1 -1
  11. package/dist/esm/countdown-timer/common/helpers.js +1 -1
  12. package/dist/esm/countdown-timer/hooks/useTimeLeft.js +1 -1
  13. package/dist/esm/product/components/product-badge/ProductBadge.liquid.js +21 -21
  14. package/dist/esm/product/components/product-badge/utils/renderBadgeLiquid.js +3 -4
  15. package/dist/esm/product/components/product-list/ProductListCarouselItem.liquid.js +3 -3
  16. package/dist/esm/product/components/product-list/ProductListGridItem.liquid.js +4 -4
  17. package/dist/esm/product/components/product-list-v3/ProductList.js +1 -1
  18. package/dist/esm/product/components/product-list-v3/ProductListCarouselItem.liquid.js +3 -3
  19. package/dist/esm/product/components/product-list-v3/ProductListGridItem.liquid.js +4 -4
  20. package/dist/esm/third-party/settings/BonLoyaltyRewardsReferrals/index.js +1 -1
  21. package/package.json +4 -4
@@ -1 +1 @@
1
- "use strict";const convertTime=(e,t)=>{let a=timeOffset(e);return{week:a.weeks,day:t.enableWeek?a.days:a.totalDays,hour:t.enableDay?a.hours:a.totalHours,minute:t.enableHour||t.enableDay||t.enableWeek?a.minutes:a.totalMinutes,second:t.enableMinute||t.enableHour||t.enableDay||t.enableWeek?a.seconds:a.totalSeconds}},timeOffset=e=>({seconds:e%60,minutes:Math.floor(e/60)%60,hours:Math.floor(e/60/60)%24,days:Math.floor(e/60/60/24)%7,weeks:Math.floor(e/60/60/24/7),months:Math.floor(e/60/60/24/30.4368),totalDays:Math.floor(e/60/60/24),totalHours:Math.floor(e/60/60),totalMinutes:Math.floor(e/60),totalSeconds:e}),formatTime=e=>Number.isNaN(e)||0===e?"00":e<10?`0${e}`:e,calculateTime=e=>{let t=new Date().getTime();e||(e=getEndTime(0,3,0));let a=Math.ceil((e-t)/1e3);return a>0?a:0},getEndTime=(e,t,a)=>{let r=new Date,n=new Date;return r.setDate(n.getDate()+e),r.setHours(n.getHours()+t),r.setMinutes(n.getMinutes()+a),r.setSeconds(n.getSeconds()),r.getTime()},daily=(e,t,a)=>{let r=new Date,n=to24HrTime(`${e}:${t} ${a}`);e=n.hours,t=n.mins;let s=new Date(r.getFullYear(),r.getMonth(),r.getDate(),e,t).getTime(),o=s-r.getTime();return o<0&&(o+=864e5),Math.ceil(o/1e3)},standard=(e,t)=>calculateTime(getStandardEndtime(e,t)),getStandardEndtime=(e,t)=>{let a=0,r=new Date(e);if(void 0!=t&&""!=t&&((a=parseInt(t)?parseInt(t):parseInt(t.slice(3)))||0===a)){let e=new Date().getTimezoneOffset();r=new Date(r.getTime()-6e4*e-36e5*a)}return r.getTime()},evergreen=e=>{let{days:t,hours:a,mins:r,seconds:n=0}=e;return(t??0)*86400+(a??0)*3600+(r??0)*60+(n??0)},refreshAfterFinish=(e,t)=>{let a=new Date().getTime(),r=(86400*t.days+3600*t.hours+60*t.mins)*1e3,n=(a-e)%r;return Math.ceil((r-n)/1e3)},to24HrTime=e=>{let[t,a,r]=e.toLowerCase().match(/\d+|[a-z]+/g)||[],n=`${Number(t)%12+("am"==r?0:12)}:${a}`.split(":");return{hours:parseInt(n[0]?n[0]:"0"),mins:parseInt(n[1]?n[1]:"0")}};exports.calculateTime=calculateTime,exports.convertTime=convertTime,exports.daily=daily,exports.evergreen=evergreen,exports.formatTime=formatTime,exports.getEndTime=getEndTime,exports.getStandardEndtime=getStandardEndtime,exports.refreshAfterFinish=refreshAfterFinish,exports.standard=standard;
1
+ "use strict";const convertTime=(e,t)=>{let r=timeOffset(e);return{week:r.weeks,day:t.enableWeek?r.days:r.totalDays,hour:t.enableDay?r.hours:r.totalHours,minute:t.enableHour||t.enableDay||t.enableWeek?r.minutes:r.totalMinutes,second:t.enableMinute||t.enableHour||t.enableDay||t.enableWeek?r.seconds:r.totalSeconds}},timeOffset=e=>({seconds:e%60,minutes:Math.floor(e/60)%60,hours:Math.floor(e/60/60)%24,days:Math.floor(e/60/60/24)%7,weeks:Math.floor(e/60/60/24/7),months:Math.floor(e/60/60/24/30.4368),totalDays:Math.floor(e/60/60/24),totalHours:Math.floor(e/60/60),totalMinutes:Math.floor(e/60),totalSeconds:e}),formatTime=e=>Number.isNaN(e)||0===e?"00":e<10?`0${e}`:e,calculateTime=e=>{let t=new Date().getTime();e||(e=getEndTime(0,3,0));let r=Math.ceil((e-t)/1e3);return r>0?r:0},getEndTime=(e,t,r)=>{let o=new Date,a=new Date;return o.setDate(a.getDate()+e),o.setHours(a.getHours()+t),o.setMinutes(a.getMinutes()+r),o.setSeconds(a.getSeconds()),o.getTime()},daily=(e,t,r)=>{let o=new Date,a=to24HrTime(`${e}:${t} ${r}`);e=a.hours,t=a.mins;let n=new Date(o.getFullYear(),o.getMonth(),o.getDate(),e,t).getTime(),l=n-o.getTime();return l<0&&(l+=864e5),Math.ceil(l/1e3)},standard=(e,t)=>calculateTime(getStandardEndtime(e,t)),getStandardEndtime=(e,t)=>{let r=0,o=new Date(e);if(void 0!=t&&""!=t&&((r=parseInt(t)?parseInt(t):parseInt(t.slice(3)))||0===r)){let e=new Date().getTimezoneOffset();o=new Date(o.getTime()-6e4*e-36e5*r)}return o.getTime()},evergreen=e=>{let{days:t,hours:r,mins:o,seconds:a=0}=e;return(t??0)*86400+(r??0)*3600+(o??0)*60+(a??0)},refreshAfterFinish=(e,t)=>{let r=new Date().getTime(),o=(86400*t.days+3600*t.hours+60*t.mins)*1e3,a=(r-e)%o;return Math.ceil((o-a)/1e3)},to24HrTime=e=>{let[t,r,o]=e.toLowerCase().match(/\d+|[a-z]+/g)||[],a=`${Number(t)%12+("am"==o?0:12)}:${r}`.split(":");return{hours:parseInt(a[0]?a[0]:"0"),mins:parseInt(a[1]?a[1]:"0")}},getIdFromHash=e=>(e.startsWith("#el-")?e.replace("#el-","#"):e).substring(1),scrollToTop=()=>{"undefined"!=typeof window&&window.scrollTo({top:0,behavior:"smooth"})},scrollToSection=e=>{e&&(e.scrollIntoView({behavior:"smooth"}),setTimeout(()=>{let t=new URL(window.location.toString());t.hash=`#${e.id}`,history.replaceState(null,"",t.toString())},300))},querySelector=e=>{try{return document.querySelector(e)}catch{return null}},handleRedirect=(e,t,r)=>{if(!e||"#"===e)return;let o=e.startsWith("#")?getIdFromHash(e):"",a=o?querySelector(`[data-gp-dialog-id='${o}']`):null,n=o?querySelector(`[id='${o}']`):null;if(a?.tagName==="DIALOG")a?.showModal();else if("scroll-to-top"===o)scrollToTop();else if(n)scrollToSection(n);else{if("open-popup"===r||"scroll-to"===r)return;"_self"===t?window.location.href=e:window.open(e,t??"_blank")}};exports.calculateTime=calculateTime,exports.convertTime=convertTime,exports.daily=daily,exports.evergreen=evergreen,exports.formatTime=formatTime,exports.getEndTime=getEndTime,exports.getStandardEndtime=getStandardEndtime,exports.handleRedirect=handleRedirect,exports.refreshAfterFinish=refreshAfterFinish,exports.standard=standard;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react"),core=require("@gem-sdk/core"),helpers=require("../common/helpers.js");const useTimeLeft=e=>{let r=core.useEditorMode(),{timerDaily:t,behaviour:s,timerEverygreen:n,loopAfterFinish:a,redirectUrl:i,timeZone:u,dateStandard:c}=e,l=React.useMemo(()=>{switch(s){case"daily":return helpers.daily(t.hours,t.mins,t.format);case"evergreen":return helpers.evergreen(n);case"standard":return helpers.standard(c,u);default:return 0}},[s,c,u,t.format,t.hours,t.mins,n.endTime]),[o,h]=React.useState(l),f=React.useRef(),d=React.useCallback(()=>h(e=>e<=0?(i.link&&"#"!==i.link&&"edit"!==r&&window.open(i.link,i.target),isLoopAfterFinish(a,s))?evergreenRefreshAfterFinish(n):(clearInterval(f.current),0):e-1),[s,a,r,i.link,i.target,n]);return React.useEffect(()=>{let e=isLoopAfterFinish(a,s);return e&&(clearInterval(f.current),h(evergreenRefreshAfterFinish(n)),f.current=setInterval(d,1e3)),l<=0&&!e&&(clearInterval(f.current),h(0)),l>0&&(clearInterval(f.current),h(l),f.current=setInterval(d,1e3)),()=>{clearInterval(f.current)}},[s,d,l,a,n]),o},isLoopAfterFinish=(e,r)=>e&&"evergreen"===r,evergreenRefreshAfterFinish=e=>helpers.refreshAfterFinish(e.endTime,{days:e.days,hours:e.hours,mins:e.mins});exports.default=useTimeLeft;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react"),core=require("@gem-sdk/core"),helpers=require("../common/helpers.js");const useTimeLeft=e=>{let r=core.useEditorMode(),{timerDaily:t,behaviour:s,timerEverygreen:n,loopAfterFinish:a,redirectUrl:i,timeZone:l,dateStandard:c}=e,u=React.useMemo(()=>{switch(s){case"daily":return helpers.daily(t.hours,t.mins,t.format);case"evergreen":return helpers.evergreen(n);case"standard":return helpers.standard(c,l);default:return 0}},[s,c,l,t.format,t.hours,t.mins,n.endTime]),[o,h]=React.useState(u),f=React.useRef(),d=React.useCallback(()=>h(e=>e<=0?(i.link&&"#"!==i.link&&"edit"!==r&&helpers.handleRedirect(i.link,i.target,i.type),isLoopAfterFinish(a,s))?evergreenRefreshAfterFinish(n):(clearInterval(f.current),0):e-1),[s,a,r,i.link,i.target,n]);return React.useEffect(()=>{let e=isLoopAfterFinish(a,s);return e&&(clearInterval(f.current),h(evergreenRefreshAfterFinish(n)),f.current=setInterval(d,1e3)),u<=0&&!e&&(clearInterval(f.current),h(0)),u>0&&(clearInterval(f.current),h(u),f.current=setInterval(d,1e3)),()=>{clearInterval(f.current)}},[s,d,u,a,n]),o},isLoopAfterFinish=(e,r)=>e&&"evergreen"===r,evergreenRefreshAfterFinish=e=>helpers.refreshAfterFinish(e.endTime,{days:e.days,hours:e.hours,mins:e.mins});exports.default=useTimeLeft;
@@ -1,23 +1,23 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var core=require("@gem-sdk/core"),helpers=require("../../../helpers.js"),common=require("./utils/common.js"),generateLiquidContent=require("./utils/generateLiquidContent.js"),renderBadgeLiquid=require("./utils/renderBadgeLiquid.js"),system=require("@gem-sdk/system"),constants=require("./constants.js"),styles=require("./common/styles.js"),classes=require("./common/classes.js"),attrs=require("./common/attrs.js");const ProductBadge=e=>{let{styles:t,setting:s,builderProps:r,pageContext:a}=e,i=s?.shape!=="image",c=common.checkDiscountContentProductBadge(s?.displayContent),n=system.createStyle({...styles.getContainerStyle(e,constants.IS_LIQUID)}),l=system.createClass({...classes.getWrapperClasses(e)}),o=system.createClass({...classes.getSubWrapperClass(e)}),d=system.createStyle({...styles.getSubWrapperStyle(e)}),p=system.createAttr({...attrs.getSubWrapperAttrs(e)}),u=styles.getContentStyleInternal(e),y=system.createClass({...classes.getTextContainerClasses()}),g=system.createAttr({...attrs.getContainerAttrs(e)}),m=system.createClass({...classes.getTextWrapperClasses()}),C=system.createStyle({...styles.getTextBadgeWrapperStyles({setting:s,styles:t})}),v=system.createClass({...classes.getTextContentClasses(t)}),S=system.createStyle({...styles.getTextContentStyle({setting:s,styles:t})}),$=system.createAttr({...attrs.getTextContentAttrs()}),q=system.createClass({...classes.getImageContainerClasses()}),I=system.createStyle({...styles.getImageContainerStyles({setting:s,styles:t})}),j=system.createClass({...classes.getImageClasses()}),D=system.createAttr({...attrs.getImageAttr({setting:s})}),P=system.createStateOrContext({minPrice:"{{ minPriceValue | replace: '\"', '\\\"' | escape }}",variantIDs:'{{ product.variants | map: "id" | json | escape }}',variantInventoryQuantities:'{{ product.variants | map: "inventory_quantity" | json | escape }}',amountDiscount:"{{amountDiscountValue | replace: '\"', '\\\"' | escape }}",percentDiscount:"{{percentDiscountValue}}",price:"{{price}}",displayTrigger:JSON.parse(JSON.stringify(s?.displayTrigger).replaceAll("'","&#039;")),uid:e.builderProps?.uid,productCreatedAt:'{{product.created_at | date: "%Y-%m-%d" }}',productTags:"{{ product.tags | join: \",\" | replace: '\"', '\\\"' | escape }}",isTextBadge:i}),{displayContent:f,translate:A}=s??{},L=helpers.getDynamicSourceLocales({val:f?.trim(),uid:r?.uid,settingId:"displayContent",isLiquid:!0,pageContext:a,translate:A});return core.template`
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var core=require("@gem-sdk/core"),helpers=require("../../../helpers.js"),generateLiquidContent=require("./utils/generateLiquidContent.js"),renderBadgeLiquid=require("./utils/renderBadgeLiquid.js"),system=require("@gem-sdk/system"),constants=require("./constants.js"),styles=require("./common/styles.js"),classes=require("./common/classes.js"),attrs=require("./common/attrs.js");const ProductBadge=e=>{let{styles:t,setting:s,builderProps:r,pageContext:a}=e,i=s?.shape!=="image",l=i&&s?.displayContent?.trim()==="",c=system.createStyle({...styles.getContainerStyle(e,constants.IS_LIQUID)}),n=system.createClass({...classes.getWrapperClasses(e)}),d=system.createClass({...classes.getSubWrapperClass(e)}),o=system.createStyle({...styles.getSubWrapperStyle(e)}),p=system.createAttr({...attrs.getSubWrapperAttrs(e)}),y=styles.getContentStyleInternal(e),u=system.createClass({...classes.getTextContainerClasses()}),g=system.createAttr({...attrs.getContainerAttrs(e)}),m=system.createClass({...classes.getTextWrapperClasses()}),C=system.createStyle({...styles.getTextBadgeWrapperStyles({setting:s,styles:t})}),v=system.createClass({...classes.getTextContentClasses(t)}),S=system.createStyle({...styles.getTextContentStyle({setting:s,styles:t})}),$=system.createAttr({...attrs.getTextContentAttrs()}),q=system.createClass({...classes.getImageContainerClasses()}),I=system.createStyle({...styles.getImageContainerStyles({setting:s,styles:t})}),f=system.createClass({...classes.getImageClasses()}),j=system.createAttr({...attrs.getImageAttr({setting:s})}),A=system.createStateOrContext({minPrice:"{{ minPriceValue | replace: '\"', '\\\"' | escape }}",variantIDs:'{{ product.variants | map: "id" | json | escape }}',variantInventoryQuantities:'{{ product.variants | map: "inventory_quantity" | json | escape }}',amountDiscount:"{{amountDiscountValue | replace: '\"', '\\\"' | escape }}",percentDiscount:"{{percentDiscountValue}}",price:"{{price}}",displayTrigger:JSON.parse(JSON.stringify(s?.displayTrigger).replaceAll("'","&#039;")),uid:e.builderProps?.uid,productCreatedAt:'{{product.created_at | date: "%Y-%m-%d" }}',productTags:"{{ product.tags | join: \",\" | replace: '\"', '\\\"' | escape }}",isTextBadge:i}),{displayContent:D,translate:P}=s??{},L=helpers.getDynamicSourceLocales({val:D?.trim(),uid:r?.uid,settingId:"displayContent",isLiquid:!0,pageContext:a,translate:P});return core.template`
2
2
  {% if product %}
3
3
  ${generateLiquidContent.generateBadgeContent(L,a?.isPreviewing)}
4
- ${renderBadgeLiquid.renderBadgeInFirstTime(s?.displayTrigger,c,i)}
4
+ ${renderBadgeLiquid.renderBadgeInFirstTime(s?.displayTrigger,!l)}
5
5
  <gp-product-badge
6
6
  ${{...g}}
7
- gp-data='${core.dataStringify(P)}'
7
+ gp-data='${core.dataStringify(A)}'
8
8
  class="containerClass {{className}}"
9
- style="${n}"
9
+ style="${c}"
10
10
  data-display-content="${a?.isPreviewing?L:core.sanitizeLiquid(`{{${L}}}`)}"
11
11
  >
12
- <div class="${l}">
12
+ <div class="${n}">
13
13
  <div
14
14
  ${{...p}}
15
- class="${o}"
16
- style="${d}"
15
+ class="${d}"
16
+ style="${o}"
17
17
  >
18
- <style>${u}</style>
18
+ <style>${y}</style>
19
19
  ${core.RenderIf(i,core.template`
20
- <div class="${y}">
20
+ <div class="${u}">
21
21
  <div
22
22
  class="${m}"
23
23
  style="${C}"
@@ -29,7 +29,7 @@
29
29
  >{{ content | replace: percentDiscountKey, percentDiscountValue | replace: amountDiscountKey, amountDiscountValue | replace: inventoryQuantityKey, inventoryQuantityValue | replace: minPriceKey, minPriceValue }}</pre>
30
30
  </div>
31
31
  </div>`,core.template`<div class="${q}" style="${I}">
32
- <img ${{...D}} class="${j}" alt="" />
32
+ <img ${{...j}} class="${f}" alt="" />
33
33
  </div>`)}
34
34
  </div>
35
35
  </div>
@@ -1,4 +1,4 @@
1
- "use strict";var types=require("../types.js");const getMinValueForInventory=e=>e===types.CompareType.ABOVE?0:e===types.CompareType.BELOW?2:1,renderBadgeInFirstTime=(e,i,n)=>`
1
+ "use strict";var types=require("../types.js");const getMinValueForInventory=e=>e===types.CompareType.ABOVE?0:e===types.CompareType.BELOW?2:1,renderBadgeInFirstTime=(e,i)=>`
2
2
  {% assign isShow = true %}
3
3
  {% assign conditionTriggers = "" %}
4
4
  {% assign isInventoryStatus = false %}
@@ -16,9 +16,8 @@
16
16
  {% assign price = variant.price | times: 1.0 %}
17
17
  {% assign salePrice = variant.compare_at_price | times: 1.0 %}
18
18
  {% assign priceSave = salePrice | minus: price %}
19
- {% assign isDiscountContent = ${i} %}
20
- {% assign isTextBadge = ${n} %}
21
- {% if priceSave <= 0 or isDiscountContent == false or isTextBadge == false %}
19
+ {% assign isEmptyBadgeContent = ${!i} %}
20
+ {% if priceSave <= 0 or isEmptyBadgeContent == true %}
22
21
  {% assign isShow = false %}
23
22
  {% endif %}
24
23
  {% if isShow %}
@@ -1,6 +1,6 @@
1
1
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var core=require("@gem-sdk/core"),classes=require("./common/classes.js");const ProductListItem=e=>{let{pageContext:t,children:n}=e,{productItemClass:o,gpProductClass:a}=classes.getClass(e);return core.template`
2
2
  <gp-product
3
- gp-context='{"variantSelected": {{ variant | json | escape }}, "inventory_management": {{ variant.inventory_management | json | escape }}, "inventory_policy": {{ variant.inventory_policy | json | escape }}, "quantity": 1 , "formId": "{{ product_form_id }}"}'
3
+ gp-context='{"variantSelected": {{ variant | json | escape }}, "inventory_management": {{ variant.inventory_management | json | escape }}, "inventory_policy": {{ variant.inventory_policy | json | escape }}, "quantity": 1 , "inventoryQuantity": {{ variant.inventory_quantity }}, "formId": "{{ product_form_id }}"}'
4
4
  gp-data='{"variantSelected": {{ variant | json | escape }}, "quantity": 1, "productUrl":{{ product.url | json | escape }}, "productHandle":{{ product.handle | json | escape }}, "collectionUrl": {{ collection.url | json | escape }}, "collectionHandle": {{ collection.handle | json | escape }},"pageContext" : ${JSON.stringify(t)}}'
5
5
  class="${a}"
6
6
 
@@ -4,7 +4,7 @@
4
4
  `}).join("")}
5
5
  `;return core.template`
6
6
  <gp-product
7
- gp-context='{"variantSelected": {{ variant | json | escape }}, "inventory_management": {{ variant.inventory_management | json | escape }}, "inventory_policy": {{ variant.inventory_policy | json | escape }}, "quantity": 1 , "formId": "{{ product_form_id }}"}'
7
+ gp-context='{"variantSelected": {{ variant | json | escape }}, "inventory_management": {{ variant.inventory_management | json | escape }}, "inventory_policy": {{ variant.inventory_policy | json | escape }}, "quantity": 1 , "inventoryQuantity": {{ variant.inventory_quantity }}, "formId": "{{ product_form_id }}"}'
8
8
  gp-data='{"variantSelected": {{ variant | json | escape }}, "quantity": 1, "productUrl":{{ product.url | json | escape }}, "productHandle":{{ product.handle | json | escape }}, "collectionUrl": {{ collection.url | json | escape }}, "collectionHandle": {{ collection.handle | json | escape }},"pageContext" : ${JSON.stringify(t)}}'
9
9
  class="${a}"
10
10
 
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),dynamic=require("next/dynamic"),Loading=require("../../../common/components/Loading.js"),React=require("react"),core=require("@gem-sdk/core"),SalePageProductListWarning=require("../SalePageProductListWarning.js"),Head=require("next/head"),ProductListGridLayout=require("./ProductListGridLayout.js"),ProductListCarouselLayout=require("./ProductListCarouselLayout.js"),styles=require("./common/styles.js"),system=require("@gem-sdk/system"),classes=require("./common/classes.js"),helpers=require("./common/helpers.js"),helpers$1=require("../../../dialog/common/helpers.js");const ProductNotFound=dynamic(()=>Promise.resolve().then(function(){return require("../ProductNotFound.js")}),{loading:Loading.default}),ProductList=e=>{let{children:t,styles:r,builderProps:o,setting:s,builderAttrs:a}=e,{isRelatedProduct:d,productSetting:i}=helpers.getData(e),l=i.relatedTag&&i.relatedTag[0],{isEditMode:c,isPreviewSharePageMode:u}=core.useRenderMode(),n=core.useCurrentDevice(),m=core.usePageType(),g=core.usePageStore(e=>e.dynamicProduct),h=core.usePageStore(e=>e.dynamicCollection),[P,j]=React.useState(1),[p,x]=React.useState(!0),[f,y]=React.useState(),[R,v]=React.useState(!1),b="GP_FUNNEL_PAGE"===m,T="GP_COLLECTION"==m;T&&(i.productSrc="DynamicCollection",i.collectionId=h?.collectionId??"latest");let I=i?.productSrc??"Collection",S=g?.productId&&g?.productId!==i.relatedProductId?g?.productId:i.relatedProductId,k=core.useFetchHandle(),L=core.usePageStore(e=>e.publicStoreFrontData),C=React.useMemo(()=>core.hasPublicStoreFrontData(L)?core.createStoreFrontFetcher(L):k,[L]),{data:O}=core.useProductQuery(d&&S?S:void 0,{revalidateOnMount:c||u},C),E=i.relatedTag&&"tags"===i.relatedTag[0]&&(!O?.tags||O?.tags.length===0),N=i.relatedTag&&"collection"===i.relatedTag[0]&&(!O?.collections?.edges||O?.collections.edges.length===0),q=i.relatedTag&&"vendor"===i.relatedTag[0]&&!O?.vendor,M=E||N||q,w=core.useProductsQueryAll(f,{revalidateOnMount:c||u},C),W=c||u,F=core.useProductsQuery("PickProduct"===I?i?.productIds:void 0,{revalidateOnMount:W},{defaultSelectedProductCount:i?.numOfSelectedProducts}),G=React.useMemo(()=>({id:i?.collectionId??"latest",numberOfProducts:s?.numberOfProducts??4,orderBy:s?.orderBy}),[i?.collectionId,Number(s?.numberOfProducts),s?.orderBy]),Q=core.useCollectionQuery("PickProduct"!==I?G:void 0,{revalidateOnMount:W});React.useEffect(()=>{if(d&&O&&i.relatedTag&&"recommended-product"!==i.relatedType){let e;switch(v(!1),i.hasRelatedExclude&&(e=i?.relatedExclude&&i.relatedExclude.split(",").map(e=>e.trim())),i.relatedTag[0]){case"vendor":y({vendor:i.relatedTag&&"vendor"===i.relatedTag[0]?O?.vendor:"",limit:s?.numberOfProducts,idNEQ:O.id});break;case"collection":{let t;let r=O?.collections?.edges.map(e=>e.node?.id);if(!r||r?.length===0){v(!0);break}y(t=e&&e.length>0?{idNEQ:O.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:r},{titleNotIn:e}]}],limit:s?.numberOfProducts}:{idNEQ:O.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:r}]}],limit:s?.numberOfProducts});break}case"tags":{let t;if(!O.tags||0===O.tags.length){v(!0);break}y(t=e&&e.length>0?{idNEQ:O.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:O.tags},{nameNotIn:e}]}],limit:s?.numberOfProducts}:{idNEQ:O.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:O.tags}]}],limit:s?.numberOfProducts})}}}},[O,i.relatedType,i.relatedTag,s?.numberOfProducts,i.relatedExclude,i.hasRelatedExclude,d]);let B="PickProduct"===I?F.isValidating:Q.isValidating,D="PickProduct"===I?F.isLoading:Q.isLoading,A="PickProduct"===I?F.error:Q.error,H=Q.data?.collections?.edges?.[0]?.node,$="PickProduct"===I?core.flattenConnection(F.data?.products):core.flattenConnection(H?.products),_=w?.data?.products?core.flattenConnection(w?.data?.products):void 0,z=d&&_?_:"PickProduct"===I&&i?.productIds?.length?i?.productIds?.map(e=>$?.find(t=>t?.baseID===e)).filter(Boolean)??$:"PickProduct"!==I?$:$.filter((e,t)=>t<(i?.numOfSelectedProducts??4)),V=React.useMemo(()=>R&&d&&c||!z.length&&!D&&p&&c,[p,D,R,d,c,z.length]),U=React.useMemo(()=>!z||R&&d,[R,d,z]),J=React.useMemo(()=>{if(!s?.sameHeight)return[];let e=0,t=Math.ceil((z?.length??0)/+(s?.slidesToShow?.[n]??1));return Array.from(Array(z?.length??0)).map((o,a)=>(a>=+(s?.slidesToShow?.[n]??1)*(e+1)&&++e,{gridRow:`${1+P*e}/${P+1+P*e}`,marginBottom:e+1<t?helpers$1.getPropertyByDevice(r?.horizontalGutter,n):void 0}))},[s?.sameHeight,s?.slidesToShow,P,z?.length,n,r?.horizontalGutter]),K=React.useMemo(()=>B||D||A||!z||R&&d,[A,D,R,d,B,z]);React.useEffect(()=>{K||setTimeout(()=>{let{builderData:e}=o??{},t=e?.childrens?.[0];if(!t)return;let r=document.querySelector(`[data-id=${t}] div`);r&&j(r.childElementCount||1)},c?0:500)},[o,K,c]);let X=React.useMemo(()=>({collection:H,products:z,settings:{loop:s?.loop??{desktop:!1},scrollMode:s?.scrollMode??{desktop:"snap"},slidesToShow:s?.slidesToShow??{desktop:4,tablet:3,mobile:1},layout:r?.layout,dot:s?.dot,dotStyle:s?.dotStyle,arrow:s?.arrow,controlOverContent:s?.controlOverContent},styles:{horizontalGutter:r?.horizontalGutter,verticalGutter:r?.verticalGutter,fullWidth:r?.fullWidth,spacing:r?.spacing,width:r?.width,height:r?.height}}),[H,z,s,r]);if(o?.isPreview&&b)return jsxRuntime.jsx(jsxRuntime.Fragment,{});if(V)return jsxRuntime.jsx(jsxRuntime.Fragment,{children:system.If(p,jsxRuntime.jsx(ProductNotFound,{builderAttrs:a,collectionHandle:H?.handle,productSrc:I,onClose:()=>x(!1),children:t,relatedTagString:l,assignProductNoTags:M,noAssignedProduct:!S}))});let{productListWrapStyle:Y,productListContentStyle:Z,productListWrapAlignStyle:ee}=styles.getStyle(e),{productListWrapClass:et}=classes.getClass(e),er=()=>jsxRuntime.jsx(jsxRuntime.Fragment,{children:system.If(r?.layout==="grid",jsxRuntime.jsx(ProductListGridLayout.default,{...e,productSortedById:z,generateGridRowArray:J}),jsxRuntime.jsx(ProductListCarouselLayout.default,{...e,productSortedById:z}))});return jsxRuntime.jsxs("div",{...a,className:et,style:Y,children:[!!r?.preloadBgImage&&jsxRuntime.jsxs(Head,{children:[!!r.backgroundImage?.desktop?.image?.src&&jsxRuntime.jsx("link",{rel:"preload",href:r.backgroundImage.desktop.image.src,as:"image"}),!!r.backgroundImage?.tablet?.image?.src&&jsxRuntime.jsx("link",{rel:"preload",href:r.backgroundImage?.tablet?.image?.src,as:"image"}),!!r.backgroundImage?.mobile?.image?.src&&jsxRuntime.jsx("link",{rel:"preload",href:r.backgroundImage?.mobile?.image?.src,as:"image"})]}),B||D?jsxRuntime.jsx(Loading.default,{}):A?jsxRuntime.jsxs("div",{children:["Error: ",A?.message]}):U?jsxRuntime.jsx("div",{children:"Products not found"}):jsxRuntime.jsx(core.ProductListProvider,{...X,children:jsxRuntime.jsx("div",{className:"gp-flex gp-w-full",style:ee,children:jsxRuntime.jsxs("div",{style:Z,children:[b&&jsxRuntime.jsx(SalePageProductListWarning.default,{}),er()]})})}),core.filterToolbarPreview(t,!0)]})};exports.default=ProductList;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),dynamic=require("next/dynamic"),Loading=require("../../../common/components/Loading.js"),React=require("react"),core=require("@gem-sdk/core"),SalePageProductListWarning=require("../SalePageProductListWarning.js"),Head=require("next/head"),ProductListGridLayout=require("./ProductListGridLayout.js"),ProductListCarouselLayout=require("./ProductListCarouselLayout.js"),styles=require("./common/styles.js"),system=require("@gem-sdk/system"),classes=require("./common/classes.js"),helpers=require("./common/helpers.js"),helpers$1=require("../../../dialog/common/helpers.js");const ProductNotFound=dynamic(()=>Promise.resolve().then(function(){return require("../ProductNotFound.js")}),{loading:Loading.default}),ProductList=e=>{let{children:t,styles:r,builderProps:o,setting:s,builderAttrs:a}=e,{isRelatedProduct:d,productSetting:i}=helpers.getData(e),l=i.relatedTag&&i.relatedTag[0],{isEditMode:c,isPreviewSharePageMode:u}=core.useRenderMode(),n=core.useCurrentDevice(),g=core.usePageType(),m=core.usePageStore(e=>e.dynamicProduct),h=core.usePageStore(e=>e.dynamicCollection),[P,p]=React.useState(1),[j,x]=React.useState(!0),[f,y]=React.useState(),[R,b]=React.useState(!1),v="GP_FUNNEL_PAGE"===g,S="GP_COLLECTION"==g;S&&(i.productSrc="DynamicCollection",i.collectionId=h?.collectionId??"latest");let I=i?.productSrc??"Collection",T=m?.productId&&m?.productId!==i.relatedProductId?m?.productId:i.relatedProductId,k=core.useFetchHandle(),L=core.usePageStore(e=>e.publicStoreFrontData),C=React.useMemo(()=>core.hasPublicStoreFrontData(L)?core.createStoreFrontFetcher(L):k,[L]),{data:O}=core.useProductQuery(d&&T?T:void 0,{revalidateOnMount:c||u},C),E=i.relatedTag&&"tags"===i.relatedTag[0]&&(!O?.tags||O?.tags.length===0),M=i.relatedTag&&"collection"===i.relatedTag[0]&&(!O?.collections?.edges||O?.collections.edges.length===0),N=i.relatedTag&&"vendor"===i.relatedTag[0]&&!O?.vendor,q=E||M||N,w=core.useProductsQueryAll(f,{revalidateOnMount:c||u},C),W=c||u,F=core.useProductsQuery("PickProduct"===I?i?.productIds:void 0,{revalidateOnMount:W},{defaultSelectedProductCount:i?.numOfSelectedProducts}),G=React.useMemo(()=>({id:i?.collectionId??"latest",numberOfProducts:s?.numberOfProducts??4,orderBy:s?.orderBy}),[i?.collectionId,Number(s?.numberOfProducts),s?.orderBy]),Q=core.useCollectionQuery("PickProduct"!==I?G:void 0,{revalidateOnMount:W});React.useEffect(()=>{if(d&&O&&i.relatedTag&&"recommended-product"!==i.relatedType){let e;switch(b(!1),i.hasRelatedExclude&&(e=i?.relatedExclude&&i.relatedExclude.split(",").map(e=>e.trim())),i.relatedTag[0]){case"vendor":y({vendor:i.relatedTag&&"vendor"===i.relatedTag[0]?O?.vendor:"",limit:s?.numberOfProducts,idNEQ:O.id});break;case"collection":{let t;let r=O?.collections?.edges.map(e=>e.node?.id);if(!r||r?.length===0){b(!0);break}y(t=e&&e.length>0?{idNEQ:O.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:r},{titleNotIn:e}]}],limit:s?.numberOfProducts}:{idNEQ:O.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:r}]}],limit:s?.numberOfProducts});break}case"tags":{let t;if(!O.tags||0===O.tags.length){b(!0);break}y(t=e&&e.length>0?{idNEQ:O.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:O.tags},{nameNotIn:e}]}],limit:s?.numberOfProducts}:{idNEQ:O.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:O.tags}]}],limit:s?.numberOfProducts})}}}},[O,i.relatedType,i.relatedTag,s?.numberOfProducts,i.relatedExclude,i.hasRelatedExclude,d]);let A="PickProduct"===I?F.isValidating:Q.isValidating,B="PickProduct"===I?F.isLoading:Q.isLoading,D="PickProduct"===I?F.error:Q.error,H=Q.data?.collections?.edges?.[0]?.node,$="PickProduct"===I?core.flattenConnection(F.data?.products):core.flattenConnection(H?.products),_=core.usePageStore(e=>e.assignedProductIds),z=core.usePageStore(e=>e.isApplyAllProducts),V=React.useMemo(()=>(_??[]).length>0&&!z||z,[_,z]),U=w?.data?.products&&V?core.flattenConnection(w?.data?.products):[],J=d?U:"PickProduct"===I&&i?.productIds?.length?i?.productIds?.map(e=>$?.find(t=>t?.baseID===e)).filter(Boolean)??$:"PickProduct"!==I?$:$.filter((e,t)=>t<(i?.numOfSelectedProducts??4)),K=React.useMemo(()=>R&&d&&c||!J.length&&!B&&j&&c,[j,B,R,d,c,J.length]),X=React.useMemo(()=>!J||R&&d,[R,d,J]),Y=React.useMemo(()=>{if(!s?.sameHeight)return[];let e=0,t=Math.ceil((J?.length??0)/+(s?.slidesToShow?.[n]??1));return Array.from(Array(J?.length??0)).map((o,a)=>(a>=+(s?.slidesToShow?.[n]??1)*(e+1)&&++e,{gridRow:`${1+P*e}/${P+1+P*e}`,marginBottom:e+1<t?helpers$1.getPropertyByDevice(r?.horizontalGutter,n):void 0}))},[s?.sameHeight,s?.slidesToShow,P,J?.length,n,r?.horizontalGutter]),Z=React.useMemo(()=>A||B||D||!J||R&&d,[D,B,R,d,A,J]);React.useEffect(()=>{Z||setTimeout(()=>{let{builderData:e}=o??{},t=e?.childrens?.[0];if(!t)return;let r=document.querySelector(`[data-id=${t}] div`);r&&p(r.childElementCount||1)},c?0:500)},[o,Z,c]);let ee=React.useMemo(()=>({collection:H,products:J,settings:{loop:s?.loop??{desktop:!1},scrollMode:s?.scrollMode??{desktop:"snap"},slidesToShow:s?.slidesToShow??{desktop:4,tablet:3,mobile:1},layout:r?.layout,dot:s?.dot,dotStyle:s?.dotStyle,arrow:s?.arrow,controlOverContent:s?.controlOverContent},styles:{horizontalGutter:r?.horizontalGutter,verticalGutter:r?.verticalGutter,fullWidth:r?.fullWidth,spacing:r?.spacing,width:r?.width,height:r?.height}}),[H,J,s,r]);if(o?.isPreview&&v)return jsxRuntime.jsx(jsxRuntime.Fragment,{});if(K)return jsxRuntime.jsx(jsxRuntime.Fragment,{children:system.If(j,jsxRuntime.jsx(ProductNotFound,{builderAttrs:a,collectionHandle:H?.handle,productSrc:I,onClose:()=>x(!1),children:t,relatedTagString:l,assignProductNoTags:q,noAssignedProduct:!T}))});let{productListWrapStyle:et,productListContentStyle:er,productListWrapAlignStyle:eo}=styles.getStyle(e),{productListWrapClass:es}=classes.getClass(e),ea=()=>jsxRuntime.jsx(jsxRuntime.Fragment,{children:system.If(r?.layout==="grid",jsxRuntime.jsx(ProductListGridLayout.default,{...e,productSortedById:J,generateGridRowArray:Y}),jsxRuntime.jsx(ProductListCarouselLayout.default,{...e,productSortedById:J}))});return jsxRuntime.jsxs("div",{...a,className:es,style:et,children:[!!r?.preloadBgImage&&jsxRuntime.jsxs(Head,{children:[!!r.backgroundImage?.desktop?.image?.src&&jsxRuntime.jsx("link",{rel:"preload",href:r.backgroundImage.desktop.image.src,as:"image"}),!!r.backgroundImage?.tablet?.image?.src&&jsxRuntime.jsx("link",{rel:"preload",href:r.backgroundImage?.tablet?.image?.src,as:"image"}),!!r.backgroundImage?.mobile?.image?.src&&jsxRuntime.jsx("link",{rel:"preload",href:r.backgroundImage?.mobile?.image?.src,as:"image"})]}),A||B?jsxRuntime.jsx(Loading.default,{}):D?jsxRuntime.jsxs("div",{children:["Error: ",D?.message]}):X?jsxRuntime.jsx("div",{children:"Products not found"}):jsxRuntime.jsx(core.ProductListProvider,{...ee,children:jsxRuntime.jsx("div",{className:"gp-flex gp-w-full",style:eo,children:jsxRuntime.jsxs("div",{style:er,children:[v&&jsxRuntime.jsx(SalePageProductListWarning.default,{}),ea()]})})}),core.filterToolbarPreview(t,!0)]})};exports.default=ProductList;
@@ -1,6 +1,6 @@
1
1
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var core=require("@gem-sdk/core"),classes=require("./common/classes.js");const ProductListItem=e=>{let{pageContext:t,children:n}=e,{productItemClass:o,gpProductClass:a}=classes.getClass(e);return core.template`
2
2
  <gp-product
3
- gp-context='{"variantSelected": {{ variant | json | escape }}, "inventory_management": {{ variant.inventory_management | json | escape }}, "inventory_policy": {{ variant.inventory_policy | json | escape }}, "quantity": 1 , "formId": "{{ product_form_id }}"}'
3
+ gp-context='{"variantSelected": {{ variant | json | escape }}, "inventory_management": {{ variant.inventory_management | json | escape }}, "inventory_policy": {{ variant.inventory_policy | json | escape }}, "quantity": 1 ,"inventoryQuantity": {{ variant.inventory_quantity }}, "formId": "{{ product_form_id }}"}'
4
4
  gp-data='{"variantSelected": {{ variant | json | escape }}, "quantity": 1, "productUrl":{{ product.url | json | escape }}, "productHandle":{{ product.handle | json | escape }}, "collectionUrl": {{ collection.url | json | escape }}, "collectionHandle": {{ collection.handle | json | escape }},"pageContext" : ${JSON.stringify(t)}}'
5
5
  class="${a}"
6
6
 
@@ -4,7 +4,7 @@
4
4
  `}).join("")}
5
5
  `;return core.template`
6
6
  <gp-product
7
- gp-context='{"variantSelected": {{ variant | json | escape }}, "inventory_management": {{ variant.inventory_management | json | escape }}, "inventory_policy": {{ variant.inventory_policy | json | escape }}, "quantity": 1 , "formId": "{{ product_form_id }}"}'
7
+ gp-context='{"variantSelected": {{ variant | json | escape }}, "inventory_management": {{ variant.inventory_management | json | escape }}, "inventory_policy": {{ variant.inventory_policy | json | escape }}, "quantity": 1 ,"inventoryQuantity": {{ variant.inventory_quantity }}, "formId": "{{ product_form_id }}"}'
8
8
  gp-data='{"variantSelected": {{ variant | json | escape }}, "quantity": 1, "productUrl":{{ product.url | json | escape }}, "productHandle":{{ product.handle | json | escape }}, "collectionUrl": {{ collection.url | json | escape }}, "collectionHandle": {{ collection.handle | json | escape }},"pageContext" : ${JSON.stringify(t)}}'
9
9
  class="${a}"
10
10
 
@@ -1,4 +1,4 @@
1
1
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var BonLoyaltyRewardsReferrals=require("../../configs/BonLoyaltyRewardsReferrals.js"),uiV1=require("./uiV1.js"),uiV2=require("./uiV2.js"),helpers=require("../../common/helpers.js");const config={tag:BonLoyaltyRewardsReferrals.default.tag,label:BonLoyaltyRewardsReferrals.default.label,icon:'<img class="gp-w-[24px] gp-border gp-border-[#494949] gp-rounded-[3px]" src="https://cdn.shopify.com/app-store/listing_images/f367f56199c88dba9296f532dfc5b383/icon/CLS4vPSugoUDEAE=.jpeg?width=22&height=22">',editorConfigs:{component:{isThirdParty:!0}},presets:[{id:BonLoyaltyRewardsReferrals.default.id,name:{en:BonLoyaltyRewardsReferrals.default.label},hideTextContent:!0,icon:{desktop:`<div class="w-full flex flex-col items-center">
2
2
  <img class="w-24 border border-dark-200 rounded-medium" src="https://cdn.shopify.com/app-store/listing_images/f367f56199c88dba9296f532dfc5b383/icon/CLS4vPSugoUDEAE=.jpeg?width=22&height=22">
3
3
  <span class="preset-item-title">BON: Loyalty Rewards Referrals</span>
4
- </div>`},components:[{tag:BonLoyaltyRewardsReferrals.default.tag}]}],settings:[{id:"setting",controls:[{id:"appBlockId",type:"input",default:""},{id:"widgetType",label:"Choose widget",type:"select",options:[{label:"Loyalty Page Block",value:"loyalty-page-block"},{label:"Loyalty Page Earning Block",value:"loyalty-page-earning-block"},{label:"Loyalty Page Header Block",value:"loyalty-page-header-block"},{label:"Loyalty Page Profile Block",value:"loyalty-page-profile-block"},{label:"Loyalty Page Redeem Block",value:"loyalty-page-redeem-block"},{label:"Loyalty Page Referral Block",value:"loyalty-page-referral-block"},{label:"Loyalty Page Tier Block",value:"loyalty-page-tier-block"},{label:"Product Point Review",value:"product-point-preview"},{label:"Point On Product Page",value:"product-point-preview"}],default:"loyalty-page-block"},{id:"install",type:"open-link",target:"_blank",linkType:"install",href:helpers.get3rdPartyInstallLink({handle:"bon-loyalty-rewards-referrals"}),appName:BonLoyaltyRewardsReferrals.default.label},{id:"openApp",type:"open-link",target:"_blank",linkType:"openApp",href:"https://admin.shopify.com/?redirect=/apps/bon-loyalty",appName:BonLoyaltyRewardsReferrals.default.label},{id:"align",label:"Alignment",type:"segment",options:[{label:"Left",value:"left",type:"align"},{label:"Center",value:"center",type:"align"},{label:"Right",value:"right",type:"align"}],devices:{desktop:{default:"left"}}}]}],ui:uiV1.default,uiV2:uiV2.default};exports.default=config;
4
+ </div>`},components:[{tag:BonLoyaltyRewardsReferrals.default.tag}]}],settings:[{id:"setting",controls:[{id:"appBlockId",type:"input",default:""},{id:"widgetType",label:"Choose widget",type:"select",options:[{label:"Loyalty Page Block",value:"loyalty-page-block"},{label:"Loyalty Page Earning Block",value:"loyalty-page-earning-block"},{label:"Loyalty Page Header Block",value:"loyalty-page-header-block"},{label:"Loyalty Page Profile Block",value:"loyalty-page-profile-block"},{label:"Loyalty Page Redeem Block",value:"loyalty-page-redeem-block"},{label:"Loyalty Page Referral Block",value:"loyalty-page-referral-block"},{label:"Loyalty Page Tier Block",value:"loyalty-page-tier-block"},{label:"Product Point Review",value:"product-point-preview"},{label:"Point On Product Page",value:"product-point-preview"},{label:"Ways to redeem points",value:"bloy-loyalty-ways-redeem"}],default:"loyalty-page-block"},{id:"install",type:"open-link",target:"_blank",linkType:"install",href:helpers.get3rdPartyInstallLink({handle:"bon-loyalty-rewards-referrals"}),appName:BonLoyaltyRewardsReferrals.default.label},{id:"openApp",type:"open-link",target:"_blank",linkType:"openApp",href:"https://admin.shopify.com/?redirect=/apps/bon-loyalty",appName:BonLoyaltyRewardsReferrals.default.label},{id:"align",label:"Alignment",type:"segment",options:[{label:"Left",value:"left",type:"align"},{label:"Center",value:"center",type:"align"},{label:"Right",value:"right",type:"align"}],devices:{desktop:{default:"left"}}}]}],ui:uiV1.default,uiV2:uiV2.default};exports.default=config;
@@ -1 +1 @@
1
- let convertTime=(e,t)=>{let a=timeOffset(e);return{week:a.weeks,day:t.enableWeek?a.days:a.totalDays,hour:t.enableDay?a.hours:a.totalHours,minute:t.enableHour||t.enableDay||t.enableWeek?a.minutes:a.totalMinutes,second:t.enableMinute||t.enableHour||t.enableDay||t.enableWeek?a.seconds:a.totalSeconds}},timeOffset=e=>({seconds:e%60,minutes:Math.floor(e/60)%60,hours:Math.floor(e/60/60)%24,days:Math.floor(e/60/60/24)%7,weeks:Math.floor(e/60/60/24/7),months:Math.floor(e/60/60/24/30.4368),totalDays:Math.floor(e/60/60/24),totalHours:Math.floor(e/60/60),totalMinutes:Math.floor(e/60),totalSeconds:e}),formatTime=e=>Number.isNaN(e)||0===e?"00":e<10?`0${e}`:e,calculateTime=e=>{let t=new Date().getTime();e||(e=getEndTime(0,3,0));let a=Math.ceil((e-t)/1e3);return a>0?a:0},getEndTime=(e,t,a)=>{let n=new Date,r=new Date;return n.setDate(r.getDate()+e),n.setHours(r.getHours()+t),n.setMinutes(r.getMinutes()+a),n.setSeconds(r.getSeconds()),n.getTime()},daily=(e,t,a)=>{let n=new Date,r=to24HrTime(`${e}:${t} ${a}`);e=r.hours,t=r.mins;let s=new Date(n.getFullYear(),n.getMonth(),n.getDate(),e,t).getTime(),o=s-n.getTime();return o<0&&(o+=864e5),Math.ceil(o/1e3)},standard=(e,t)=>calculateTime(getStandardEndtime(e,t)),getStandardEndtime=(e,t)=>{let a=0,n=new Date(e);if(void 0!=t&&""!=t&&((a=parseInt(t)?parseInt(t):parseInt(t.slice(3)))||0===a)){let e=new Date().getTimezoneOffset();n=new Date(n.getTime()-6e4*e-36e5*a)}return n.getTime()},evergreen=e=>{let{days:t,hours:a,mins:n,seconds:r=0}=e;return(t??0)*86400+(a??0)*3600+(n??0)*60+(r??0)},refreshAfterFinish=(e,t)=>{let a=new Date().getTime(),n=(86400*t.days+3600*t.hours+60*t.mins)*1e3,r=(a-e)%n;return Math.ceil((n-r)/1e3)},to24HrTime=e=>{let[t,a,n]=e.toLowerCase().match(/\d+|[a-z]+/g)||[],r=`${Number(t)%12+("am"==n?0:12)}:${a}`.split(":");return{hours:parseInt(r[0]?r[0]:"0"),mins:parseInt(r[1]?r[1]:"0")}};export{calculateTime,convertTime,daily,evergreen,formatTime,getEndTime,getStandardEndtime,refreshAfterFinish,standard};
1
+ let convertTime=(e,t)=>{let o=timeOffset(e);return{week:o.weeks,day:t.enableWeek?o.days:o.totalDays,hour:t.enableDay?o.hours:o.totalHours,minute:t.enableHour||t.enableDay||t.enableWeek?o.minutes:o.totalMinutes,second:t.enableMinute||t.enableHour||t.enableDay||t.enableWeek?o.seconds:o.totalSeconds}},timeOffset=e=>({seconds:e%60,minutes:Math.floor(e/60)%60,hours:Math.floor(e/60/60)%24,days:Math.floor(e/60/60/24)%7,weeks:Math.floor(e/60/60/24/7),months:Math.floor(e/60/60/24/30.4368),totalDays:Math.floor(e/60/60/24),totalHours:Math.floor(e/60/60),totalMinutes:Math.floor(e/60),totalSeconds:e}),formatTime=e=>Number.isNaN(e)||0===e?"00":e<10?`0${e}`:e,calculateTime=e=>{let t=new Date().getTime();e||(e=getEndTime(0,3,0));let o=Math.ceil((e-t)/1e3);return o>0?o:0},getEndTime=(e,t,o)=>{let r=new Date,a=new Date;return r.setDate(a.getDate()+e),r.setHours(a.getHours()+t),r.setMinutes(a.getMinutes()+o),r.setSeconds(a.getSeconds()),r.getTime()},daily=(e,t,o)=>{let r=new Date,a=to24HrTime(`${e}:${t} ${o}`);e=a.hours,t=a.mins;let n=new Date(r.getFullYear(),r.getMonth(),r.getDate(),e,t).getTime(),l=n-r.getTime();return l<0&&(l+=864e5),Math.ceil(l/1e3)},standard=(e,t)=>calculateTime(getStandardEndtime(e,t)),getStandardEndtime=(e,t)=>{let o=0,r=new Date(e);if(void 0!=t&&""!=t&&((o=parseInt(t)?parseInt(t):parseInt(t.slice(3)))||0===o)){let e=new Date().getTimezoneOffset();r=new Date(r.getTime()-6e4*e-36e5*o)}return r.getTime()},evergreen=e=>{let{days:t,hours:o,mins:r,seconds:a=0}=e;return(t??0)*86400+(o??0)*3600+(r??0)*60+(a??0)},refreshAfterFinish=(e,t)=>{let o=new Date().getTime(),r=(86400*t.days+3600*t.hours+60*t.mins)*1e3,a=(o-e)%r;return Math.ceil((r-a)/1e3)},to24HrTime=e=>{let[t,o,r]=e.toLowerCase().match(/\d+|[a-z]+/g)||[],a=`${Number(t)%12+("am"==r?0:12)}:${o}`.split(":");return{hours:parseInt(a[0]?a[0]:"0"),mins:parseInt(a[1]?a[1]:"0")}},getIdFromHash=e=>(e.startsWith("#el-")?e.replace("#el-","#"):e).substring(1),scrollToTop=()=>{"undefined"!=typeof window&&window.scrollTo({top:0,behavior:"smooth"})},scrollToSection=e=>{e&&(e.scrollIntoView({behavior:"smooth"}),setTimeout(()=>{let t=new URL(window.location.toString());t.hash=`#${e.id}`,history.replaceState(null,"",t.toString())},300))},querySelector=e=>{try{return document.querySelector(e)}catch{return null}},handleRedirect=(e,t,o)=>{if(!e||"#"===e)return;let r=e.startsWith("#")?getIdFromHash(e):"",a=r?querySelector(`[data-gp-dialog-id='${r}']`):null,n=r?querySelector(`[id='${r}']`):null;if(a?.tagName==="DIALOG")a?.showModal();else if("scroll-to-top"===r)scrollToTop();else if(n)scrollToSection(n);else{if("open-popup"===o||"scroll-to"===o)return;"_self"===t?window.location.href=e:window.open(e,t??"_blank")}};export{calculateTime,convertTime,daily,evergreen,formatTime,getEndTime,getStandardEndtime,handleRedirect,refreshAfterFinish,standard};
@@ -1 +1 @@
1
- import{useMemo as e,useState as r,useRef as t,useCallback as n,useEffect as s}from"react";import{useEditorMode as i}from"@gem-sdk/core";import{standard as a,evergreen as o,daily as l,refreshAfterFinish as u}from"../common/helpers.js";let useTimeLeft=u=>{let c=i(),{timerDaily:m,behaviour:f,timerEverygreen:h,loopAfterFinish:d,redirectUrl:v,timeZone:p,dateStandard:g}=u,I=e(()=>{switch(f){case"daily":return l(m.hours,m.mins,m.format);case"evergreen":return o(h);case"standard":return a(g,p);default:return 0}},[f,g,p,m.format,m.hours,m.mins,h.endTime]),[A,F]=r(I),k=t(),L=n(()=>F(e=>e<=0?(v.link&&"#"!==v.link&&"edit"!==c&&window.open(v.link,v.target),isLoopAfterFinish(d,f))?evergreenRefreshAfterFinish(h):(clearInterval(k.current),0):e-1),[f,d,c,v.link,v.target,h]);return s(()=>{let e=isLoopAfterFinish(d,f);return e&&(clearInterval(k.current),F(evergreenRefreshAfterFinish(h)),k.current=setInterval(L,1e3)),I<=0&&!e&&(clearInterval(k.current),F(0)),I>0&&(clearInterval(k.current),F(I),k.current=setInterval(L,1e3)),()=>{clearInterval(k.current)}},[f,L,I,d,h]),A},isLoopAfterFinish=(e,r)=>e&&"evergreen"===r,evergreenRefreshAfterFinish=e=>u(e.endTime,{days:e.days,hours:e.hours,mins:e.mins});export{useTimeLeft as default};
1
+ import{useMemo as e,useState as r,useRef as t,useCallback as n,useEffect as s}from"react";import{useEditorMode as i}from"@gem-sdk/core";import{standard as a,evergreen as l,daily as o,handleRedirect as u,refreshAfterFinish as c}from"../common/helpers.js";let useTimeLeft=c=>{let m=i(),{timerDaily:f,behaviour:h,timerEverygreen:v,loopAfterFinish:d,redirectUrl:p,timeZone:g,dateStandard:I}=c,A=e(()=>{switch(h){case"daily":return o(f.hours,f.mins,f.format);case"evergreen":return l(v);case"standard":return a(I,g);default:return 0}},[h,I,g,f.format,f.hours,f.mins,v.endTime]),[F,k]=r(A),L=t(),y=n(()=>k(e=>e<=0?(p.link&&"#"!==p.link&&"edit"!==m&&u(p.link,p.target,p.type),isLoopAfterFinish(d,h))?evergreenRefreshAfterFinish(v):(clearInterval(L.current),0):e-1),[h,d,m,p.link,p.target,v]);return s(()=>{let e=isLoopAfterFinish(d,h);return e&&(clearInterval(L.current),k(evergreenRefreshAfterFinish(v)),L.current=setInterval(y,1e3)),A<=0&&!e&&(clearInterval(L.current),k(0)),A>0&&(clearInterval(L.current),k(A),L.current=setInterval(y,1e3)),()=>{clearInterval(L.current)}},[h,y,A,d,v]),F},isLoopAfterFinish=(e,r)=>e&&"evergreen"===r,evergreenRefreshAfterFinish=e=>c(e.endTime,{days:e.days,hours:e.hours,mins:e.mins});export{useTimeLeft as default};
@@ -1,35 +1,35 @@
1
- import{template as e,dataStringify as s,sanitizeLiquid as t,RenderIf as i,isLocalEnv as r,baseAssetURL as a}from"@gem-sdk/core";import{getDynamicSourceLocales as c,getSettingPreloadData as o}from"../../../helpers.js";import{checkDiscountContentProductBadge as n}from"./utils/common.js";import{generateBadgeContent as p}from"./utils/generateLiquidContent.js";import{renderBadgeInFirstTime as d}from"./utils/renderBadgeLiquid.js";import{createStyle as l,createClass as u,createAttr as m,createStateOrContext as g}from"@gem-sdk/system";import{IS_LIQUID as y}from"./constants.js";import{getContainerStyle as $,getSubWrapperStyle as v,getContentStyleInternal as f,getTextBadgeWrapperStyles as j,getTextContentStyle as P,getImageContainerStyles as D}from"./common/styles.js";import{getWrapperClasses as V,getSubWrapperClass as S,getTextContainerClasses as b,getTextWrapperClasses as C,getTextContentClasses as T,getImageContainerClasses as k,getImageClasses as q}from"./common/classes.js";import{getSubWrapperAttrs as A,getContainerAttrs as E,getTextContentAttrs as I,getImageAttr as K}from"./common/attrs.js";let ProductBadge=N=>{let{styles:_,setting:h,builderProps:B,pageContext:L}=N,O=h?.shape!=="image",Q=n(h?.displayContent),w=l({...$(N,y)}),G=u({...V(N)}),J=u({...S(N)}),x=l({...v(N)}),M=m({...A(N)}),R=f(N),Y=u({...b()}),z=m({...E(N)}),F=u({...C()}),H=l({...j({setting:h,styles:_})}),U=u({...T(_)}),W=l({...P({setting:h,styles:_})}),X=m({...I()}),Z=u({...k()}),ee=l({...D({setting:h,styles:_})}),es=u({...q()}),et=m({...K({setting:h})}),ei=g({minPrice:"{{ minPriceValue | replace: '\"', '\\\"' | escape }}",variantIDs:'{{ product.variants | map: "id" | json | escape }}',variantInventoryQuantities:'{{ product.variants | map: "inventory_quantity" | json | escape }}',amountDiscount:"{{amountDiscountValue | replace: '\"', '\\\"' | escape }}",percentDiscount:"{{percentDiscountValue}}",price:"{{price}}",displayTrigger:JSON.parse(JSON.stringify(h?.displayTrigger).replaceAll("'","&#039;")),uid:N.builderProps?.uid,productCreatedAt:'{{product.created_at | date: "%Y-%m-%d" }}',productTags:"{{ product.tags | join: \",\" | replace: '\"', '\\\"' | escape }}",isTextBadge:O}),{displayContent:er,translate:ea}=h??{},ec=c({val:er?.trim(),uid:B?.uid,settingId:"displayContent",isLiquid:!0,pageContext:L,translate:ea});return e`
1
+ import{template as e,dataStringify as t,sanitizeLiquid as s,RenderIf as i,isLocalEnv as r,baseAssetURL as a}from"@gem-sdk/core";import{getDynamicSourceLocales as c,getSettingPreloadData as o}from"../../../helpers.js";import{generateBadgeContent as n}from"./utils/generateLiquidContent.js";import{renderBadgeInFirstTime as p}from"./utils/renderBadgeLiquid.js";import{createStyle as d,createClass as l,createAttr as u,createStateOrContext as m}from"@gem-sdk/system";import{IS_LIQUID as g}from"./constants.js";import{getContainerStyle as y,getSubWrapperStyle as $,getContentStyleInternal as v,getTextBadgeWrapperStyles as f,getTextContentStyle as j,getImageContainerStyles as P}from"./common/styles.js";import{getWrapperClasses as D,getSubWrapperClass as V,getTextContainerClasses as S,getTextWrapperClasses as b,getTextContentClasses as C,getImageContainerClasses as T,getImageClasses as k}from"./common/classes.js";import{getSubWrapperAttrs as q,getContainerAttrs as A,getTextContentAttrs as E,getImageAttr as I}from"./common/attrs.js";let ProductBadge=K=>{let{styles:N,setting:_,builderProps:h,pageContext:B}=K,L=_?.shape!=="image",O=L&&_?.displayContent?.trim()==="",Q=d({...y(K,g)}),w=l({...D(K)}),G=l({...V(K)}),J=d({...$(K)}),x=u({...q(K)}),M=v(K),R=l({...S()}),Y=u({...A(K)}),z=l({...b()}),F=d({...f({setting:_,styles:N})}),H=l({...C(N)}),U=d({...j({setting:_,styles:N})}),W=u({...E()}),X=l({...T()}),Z=d({...P({setting:_,styles:N})}),ee=l({...k()}),et=u({...I({setting:_})}),es=m({minPrice:"{{ minPriceValue | replace: '\"', '\\\"' | escape }}",variantIDs:'{{ product.variants | map: "id" | json | escape }}',variantInventoryQuantities:'{{ product.variants | map: "inventory_quantity" | json | escape }}',amountDiscount:"{{amountDiscountValue | replace: '\"', '\\\"' | escape }}",percentDiscount:"{{percentDiscountValue}}",price:"{{price}}",displayTrigger:JSON.parse(JSON.stringify(_?.displayTrigger).replaceAll("'","&#039;")),uid:K.builderProps?.uid,productCreatedAt:'{{product.created_at | date: "%Y-%m-%d" }}',productTags:"{{ product.tags | join: \",\" | replace: '\"', '\\\"' | escape }}",isTextBadge:L}),{displayContent:ei,translate:er}=_??{},ea=c({val:ei?.trim(),uid:h?.uid,settingId:"displayContent",isLiquid:!0,pageContext:B,translate:er});return e`
2
2
  {% if product %}
3
- ${p(ec,L?.isPreviewing)}
4
- ${d(h?.displayTrigger,Q,O)}
3
+ ${n(ea,B?.isPreviewing)}
4
+ ${p(_?.displayTrigger,!O)}
5
5
  <gp-product-badge
6
- ${{...z}}
7
- gp-data='${s(ei)}'
6
+ ${{...Y}}
7
+ gp-data='${t(es)}'
8
8
  class="containerClass {{className}}"
9
- style="${w}"
10
- data-display-content="${L?.isPreviewing?ec:t(`{{${ec}}}`)}"
9
+ style="${Q}"
10
+ data-display-content="${B?.isPreviewing?ea:s(`{{${ea}}}`)}"
11
11
  >
12
- <div class="${G}">
12
+ <div class="${w}">
13
13
  <div
14
- ${{...M}}
15
- class="${J}"
16
- style="${x}"
14
+ ${{...x}}
15
+ class="${G}"
16
+ style="${J}"
17
17
  >
18
- <style>${R}</style>
19
- ${i(O,e`
20
- <div class="${Y}">
18
+ <style>${M}</style>
19
+ ${i(L,e`
20
+ <div class="${R}">
21
21
  <div
22
- class="${F}"
23
- style="${H}"
22
+ class="${z}"
23
+ style="${F}"
24
24
  >
25
25
  <pre
26
- ${{...X}}
27
- class="${U}"
28
- style="${W}"
26
+ ${{...W}}
27
+ class="${H}"
28
+ style="${U}"
29
29
  >{{ content | replace: percentDiscountKey, percentDiscountValue | replace: amountDiscountKey, amountDiscountValue | replace: inventoryQuantityKey, inventoryQuantityValue | replace: minPriceKey, minPriceValue }}</pre>
30
30
  </div>
31
- </div>`,e`<div class="${Z}" style="${ee}">
32
- <img ${{...et}} class="${es}" alt="" />
31
+ </div>`,e`<div class="${X}" style="${Z}">
32
+ <img ${{...et}} class="${ee}" alt="" />
33
33
  </div>`)}
34
34
  </div>
35
35
  </div>
@@ -1,4 +1,4 @@
1
- import{CompareType as e}from"../types.js";let getMinValueForInventory=i=>i===e.ABOVE?0:i===e.BELOW?2:1,renderBadgeInFirstTime=(e,i,n)=>`
1
+ import{CompareType as e}from"../types.js";let getMinValueForInventory=i=>i===e.ABOVE?0:i===e.BELOW?2:1,renderBadgeInFirstTime=(e,i)=>`
2
2
  {% assign isShow = true %}
3
3
  {% assign conditionTriggers = "" %}
4
4
  {% assign isInventoryStatus = false %}
@@ -16,9 +16,8 @@ import{CompareType as e}from"../types.js";let getMinValueForInventory=i=>i===e.A
16
16
  {% assign price = variant.price | times: 1.0 %}
17
17
  {% assign salePrice = variant.compare_at_price | times: 1.0 %}
18
18
  {% assign priceSave = salePrice | minus: price %}
19
- {% assign isDiscountContent = ${i} %}
20
- {% assign isTextBadge = ${n} %}
21
- {% if priceSave <= 0 or isDiscountContent == false or isTextBadge == false %}
19
+ {% assign isEmptyBadgeContent = ${!i} %}
20
+ {% if priceSave <= 0 or isEmptyBadgeContent == true %}
22
21
  {% assign isShow = false %}
23
22
  {% endif %}
24
23
  {% if isShow %}
@@ -1,8 +1,8 @@
1
- import{template as t}from"@gem-sdk/core";import{getClass as e}from"./common/classes.js";let ProductListItem=n=>{let{pageContext:o,children:a}=n,{productItemClass:r,gpProductClass:c}=e(n);return t`
1
+ import{template as t}from"@gem-sdk/core";import{getClass as e}from"./common/classes.js";let ProductListItem=n=>{let{pageContext:o,children:a}=n,{productItemClass:r,gpProductClass:i}=e(n);return t`
2
2
  <gp-product
3
- gp-context='{"variantSelected": {{ variant | json | escape }}, "inventory_management": {{ variant.inventory_management | json | escape }}, "inventory_policy": {{ variant.inventory_policy | json | escape }}, "quantity": 1 , "formId": "{{ product_form_id }}"}'
3
+ gp-context='{"variantSelected": {{ variant | json | escape }}, "inventory_management": {{ variant.inventory_management | json | escape }}, "inventory_policy": {{ variant.inventory_policy | json | escape }}, "quantity": 1 , "inventoryQuantity": {{ variant.inventory_quantity }}, "formId": "{{ product_form_id }}"}'
4
4
  gp-data='{"variantSelected": {{ variant | json | escape }}, "quantity": 1, "productUrl":{{ product.url | json | escape }}, "productHandle":{{ product.handle | json | escape }}, "collectionUrl": {{ collection.url | json | escape }}, "collectionHandle": {{ collection.handle | json | escape }},"pageContext" : ${JSON.stringify(o)}}'
5
- class="${c}"
5
+ class="${i}"
6
6
 
7
7
  >
8
8
  {%- form 'product', product, id: product_form_id, class: 'form contents ${r}', data-type: 'add-to-cart-form', autocomplete: 'off' -%}
@@ -1,15 +1,15 @@
1
- import{template as t,RenderChildren as e}from"@gem-sdk/core";import{getClass as n}from"./common/classes.js";let ProductListItem=o=>{let{pageContext:a,rawChildren:r}=o,{productItemClass:c,gpProductClass:i}=n(o),d=()=>t`
1
+ import{template as t,RenderChildren as e}from"@gem-sdk/core";import{getClass as n}from"./common/classes.js";let ProductListItem=o=>{let{pageContext:a,rawChildren:r}=o,{productItemClass:i,gpProductClass:c}=n(o),d=()=>t`
2
2
  ${r?.map((n,o)=>{if(n)return t`
3
3
  ${e({...n,index:o})}
4
4
  `}).join("")}
5
5
  `;return t`
6
6
  <gp-product
7
- gp-context='{"variantSelected": {{ variant | json | escape }}, "inventory_management": {{ variant.inventory_management | json | escape }}, "inventory_policy": {{ variant.inventory_policy | json | escape }}, "quantity": 1 , "formId": "{{ product_form_id }}"}'
7
+ gp-context='{"variantSelected": {{ variant | json | escape }}, "inventory_management": {{ variant.inventory_management | json | escape }}, "inventory_policy": {{ variant.inventory_policy | json | escape }}, "quantity": 1 , "inventoryQuantity": {{ variant.inventory_quantity }}, "formId": "{{ product_form_id }}"}'
8
8
  gp-data='{"variantSelected": {{ variant | json | escape }}, "quantity": 1, "productUrl":{{ product.url | json | escape }}, "productHandle":{{ product.handle | json | escape }}, "collectionUrl": {{ collection.url | json | escape }}, "collectionHandle": {{ collection.handle | json | escape }},"pageContext" : ${JSON.stringify(a)}}'
9
- class="${i}"
9
+ class="${c}"
10
10
 
11
11
  >
12
- {%- form 'product', product, id: product_form_id, class: 'form contents ${c}', data-type: 'add-to-cart-form', autocomplete: 'off' -%}
12
+ {%- form 'product', product, id: product_form_id, class: 'form contents ${i}', data-type: 'add-to-cart-form', autocomplete: 'off' -%}
13
13
  <input type="hidden" name="id" value="{{ variant.id }}" />
14
14
  <input type="hidden" min="1" name="quantity" value="{{ quantity }}" />
15
15
  <button type="submit" onclick="return false;" style="display:none;"></button>
@@ -1 +1 @@
1
- import{jsx as e,Fragment as t,jsxs as o}from"react/jsx-runtime";import r from"next/dynamic";import d from"../../../common/components/Loading.js";import{useState as l,useMemo as i,useEffect as a}from"react";import{useRenderMode as c,useCurrentDevice as n,usePageType as s,usePageStore as u,useFetchHandle as m,hasPublicStoreFrontData as g,createStoreFrontFetcher as h,useProductQuery as p,useProductsQueryAll as P,useProductsQuery as f,useCollectionQuery as b,flattenConnection as k,ProductListProvider as T,filterToolbarPreview as I}from"@gem-sdk/core";import v from"../SalePageProductListWarning.js";import y from"next/head";import O from"./ProductListGridLayout.js";import N from"./ProductListCarouselLayout.js";import{getStyle as S}from"./common/styles.js";import{If as C}from"@gem-sdk/system";import{getClass as E}from"./common/classes.js";import{getData as w}from"./common/helpers.js";import{getPropertyByDevice as L}from"../../../dialog/common/helpers.js";let ProductNotFound=r(()=>import("../ProductNotFound.js"),{loading:d}),ProductList=r=>{let{children:W,styles:j,builderProps:x,setting:G,builderAttrs:M}=r,{isRelatedProduct:B,productSetting:A}=w(r),F=A.relatedTag&&A.relatedTag[0],{isEditMode:Q,isPreviewSharePageMode:z}=c(),D=n(),H=s(),R=u(e=>e.dynamicProduct),$=u(e=>e.dynamicCollection),[_,V]=l(1),[q,U]=l(!0),[J,K]=l(),[X,Y]=l(!1),Z="GP_FUNNEL_PAGE"===H,ee="GP_COLLECTION"==H;ee&&(A.productSrc="DynamicCollection",A.collectionId=$?.collectionId??"latest");let et=A?.productSrc??"Collection",eo=R?.productId&&R?.productId!==A.relatedProductId?R?.productId:A.relatedProductId,er=m(),ed=u(e=>e.publicStoreFrontData),el=i(()=>g(ed)?h(ed):er,[ed]),{data:ei}=p(B&&eo?eo:void 0,{revalidateOnMount:Q||z},el),ea=A.relatedTag&&"tags"===A.relatedTag[0]&&(!ei?.tags||ei?.tags.length===0),ec=A.relatedTag&&"collection"===A.relatedTag[0]&&(!ei?.collections?.edges||ei?.collections.edges.length===0),en=A.relatedTag&&"vendor"===A.relatedTag[0]&&!ei?.vendor,es=ea||ec||en,eu=P(J,{revalidateOnMount:Q||z},el),em=Q||z,eg=f("PickProduct"===et?A?.productIds:void 0,{revalidateOnMount:em},{defaultSelectedProductCount:A?.numOfSelectedProducts}),eh=i(()=>({id:A?.collectionId??"latest",numberOfProducts:G?.numberOfProducts??4,orderBy:G?.orderBy}),[A?.collectionId,Number(G?.numberOfProducts),G?.orderBy]),ep=b("PickProduct"!==et?eh:void 0,{revalidateOnMount:em});a(()=>{if(B&&ei&&A.relatedTag&&"recommended-product"!==A.relatedType){let e;switch(Y(!1),A.hasRelatedExclude&&(e=A?.relatedExclude&&A.relatedExclude.split(",").map(e=>e.trim())),A.relatedTag[0]){case"vendor":K({vendor:A.relatedTag&&"vendor"===A.relatedTag[0]?ei?.vendor:"",limit:G?.numberOfProducts,idNEQ:ei.id});break;case"collection":{let t;let o=ei?.collections?.edges.map(e=>e.node?.id);if(!o||o?.length===0){Y(!0);break}K(t=e&&e.length>0?{idNEQ:ei.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:o},{titleNotIn:e}]}],limit:G?.numberOfProducts}:{idNEQ:ei.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:o}]}],limit:G?.numberOfProducts});break}case"tags":{let t;if(!ei.tags||0===ei.tags.length){Y(!0);break}K(t=e&&e.length>0?{idNEQ:ei.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:ei.tags},{nameNotIn:e}]}],limit:G?.numberOfProducts}:{idNEQ:ei.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:ei.tags}]}],limit:G?.numberOfProducts})}}}},[ei,A.relatedType,A.relatedTag,G?.numberOfProducts,A.relatedExclude,A.hasRelatedExclude,B]);let eP="PickProduct"===et?eg.isValidating:ep.isValidating,ef="PickProduct"===et?eg.isLoading:ep.isLoading,eb="PickProduct"===et?eg.error:ep.error,ek=ep.data?.collections?.edges?.[0]?.node,eT="PickProduct"===et?k(eg.data?.products):k(ek?.products),eI=eu?.data?.products?k(eu?.data?.products):void 0,ev=B&&eI?eI:"PickProduct"===et&&A?.productIds?.length?A?.productIds?.map(e=>eT?.find(t=>t?.baseID===e)).filter(Boolean)??eT:"PickProduct"!==et?eT:eT.filter((e,t)=>t<(A?.numOfSelectedProducts??4)),ey=i(()=>X&&B&&Q||!ev.length&&!ef&&q&&Q,[q,ef,X,B,Q,ev.length]),eO=i(()=>!ev||X&&B,[X,B,ev]),eN=i(()=>{if(!G?.sameHeight)return[];let e=0,t=Math.ceil((ev?.length??0)/+(G?.slidesToShow?.[D]??1));return Array.from(Array(ev?.length??0)).map((o,r)=>(r>=+(G?.slidesToShow?.[D]??1)*(e+1)&&++e,{gridRow:`${1+_*e}/${_+1+_*e}`,marginBottom:e+1<t?L(j?.horizontalGutter,D):void 0}))},[G?.sameHeight,G?.slidesToShow,_,ev?.length,D,j?.horizontalGutter]),eS=i(()=>eP||ef||eb||!ev||X&&B,[eb,ef,X,B,eP,ev]);a(()=>{eS||setTimeout(()=>{let{builderData:e}=x??{},t=e?.childrens?.[0];if(!t)return;let o=document.querySelector(`[data-id=${t}] div`);o&&V(o.childElementCount||1)},Q?0:500)},[x,eS,Q]);let eC=i(()=>({collection:ek,products:ev,settings:{loop:G?.loop??{desktop:!1},scrollMode:G?.scrollMode??{desktop:"snap"},slidesToShow:G?.slidesToShow??{desktop:4,tablet:3,mobile:1},layout:j?.layout,dot:G?.dot,dotStyle:G?.dotStyle,arrow:G?.arrow,controlOverContent:G?.controlOverContent},styles:{horizontalGutter:j?.horizontalGutter,verticalGutter:j?.verticalGutter,fullWidth:j?.fullWidth,spacing:j?.spacing,width:j?.width,height:j?.height}}),[ek,ev,G,j]);if(x?.isPreview&&Z)return e(t,{});if(ey)return e(t,{children:C(q,e(ProductNotFound,{builderAttrs:M,collectionHandle:ek?.handle,productSrc:et,onClose:()=>U(!1),children:W,relatedTagString:F,assignProductNoTags:es,noAssignedProduct:!eo}))});let{productListWrapStyle:eE,productListContentStyle:ew,productListWrapAlignStyle:eL}=S(r),{productListWrapClass:eW}=E(r),ej=()=>e(t,{children:C(j?.layout==="grid",e(O,{...r,productSortedById:ev,generateGridRowArray:eN}),e(N,{...r,productSortedById:ev}))});return o("div",{...M,className:eW,style:eE,children:[!!j?.preloadBgImage&&o(y,{children:[!!j.backgroundImage?.desktop?.image?.src&&e("link",{rel:"preload",href:j.backgroundImage.desktop.image.src,as:"image"}),!!j.backgroundImage?.tablet?.image?.src&&e("link",{rel:"preload",href:j.backgroundImage?.tablet?.image?.src,as:"image"}),!!j.backgroundImage?.mobile?.image?.src&&e("link",{rel:"preload",href:j.backgroundImage?.mobile?.image?.src,as:"image"})]}),eP||ef?e(d,{}):eb?o("div",{children:["Error: ",eb?.message]}):eO?e("div",{children:"Products not found"}):e(T,{...eC,children:e("div",{className:"gp-flex gp-w-full",style:eL,children:o("div",{style:ew,children:[Z&&e(v,{}),ej()]})})}),I(W,!0)]})};export{ProductList as default};
1
+ import{jsx as e,Fragment as t,jsxs as o}from"react/jsx-runtime";import r from"next/dynamic";import d from"../../../common/components/Loading.js";import{useState as l,useMemo as i,useEffect as a}from"react";import{useRenderMode as c,useCurrentDevice as s,usePageType as n,usePageStore as u,useFetchHandle as m,hasPublicStoreFrontData as g,createStoreFrontFetcher as h,useProductQuery as p,useProductsQueryAll as P,useProductsQuery as f,useCollectionQuery as b,flattenConnection as k,ProductListProvider as I,filterToolbarPreview as T}from"@gem-sdk/core";import y from"../SalePageProductListWarning.js";import v from"next/head";import O from"./ProductListGridLayout.js";import N from"./ProductListCarouselLayout.js";import{getStyle as S}from"./common/styles.js";import{If as C}from"@gem-sdk/system";import{getClass as E}from"./common/classes.js";import{getData as w}from"./common/helpers.js";import{getPropertyByDevice as L}from"../../../dialog/common/helpers.js";let ProductNotFound=r(()=>import("../ProductNotFound.js"),{loading:d}),ProductList=r=>{let{children:W,styles:j,builderProps:x,setting:G,builderAttrs:A}=r,{isRelatedProduct:M,productSetting:B}=w(r),F=B.relatedTag&&B.relatedTag[0],{isEditMode:Q,isPreviewSharePageMode:z}=c(),D=s(),H=n(),R=u(e=>e.dynamicProduct),$=u(e=>e.dynamicCollection),[_,V]=l(1),[q,U]=l(!0),[J,K]=l(),[X,Y]=l(!1),Z="GP_FUNNEL_PAGE"===H,ee="GP_COLLECTION"==H;ee&&(B.productSrc="DynamicCollection",B.collectionId=$?.collectionId??"latest");let et=B?.productSrc??"Collection",eo=R?.productId&&R?.productId!==B.relatedProductId?R?.productId:B.relatedProductId,er=m(),ed=u(e=>e.publicStoreFrontData),el=i(()=>g(ed)?h(ed):er,[ed]),{data:ei}=p(M&&eo?eo:void 0,{revalidateOnMount:Q||z},el),ea=B.relatedTag&&"tags"===B.relatedTag[0]&&(!ei?.tags||ei?.tags.length===0),ec=B.relatedTag&&"collection"===B.relatedTag[0]&&(!ei?.collections?.edges||ei?.collections.edges.length===0),es=B.relatedTag&&"vendor"===B.relatedTag[0]&&!ei?.vendor,en=ea||ec||es,eu=P(J,{revalidateOnMount:Q||z},el),em=Q||z,eg=f("PickProduct"===et?B?.productIds:void 0,{revalidateOnMount:em},{defaultSelectedProductCount:B?.numOfSelectedProducts}),eh=i(()=>({id:B?.collectionId??"latest",numberOfProducts:G?.numberOfProducts??4,orderBy:G?.orderBy}),[B?.collectionId,Number(G?.numberOfProducts),G?.orderBy]),ep=b("PickProduct"!==et?eh:void 0,{revalidateOnMount:em});a(()=>{if(M&&ei&&B.relatedTag&&"recommended-product"!==B.relatedType){let e;switch(Y(!1),B.hasRelatedExclude&&(e=B?.relatedExclude&&B.relatedExclude.split(",").map(e=>e.trim())),B.relatedTag[0]){case"vendor":K({vendor:B.relatedTag&&"vendor"===B.relatedTag[0]?ei?.vendor:"",limit:G?.numberOfProducts,idNEQ:ei.id});break;case"collection":{let t;let o=ei?.collections?.edges.map(e=>e.node?.id);if(!o||o?.length===0){Y(!0);break}K(t=e&&e.length>0?{idNEQ:ei.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:o},{titleNotIn:e}]}],limit:G?.numberOfProducts}:{idNEQ:ei.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:o}]}],limit:G?.numberOfProducts});break}case"tags":{let t;if(!ei.tags||0===ei.tags.length){Y(!0);break}K(t=e&&e.length>0?{idNEQ:ei.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:ei.tags},{nameNotIn:e}]}],limit:G?.numberOfProducts}:{idNEQ:ei.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:ei.tags}]}],limit:G?.numberOfProducts})}}}},[ei,B.relatedType,B.relatedTag,G?.numberOfProducts,B.relatedExclude,B.hasRelatedExclude,M]);let eP="PickProduct"===et?eg.isValidating:ep.isValidating,ef="PickProduct"===et?eg.isLoading:ep.isLoading,eb="PickProduct"===et?eg.error:ep.error,ek=ep.data?.collections?.edges?.[0]?.node,eI="PickProduct"===et?k(eg.data?.products):k(ek?.products),eT=u(e=>e.assignedProductIds),ey=u(e=>e.isApplyAllProducts),ev=i(()=>(eT??[]).length>0&&!ey||ey,[eT,ey]),eO=eu?.data?.products&&ev?k(eu?.data?.products):[],eN=M?eO:"PickProduct"===et&&B?.productIds?.length?B?.productIds?.map(e=>eI?.find(t=>t?.baseID===e)).filter(Boolean)??eI:"PickProduct"!==et?eI:eI.filter((e,t)=>t<(B?.numOfSelectedProducts??4)),eS=i(()=>X&&M&&Q||!eN.length&&!ef&&q&&Q,[q,ef,X,M,Q,eN.length]),eC=i(()=>!eN||X&&M,[X,M,eN]),eE=i(()=>{if(!G?.sameHeight)return[];let e=0,t=Math.ceil((eN?.length??0)/+(G?.slidesToShow?.[D]??1));return Array.from(Array(eN?.length??0)).map((o,r)=>(r>=+(G?.slidesToShow?.[D]??1)*(e+1)&&++e,{gridRow:`${1+_*e}/${_+1+_*e}`,marginBottom:e+1<t?L(j?.horizontalGutter,D):void 0}))},[G?.sameHeight,G?.slidesToShow,_,eN?.length,D,j?.horizontalGutter]),ew=i(()=>eP||ef||eb||!eN||X&&M,[eb,ef,X,M,eP,eN]);a(()=>{ew||setTimeout(()=>{let{builderData:e}=x??{},t=e?.childrens?.[0];if(!t)return;let o=document.querySelector(`[data-id=${t}] div`);o&&V(o.childElementCount||1)},Q?0:500)},[x,ew,Q]);let eL=i(()=>({collection:ek,products:eN,settings:{loop:G?.loop??{desktop:!1},scrollMode:G?.scrollMode??{desktop:"snap"},slidesToShow:G?.slidesToShow??{desktop:4,tablet:3,mobile:1},layout:j?.layout,dot:G?.dot,dotStyle:G?.dotStyle,arrow:G?.arrow,controlOverContent:G?.controlOverContent},styles:{horizontalGutter:j?.horizontalGutter,verticalGutter:j?.verticalGutter,fullWidth:j?.fullWidth,spacing:j?.spacing,width:j?.width,height:j?.height}}),[ek,eN,G,j]);if(x?.isPreview&&Z)return e(t,{});if(eS)return e(t,{children:C(q,e(ProductNotFound,{builderAttrs:A,collectionHandle:ek?.handle,productSrc:et,onClose:()=>U(!1),children:W,relatedTagString:F,assignProductNoTags:en,noAssignedProduct:!eo}))});let{productListWrapStyle:eW,productListContentStyle:ej,productListWrapAlignStyle:ex}=S(r),{productListWrapClass:eG}=E(r),eA=()=>e(t,{children:C(j?.layout==="grid",e(O,{...r,productSortedById:eN,generateGridRowArray:eE}),e(N,{...r,productSortedById:eN}))});return o("div",{...A,className:eG,style:eW,children:[!!j?.preloadBgImage&&o(v,{children:[!!j.backgroundImage?.desktop?.image?.src&&e("link",{rel:"preload",href:j.backgroundImage.desktop.image.src,as:"image"}),!!j.backgroundImage?.tablet?.image?.src&&e("link",{rel:"preload",href:j.backgroundImage?.tablet?.image?.src,as:"image"}),!!j.backgroundImage?.mobile?.image?.src&&e("link",{rel:"preload",href:j.backgroundImage?.mobile?.image?.src,as:"image"})]}),eP||ef?e(d,{}):eb?o("div",{children:["Error: ",eb?.message]}):eC?e("div",{children:"Products not found"}):e(I,{...eL,children:e("div",{className:"gp-flex gp-w-full",style:ex,children:o("div",{style:ej,children:[Z&&e(y,{}),eA()]})})}),T(W,!0)]})};export{ProductList as default};
@@ -1,8 +1,8 @@
1
- import{template as t}from"@gem-sdk/core";import{getClass as e}from"./common/classes.js";let ProductListItem=n=>{let{pageContext:o,children:a}=n,{productItemClass:r,gpProductClass:c}=e(n);return t`
1
+ import{template as t}from"@gem-sdk/core";import{getClass as e}from"./common/classes.js";let ProductListItem=n=>{let{pageContext:o,children:a}=n,{productItemClass:r,gpProductClass:i}=e(n);return t`
2
2
  <gp-product
3
- gp-context='{"variantSelected": {{ variant | json | escape }}, "inventory_management": {{ variant.inventory_management | json | escape }}, "inventory_policy": {{ variant.inventory_policy | json | escape }}, "quantity": 1 , "formId": "{{ product_form_id }}"}'
3
+ gp-context='{"variantSelected": {{ variant | json | escape }}, "inventory_management": {{ variant.inventory_management | json | escape }}, "inventory_policy": {{ variant.inventory_policy | json | escape }}, "quantity": 1 ,"inventoryQuantity": {{ variant.inventory_quantity }}, "formId": "{{ product_form_id }}"}'
4
4
  gp-data='{"variantSelected": {{ variant | json | escape }}, "quantity": 1, "productUrl":{{ product.url | json | escape }}, "productHandle":{{ product.handle | json | escape }}, "collectionUrl": {{ collection.url | json | escape }}, "collectionHandle": {{ collection.handle | json | escape }},"pageContext" : ${JSON.stringify(o)}}'
5
- class="${c}"
5
+ class="${i}"
6
6
 
7
7
  >
8
8
  {%- form 'product', product, id: product_form_id, class: 'form contents ${r}', data-type: 'add-to-cart-form', autocomplete: 'off' -%}
@@ -1,15 +1,15 @@
1
- import{template as t,RenderChildren as e}from"@gem-sdk/core";import{getClass as n}from"./common/classes.js";let ProductListItem=o=>{let{pageContext:a,rawChildren:r}=o,{productItemClass:c,gpProductClass:i}=n(o),d=()=>t`
1
+ import{template as t,RenderChildren as e}from"@gem-sdk/core";import{getClass as n}from"./common/classes.js";let ProductListItem=o=>{let{pageContext:a,rawChildren:r}=o,{productItemClass:i,gpProductClass:c}=n(o),d=()=>t`
2
2
  ${r?.map((n,o)=>{if(n)return t`
3
3
  ${e({...n,index:o})}
4
4
  `}).join("")}
5
5
  `;return t`
6
6
  <gp-product
7
- gp-context='{"variantSelected": {{ variant | json | escape }}, "inventory_management": {{ variant.inventory_management | json | escape }}, "inventory_policy": {{ variant.inventory_policy | json | escape }}, "quantity": 1 , "formId": "{{ product_form_id }}"}'
7
+ gp-context='{"variantSelected": {{ variant | json | escape }}, "inventory_management": {{ variant.inventory_management | json | escape }}, "inventory_policy": {{ variant.inventory_policy | json | escape }}, "quantity": 1 ,"inventoryQuantity": {{ variant.inventory_quantity }}, "formId": "{{ product_form_id }}"}'
8
8
  gp-data='{"variantSelected": {{ variant | json | escape }}, "quantity": 1, "productUrl":{{ product.url | json | escape }}, "productHandle":{{ product.handle | json | escape }}, "collectionUrl": {{ collection.url | json | escape }}, "collectionHandle": {{ collection.handle | json | escape }},"pageContext" : ${JSON.stringify(a)}}'
9
- class="${i}"
9
+ class="${c}"
10
10
 
11
11
  >
12
- {%- form 'product', product, id: product_form_id, class: 'form contents ${c}', data-type: 'add-to-cart-form', autocomplete: 'off' -%}
12
+ {%- form 'product', product, id: product_form_id, class: 'form contents ${i}', data-type: 'add-to-cart-form', autocomplete: 'off' -%}
13
13
  <input type="hidden" name="id" value="{{ variant.id }}" />
14
14
  <input type="hidden" min="1" name="quantity" value="{{ quantity }}" />
15
15
  <button type="submit" onclick="return false;" style="display:none;"></button>
@@ -1,4 +1,4 @@
1
1
  import e from"../../configs/BonLoyaltyRewardsReferrals.js";import l from"./uiV1.js";import a from"./uiV2.js";import{get3rdPartyInstallLink as t}from"../../common/helpers.js";let config={tag:e.tag,label:e.label,icon:'<img class="gp-w-[24px] gp-border gp-border-[#494949] gp-rounded-[3px]" src="https://cdn.shopify.com/app-store/listing_images/f367f56199c88dba9296f532dfc5b383/icon/CLS4vPSugoUDEAE=.jpeg?width=22&height=22">',editorConfigs:{component:{isThirdParty:!0}},presets:[{id:e.id,name:{en:e.label},hideTextContent:!0,icon:{desktop:`<div class="w-full flex flex-col items-center">
2
2
  <img class="w-24 border border-dark-200 rounded-medium" src="https://cdn.shopify.com/app-store/listing_images/f367f56199c88dba9296f532dfc5b383/icon/CLS4vPSugoUDEAE=.jpeg?width=22&height=22">
3
3
  <span class="preset-item-title">BON: Loyalty Rewards Referrals</span>
4
- </div>`},components:[{tag:e.tag}]}],settings:[{id:"setting",controls:[{id:"appBlockId",type:"input",default:""},{id:"widgetType",label:"Choose widget",type:"select",options:[{label:"Loyalty Page Block",value:"loyalty-page-block"},{label:"Loyalty Page Earning Block",value:"loyalty-page-earning-block"},{label:"Loyalty Page Header Block",value:"loyalty-page-header-block"},{label:"Loyalty Page Profile Block",value:"loyalty-page-profile-block"},{label:"Loyalty Page Redeem Block",value:"loyalty-page-redeem-block"},{label:"Loyalty Page Referral Block",value:"loyalty-page-referral-block"},{label:"Loyalty Page Tier Block",value:"loyalty-page-tier-block"},{label:"Product Point Review",value:"product-point-preview"},{label:"Point On Product Page",value:"product-point-preview"}],default:"loyalty-page-block"},{id:"install",type:"open-link",target:"_blank",linkType:"install",href:t({handle:"bon-loyalty-rewards-referrals"}),appName:e.label},{id:"openApp",type:"open-link",target:"_blank",linkType:"openApp",href:"https://admin.shopify.com/?redirect=/apps/bon-loyalty",appName:e.label},{id:"align",label:"Alignment",type:"segment",options:[{label:"Left",value:"left",type:"align"},{label:"Center",value:"center",type:"align"},{label:"Right",value:"right",type:"align"}],devices:{desktop:{default:"left"}}}]}],ui:l,uiV2:a};export{config as default};
4
+ </div>`},components:[{tag:e.tag}]}],settings:[{id:"setting",controls:[{id:"appBlockId",type:"input",default:""},{id:"widgetType",label:"Choose widget",type:"select",options:[{label:"Loyalty Page Block",value:"loyalty-page-block"},{label:"Loyalty Page Earning Block",value:"loyalty-page-earning-block"},{label:"Loyalty Page Header Block",value:"loyalty-page-header-block"},{label:"Loyalty Page Profile Block",value:"loyalty-page-profile-block"},{label:"Loyalty Page Redeem Block",value:"loyalty-page-redeem-block"},{label:"Loyalty Page Referral Block",value:"loyalty-page-referral-block"},{label:"Loyalty Page Tier Block",value:"loyalty-page-tier-block"},{label:"Product Point Review",value:"product-point-preview"},{label:"Point On Product Page",value:"product-point-preview"},{label:"Ways to redeem points",value:"bloy-loyalty-ways-redeem"}],default:"loyalty-page-block"},{id:"install",type:"open-link",target:"_blank",linkType:"install",href:t({handle:"bon-loyalty-rewards-referrals"}),appName:e.label},{id:"openApp",type:"open-link",target:"_blank",linkType:"openApp",href:"https://admin.shopify.com/?redirect=/apps/bon-loyalty",appName:e.label},{id:"align",label:"Alignment",type:"segment",options:[{label:"Left",value:"left",type:"align"},{label:"Center",value:"center",type:"align"},{label:"Right",value:"right",type:"align"}],devices:{desktop:{default:"left"}}}]}],ui:l,uiV2:a};export{config as default};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gem-sdk/components",
3
- "version": "7.0.1-dev.1",
3
+ "version": "7.0.1-dev.11",
4
4
  "license": "MIT",
5
5
  "sideEffects": false,
6
6
  "main": "dist/cjs/index.js",
@@ -26,9 +26,9 @@
26
26
  "scan-all-text": "rollup -c ./scripts/rollup.config.settings.mjs && node ./scripts/scan-all-text && node ./scripts/scan-all-text"
27
27
  },
28
28
  "devDependencies": {
29
- "@gem-sdk/core": "7.0.1-dev.1",
30
- "@gem-sdk/styles": "7.0.1-dev.1",
31
- "@gem-sdk/system": "7.0.1-dev.1",
29
+ "@gem-sdk/core": "7.0.1-dev.9",
30
+ "@gem-sdk/styles": "7.0.1-dev.6",
31
+ "@gem-sdk/system": "7.0.1-dev.6",
32
32
  "@types/react-transition-group": "^4.4.12",
33
33
  "tsup": "^8.5.0",
34
34
  "postcss-import": "^16.1.1",