@gem-sdk/components 11.2.4 → 12.0.0-dev.24

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 (100) hide show
  1. package/dist/cjs/carousel-v3/hooks/useCarousel.js +1 -1
  2. package/dist/cjs/countdown-timer/common/helpers.js +1 -1
  3. package/dist/cjs/countdown-timer/hooks/useCountDownTimer.js +1 -1
  4. package/dist/cjs/countdown-timer/hooks/useTimeLeft.js +1 -1
  5. package/dist/cjs/countdown-timer/settings/Countdown.js +1 -1
  6. package/dist/cjs/countdown-timer/settings/configs/setting.js +1 -1
  7. package/dist/cjs/countdown-timer/settings/configs/ui-v2.js +1 -1
  8. package/dist/cjs/hero-banner/common/classes.js +1 -1
  9. package/dist/cjs/hero-banner/common/const.js +1 -1
  10. package/dist/cjs/hero-banner/common/helpers.js +1 -1
  11. package/dist/cjs/hero-banner/common/styles.js +1 -1
  12. package/dist/cjs/hero-banner/components/HeroBanner.js +1 -1
  13. package/dist/cjs/hero-banner/components/HeroBanner.liquid.js +9 -9
  14. package/dist/cjs/hero-banner/components/HeroBannerItem.js +1 -1
  15. package/dist/cjs/hero-banner/components/HeroBannerItem.liquid.js +10 -10
  16. package/dist/cjs/hero-banner/hooks/useHeroBanner.js +1 -1
  17. package/dist/cjs/hero-banner/hooks/useHeroBannerItem.js +1 -0
  18. package/dist/cjs/hero-banner/settings/configs/presets/banner-video-pre-sales-page.js +1 -1
  19. package/dist/cjs/hero-banner/settings/configs/presets/banner-video.js +1 -1
  20. package/dist/cjs/hero-banner/settings/configs/settings.js +1 -1
  21. package/dist/cjs/hero-banner/settings/configs/ui-v2.js +1 -1
  22. package/dist/cjs/post-purchase/countdown-timer/hooks/useCountdownTimer.js +1 -1
  23. package/dist/cjs/post-purchase/product/components/ProductPrice.js +1 -1
  24. package/dist/cjs/post-purchase/product/constants/ProductOfferPlaceholder.js +1 -1
  25. package/dist/cjs/post-purchase/product/hooks/useGetMoneyLines.js +1 -1
  26. package/dist/cjs/post-purchase/product/settings/presets-config/product-presets/product-offer-1-col.js +1 -1
  27. package/dist/cjs/post-purchase/product/settings/presets-config/product-presets/product-offer-2-col.js +1 -1
  28. package/dist/cjs/post-purchase/product/settings/presets-config/product-presets/product-offer-default.js +1 -1
  29. package/dist/cjs/post-purchase/product/settings/product-discount-tag/configs/setting-v2.js +1 -1
  30. package/dist/cjs/post-purchase/product/settings/product-price/configs/settings-v2.js +1 -1
  31. package/dist/cjs/post-purchase/product/settings/product-price/configs/ui-v2.js +1 -1
  32. package/dist/cjs/product/components/product-badge/ProductBadge.js +1 -1
  33. package/dist/cjs/product/components/product-badge/ProductBadge.liquid.js +18 -18
  34. package/dist/cjs/product/components/product-badge/common/classes.js +1 -1
  35. package/dist/cjs/product/components/product-badge/common/styles.js +1 -1
  36. package/dist/cjs/product/components/product-badge/utils/common.js +1 -1
  37. package/dist/cjs/product/components/product-badge/utils/renderBadgeLiquid.js +3 -4
  38. package/dist/cjs/product/components/product-button/hooks/useAddToCart.js +1 -1
  39. package/dist/cjs/product/components/product-discount-tag/hooks/useGpDiscountTag.js +1 -1
  40. package/dist/cjs/product/components/product-list-v3/ProductList.js +1 -1
  41. package/dist/cjs/product/components/product-list-v3/common/classes.js +1 -1
  42. package/dist/cjs/product/components/product-price/hooks/useGpPrice.js +1 -1
  43. package/dist/cjs/product/helpers/product-bundle.js +1 -1
  44. package/dist/cjs/product/settings/bundle-layout/horizontal-three.js +1 -1
  45. package/dist/cjs/product/settings/bundle-layout/horizontal-two.js +1 -1
  46. package/dist/cjs/video/common/classes.js +1 -1
  47. package/dist/cjs/video/components/LiteYouTubeEmbed.js +1 -1
  48. package/dist/cjs/video/components/LiteYouTubeEmbed.liquid.js +7 -5
  49. package/dist/cjs/video/settings/configs/settings.js +1 -1
  50. package/dist/esm/carousel-v3/hooks/useCarousel.js +1 -1
  51. package/dist/esm/countdown-timer/common/helpers.js +1 -1
  52. package/dist/esm/countdown-timer/hooks/useCountDownTimer.js +1 -1
  53. package/dist/esm/countdown-timer/hooks/useTimeLeft.js +1 -1
  54. package/dist/esm/countdown-timer/settings/Countdown.js +3 -3
  55. package/dist/esm/countdown-timer/settings/configs/setting.js +1 -1
  56. package/dist/esm/countdown-timer/settings/configs/ui-v2.js +1 -1
  57. package/dist/esm/hero-banner/common/classes.js +1 -1
  58. package/dist/esm/hero-banner/common/const.js +1 -1
  59. package/dist/esm/hero-banner/common/helpers.js +1 -1
  60. package/dist/esm/hero-banner/common/styles.js +1 -1
  61. package/dist/esm/hero-banner/components/HeroBanner.js +1 -1
  62. package/dist/esm/hero-banner/components/HeroBanner.liquid.js +12 -12
  63. package/dist/esm/hero-banner/components/HeroBannerItem.js +1 -1
  64. package/dist/esm/hero-banner/components/HeroBannerItem.liquid.js +10 -10
  65. package/dist/esm/hero-banner/hooks/useHeroBanner.js +1 -1
  66. package/dist/esm/hero-banner/hooks/useHeroBannerItem.js +1 -0
  67. package/dist/esm/hero-banner/settings/configs/presets/banner-video-pre-sales-page.js +1 -1
  68. package/dist/esm/hero-banner/settings/configs/presets/banner-video.js +1 -1
  69. package/dist/esm/hero-banner/settings/configs/settings.js +1 -1
  70. package/dist/esm/hero-banner/settings/configs/ui-v2.js +1 -1
  71. package/dist/esm/post-purchase/countdown-timer/hooks/useCountdownTimer.js +1 -1
  72. package/dist/esm/post-purchase/product/components/ProductPrice.js +1 -1
  73. package/dist/esm/post-purchase/product/constants/ProductOfferPlaceholder.js +1 -1
  74. package/dist/esm/post-purchase/product/hooks/useGetMoneyLines.js +1 -1
  75. package/dist/esm/post-purchase/product/settings/presets-config/product-presets/product-offer-1-col.js +1 -1
  76. package/dist/esm/post-purchase/product/settings/presets-config/product-presets/product-offer-2-col.js +1 -1
  77. package/dist/esm/post-purchase/product/settings/presets-config/product-presets/product-offer-default.js +1 -1
  78. package/dist/esm/post-purchase/product/settings/product-discount-tag/configs/setting-v2.js +1 -1
  79. package/dist/esm/post-purchase/product/settings/product-price/configs/settings-v2.js +1 -1
  80. package/dist/esm/post-purchase/product/settings/product-price/configs/ui-v2.js +1 -1
  81. package/dist/esm/product/components/product-badge/ProductBadge.js +1 -1
  82. package/dist/esm/product/components/product-badge/ProductBadge.liquid.js +22 -22
  83. package/dist/esm/product/components/product-badge/common/classes.js +1 -1
  84. package/dist/esm/product/components/product-badge/common/styles.js +1 -1
  85. package/dist/esm/product/components/product-badge/utils/common.js +1 -1
  86. package/dist/esm/product/components/product-badge/utils/renderBadgeLiquid.js +3 -4
  87. package/dist/esm/product/components/product-button/hooks/useAddToCart.js +1 -1
  88. package/dist/esm/product/components/product-discount-tag/hooks/useGpDiscountTag.js +1 -1
  89. package/dist/esm/product/components/product-list-v3/ProductList.js +1 -1
  90. package/dist/esm/product/components/product-list-v3/common/classes.js +1 -1
  91. package/dist/esm/product/components/product-price/hooks/useGpPrice.js +1 -1
  92. package/dist/esm/product/helpers/product-bundle.js +1 -1
  93. package/dist/esm/product/settings/bundle-layout/horizontal-three.js +1 -1
  94. package/dist/esm/product/settings/bundle-layout/horizontal-two.js +1 -1
  95. package/dist/esm/video/common/classes.js +1 -1
  96. package/dist/esm/video/components/LiteYouTubeEmbed.js +1 -1
  97. package/dist/esm/video/components/LiteYouTubeEmbed.liquid.js +17 -15
  98. package/dist/esm/video/settings/configs/settings.js +1 -1
  99. package/dist/types/index.d.ts +18 -13
  100. package/package.json +5 -5
@@ -1,16 +1,16 @@
1
- import e from"../../grid/components/row/Row.liquid.js";import{template as o,getAspectRatioGlobalSize as s,DEVICES as t,getResponsiveValueByScreen as i}from"@gem-sdk/core";import{createStyle as r,createClass as m,If as l}from"@gem-sdk/system";import a from"../../image/components/AdaptiveImage.liquid.js";import p from"../../video/components/HTML5Embed.liquid.js";import{getContainerStyle as d,getOverlayStyle as n,getRowStyle as c,getAdaptiveStyle as u,getBackgroundStyle as f,getContainBackgroundStyle as y,getYoutubeIframeStyle as v,getHtml5VideoStyle as j}from"../common/styles.js";import{getContainerClasses as $,getOverlayClasses as g,getRowClasses as b,getAdaptivePictureClasses as h,getAdaptiveClasses as w,getBackgroundClasses as k,getContainBackgroundClasses as N,getHtml5VideoClasses as q,getWrapperYoutubeClasses as H,getIframeYoutubeClasses as C,getLazyBackgroundClasses as I}from"../common/classes.js";import{getAspectRatioSettings as R,getBackgroundImageHeroBanner as z,horizontalAlign as A,getWidth as B,getBgImage as L,fallbackImg as T,getEnableBgImageByDevice as x,showVideoType as E,getResponsiveSetting as O}from"../common/helpers.js";import{getImageSrc as S}from"../../image/common/helpers.js";import V from"../../image/components/NextImage.liquid.js";import D from"../../video/components/LiteYouTubeEmbed.liquid.js";import{getYoutubeVideoId as M,youtubeVideoRegex as W}from"../../video/common/helpers.js";import{isRenderHtmlVideo as Y}from"../../grid/components/row/common/helpers.js";import{PRIORITY_LOAD_ATTRS as F}from"../../image/constants.js";let HeroBannerItem=G=>{let{enableLazyLoadImage:J=!0,setting:K,styles:P,children:Q,builderProps:U,rawChildren:X}=G,{layout:Z,verticalAlign:_,enableParallax:ee,alt:eo,title:es,preload:et}=K??{},{background:ei,overlayColor:er,verticalGutter:em,sizeSetting:el,contentWidth:ea,hoverEffect:ep,contentPosition1Col:ed,contentPosition2Col:en}=P??{},ec=!et&&J,eu=R(K?.ratioOptions,K?.aspectRatio),ef=O(ei||{}).desktop,ey=r({...d(P,K)}),ev=m({...$(K,P)}),ej=r({...n(P)}),e$=m({...g(P)}),eg=r({...c(P)}),eb=m({...b(P,K)}),eh=r({...u(P)}),ew=m({...h()}),ek=m({...w()}),eN=m({...k(ep,ec)}),eq=r({...z(ei,ec,!1),...f(P,ee,"")}),eH=m({...N()}),eC=r({...y(P)}),eI=m({...q(K?.aspectRatio,!1)}),eR=r({...v(eu)}),ez=m({...H()}),eA=r({...j(eu)}),eB=m({...C()}),eL=e=>m({...I(e)}),eT=()=>{if(!et)return t.map(e=>l(x(e,ei),V({src:S(i(L(ei),e),e),alt:eo,title:es,className:eL(e),isDisableAspectStyle:!0,enableLazyLoadImage:J}))).join("")},ex=()=>{if(!E(ei))return;if(Y(ei))return p({uid:U?.uid,muted:!0,loop:ef?.loop,controls:!1,autoplay:!0,src:ef?.videoHtml5||"",title:"Video",style:eA,className:eI});let e=ef?.video??"",o=M(e),s=`&loop=false&playlist=${o}&showinfo=0&rel=0&fs=0&enablejsapi=1`;if(ef?.type==="video"&&ef?.videoType==="youtube"&&o&&W.test(e))return D({uid:U?.uid,id:o,isHeroBanner:!0,autoplay:!0,title:"Video",controls:!1,params:s,adNetwork:!1,noCookie:!0,muted:!0,lazy:ef?.lazyLoad??!0,preload:!0,style:eR,wrapperClass:ez,iframeClass:eB})};return o`
2
- <div class="${ev}" style="${ey}">
1
+ import{template as e,getAspectRatioGlobalSize as o,DEVICES as s,getResponsiveValueByScreen as t}from"@gem-sdk/core";import i from"../../grid/components/row/Row.liquid.js";import{createStyle as m,createClass as r,If as l}from"@gem-sdk/system";import a from"../../image/components/AdaptiveImage.liquid.js";import p from"../../video/components/HTML5Embed.liquid.js";import{getContainerStyle as d,getOverlayStyle as n,getRowStyle as c,getAdaptiveStyle as u,getBackgroundStyle as f,getContainBackgroundStyle as y,getYoutubeIframeStyle as v,getHtml5VideoStyle as j}from"../common/styles.js";import{getContainerClasses as $,getOverlayClasses as g,getRowClasses as b,getAdaptivePictureClasses as h,getAdaptiveClasses as w,getBackgroundClasses as k,getContainBackgroundClasses as N,getHtml5VideoClasses as q,getWrapperYoutubeClasses as H,getIframeYoutubeClasses as C,getLazyBackgroundClasses as I}from"../common/classes.js";import{getAspectRatio as z,getYoutubeAspectRatio as A,getBackgroundImageHeroBanner as B,horizontalAlign as L,getWidth as T,getBgImage as x,fallbackImg as E,getEnableBgImageByDevice as R,showVideoType as S,getResponsiveSetting as V}from"../common/helpers.js";import{getImageSrc as D}from"../../image/common/helpers.js";import M from"../../image/components/NextImage.liquid.js";import O from"../../video/components/LiteYouTubeEmbed.liquid.js";import{getYoutubeVideoId as W,youtubeVideoRegex as Y}from"../../video/common/helpers.js";import{isRenderHtmlVideo as F}from"../../grid/components/row/common/helpers.js";import{PRIORITY_LOAD_ATTRS as G}from"../../image/constants.js";let HeroBannerItem=J=>{let{enableLazyLoadImage:K=!0,setting:P,styles:Q,children:U,builderProps:X,rawChildren:Z}=J,{layout:_,verticalAlign:ee,enableParallax:eo,alt:es,title:et,preload:ei,isYoutubeVideoMigrated:em}=P??{},{background:er,overlayColor:el,verticalGutter:ea,sizeSetting:ep,contentWidth:ed,hoverEffect:en,contentPosition1Col:ec,contentPosition2Col:eu,videoObjectFit:ef}=Q??{},ey=!ei&&K,ev=z(ep,er),ej=A(er,ef,ev),e$=V(er||{}),eg=e$.desktop,eb=m({...d(Q)}),eh=r({...$(P,Q)}),ew=m({...n(Q)}),ek=r({...g(Q)}),eN=m({...c(Q)}),eq=r({...b(Q,P)}),eH=m({...u(Q)}),eC=r({...h()}),eI=r({...w()}),ez=r({...k(en,ey)}),eA=m({...B(er,ey,!1),...f(Q,eo,"")}),eB=r({...N()}),eL=m({...y(Q)}),eT=r({...q(!1)}),ex=m({...v(ej,ef)}),eE=r({...H(em)}),eR=m({...j(ev,ef,er)}),eS=r({...C()}),eV=e=>r({...I(e)}),eD=()=>{if(!ei)return s.map(e=>l(R(e,er),M({src:D(t(x(er),e),e),alt:es,title:et,className:eV(e),isDisableAspectStyle:!0,enableLazyLoadImage:K}))).join("")},eM=()=>{if(!S(er))return;if(F(er))return p({uid:X?.uid,muted:!0,loop:eg?.loop,controls:!1,autoplay:!0,src:eg?.videoHtml5||"",title:"Video",style:eR,className:eT});let e=eg?.video??"",o=W(e),s=`&loop=false&playlist=${o}&showinfo=0&rel=0&fs=0&enablejsapi=1`;if(eg?.type==="video"&&eg?.videoType==="youtube"&&o&&Y.test(e))return O({uid:X?.uid,id:o,isHeroBanner:!0,autoplay:!0,title:"Video",controls:!1,params:s,adNetwork:!1,noCookie:!0,muted:!0,lazy:eg?.lazyLoad??!0,preload:!0,style:ex,wrapperClass:eE,iframeClass:eS})};return e`
2
+ <div class="${eh}" style="${eb}">
3
3
  <div
4
- class="${eH}"
5
- style="${eC}"
4
+ class="${eB}"
5
+ style="${eL}"
6
6
  >
7
- <div class="${eN}" style="${eq}">
8
- ${eT()}
9
- ${ex()}
7
+ <div class="${ez}" style="${eA}">
8
+ ${eD()}
9
+ ${eM()}
10
10
  </div>
11
- ${l(!!er,o`<div aria-label="Overlay" class="${e$}" style="${ej}"> </div>`)}
11
+ ${l(!!el,e`<div aria-label="Overlay" class="${ek}" style="${ew}"> </div>`)}
12
12
  </div>
13
- ${e({className:eb,style:eg,setting:{layout:Z,horizontalAlign:A(Z,ed,en),verticalAlign:_},styles:{verticalGutter:em,width:B(ea),fullWidth:{desktop:!1,tablet:!1,mobile:!1}},children:Q,rawChildren:X})}
14
- ${a({pictureClass:ew,srcSet:L(ei),className:ek,...et&&F,aspectRatio:s(el),style:eh,alt:eo,title:es,enableLazyLoadImage:J,fallbackImg:T})}
13
+ ${i({className:eq,style:eN,setting:{layout:_,horizontalAlign:L(_,ec,eu),verticalAlign:ee},styles:{verticalGutter:ea,width:T(ed),fullWidth:{desktop:!1,tablet:!1,mobile:!1}},children:U,rawChildren:Z})}
14
+ ${a({pictureClass:eC,srcSet:x(er),className:eI,...ei&&G,aspectRatio:o(ep),style:eH,alt:es,title:et,enableLazyLoadImage:K,fallbackImg:E})}
15
15
  </div>
16
16
  `};export{HeroBannerItem as default};
@@ -1 +1 @@
1
- import{useState as e,useRef as r,useEffect as t,useCallback as n,useMemo as l}from"react";import{getResponsiveValueByScreen as o,getBgVideoByDevice as s}from"@gem-sdk/core";import{useTranslateValue as a}from"./useTranslateValue.js";import i from"./useIntersectionObserver.js";import{getResponsiveSetting as m}from"../common/helpers.js";import u from"../common/animation-manager.js";let useHeroBanner=(p,c,d)=>{let{hoverEffect:g,hoverEffectScale:f,background:x}=p||{},{link:B}=c||{},b=Number(c?.speedParallax)||0,[j,w]=e(0),[H,$]=e(null),[k,v]=e(null),[y,N]=e(""),Y=r(null),[h,C]=i(),{translateValue:P}=a({containerBoundingClientRect:H,backgroundBoundingClientRect:k,speed:b}),R=o(c?.layout,d),T=m(x||{}),E=Number(c?.speedParallax||0)>0&&T[d]?.type==="image",F=()=>{g&&E&&N(`${y} scale(${f||"100%"})`)},I=()=>{g&&E&&N(`translateY(${P}px)`)},O=e=>{B?.link&&!e?.srcElement?.closest("a")&&window.open(B?.link,B.target)};t(()=>{E?N(`translateY(${P}px)`):N("")},[P,E]);let V=n(()=>{if(!E||0===b||!C)return;let e=Number(window.scrollY.toFixed(0));j!==e&&($(h?.current?h?.current?.getBoundingClientRect():null),v(Y?.current?Y?.current?.getBoundingClientRect():null),w(e))},[j,C,E,b,h,Y]),q=s(x,d),z=l(()=>!!(q?.videoHtml5&&"html5"===q.videoType),[q]);return t(()=>(u.register(V),()=>{u.unregister(V)}),[V]),t(()=>(u.register(V),()=>{u.unregister(V)}),[V]),{onMouseEnterParallax:F,onMouseLeaveParallax:I,bgRef:Y,transform:y,elementRef:h,dataVideo:q,isShowVideoHtml5:z,openLinkBanner:O,layoutResponsive:R}};export{useHeroBanner as default,useHeroBanner};
1
+ import{useState as e,useRef as r,useEffect as t,useCallback as n,useMemo as l}from"react";import{getResponsiveValueByScreen as o,getBgVideoByDevice as s}from"@gem-sdk/core";import{useTranslateValue as a}from"./useTranslateValue.js";import i from"./useIntersectionObserver.js";import{getResponsiveSetting as m}from"../common/helpers.js";import u from"../common/animation-manager.js";let useHeroBanner=(p,c,d)=>{let{hoverEffect:g,hoverEffectScale:f,background:x}=p||{},{link:B,enableParallax:b}=c||{},j=Number(c?.speedParallax)||0,[w,H]=e(0),[$,k]=e(null),[v,y]=e(null),[N,Y]=e(""),h=r(null),[C,P]=i(),{translateValue:R}=a({containerBoundingClientRect:$,backgroundBoundingClientRect:v,speed:j}),T=o(c?.layout,d),E=m(x||{}),F=b&&Number(c?.speedParallax||0)>0&&E[d]?.type==="image"||!1,I=()=>{g&&F&&Y(`${N} scale(${f||"100%"})`)},O=()=>{g&&F&&Y(`translateY(${R}px)`)},V=e=>{B?.link&&!e?.srcElement?.closest("a")&&window.open(B?.link,B.target)};t(()=>{F?Y(`translateY(${R}px)`):Y("")},[R,F]);let q=n(()=>{if(!F||0===j||!P)return;let e=Number(window.scrollY.toFixed(0));w!==e&&(k(C?.current?C?.current?.getBoundingClientRect():null),y(h?.current?h?.current?.getBoundingClientRect():null),H(e))},[w,P,F,j,C,h]),z=s(x,d),A=l(()=>!!(z?.videoHtml5&&"html5"===z.videoType),[z]);return t(()=>(u.register(q),()=>{u.unregister(q)}),[q]),t(()=>(u.register(q),()=>{u.unregister(q)}),[q]),{onMouseEnterParallax:I,onMouseLeaveParallax:O,bgRef:h,transform:N,elementRef:C,dataVideo:z,isShowVideoHtml5:A,openLinkBanner:V,layoutResponsive:T}};export{useHeroBanner as default,useHeroBanner};
@@ -0,0 +1 @@
1
+ import{useRef as e,useMemo as r,useEffect as t}from"react";import{useCurrentDevice as i,getResponsiveValueByScreen as o}from"@gem-sdk/core";import{getAspectRatio as n,getYoutubeAspectRatio as u,setVideoIframeAlign as m,resetVideoIframeStyle as a,resetVideoWrapperStyle as l,setVideoWrapperStyle as f,getResponsiveSetting as s,updateVideoIframeSize as c,getContainerRatio as d}from"../common/helpers.js";let useHeroBannerItem=({videoType:v,sizeSetting:y,background:b,videoObjectFit:p,heroBannerWrapperRef:E,isYoutubeVideoMigrated:w})=>{let L=i(),q=e(null),A=r(()=>n(y,b),[y,b]),R=r(()=>u(b,p,A),[b,p,A]),S=s(p||{}),g=o(S,L),j=o(b,L),B=j?.loop;return t(()=>{if("youtube"!==v)return;let e=q.current;if(!e)return;let r=()=>e?.querySelector("iframe"),t=r();if(!t)return;let i=o(b,L),n=i?.videoAlign;m(t,n)},[b,L,v]),t(()=>{let e=q.current,r=E?.current,t=()=>e?.querySelector("iframe"),i=i=>{let o=i||e;if(!o)return;let n=o.querySelector("iframe");c({iframeEl:n||t(),containerRatio:d(r),videoObjectFit:g||"cover",background:b,currentDevice:L,isYoutubeVideoMigrated:w})},o=e=>{let r=e.detail?.iframe;if(r){let e=r.closest("article"),t=e?.parentElement;setTimeout(()=>{i(t)},50)}};if(r&&r.addEventListener("youtube-iframe-ready",o),!e)return()=>{r&&r.removeEventListener("youtube-iframe-ready",o)};if("youtube"!==v){let i=t();return i&&a(i),l(e),()=>{r&&r.removeEventListener("youtube-iframe-ready",o)}}f(e),t()&&(window.requestAnimationFrame(()=>i()),setTimeout(()=>{i()},100));let n=window.ResizeObserver;if(!n)return()=>{r&&r.removeEventListener("youtube-iframe-ready",o)};let u=new n(()=>i());return r&&u.observe(r),()=>{if(u.disconnect(),r&&r.removeEventListener("youtube-iframe-ready",o),e){let r=t();r&&a(r),l(e)}}},[v,g,L,A,B]),{youtubeIframeWrapperRef:q,resolvedAspectRatio:A,youtubeAspectRatio:R}};export{useHeroBannerItem as default};
@@ -12,4 +12,4 @@ let heroBannerVideoPreSalesPage={id:"hero-banner-video-pre-sales-page",name:{en:
12
12
  </clipPath>
13
13
  </defs>
14
14
  </svg>
15
- `},components:[{tag:"HeroBanner",settings:{layout:{desktop:{cols:[12],display:"fill"}},link:{type:"go-to-sales-page"}},styles:{contentWidth:{desktop:"1200px"},background:{desktop:{type:"video",image:{src:"",width:1920,height:900},videoType:"html5",video:"https://www.youtube.com/watch?v=drIt4RH_kyQ",videoHtml5:"https://cdn.shopify.com/videos/c/o/v/92a407d4e0c94a288eb54cac18c387dc.mp4"}}},childrens:[{tag:"Col",childrens:[{tag:"Heading",settings:{text:"Click here to edit heading"},styles:{textAlign:{desktop:"center"},typo:{attrs:{color:"#FFFFFF"}}},advanced:{"spacing-setting":{desktop:{margin:{bottom:"var(--g-s-l)"}}}}},{tag:"Text",settings:{text:"This is your text block. Click to edit and make it your own. Share your product's story<br/> or services offered. Get creative and make it yours!"},styles:{textAlign:{desktop:"center"},typo:{attrs:{color:"#FFFFFF"}}},advanced:{"spacing-setting":{desktop:{margin:{bottom:"var(--g-s-l)"}}}}},{tag:"Button",settings:{label:"Get started"},styles:{align:{desktop:"center"}}}]}]}]};export{heroBannerVideoPreSalesPage};
15
+ `},components:[{tag:"HeroBanner",settings:{layout:{desktop:{cols:[12],display:"fill"}},link:{type:"go-to-sales-page"}},styles:{contentWidth:{desktop:"1200px"},sizeSetting:{desktop:{shapeVideo:"16/9",enableVideoShape:!0}},background:{desktop:{type:"video",image:{src:"",width:1920,height:900},videoType:"html5",video:"https://www.youtube.com/watch?v=drIt4RH_kyQ",videoHtml5:"https://cdn.shopify.com/videos/c/o/v/92a407d4e0c94a288eb54cac18c387dc.mp4"}}},childrens:[{tag:"Col",childrens:[{tag:"Heading",settings:{text:"Click here to edit heading"},styles:{textAlign:{desktop:"center"},typo:{attrs:{color:"#FFFFFF"}}},advanced:{"spacing-setting":{desktop:{margin:{bottom:"var(--g-s-l)"}}}}},{tag:"Text",settings:{text:"This is your text block. Click to edit and make it your own. Share your product's story<br/> or services offered. Get creative and make it yours!"},styles:{textAlign:{desktop:"center"},typo:{attrs:{color:"#FFFFFF"}}},advanced:{"spacing-setting":{desktop:{margin:{bottom:"var(--g-s-l)"}}}}},{tag:"Button",settings:{label:"Get started"},styles:{align:{desktop:"center"}}}]}]}]};export{heroBannerVideoPreSalesPage};
@@ -12,4 +12,4 @@ let heroBannerVideo={id:"hero-banner-video",name:{en:"Video Banner"},icon:{deskt
12
12
  </clipPath>
13
13
  </defs>
14
14
  </svg>
15
- `},components:[{tag:"HeroBanner",settings:{layout:{desktop:{cols:[12],display:"fill"}}},styles:{contentWidth:{desktop:"1200px"},sizeSetting:{desktop:{shape:"original",width:"100%"},mobile:{shape:"original",width:"100%"}},background:{desktop:{type:"video",image:{src:"",width:1920,height:900},videoType:"youtube",video:"https://www.youtube.com/watch?v=drIt4RH_kyQ",videoHtml5:"https://cdn.shopify.com/videos/c/o/v/92a407d4e0c94a288eb54cac18c387dc.mp4"}}},childrens:[{tag:"Col",childrens:[{tag:"Heading",settings:{text:"Click here to edit heading"},styles:{textAlign:{desktop:"center"},typo:{attrs:{color:"#FFFFFF"}}},advanced:{"spacing-setting":{desktop:{margin:{bottom:"var(--g-s-l)"}}}}},{tag:"Text",settings:{text:"This is your text block. Click to edit and make it your own. Share your product's story<br/> or services offered. Get creative and make it yours!"},styles:{textAlign:{desktop:"center"},typo:{attrs:{color:"#FFFFFF"}}},advanced:{"spacing-setting":{desktop:{margin:{bottom:"var(--g-s-l)"}}}}},{tag:"Button",settings:{label:"Get started"},styles:{align:{desktop:"center"}}}]}]}]};export{heroBannerVideo};
15
+ `},components:[{tag:"HeroBanner",settings:{layout:{desktop:{cols:[12],display:"fill"}}},styles:{contentWidth:{desktop:"1200px"},sizeSetting:{desktop:{shape:"original",width:"100%",shapeVideo:"16/9",enableVideoShape:!0},mobile:{shape:"original",width:"100%",shapeVideo:"16/9",enableVideoShape:!0}},background:{desktop:{type:"video",image:{src:"",width:1920,height:900},videoType:"youtube",video:"https://www.youtube.com/watch?v=NfASaHFN1zg",videoHtml5:"https://cdn.shopify.com/videos/c/o/v/92a407d4e0c94a288eb54cac18c387dc.mp4"}}},childrens:[{tag:"Col",childrens:[{tag:"Heading",settings:{text:"Click here to edit heading"},styles:{textAlign:{desktop:"center"},typo:{attrs:{color:"#FFFFFF"}}},advanced:{"spacing-setting":{desktop:{margin:{bottom:"var(--g-s-l)"}}}}},{tag:"Text",settings:{text:"This is your text block. Click to edit and make it your own. Share your product's story<br/> or services offered. Get creative and make it yours!"},styles:{textAlign:{desktop:"center"},typo:{attrs:{color:"#FFFFFF"}}},advanced:{"spacing-setting":{desktop:{margin:{bottom:"var(--g-s-l)"}}}}},{tag:"Button",settings:{label:"Get started"},styles:{align:{desktop:"center"}}}]}]}]};export{heroBannerVideo};
@@ -143,4 +143,4 @@ let SettingsV2=[{id:"setting",controls:[{id:"layout",type:"layout-banner",device
143
143
  d="M4.39584 15.625C3.36031 15.625 2.52084 14.7855 2.52084 13.75V12.5C2.52084 11.4645 3.36031 10.625 4.39584 10.625H14.3958C15.4314 10.625 16.2708 11.4645 16.2708 12.5V13.75C16.2708 14.7855 15.4314 15.625 14.3958 15.625H4.39584ZM3.77084 13.75C3.77084 14.0952 4.05066 14.375 4.39584 14.375H14.3958C14.741 14.375 15.0208 14.0952 15.0208 13.75V12.5C15.0208 12.1548 14.741 11.875 14.3958 11.875H4.39584C4.05066 11.875 3.77084 12.1548 3.77084 12.5V13.75Z"
144
144
  fill="currentColor"
145
145
  />
146
- </svg> `,tooltip:"Align right"}],devices:{desktop:{default:"center"}}},{id:"seo",type:"group",label:"SEO",controls:[{id:"alt",label:"Alt Text",type:"textarea",minHeight:56,autoHeight:!0,placeholder:"E.g: Classic white crewneck t-shirt with minimalist design",default:void 0},{id:"title",label:"Image title",info:"Show title when hover to image",type:"textarea",minHeight:56,autoHeight:!0,placeholder:"E.g: White t-shirt",default:void 0}]},{id:"ratioOptions",type:"ratio",min:1,useUnit:!1,useLink:!1,devices:{desktop:{default:{width:"16",height:"9"}}}},{id:"aspectRatio",type:"select",label:"Ratio",options:[{label:"Original",value:"auto"},{label:"Square",value:"1/1"},{label:"3:2",value:"3/2"},{label:"4:3",value:"4/3"},{label:"16:9",value:"16/9"},{label:"21:9",value:"21/9"},{label:"2:3",value:"2/3"},{label:"3:4",value:"3/4"},{label:"9:16",value:"9/16"},{label:"Cover",value:"cover"},{label:"Custom",value:"custom"}],devices:{desktop:{default:"16/9"},mobile:{default:"auto"}}},{id:"contentBanner",type:"banner",message:"The background image should be taller than the Hero Banner",closable:!0}]},{id:"style",controls:[{id:"sizeSetting",type:"size-setting",label:"",devices:{desktop:{default:{shape:"original",widthHeightLinked:!1,width:"100%"}},mobile:{default:{shape:"custom",width:"100%"}}},settingConfig:{width:{displayOptions:["full","default"],name:"Width"},height:{displayOptions:["fit-content","fit-screen"],name:"Height"},shape:{displayOptions:["original","custom"],name:"Frame",shapeTitleConfig:{original:"As banner source"}}},hiddenSettings:["padding","gap"]},{id:"background",type:"background-media",ignoreReRender:!0,showVideo:!0,showDeviceControl:!0,devices:{desktop:{default:{type:"image",image:{src:"https://cdn.shopify.com/s/files/1/2005/9307/files/background_settings.jpg",width:1920,height:900},size:"cover",position:{x:50,y:50},repeat:"no-repeat",attachment:"scroll",video:"",videoHtml5:"",videoType:"youtube",loop:!0,lazyLoad:!1}}},compoDefaultValue:{desktop:{default:{type:"image",color:"bg-2",image:{src:"https://cdn.shopify.com/s/files/1/2005/9307/files/background_settings.jpg",width:1920,height:900},size:"cover",position:{x:50,y:50},repeat:"no-repeat",attachment:"scroll",video:"https://youtu.be/KOxfzBp72uk",videoHtml5:"https://cdn.shopify.com/videos/c/o/v/92a407d4e0c94a288eb54cac18c387dc.mp4",videoType:"youtube",loop:!0,lazyLoad:!1}}}},{id:"hoverEffect",type:"toggle",default:!1},{id:"hoverEffectScale",type:"input:slider",label:"Zoom Value",units:["%"],min:100,max:200,step:5,default:"120%",showDefaultUnit:!0},{id:"hoverEffectDuration",label:"Zoom Time",type:"input:unit",units:["s"],min:0,default:.5,inputType:"number",placeholder:"",disableAutoValue:!0,showDefaultUnit:!0},{id:"height",label:"Height",type:"input:unit",units:["px"],placeholder:"Auto",devices:{desktop:{default:void 0}},info:"Full Width: To set Hero Banner full width, first you drag & drop a Section element from left sidebar, then make it full-width, after that you put your Hero Banner inside Section you have created."},{id:"contentPosition1Col",label:"Content Position",type:"option:value",options:[{label:"Top",value:"top",iconName:"gp-align-top"},{label:"Center",value:"center",iconName:"gp-align-center-vertical"},{label:"Bottom",value:"bottom",iconName:"gp-align-bottom"},{label:"Space between",value:"space-between",iconName:"gp-justify-content-space-between"}],devices:{desktop:{default:"center"}}},{id:"contentPosition2Col",label:"Content Position",type:"option:value",options:[{label:"Top",value:"top",iconName:"gp-align-top"},{label:"Center",value:"center",iconName:"gp-align-center-vertical"},{label:"Bottom",value:"bottom",iconName:"gp-align-bottom"},{label:"Space between",value:"space-between",iconName:"gp-justify-content-space-between"}],devices:{desktop:{default:"center"}}},{id:"wrapperWidth",type:"input:unit-width",label:"Width",placeholder:"Auto",min:0,units:["px","%"],devices:{desktop:{default:void 0},tablet:{default:void 0},mobile:{default:void 0}}},{id:"contentWidth",type:"dropdown:input",label:"Width",inputType:"number",units:["px","%"],hideUnit:!1,devices:{desktop:{default:"default"},tablet:{default:"default"},mobile:{default:"default"}},displayOptions:[{label:"Full",value:"100%",showValue:!0},{label:"Default",value:"default",showValue:!0}]},{id:"verticalGutter",type:"input:unit",units:["px"],min:0,label:"Spacing",devices:{desktop:{default:"32px"}}},{id:"overlayEnable",type:"toggle",default:!1},{id:"overlayOpacity",label:"Opacity",type:"input:slider",min:0,max:100,units:["%"],step:1,default:{normal:"20%"},state:{normal:!0,hover:!0},compoDefaultValue:{normal:"20%",hover:"20%"},showDefaultUnit:!0},{id:"overlayColor",label:"Color",type:"color-picker-v2",state:{normal:!0,hover:!0}},{id:"borderBg",type:"border-v2",label:"Border",compoDefaultValue:{border:"solid",color:"line-3",width:"1px",borderWidth:"1px"}},{id:"cornerBg",type:"corner-v2",label:"Corner",default:{radiusType:"none"}},{id:"hasActiveShadow",type:"toggle",label:"Enable Button Shadow",default:!1},{id:"shadowBg",type:"shadow-v2",label:"Button Shadow",compoDefaultValue:{type:"shadow-1",distance:"4px",blur:"4px",spread:"0px",color:"rgba(18, 18, 18, 0.2)",angle:45,enable:!0}},{id:"contentPadding",type:"padding-v2",devices:{desktop:{default:{top:"4px",left:"16px",bottom:"4px",right:"16px",linked:!1}},mobile:{default:{top:"16px",left:"16px",bottom:"16px",right:"16px",linked:!1}}},compoDefaultValue:{desktop:{default:{top:"4px",left:"16px",bottom:"4px",right:"16px",linked:!1}},mobile:{default:{top:"16px",left:"16px",bottom:"16px",right:"16px",linked:!1}}}}]}];export{SettingsV2};
146
+ </svg> `,tooltip:"Align right"}],devices:{desktop:{default:"center"}}},{id:"seo",type:"group",label:"SEO",controls:[{id:"alt",label:"Alt Text",type:"textarea",minHeight:56,autoHeight:!0,placeholder:"E.g: Classic white crewneck t-shirt with minimalist design",default:void 0},{id:"title",label:"Image title",info:"Show title when hover to image",type:"textarea",minHeight:56,autoHeight:!0,placeholder:"E.g: White t-shirt",default:void 0}]},{id:"ratioOptions",type:"ratio",min:1,useUnit:!1,useLink:!1,devices:{desktop:{default:{width:"16",height:"9"}}}},{id:"aspectRatio",type:"select",label:"Ratio",options:[{label:"Original",value:"auto"},{label:"Square",value:"1/1"},{label:"3:2",value:"3/2"},{label:"4:3",value:"4/3"},{label:"16:9",value:"16/9"},{label:"21:9",value:"21/9"},{label:"2:3",value:"2/3"},{label:"3:4",value:"3/4"},{label:"9:16",value:"9/16"},{label:"Cover",value:"cover"},{label:"Custom",value:"custom"}],devices:{desktop:{default:"16/9"},mobile:{default:"auto"}}},{id:"contentBanner",type:"banner",message:"The background image should be taller than the Hero Banner",closable:!0},{id:"isYoutubeVideoMigrated",type:"toggle",default:!1}]},{id:"style",controls:[{id:"sizeSetting",type:"size-setting",label:"",devices:{desktop:{default:{shape:"original",widthHeightLinked:!1,width:"100%",shapeVideo:"16/9",enableVideoShape:!1}},mobile:{default:{shape:"custom",width:"100%",shapeVideo:"custom",enableVideoShape:!1}}},settingConfig:{width:{displayOptions:["full","default"],name:"Width"},height:{displayOptions:["fit-content","fit-screen"],name:"Height"},shape:{displayOptions:["original","custom"],displayVideoOptions:["1/1","3/2","4/3","16/9","21/9","2/3","3/4","9/16","custom"],name:"Frame",shapeTitleConfig:{original:"As banner source"}}},hiddenSettings:["padding","gap"]},{id:"videoObjectFit",type:"option:illustration",enableTooltip:!0,label:"Image scale",options:[{label:"Fill video",value:"cover",type:"image",svgName:"gp-video-cover"},{label:"Fit video",value:"contain",type:"image",svgName:"gp-video-contain"}],devices:{desktop:{default:"cover"}}},{id:"background",type:"background-media",ignoreReRender:!0,showVideo:!0,showRatioVideo:!0,showDeviceControl:!0,devices:{desktop:{default:{type:"image",image:{src:"https://cdn.shopify.com/s/files/1/2005/9307/files/background_settings.jpg",width:1920,height:900},size:"cover",position:{x:50,y:50},repeat:"no-repeat",attachment:"scroll",video:"",videoHtml5:"",videoType:"youtube",loop:!0,lazyLoad:!1,videoAlign:"center"}}},compoDefaultValue:{desktop:{default:{type:"image",color:"bg-2",image:{src:"https://cdn.shopify.com/s/files/1/2005/9307/files/background_settings.jpg",width:1920,height:900},size:"cover",position:{x:50,y:50},repeat:"no-repeat",attachment:"scroll",video:"https://www.youtube.com/watch?v=NfASaHFN1zg",videoHtml5:"https://cdn.shopify.com/videos/c/o/v/92a407d4e0c94a288eb54cac18c387dc.mp4",videoType:"youtube",loop:!0,lazyLoad:!1}}}},{id:"hoverEffect",type:"toggle",default:!1},{id:"hoverEffectScale",type:"input:slider",label:"Zoom Value",units:["%"],min:100,max:200,step:5,default:"120%",showDefaultUnit:!0},{id:"hoverEffectDuration",label:"Zoom Time",type:"input:unit",units:["s"],min:0,default:.5,inputType:"number",placeholder:"",disableAutoValue:!0,showDefaultUnit:!0},{id:"height",label:"Height",type:"input:unit",units:["px"],placeholder:"Auto",devices:{desktop:{default:void 0}},info:"Full Width: To set Hero Banner full width, first you drag & drop a Section element from left sidebar, then make it full-width, after that you put your Hero Banner inside Section you have created."},{id:"contentPosition1Col",label:"Content Position",type:"option:value",options:[{label:"Top",value:"top",iconName:"gp-align-top"},{label:"Center",value:"center",iconName:"gp-align-center-vertical"},{label:"Bottom",value:"bottom",iconName:"gp-align-bottom"},{label:"Space between",value:"space-between",iconName:"gp-justify-content-space-between"}],devices:{desktop:{default:"center"}}},{id:"contentPosition2Col",label:"Content Position",type:"option:value",options:[{label:"Top",value:"top",iconName:"gp-align-top"},{label:"Center",value:"center",iconName:"gp-align-center-vertical"},{label:"Bottom",value:"bottom",iconName:"gp-align-bottom"},{label:"Space between",value:"space-between",iconName:"gp-justify-content-space-between"}],devices:{desktop:{default:"center"}}},{id:"wrapperWidth",type:"input:unit-width",label:"Width",placeholder:"Auto",min:0,units:["px","%"],devices:{desktop:{default:void 0},tablet:{default:void 0},mobile:{default:void 0}}},{id:"contentWidth",type:"dropdown:input",label:"Width",inputType:"number",units:["px","%"],hideUnit:!1,devices:{desktop:{default:"default"},tablet:{default:"default"},mobile:{default:"default"}},displayOptions:[{label:"Full",value:"100%",showValue:!0},{label:"Default",value:"default",showValue:!0}]},{id:"verticalGutter",type:"input:unit",units:["px"],min:0,label:"Spacing",devices:{desktop:{default:"32px"}}},{id:"overlayEnable",type:"toggle",default:!1},{id:"overlayOpacity",label:"Opacity",type:"input:slider",min:0,max:100,units:["%"],step:1,default:{normal:"20%"},state:{normal:!0,hover:!0},compoDefaultValue:{normal:"20%",hover:"20%"},showDefaultUnit:!0},{id:"overlayColor",label:"Color",type:"color-picker-v2",state:{normal:!0,hover:!0}},{id:"borderBg",type:"border-v2",label:"Border",compoDefaultValue:{border:"solid",color:"line-3",width:"1px",borderWidth:"1px"}},{id:"cornerBg",type:"corner-v2",label:"Corner",default:{radiusType:"none"}},{id:"hasActiveShadow",type:"toggle",label:"Enable Button Shadow",default:!1},{id:"shadowBg",type:"shadow-v2",label:"Button Shadow",compoDefaultValue:{type:"shadow-1",distance:"4px",blur:"4px",spread:"0px",color:"rgba(18, 18, 18, 0.2)",angle:45,enable:!0}},{id:"contentPadding",type:"padding-v2",devices:{desktop:{default:{top:"4px",left:"16px",bottom:"4px",right:"16px",linked:!1}},mobile:{default:{top:"16px",left:"16px",bottom:"16px",right:"16px",linked:!1}}},compoDefaultValue:{desktop:{default:{top:"4px",left:"16px",bottom:"4px",right:"16px",linked:!1}},mobile:{default:{top:"16px",left:"16px",bottom:"16px",right:"16px",linked:!1}}}}]}];export{SettingsV2};
@@ -1 +1 @@
1
- let SettingUIV2=[{label:{en:"Layout"},controls:[{setting:{id:"layout"},layout:"vertical",controlChangeTrigger:{settings:[{condition:"layout.cols.length == 1 && layout.type === 'center-top'",source:["layout"],action:{controlId:"contentPosition1Col",groupType:"style",controlType:"style",newValue:"top"}},{condition:"layout.cols.length == 1 && layout.type === 'center'",source:["layout"],action:{controlId:"contentPosition1Col",groupType:"style",controlType:"style",newValue:"center"}},{condition:"layout.cols.length == 1 && layout.type === 'center-bottom'",source:["layout"],action:{controlId:"contentPosition1Col",groupType:"style",controlType:"style",newValue:"bottom"}},{condition:"layout.cols.length == 1 && layout.type === 'center-distributed'",source:["layout"],action:{controlId:"contentPosition1Col",groupType:"style",controlType:"style",newValue:"space-between"}},{condition:"layout.cols.length > 1 && ( layout.type === 'left-distributed' || layout.type === 'right-distributed')",source:["layout"],action:{controlId:"contentPosition2Col",groupType:"style",controlType:"style",newValue:"space-between"}},{condition:"layout.cols.length > 1 && ( layout.type === 'left-top' || layout.type === 'right-top')",source:["layout"],action:{controlId:"contentPosition2Col",groupType:"style",controlType:"style",newValue:"top"}},{condition:"layout.cols.length > 1 && ( layout.type === 'right' || layout.type === 'left')",source:["layout"],action:{controlId:"contentPosition2Col",groupType:"style",controlType:"style",newValue:"center"}},{condition:"layout.cols.length > 1 && ( layout.type === 'left-bottom' || layout.type === 'right-bottom')",source:["layout"],action:{controlId:"contentPosition2Col",groupType:"style",controlType:"style",newValue:"bottom"}}],options:{noRecordHistory:!0}}}]},{label:{en:"Background"},controls:[{setting:{id:"background"},options:{updateFields:[{field:"preload",settingId:"preload"}]},controlChangeTrigger:{settings:[{action:{controlId:"preload",valueFromField:"preload",groupType:"setting",controlType:"setting",removeDevice:!0}},{condition:"!background.image.src",source:["background"],action:{controlId:"sizeSetting",newValue:{shapeLinked:!1,hiddenShape:!0},valueIfNull:{width:"100%",height:"fit-content",hiddenShape:!0},groupType:"style",controlType:"size-setting"}},{condition:"!!background.image.src",source:["background"],action:{controlId:"sizeSetting",newValue:{hiddenShape:!1},valueIfNull:{hiddenShape:!1},groupType:"style",controlType:"size-setting"}},{condition:'background.type == "video" && background.videoType == "html5"',source:["background"],action:{controlId:"sizeSetting",newValue:{shapeLinked:!1,hiddenShape:!0},valueIfNull:{hiddenShape:!1},groupType:"style",controlType:"size-setting"}}],options:{noRecordHistory:!0}},layout:"vertical"}],moreSettings:{type:"collapse",controls:[{label:{en:"Overlay"},type:"combo",comboType:"color",getValueFromSettingID:"overlayColor.normal",compoDefaultValue:"#121212",controls:[{setting:{id:"overlayColor",state:"normal"},label:{en:"Color"}},{setting:{id:"overlayOpacity",state:"normal"},label:{en:"Opacity"}}]}]}},{label:{en:"Size"},controls:[{label:{en:"Video ratio"},setting:{id:"aspectRatio"},conditionDisplay:'background.type == "video" && background.videoType == "html5"'},{conditionDisplay:'aspectRatio === \'custom\' && background.type == "video" && background.videoType == "html5"',setting:{id:"ratioOptions"},label:{en:"Ratio"}},{setting:{id:"sizeSetting"},layout:"vertical"}]},{label:{en:"Content"},controls:[{id:"contentWidth",label:{en:"Width"},controlConfig:{id:"contentWidth",type:"dropdown:input",label:"Width",inputType:"number",units:["px","%"],hideUnit:!1,displayOptions:[{label:"Full",value:"100%",showValue:!0},{label:"Default",value:"default",showValue:!0},{label:"Fit content",value:"Auto",showValue:!0}]},layout:"horizontal"},{label:{en:"Padding"},setting:{id:"contentPadding"}},{label:{en:"Align"},setting:{id:"verticalAlign"},conditionEnable:'layout.cols.length > 1 && layout.type != "right-distributed" && layout.type != "left-distributed"'}]},{label:{en:"Shape"},controls:[{label:{en:"Border"},setting:{id:"borderBg"}},{label:{en:"Corner"},setting:{id:"cornerBg"}},{label:{en:"Shadow"},setting:{id:"shadowBg"},options:{updateFields:[{field:"enable",settingId:"hasActiveShadow"}]},controlChangeTrigger:{settings:[{condition:"shadowBg.enable === true",source:["shadowBg","hasActiveShadow"],action:{controlId:"hasActiveShadow",groupType:"style",controlType:"style",newValue:!0}},{condition:"shadowBg.enable === false",source:["shadowBg","hasActiveShadow"],action:{controlId:"hasActiveShadow",groupType:"style",controlType:"style",newValue:!1}}],options:{noRecordHistory:!0}}}]},{label:{en:"Effect"},controls:[{type:"combo",fixedValue:"Effect",iconName:"polaris-check-clicked",label:{en:"Hover effect"},setting:{id:"hoverEffect"},controlChangeTrigger:{settings:[{condition:"hoverEffect == true",source:["hoverEffect","hoverEffectScale"],action:{controlId:"hoverEffectScale",groupType:"style",controlType:"style",newValue:"120%"}},{condition:"hoverEffect == true",source:["hoverEffect","hoverEffectDuration"],action:{controlId:"hoverEffectDuration",groupType:"style",controlType:"style",newValue:"0.5s"}}],options:{noRecordHistory:!0}},defaultValueWhenClear:!1,state:"hover",controls:[{label:{en:"Overlay"},type:"combo",comboType:"color",getValueFromSettingID:"overlayColor.hover",defaultValueWhenClear:"transparent",compoDefaultValue:"#121212",controls:[{setting:{id:"overlayOpacity",state:"hover"},label:{en:"Opacity"}},{setting:{id:"overlayColor",state:"hover"},controlChangeTrigger:{settings:[{condition:"overlayColor.hover == 'transparent'",source:["overlayColor","overlayOpacity"],action:{controlId:"overlayOpacity",groupType:"style",controlType:"style",state:"hover",newValue:"20%"}}],options:{noRecordHistory:!0}},compoDefaultValue:"#121212",label:{en:"Color"}}]},{label:{en:"Scale"},type:"combo",iconName:"polaris-maximize",getValueFromSettingID:"hoverEffectScale",defaultValueWhenClear:"100%",compoDefaultValue:"120%",controls:[{label:{en:"Scale"},setting:{id:"hoverEffectScale"},defaultValueWhenClear:"100%"},{type:"control",label:{en:"Time"},setting:{id:"hoverEffectDuration"}}]}]},{type:"combo",fixedValue:"Enabled",iconName:"polaris-parallax-effect",label:{en:"Parallax scroll"},setting:{id:"enableParallax"},conditionDisplay:'background.type == "image"',defaultValueWhenClear:!1,controls:[{setting:{id:"contentBanner"},layout:"vertical"},{label:{en:"Speed"},setting:{id:"speedParallax"}}]}]},{controls:[{label:{en:"Link"},setting:{id:"enableLink"},options:{labelVariant:"primary",toggleStyle:"switch"}},{layout:"vertical",controlConfig:{id:"linkedToPreSalesPageBanner",type:"banner",message:"Pre-sales page elements with link should redirect to the Sales page."},conditionDisplay:'pageType === "GP_PRE_SALE_PAGE" && enableLink == true'},{conditionDisplay:"enableLink == true",setting:{id:"link"},layout:"vertical"}]},{label:{en:"SEO"},controls:[{type:"combo",label:{en:"Image alt text"},iconName:"polaris-text-block",getValueFromSettingID:"alt",compoDefaultValue:"Describes the appearance of the image",isHideClear:!0,controls:[{label:{en:"Content"},setting:{id:"alt"},layout:"vertical"}]},{type:"combo",label:{en:"Image title"},iconName:"polaris-text-block",getValueFromSettingID:"title",compoDefaultValue:"Title",isHideClear:!0,controls:[{label:{en:"Content"},setting:{id:"title"},layout:"vertical"}]}]},{controls:[{label:{en:"Align"},conditionEnable:'!(parseInt(sizeSetting.width) >= 100 && sizeSetting.width?.includes("%"))',setting:{id:"alignBanner"},options:{labelVariant:"primary",fullWidth:!0,disableMessage:"Horizontal alignment is disabled when the width is set to 100% or greater"}}]}];export{SettingUIV2};
1
+ let SettingUIV2=[{label:{en:"Layout"},controls:[{setting:{id:"layout"},layout:"vertical",controlChangeTrigger:{settings:[{condition:"layout.cols.length == 1 && layout.type === 'center-top'",source:["layout"],action:{controlId:"contentPosition1Col",groupType:"style",controlType:"style",newValue:"top"}},{condition:"layout.cols.length == 1 && layout.type === 'center'",source:["layout"],action:{controlId:"contentPosition1Col",groupType:"style",controlType:"style",newValue:"center"}},{condition:"layout.cols.length == 1 && layout.type === 'center-bottom'",source:["layout"],action:{controlId:"contentPosition1Col",groupType:"style",controlType:"style",newValue:"bottom"}},{condition:"layout.cols.length == 1 && layout.type === 'center-distributed'",source:["layout"],action:{controlId:"contentPosition1Col",groupType:"style",controlType:"style",newValue:"space-between"}},{condition:"layout.cols.length > 1 && ( layout.type === 'left-distributed' || layout.type === 'right-distributed')",source:["layout"],action:{controlId:"contentPosition2Col",groupType:"style",controlType:"style",newValue:"space-between"}},{condition:"layout.cols.length > 1 && ( layout.type === 'left-top' || layout.type === 'right-top')",source:["layout"],action:{controlId:"contentPosition2Col",groupType:"style",controlType:"style",newValue:"top"}},{condition:"layout.cols.length > 1 && ( layout.type === 'right' || layout.type === 'left')",source:["layout"],action:{controlId:"contentPosition2Col",groupType:"style",controlType:"style",newValue:"center"}},{condition:"layout.cols.length > 1 && ( layout.type === 'left-bottom' || layout.type === 'right-bottom')",source:["layout"],action:{controlId:"contentPosition2Col",groupType:"style",controlType:"style",newValue:"bottom"}}],options:{noRecordHistory:!0}}}]},{label:{en:"Background"},controls:[{setting:{id:"background"},options:{updateFields:[{field:"preload",settingId:"preload"}]},controlChangeTrigger:{settings:[{action:{controlId:"preload",valueFromField:"preload",groupType:"setting",controlType:"setting",removeDevice:!0}},{condition:"!background.image.src",source:["background"],action:{controlId:"sizeSetting",newValue:{shapeLinked:!1},valueIfNull:{width:"100%",height:"fit-content"},groupType:"style",controlType:"size-setting"}},{condition:'background.type == "video"',source:["background"],action:{controlId:"sizeSetting",newValue:{enableVideoShape:!0},valueIfNull:{enableVideoShape:!0},groupType:"style",controlType:"size-setting"}},{condition:'!!background.image.src && background.type == "image" && sizeSetting.height == "fit-content"',source:["background","sizeSetting"],action:{controlId:"sizeSetting",newValue:{shape:"original",height:""},valueIfNull:{shape:"original"},groupType:"style",controlType:"size-setting"}},{condition:'background.type != "video"',source:["background"],action:{controlId:"sizeSetting",newValue:{enableVideoShape:!1},valueIfNull:{enableVideoShape:!1},groupType:"style",controlType:"size-setting"}}],options:{noRecordHistory:!0}},layout:"vertical"}],moreSettings:{type:"collapse",controls:[{label:{en:"Overlay"},type:"combo",comboType:"color",getValueFromSettingID:"overlayColor.normal",compoDefaultValue:"#121212",controls:[{setting:{id:"overlayColor",state:"normal"},label:{en:"Color"}},{setting:{id:"overlayOpacity",state:"normal"},label:{en:"Opacity"}}]}]}},{label:{en:"Size"},controls:[{setting:{id:"sizeSetting"},layout:"vertical"},{label:{en:"Scale"},setting:{id:"videoObjectFit"},conditionDisplay:'background.type == "video"'}]},{label:{en:"Content"},controls:[{id:"contentWidth",label:{en:"Width"},controlConfig:{id:"contentWidth",type:"dropdown:input",label:"Width",inputType:"number",units:["px","%"],hideUnit:!1,displayOptions:[{label:"Full",value:"100%",showValue:!0},{label:"Default",value:"default",showValue:!0},{label:"Fit content",value:"Auto",showValue:!0}]},layout:"horizontal"},{label:{en:"Padding"},setting:{id:"contentPadding"}},{label:{en:"Align"},setting:{id:"verticalAlign"},conditionEnable:'layout.cols.length > 1 && layout.type != "right-distributed" && layout.type != "left-distributed"'}]},{label:{en:"Shape"},controls:[{label:{en:"Border"},setting:{id:"borderBg"}},{label:{en:"Corner"},setting:{id:"cornerBg"}},{label:{en:"Shadow"},setting:{id:"shadowBg"},options:{updateFields:[{field:"enable",settingId:"hasActiveShadow"}]},controlChangeTrigger:{settings:[{condition:"shadowBg.enable === true",source:["shadowBg","hasActiveShadow"],action:{controlId:"hasActiveShadow",groupType:"style",controlType:"style",newValue:!0}},{condition:"shadowBg.enable === false",source:["shadowBg","hasActiveShadow"],action:{controlId:"hasActiveShadow",groupType:"style",controlType:"style",newValue:!1}}],options:{noRecordHistory:!0}}}]},{label:{en:"Effect"},controls:[{type:"combo",fixedValue:"Effect",iconName:"polaris-check-clicked",label:{en:"Hover effect"},setting:{id:"hoverEffect"},controlChangeTrigger:{settings:[{condition:"hoverEffect == true",source:["hoverEffect","hoverEffectScale"],action:{controlId:"hoverEffectScale",groupType:"style",controlType:"style",newValue:"120%"}},{condition:"hoverEffect == true",source:["hoverEffect","hoverEffectDuration"],action:{controlId:"hoverEffectDuration",groupType:"style",controlType:"style",newValue:"0.5s"}}],options:{noRecordHistory:!0}},defaultValueWhenClear:!1,state:"hover",controls:[{label:{en:"Overlay"},type:"combo",comboType:"color",getValueFromSettingID:"overlayColor.hover",defaultValueWhenClear:"transparent",compoDefaultValue:"#121212",controls:[{setting:{id:"overlayOpacity",state:"hover"},label:{en:"Opacity"}},{setting:{id:"overlayColor",state:"hover"},controlChangeTrigger:{settings:[{condition:"overlayColor.hover == 'transparent'",source:["overlayColor","overlayOpacity"],action:{controlId:"overlayOpacity",groupType:"style",controlType:"style",state:"hover",newValue:"20%"}}],options:{noRecordHistory:!0}},compoDefaultValue:"#121212",label:{en:"Color"}}]},{label:{en:"Scale"},type:"combo",iconName:"polaris-maximize",getValueFromSettingID:"hoverEffectScale",defaultValueWhenClear:"100%",compoDefaultValue:"120%",controls:[{label:{en:"Scale"},setting:{id:"hoverEffectScale"},defaultValueWhenClear:"100%"},{type:"control",label:{en:"Time"},setting:{id:"hoverEffectDuration"}}]}]},{type:"combo",fixedValue:"Enabled",iconName:"polaris-parallax-effect",label:{en:"Parallax scroll"},setting:{id:"enableParallax"},conditionDisplay:'background.type == "image"',defaultValueWhenClear:!1,controls:[{setting:{id:"contentBanner"},layout:"vertical"},{label:{en:"Speed"},setting:{id:"speedParallax"}}]}]},{controls:[{label:{en:"Link"},setting:{id:"enableLink"},options:{labelVariant:"primary",toggleStyle:"switch"}},{layout:"vertical",controlConfig:{id:"linkedToPreSalesPageBanner",type:"banner",message:"Pre-sales page elements with link should redirect to the Sales page."},conditionDisplay:'pageType === "GP_PRE_SALE_PAGE" && enableLink == true'},{conditionDisplay:"enableLink == true",setting:{id:"link"},layout:"vertical"}]},{label:{en:"SEO"},controls:[{type:"combo",label:{en:"Image alt text"},iconName:"polaris-text-block",getValueFromSettingID:"alt",compoDefaultValue:"Describes the appearance of the image",isHideClear:!0,controls:[{label:{en:"Content"},setting:{id:"alt"},layout:"vertical"}]},{type:"combo",label:{en:"Image title"},iconName:"polaris-text-block",getValueFromSettingID:"title",compoDefaultValue:"Title",isHideClear:!0,controls:[{label:{en:"Content"},setting:{id:"title"},layout:"vertical"}]}]},{controls:[{label:{en:"Align"},conditionEnable:'!(parseInt(sizeSetting.width) >= 100 && sizeSetting.width?.includes("%"))',setting:{id:"alignBanner"},options:{labelVariant:"primary",fullWidth:!0,disableMessage:"Horizontal alignment is disabled when the width is set to 100% or greater"}}]}];export{SettingUIV2};
@@ -1 +1 @@
1
- import{useState as e,useEffect as t,useMemo as n}from"react";let getCountDownTime=e=>new Date(e).getTime()-new Date().getTime(),useCountdown=n=>{let[r,u]=e(getCountDownTime(n));return t(()=>{let e=null;return r>0&&(e=setInterval(()=>{r>0?u(getCountDownTime(n)):e&&(clearInterval(e),e=null)},1e3)),()=>{e&&clearInterval(e)}},[r,n]),t(()=>{u(getCountDownTime(n))},[n]),getReturnValues(r)},getReturnValues=e=>{let t=Math.floor(e/6e4),n=Math.floor(e%6e4/1e3),r=`${t<10?"0":""}${t}:${n<10?"0":""}${n}`;return{isExpired:t+n<=0,format:r}},useGetTextExpired=e=>{let{isExpired:t,expiredText:r,conditionText:u,format:o}=e,l=n(()=>t?r:`${u} ${o}`,[t,o,u,r]);return{text:l}};export{useCountdown,useGetTextExpired};
1
+ import{useState as e,useEffect as t,useMemo as n}from"react";let getCountDownTime=e=>new Date(e).getTime()-new Date().getTime(),useCountdown=n=>{let[r,u]=e(getCountDownTime(n));return t(()=>{let e=null;return r>0&&(e=setInterval(()=>{r>0?u(getCountDownTime(n)):e&&(clearInterval(e),e=null)},1e3)),()=>{e&&clearInterval(e)}},[r,n]),t(()=>{u(getCountDownTime(n))},[n]),getReturnValues(r)},getReturnValues=e=>{let t=Math.floor(e/6e4),n=Math.floor(e%6e4/1e3),r=`${t<10?"0":""}${t}:${n<10?"0":""}${n}`;return{isExpired:t+n<=0,format:r}},useGetTextExpired=e=>{let{isExpired:t,expiredText:r,conditionText:u,format:l}=e,o=n(()=>t?r:`${u} <span dir="ltr">${l}</span>`,[t,l,u,r]);return{text:o}};export{useCountdown,useGetTextExpired};
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import{jsxs as e,jsx as r}from"react/jsx-runtime";import{useCurrentVariant as p,useProduct as t,shopifyPriceRounding as o,useProductOfferDiscount as c,useFormatMoney as i,cls as a}from"@gem-sdk/core";import{useMemo as s}from"react";import m from"../../text/components/Text.js";import{useDynamicProduct as l}from"../hooks/useDynamicProduct.js";let PostPurchaseProductPrice=({styles:u,style:d,builderAttrs:y,builderProps:n,children:P})=>{let h=p(),T=t(),g=h?.price??0,f=h?.salePrice??0,x=parseFloat(o(c(),2)),{isDynamicProduct:j}=l(),F=s(()=>x?u?.priceType==="compare"?g:g-x:u?.priceType==="compare"?f:g,[x,u?.priceType,g,f]),k=i(parseFloat(F.toFixed(2)),!1),D=T?.baseID?.replace("gid://shopify/Product/",""),N=s(()=>u?.priceType==="compare"&&(!x&&f<g||g<=0),[x,g,f,u?.priceType]);return N?null:e("div",{...y,className:a(n?.uid),style:{...d},id:`shopify-text-element-${n?.uid}`,"data-product-id":D,children:[r(m,{styles:u,setting:{text:j?"$???":k},className:a({"gp-money":u?.priceType==="regular","gp-product-compare-price":u?.priceType==="compare","gp-line-through":u?.priceType==="compare"&&u?.lineThrough})}),P]})};export{PostPurchaseProductPrice as default};
2
+ import{jsx as e,jsxs as r}from"react/jsx-runtime";import{useCurrentVariant as t,useProduct as o,convertDecimalToNumber as p,shopifyPriceRounding as s,useProductOfferDiscount as i,useI18nStore as a,useRenderMode as c,useFormatMoney as l,cls as d}from"@gem-sdk/core";import{useMemo as m}from"react";import n from"../../text/components/Text.js";import{useDynamicProduct as g}from"../hooks/useDynamicProduct.js";import u from"../../../common/components/TooltipHover.js";let PostPurchaseProductPrice=({styles:h,style:f,builderAttrs:x,builderProps:y,children:P,setting:b})=>{let N=t(),j=o(),k=p(N?.price)??0,v=p(N?.salePrice)??0,w=parseFloat(s(i(),2)),D=k-w>0?k-w:k,{isDynamicProduct:T}=g(),{t:F}=a(),{isEditMode:$}=c(),{priceType:H,source:I}=b??{},S="compare"===H,q="offer"===H,z="price"===I,A="compare-price"===I,B=m(()=>S?z?k:v:q?D:k,[S,z,q,k,v,D]),C=l(parseFloat(s(Number(B)||0,2)),!1),E=j?.baseID?.replace("gid://shopify/Product/",""),G=m(()=>S&&(!w&&v<k||A&&!v||z&&k<=0),[S,w,k,v,A]);return(!B&&!q||G)&&$?e(u,{enable:!0,text:"Not be displayed when published",width:"205px",position:"bottom",className:"gp-arrow-left-offset-10",children:e("div",{className:"gp-h-[28px] gp-px-1.5 gp-py-1 gp-flex gp-border gp-border-light-200 gp-items-center gp-justify-center gp-rounded-lg",style:{borderStyle:"dashed",strokeDasharray:"2,2"},children:e("span",{className:"gp-text-dark-400 gp-text-[12px] gp-leading-5",children:F("No compare price")})})}):G&&!$?null:r("div",{...x,className:d(y?.uid),style:{...f},id:`shopify-text-element-${y?.uid}`,"data-product-id":E,children:[e(n,{styles:h,setting:{text:T?"$???":C},className:d({"gp-money":q,"gp-product-compare-price":S,"gp-line-through":S&&h?.lineThrough})}),P]})};export{PostPurchaseProductPrice as default};
@@ -1 +1 @@
1
- let productOfferPlaceholder={id:"",title:"Dynamic product",description:"This is a dynamic product. The actual product will appear here based on your setup",descriptionHtml:'<p class="QN2lPu">This is a dynamic product. The actual product will</p>\n<p class="QN2lPu">appear here based on your setup</p>',createdAt:"2024-07-01T04:19:51.286753Z",handle:"dynamic-product",averageRating:0,isStorefront:!0,isSample:!1,baseID:"",sku:"",options:[{id:"1",name:"Variant",optionType:"",values:[{id:"1",label:"Variant option",isDefault:!0,baseID:""}]}],vendor:"",featuredImage:{id:"542178560626918105",contentType:"IMAGE",previewImage:"",src:"https://cdn.shopify.com/s/files/1/0858/3168/0279/files/gempages_502328832959710176-312cf60c-d923-4913-9873-66545effe9cc.png",width:449,height:449,alt:""},collections:{edges:[{node:{id:"502321959132988135",title:"Home page"}},{node:{id:"539286505089204764",title:"b"}},{node:{id:"539286505089401372",title:"e"}}]},tags:[],medias:{edges:[{cursor:"gqFpzweGNIc/AALZoXYB",node:{id:"542178560626918105",contentType:"IMAGE",previewImage:"",src:"https://cdn.shopify.com/s/files/1/0858/3168/0279/files/gempages_502328832959710176-312cf60c-d923-4913-9873-66545effe9cc.png",width:449,height:449,alt:""}}],pageInfo:{endCursor:"gqFpzweGNIc/AALZoXYB",hasNextPage:!0}},variants:{edges:[{cursor:"gqFpzwc5ZqRtDAMIoXYC",node:{id:"520560088328176392",title:"Default Title",barcode:"",baseID:"gid://shopify/ProductVariant/49298248925463",costPrice:88,height:0,inventoryPolicy:"DENY",inventoryQuantity:211,inventoryStatus:"",isDigital:!0,length:0,lowInventoryAmount:0,manageInventory:!1,mediaId:"0",platform:"SHOPIFY",price:88,salePrice:88,sku:"",soldIndividually:!1,weight:0,width:0,selectedOptions:[],media:void 0}},{cursor:"gqFpzwc5ZqRtDAMIoXYC",node:{id:"520560088328176392",title:"Default Title",barcode:"",baseID:"gid://shopify/ProductVariant/49298248925463",costPrice:88,height:0,inventoryPolicy:"DENY",inventoryQuantity:211,inventoryStatus:"",isDigital:!0,length:0,lowInventoryAmount:0,manageInventory:!1,mediaId:"0",platform:"SHOPIFY",price:88,salePrice:88,sku:"",soldIndividually:!1,weight:0,width:0,selectedOptions:[],media:void 0}}],pageInfo:{hasNextPage:!1,endCursor:"gaFpzwc5ZqRtDAMI"}}};export{productOfferPlaceholder};
1
+ let productOfferPlaceholder={id:"",title:"Dynamic product",description:"This is a dynamic product. The actual product will appear here based on your setup",descriptionHtml:'<p class="QN2lPu">This is a dynamic product. The actual product will</p>\n<p class="QN2lPu">appear here based on your setup</p>',createdAt:"2024-07-01T04:19:51.286753Z",handle:"dynamic-product",averageRating:0,isStorefront:!0,isSample:!1,baseID:"",sku:"",options:[{id:"1",name:"Variant",optionType:"",values:[{id:"1",label:"Variant option",isDefault:!0,baseID:""}]}],vendor:"",featuredImage:{id:"542178560626918105",contentType:"IMAGE",previewImage:"",src:"https://cdn.shopify.com/s/files/1/0858/3168/0279/files/gempages_502328832959710176-312cf60c-d923-4913-9873-66545effe9cc.png",width:449,height:449,alt:""},collections:{edges:[{node:{id:"502321959132988135",title:"Home page"}},{node:{id:"539286505089204764",title:"b"}},{node:{id:"539286505089401372",title:"e"}}]},tags:[],medias:{edges:[{cursor:"gqFpzweGNIc/AALZoXYB",node:{id:"542178560626918105",contentType:"IMAGE",previewImage:"",src:"https://cdn.shopify.com/s/files/1/0858/3168/0279/files/gempages_502328832959710176-312cf60c-d923-4913-9873-66545effe9cc.png",width:449,height:449,alt:""}}],pageInfo:{endCursor:"gqFpzweGNIc/AALZoXYB",hasNextPage:!0}},variants:{edges:[{cursor:"gqFpzwc5ZqRtDAMIoXYC",node:{id:"520560088328176392",title:"Default Title",barcode:"",baseID:"gid://shopify/ProductVariant/49298248925463",costPrice:"88",height:0,inventoryPolicy:"DENY",inventoryQuantity:211,inventoryStatus:"",isDigital:!0,length:0,lowInventoryAmount:0,manageInventory:!1,mediaId:"0",platform:"SHOPIFY",price:"88",salePrice:"88",sku:"",soldIndividually:!1,weight:0,width:0,selectedOptions:[],media:void 0}},{cursor:"gqFpzwc5ZqRtDAMIoXYC",node:{id:"520560088328176392",title:"Default Title",barcode:"",baseID:"gid://shopify/ProductVariant/49298248925463",costPrice:"88",height:0,inventoryPolicy:"DENY",inventoryQuantity:211,inventoryStatus:"",isDigital:!0,length:0,lowInventoryAmount:0,manageInventory:!1,mediaId:"0",platform:"SHOPIFY",price:"88",salePrice:"88",sku:"",soldIndividually:!1,weight:0,width:0,selectedOptions:[],media:void 0}}],pageInfo:{hasNextPage:!1,endCursor:"gaFpzwc5ZqRtDAMI"}}};export{productOfferPlaceholder};
@@ -1 +1 @@
1
- import{useProductOfferDiscount as e,useCurrentVariant as t,useQuantity as l,useFormatMoney as i,shopifyPriceRounding as o}from"@gem-sdk/core";import{useDynamicProduct as a}from"./useDynamicProduct.js";let useGetMoneyLines=(u,s)=>{let{isDynamicProduct:n,dynamicPrice:p,dynamicDiscount:b,isEnableDynamicDiscount:r}=a(),L=e(),h=t(),{quantity:c}=l(),d=L*(c||1),m=i(d,!1),w=h?.price??0,S=w*(c||1),f=i(S,!1),g=o(d,2),y=i(S-parseFloat(g),!1),T=()=>{let e=[];return!1!==u.isShowSubTotalLabel&&e.push({title:s.subTotalLabel,money:n?p:f,uniqueId:"subTotalLabel"}),!1!==u.isShowDiscountLabel&&e.push({title:s.discountLabel,money:n&&b&&r?`${b.value}%`:L>0?m:"No discount",uniqueId:"discountLabel"}),!1!==u.isShowShippingLabel&&e.push({title:s.shippingLabel,uniqueId:"shippingLabel",tooltip:{content:"Shipping fee will be calculated on real offer page",width:"23em"}}),!1!==u.isShowTaxesLabel&&e.push({title:s.taxesLabel,uniqueId:"taxesLabel",tooltip:{content:"Taxes will be calculated on real offer page",width:"20em"}}),!1!==u.isShowTotalLabel&&e.push({title:s.totalLabel,money:n?p:y,uniqueId:"totalLabel"}),e};return{getMoneyLines:T}};export{useGetMoneyLines};
1
+ import{useProductOfferDiscount as e,useCurrentVariant as t,useQuantity as l,useFormatMoney as i,convertDecimalToNumber as o,shopifyPriceRounding as a}from"@gem-sdk/core";import{useDynamicProduct as u}from"./useDynamicProduct.js";let useGetMoneyLines=(s,n)=>{let{isDynamicProduct:p,dynamicPrice:b,dynamicDiscount:r,isEnableDynamicDiscount:L}=u(),h=e(),c=t(),{quantity:d}=l(),m=h*(d||1),w=i(m,!1),S=o(c?.price)??0,f=S*(d||1),g=i(f,!1),y=a(m,2),T=i(f-parseFloat(y),!1),q=()=>{let e=[];return!1!==s.isShowSubTotalLabel&&e.push({title:n.subTotalLabel,money:p?b:g,uniqueId:"subTotalLabel"}),!1!==s.isShowDiscountLabel&&e.push({title:n.discountLabel,money:p&&r&&L?`${r.value}%`:h>0?w:"No discount",uniqueId:"discountLabel"}),!1!==s.isShowShippingLabel&&e.push({title:n.shippingLabel,uniqueId:"shippingLabel",tooltip:{content:"Shipping fee will be calculated on real offer page",width:"23em"}}),!1!==s.isShowTaxesLabel&&e.push({title:n.taxesLabel,uniqueId:"taxesLabel",tooltip:{content:"Taxes will be calculated on real offer page",width:"20em"}}),!1!==s.isShowTotalLabel&&e.push({title:n.totalLabel,money:p?b:T,uniqueId:"totalLabel"}),e};return{getMoneyLines:q}};export{useGetMoneyLines};
@@ -5,4 +5,4 @@ let postPurchaseProduct1Col={id:"post-purchase-product-offer-1-col",name:{en:"Pr
5
5
  <rect x="31" y="31" width="34" height="7" rx="3" fill="#424242"/>
6
6
  <rect x="36" y="41" width="24" height="7" rx="3" fill="#424242"/>
7
7
  </svg>
8
- `},components:[{tag:"PostPurchaseProductOffer",settings:{layout:{desktop:{cols:[12],display:"fill"}}},advanced:{blockPadding:"none",inlinePadding:"none"},childrens:[{tag:"Col",childrens:[{tag:"PostPurchaseProductImages",settings:{layoutType:"bottom-center",ftDragToScroll:!0,ftNavigationPosition:{desktop:"inside"}},advanced:{blockPadding:"base"}}]},{tag:"Col",childrens:[{tag:"PostPurchaseProductTitle",advanced:{blockPadding:"base"}},{tag:"Row",settings:{layout:{desktop:{cols:[6,6],display:"fit"}},verticalAlign:{desktop:"center"}},styles:{columnGap:{desktop:"1%"}},advanced:{blockPadding:"base"},childrens:[{tag:"Col",childrens:[{tag:"PostPurchaseProductPrice",styles:{priceType:"regular"}}]},{tag:"Col",childrens:[{tag:"PostPurchaseProductPrice",styles:{priceType:"compare"}}]}]},{tag:"PostPurchaseProductDescription",advanced:{blockPadding:"base"}},{tag:"PostPurchaseProductVariants",advanced:{blockPadding:"base"}},{tag:"PostPurchaseProductQuantity",advanced:{blockPadding:"base"}},{tag:"Row",settings:{layout:{desktop:{cols:[6,6]},mobile:{cols:[12]}},verticalAlign:{desktop:"center"}},styles:{columnGap:{desktop:"1%"}},childrens:[{tag:"Col",childrens:[{tag:"PostPurchaseAcceptButton",advanced:{blockPadding:"base"},settings:{text:"Buy it now",buttonType:"primary"},styles:{fullWidth:{desktop:!0}}}]},{tag:"Col",childrens:[{tag:"PostPurchaseButton",advanced:{blockPadding:"base"},settings:{text:"Decline",buttonType:"secondary"},styles:{fullWidth:{desktop:!0}}}]}]}]}]}]};export{postPurchaseProduct1Col};
8
+ `},components:[{tag:"PostPurchaseProductOffer",settings:{layout:{desktop:{cols:[12],display:"fill"}}},advanced:{blockPadding:"none",inlinePadding:"none"},childrens:[{tag:"Col",childrens:[{tag:"PostPurchaseProductImages",settings:{layoutType:"bottom-center",ftDragToScroll:!0,ftNavigationPosition:{desktop:"inside"}},advanced:{blockPadding:"base"}}]},{tag:"Col",childrens:[{tag:"PostPurchaseProductTitle",advanced:{blockPadding:"base"}},{tag:"Row",settings:{layout:{desktop:{cols:[6,6],display:"fit"}},verticalAlign:{desktop:"center"}},styles:{columnGap:{desktop:"1%"}},advanced:{blockPadding:"base"},childrens:[{tag:"Col",childrens:[{tag:"PostPurchaseProductPrice",settings:{priceType:"offer"}}]},{tag:"Col",childrens:[{tag:"PostPurchaseProductPrice",settings:{priceType:"compare",source:"price"}}]}]},{tag:"PostPurchaseProductDescription",advanced:{blockPadding:"base"}},{tag:"PostPurchaseProductVariants",advanced:{blockPadding:"base"}},{tag:"PostPurchaseProductQuantity",advanced:{blockPadding:"base"}},{tag:"Row",settings:{layout:{desktop:{cols:[6,6]},mobile:{cols:[12]}},verticalAlign:{desktop:"center"}},styles:{columnGap:{desktop:"1%"}},childrens:[{tag:"Col",childrens:[{tag:"PostPurchaseAcceptButton",advanced:{blockPadding:"base"},settings:{text:"Buy it now",buttonType:"primary"},styles:{fullWidth:{desktop:!0}}}]},{tag:"Col",childrens:[{tag:"PostPurchaseButton",advanced:{blockPadding:"base"},settings:{text:"Decline",buttonType:"secondary"},styles:{fullWidth:{desktop:!0}}}]}]}]}]}]};export{postPurchaseProduct1Col};
@@ -8,4 +8,4 @@ let postPurchaseProduct2Col={id:"post-purchase-product-offer-2-col",name:{en:"Pr
8
8
  <rect x="64" width="28" height="7" rx="3" fill="#424242"/>
9
9
  <rect x="64" y="11" width="14" height="7" rx="3" fill="#424242"/>
10
10
  </svg>
11
- `},components:[{tag:"PostPurchaseProductOffer",settings:{layout:{desktop:{cols:[6,6],display:"fill"},mobile:{cols:[12]}}},styles:{columnGap:{desktop:"3%"}},advanced:{blockPadding:"none",inlinePadding:"none"},childrens:[{tag:"Col",childrens:[{tag:"PostPurchaseProductImages",settings:{layoutType:"left",ftDragToScroll:!0,ftNavigationPosition:{desktop:"inside"}},advanced:{blockPadding:"base"}}]},{tag:"Col",childrens:[{tag:"PostPurchaseProductTitle",advanced:{blockPadding:"base"}},{tag:"Row",settings:{layout:{desktop:{cols:[6,6],display:"fit"}},verticalAlign:{desktop:"center"}},styles:{columnGap:{desktop:"1%"}},advanced:{advanced:{blockPadding:"base"}},childrens:[{tag:"Col",childrens:[{tag:"PostPurchaseProductPrice",styles:{priceType:"regular"}}]},{tag:"Col",childrens:[{tag:"PostPurchaseProductPrice",styles:{priceType:"compare"}}]}]},{tag:"PostPurchaseProductDescription",advanced:{blockPadding:"base"}},{tag:"PostPurchaseProductVariants",advanced:{blockPadding:"base"}},{tag:"PostPurchaseProductQuantity",advanced:{blockPadding:"base"}},{tag:"Row",settings:{layout:{desktop:{cols:[6,6]},mobile:{cols:[12]}},verticalAlign:{desktop:"center"}},styles:{columnGap:{desktop:"1%"}},childrens:[{tag:"Col",childrens:[{tag:"PostPurchaseAcceptButton",advanced:{blockPadding:"base"},settings:{text:"Buy it now",buttonType:"primary"},styles:{fullWidth:{desktop:!0}}}]},{tag:"Col",childrens:[{tag:"PostPurchaseButton",advanced:{blockPadding:"base"},settings:{text:"Decline",buttonType:"secondary"},styles:{fullWidth:{desktop:!0}}}]}]}]}]}]};export{postPurchaseProduct2Col};
11
+ `},components:[{tag:"PostPurchaseProductOffer",settings:{layout:{desktop:{cols:[6,6],display:"fill"},mobile:{cols:[12]}}},styles:{columnGap:{desktop:"3%"}},advanced:{blockPadding:"none",inlinePadding:"none"},childrens:[{tag:"Col",childrens:[{tag:"PostPurchaseProductImages",settings:{layoutType:"left",ftDragToScroll:!0,ftNavigationPosition:{desktop:"inside"}},advanced:{blockPadding:"base"}}]},{tag:"Col",childrens:[{tag:"PostPurchaseProductTitle",advanced:{blockPadding:"base"}},{tag:"Row",settings:{layout:{desktop:{cols:[6,6],display:"fit"}},verticalAlign:{desktop:"center"}},styles:{columnGap:{desktop:"1%"}},advanced:{advanced:{blockPadding:"base"}},childrens:[{tag:"Col",childrens:[{tag:"PostPurchaseProductPrice",settings:{priceType:"offer"}}]},{tag:"Col",childrens:[{tag:"PostPurchaseProductPrice",settings:{priceType:"compare",source:"price"}}]}]},{tag:"PostPurchaseProductDescription",advanced:{blockPadding:"base"}},{tag:"PostPurchaseProductVariants",advanced:{blockPadding:"base"}},{tag:"PostPurchaseProductQuantity",advanced:{blockPadding:"base"}},{tag:"Row",settings:{layout:{desktop:{cols:[6,6]},mobile:{cols:[12]}},verticalAlign:{desktop:"center"}},styles:{columnGap:{desktop:"1%"}},childrens:[{tag:"Col",childrens:[{tag:"PostPurchaseAcceptButton",advanced:{blockPadding:"base"},settings:{text:"Buy it now",buttonType:"primary"},styles:{fullWidth:{desktop:!0}}}]},{tag:"Col",childrens:[{tag:"PostPurchaseButton",advanced:{blockPadding:"base"},settings:{text:"Decline",buttonType:"secondary"},styles:{fullWidth:{desktop:!0}}}]}]}]}]}]};export{postPurchaseProduct2Col};
@@ -9,4 +9,4 @@ let postPurchaseProductOfferDefault={id:"post-purchase-product-offer",name:{en:"
9
9
  <rect x="57" width="32" height="7" rx="3" fill="#424242"/>
10
10
  <rect x="57" y="11" width="18" height="7" rx="3" fill="#424242"/>
11
11
  </svg>
12
- `},components:[{tag:"PostPurchaseProductOffer",settings:{layout:{desktop:{cols:[6,6],display:"fill"},mobile:{cols:[12]}}},styles:{columnGap:{desktop:"3%"}},advanced:{blockPadding:"none",inlinePadding:"none"},childrens:[{tag:"Col",childrens:[{tag:"PostPurchaseProductImages",settings:{layoutType:"bottom-center",ftDragToScroll:!0,ftNavigationPosition:{desktop:"inside"}},advanced:{blockPadding:"base"}}]},{tag:"Col",childrens:[{tag:"PostPurchaseProductTitle",advanced:{blockPadding:"base"}},{tag:"Row",settings:{layout:{desktop:{cols:[6,6],display:"fit"}},verticalAlign:{desktop:"center"}},styles:{columnGap:{desktop:"1%"}},advanced:{blockPadding:"base"},childrens:[{tag:"Col",childrens:[{tag:"PostPurchaseProductPrice",styles:{priceType:"regular"}}]},{tag:"Col",childrens:[{tag:"PostPurchaseProductPrice",styles:{priceType:"compare",color:{normal:"text-1"}}}]}]},{tag:"PostPurchaseProductDescription",advanced:{blockPadding:"base"}},{tag:"PostPurchaseProductVariants",advanced:{blockPadding:"base"}},{tag:"PostPurchaseProductQuantity",advanced:{blockPadding:"base"}},{tag:"Row",settings:{layout:{desktop:{cols:[6,6]},mobile:{cols:[12]}},verticalAlign:{desktop:"center"}},styles:{columnGap:{desktop:"1%"}},childrens:[{tag:"Col",childrens:[{tag:"PostPurchaseAcceptButton",advanced:{blockPadding:"base"},settings:{text:"Buy it now",buttonType:"primary"},styles:{fullWidth:{desktop:!0}}}]},{tag:"Col",childrens:[{tag:"PostPurchaseButton",advanced:{blockPadding:"base"},settings:{text:"Decline",buttonType:"secondary"},styles:{fullWidth:{desktop:!0}}}]}]}]}]}]};export{postPurchaseProductOfferDefault};
12
+ `},components:[{tag:"PostPurchaseProductOffer",settings:{layout:{desktop:{cols:[6,6],display:"fill"},mobile:{cols:[12]}}},styles:{columnGap:{desktop:"3%"}},advanced:{blockPadding:"none",inlinePadding:"none"},childrens:[{tag:"Col",childrens:[{tag:"PostPurchaseProductImages",settings:{layoutType:"bottom-center",ftDragToScroll:!0,ftNavigationPosition:{desktop:"inside"}},advanced:{blockPadding:"base"}}]},{tag:"Col",childrens:[{tag:"PostPurchaseProductTitle",advanced:{blockPadding:"base"}},{tag:"Row",settings:{layout:{desktop:{cols:[6,6],display:"fit"}},verticalAlign:{desktop:"center"}},styles:{columnGap:{desktop:"1%"}},advanced:{blockPadding:"base"},childrens:[{tag:"Col",childrens:[{tag:"PostPurchaseProductPrice",settings:{priceType:"offer"}}]},{tag:"Col",childrens:[{tag:"PostPurchaseProductPrice",settings:{priceType:"compare",source:"price"},styles:{color:{normal:"text-1"}}}]}]},{tag:"PostPurchaseProductDescription",advanced:{blockPadding:"base"}},{tag:"PostPurchaseProductVariants",advanced:{blockPadding:"base"}},{tag:"PostPurchaseProductQuantity",advanced:{blockPadding:"base"}},{tag:"Row",settings:{layout:{desktop:{cols:[6,6]},mobile:{cols:[12]}},verticalAlign:{desktop:"center"}},styles:{columnGap:{desktop:"1%"}},childrens:[{tag:"Col",childrens:[{tag:"PostPurchaseAcceptButton",advanced:{blockPadding:"base"},settings:{text:"Buy it now",buttonType:"primary"},styles:{fullWidth:{desktop:!0}}}]},{tag:"Col",childrens:[{tag:"PostPurchaseButton",advanced:{blockPadding:"base"},settings:{text:"Decline",buttonType:"secondary"},styles:{fullWidth:{desktop:!0}}}]}]}]}]}]};export{postPurchaseProductOfferDefault};
@@ -1 +1 @@
1
- let settingV2=[{id:"setting",controls:[{id:"discountAndShippingFee",type:"discount-and-shipping-fee-product-offer",multiple:!1},{id:"message",label:"",type:"textarea",defaultRows:4,showPlusBtn:!0,autoHeight:!0,minHeight:72,default:"(Save {Discount})",suggestContents:[{message:"{Discount}",eg:"E.g: 50%"}]}]},{id:"style",controls:[{id:"width",type:"dropdown:input",label:"Width",inputType:"number",units:["px","%"],hideUnit:!1,devices:{desktop:{default:"100%"},tablet:{default:"100%"},mobile:{default:"100%"}},displayOptions:[{label:"Fit content",value:"Auto",showValue:!0},{label:"Full",value:"100%",showValue:!0}]},{id:"direction",label:"Direction",type:"option:value",options:[{label:"LTR",value:"ltr"},{label:"RTL",value:"rtl"}],default:"ltr"},{id:"typo",label:"Label",type:"typography-post-purchase",default:{fontSize:"default",textColor:"critical",fontWeight:"bold",textTransform:"none"}},{id:"textAlign",label:"Alignment",type:"option:value",options:[{label:"Left",value:"left",type:"text",tooltip:"Align left",iconName:"polaris-text-align-left"},{label:"Center",value:"center",type:"text",tooltip:"Align center",iconName:"polaris-text-align-center"},{label:"Right",value:"right",type:"text",tooltip:"Align right",iconName:"polaris-text-align-right"}],default:"left"},{id:"align",label:"Alignment",type:"option:value",options:[{label:"Left",value:"left",type:"align",tooltip:"Align left",iconName:"gp-align-left"},{label:"Center",value:"center",type:"align",tooltip:"Align center",iconName:"gp-align-center"},{label:"Right",value:"right",type:"align",tooltip:"Align right",iconName:"gp-align-right"}],default:"left"}]}];export{settingV2};
1
+ let settingV2=[{id:"setting",controls:[{id:"discountAndShippingFee",type:"discount-and-shipping-fee-product-offer",multiple:!1},{id:"message",label:"",type:"textarea",defaultRows:4,showPlusBtn:!0,autoHeight:!0,minHeight:72,default:"(Save {Offer_discount})",suggestContents:[{message:"{Offer_discount}",eg:"E.g: 50%"},{message:"{Shopify_percent_discount}",eg:"E.g: 20%"},{message:"{Shopify_amount_discount}",eg:"E.g: $400.00"}]}]},{id:"style",controls:[{id:"width",type:"dropdown:input",label:"Width",inputType:"number",units:["px","%"],hideUnit:!1,devices:{desktop:{default:"100%"},tablet:{default:"100%"},mobile:{default:"100%"}},displayOptions:[{label:"Fit content",value:"Auto",showValue:!0},{label:"Full",value:"100%",showValue:!0}]},{id:"direction",label:"Direction",type:"option:value",options:[{label:"LTR",value:"ltr"},{label:"RTL",value:"rtl"}],default:"ltr"},{id:"typo",label:"Label",type:"typography-post-purchase",default:{fontSize:"default",textColor:"critical",fontWeight:"bold",textTransform:"none"}},{id:"textAlign",label:"Alignment",type:"option:value",options:[{label:"Left",value:"left",type:"text",tooltip:"Align left",iconName:"polaris-text-align-left"},{label:"Center",value:"center",type:"text",tooltip:"Align center",iconName:"polaris-text-align-center"},{label:"Right",value:"right",type:"text",tooltip:"Align right",iconName:"polaris-text-align-right"}],default:"left"},{id:"align",label:"Alignment",type:"option:value",options:[{label:"Left",value:"left",type:"align",tooltip:"Align left",iconName:"gp-align-left"},{label:"Center",value:"center",type:"align",tooltip:"Align center",iconName:"gp-align-center"},{label:"Right",value:"right",type:"align",tooltip:"Align right",iconName:"gp-align-right"}],default:"left"}]}];export{settingV2};
@@ -1 +1 @@
1
- let settingV2=[{id:"setting",controls:[{id:"moneyWithCurrentFormat",type:"toggle"},{id:"discountAndShippingFee",type:"discount-and-shipping-fee-product-offer",multiple:!1}]},{id:"style",controls:[{id:"priceType",type:"option:value",options:[{label:"Original",value:"regular"},{label:"Compare",value:"compare"}],default:"regular"},{id:"lineThrough",type:"toggle",default:!0},{id:"textAlign",label:"Alignment",type:"option:value",options:[{label:"Left",value:"left",type:"align",tooltip:"Align left"},{label:"Center",value:"center",type:"align",tooltip:"Align center"},{label:"Right",value:"right",type:"align",tooltip:"Align right"}],default:"center"},{id:"typo",label:"Label",type:"typography-post-purchase",default:{fontSize:"medium",textColor:"default",fontWeight:"normal",textTransform:"none"}}]}];export{settingV2};
1
+ let settingV2=[{id:"setting",controls:[{id:"moneyWithCurrentFormat",type:"toggle"},{id:"discountAndShippingFee",type:"discount-and-shipping-fee-product-offer",multiple:!1},{id:"priceType",type:"option:value",options:[{label:"Offer",value:"offer"},{label:"Compare",value:"compare"}],default:"offer"},{id:"source",type:"select",options:[{label:"Price",value:"price"},{label:"Compare-at price",value:"compare-price"}],default:"price"}]},{id:"style",controls:[{id:"lineThrough",type:"toggle",default:!0},{id:"textAlign",label:"Alignment",type:"option:value",options:[{label:"Left",value:"left",type:"align",tooltip:"Align left"},{label:"Center",value:"center",type:"align",tooltip:"Align center"},{label:"Right",value:"right",type:"align",tooltip:"Align right"}],default:"center"},{id:"typo",label:"Label",type:"typography-post-purchase",default:{fontSize:"medium",textColor:"default",fontWeight:"normal",textTransform:"none"}}]}];export{settingV2};
@@ -1 +1 @@
1
- let SettingUIV2=[{controls:[{type:"control",label:{en:"Type"},options:{labelVariant:"primary"},setting:{id:"priceType"}}]},{label:{en:"Text"},controls:[{type:"control",label:{en:""},setting:{id:"typo"},layout:"vertical"}]}];export{SettingUIV2};
1
+ let SettingUIV2=[{label:{en:"Display"},controls:[{type:"control",label:{en:"Price"},setting:{id:"priceType"}},{type:"control",label:{en:"Source"},setting:{id:"source"},conditionDisplay:'priceType === "compare"'}]},{label:{en:"Text"},controls:[{type:"control",label:{en:""},setting:{id:"typo"},layout:"vertical"}]}];export{SettingUIV2};
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import{jsxs as e,jsx as m}from"react/jsx-runtime";import{useProduct as s,useCurrentVariant as o,useMoneyFormat as t,useCurrentDevice as r,useProductBundleDiscount as l,useEditorMode as i,usePageType as a,filterToolbarPreview as c}from"@gem-sdk/core";import{getBadgeContent as n,getIsNoDiscountState as d}from"./utils/common.js";import"./constants.js";import p from"../../../common/components/NoDataState.js";import f from"../../../common/components/TooltipHover.js";import{createClass as h,createStyle as y,createAttr as N,If as j}from"@gem-sdk/system";import{getEditTooltipAttrs as u,getNoDataAttrs as v,getSubWrapperAttrs as g,getContainerAttrs as T,getTextContentAttrs as k,getImageAttr as x}from"./common/attrs.js";import{getContainerClasses as B,getWrapperClasses as C,getSubWrapperClass as P,getTextContainerClasses as S,getTextWrapperClasses as b,getTextContentClasses as A,getImageContainerClasses as D,getImageClasses as H}from"./common/classes.js";import{getContainerStyle as I,getSubWrapperStyle as q,getContentStyleInternal as w,getTextBadgeWrapperStyles as z,getTextContentStyle as E,getImageContainerStyles as F}from"./common/styles.js";let ProductBadge=G=>{let{setting:J,styles:K,children:L,...M}=G,O=s(),Q=o(),{moneyFormat:R}=t(),U=r(),{useProductCompareAtPrice:V}=l(),W=M?.["bundle-item"],X=i(),Y="STATIC"===a(),Z=n({detail:O,currentVariant:Q,bundleItem:W,useProductCompareAtPrice:V},J?.displayContent,R),$=d({props:G,product:O,currentVariant:Q,moneyFormat:R,useProductCompareAtPrice:V}),_=h({...B({mode:X,isInstant:Y,product:O,currentVariant:Q,props:G})}),ee=y({...I(G)}),em=N({...u(G)}),es=N({...v(G)}),eo=h({...C(G)}),et=h({...P(G,U)}),er=y({...q(G,O,Q,X)}),el=N({...g(G,O)}),ei=w(G),ea=h({...S()}),ec=N({...T(G)}),en=h({...b()}),ed=y({...z({setting:J,styles:K})}),ep=h({...A(K)}),ef=y({...E({setting:J,styles:K})}),eh=N({...k()}),ey=h({...D()}),eN=y({...F({setting:J,styles:K})}),ej=h({...H()}),eu=N({...x({setting:J})});return O?e("div",{...ec,style:ee,className:_,children:[j("edit"===X&&$,m(f,{...em,children:m(p,{...es})}),m("div",{className:eo,children:e("div",{...el,className:et,style:er,children:[m("style",{children:ei}),j(J?.shape!=="image",m("div",{className:ea,children:m("div",{className:en,style:ed,children:m("pre",{...eh,className:ep,style:ef,children:Z})})}),m("div",{className:ey,style:eN,children:m("img",{...eu,className:ej,alt:""})}))]})})),c(L,!0)]}):null};export{ProductBadge as default};
2
+ import{jsxs as e,jsx as m}from"react/jsx-runtime";import{useProduct as s,useCurrentVariant as o,useMoneyFormat as t,useCurrentDevice as r,useProductBundleDiscount as l,useEditorMode as i,useRenderMode as a,usePageType as c,filterToolbarPreview as n}from"@gem-sdk/core";import{getBadgeContent as d,getIsNoDiscountState as p}from"./utils/common.js";import"./constants.js";import f from"../../../common/components/NoDataState.js";import h from"../../../common/components/TooltipHover.js";import{createClass as y,createStyle as N,createAttr as j,If as u}from"@gem-sdk/system";import{getEditTooltipAttrs as v,getNoDataAttrs as g,getSubWrapperAttrs as T,getContainerAttrs as k,getTextContentAttrs as x,getImageAttr as B}from"./common/attrs.js";import{getContainerClasses as C,getWrapperClasses as P,getSubWrapperClass as S,getTextContainerClasses as b,getTextWrapperClasses as A,getTextContentClasses as D,getImageContainerClasses as H,getImageClasses as I}from"./common/classes.js";import{getContainerStyle as q,getSubWrapperStyle as w,getContentStyleInternal as z,getTextBadgeWrapperStyles as E,getTextContentStyle as F,getImageContainerStyles as G}from"./common/styles.js";let ProductBadge=J=>{let{setting:K,styles:L,children:M,...O}=J,Q=s(),R=o(),{moneyFormat:U}=t(),V=r(),{useProductCompareAtPrice:W}=l(),X=O?.["bundle-item"],Y=i(),{isEditMode:Z}=a(),$="STATIC"===c(),_=d({detail:Q,currentVariant:R,bundleItem:X,useProductCompareAtPrice:W},K?.displayContent,U),ee=p({props:J,product:Q,currentVariant:R,moneyFormat:U,useProductCompareAtPrice:W}),em=y({...C({mode:Y,isInstant:$,product:Q,currentVariant:R,props:J})}),es=N({...q(J)}),eo=j({...v(J)}),et=j({...g(J)}),er=y({...P(J)}),el=y({...S(J,V)}),ei=N({...w({props:J,product:Q,currentVariant:R,isEditMode:Z})}),ea=j({...T(J,Q)}),ec=z(J),en=y({...b()}),ed=j({...k(J)}),ep=y({...A()}),ef=N({...E({setting:K,styles:L})}),eh=y({...D(L)}),ey=N({...F({setting:K,styles:L})}),eN=j({...x()}),ej=y({...H()}),eu=N({...G({setting:K,styles:L})}),ev=y({...I()}),eg=j({...B({setting:K})});return Q?e("div",{...ed,style:es,className:em,children:[u(Z&&ee,m(h,{...eo,children:m(f,{...et})}),m("div",{className:er,children:e("div",{...ea,className:el,style:ei,children:[m("style",{children:ec}),u(K?.shape!=="image",m("div",{className:en,children:m("div",{className:ep,style:ef,children:m("pre",{...eN,className:eh,style:ey,children:_})})}),m("div",{className:ej,style:eu,children:m("img",{...eg,className:ev,alt:""})}))]})})),n(M,!0)]}):null};export{ProductBadge as default};
@@ -1,39 +1,39 @@
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 n}from"../../../helpers.js";import{generateBadgeContent as o}from"./utils/generateLiquidContent.js";import{renderBadgeInFirstTime as p}from"./utils/renderBadgeLiquid.js";import{createClass as d,createStyle 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{getContainerClasses as D,getWrapperClasses as V,getSubWrapperClass as S,getTextContainerClasses as b,getTextWrapperClasses as I,getTextContentClasses as T,getImageContainerClasses as k,getImageClasses as q}from"./common/classes.js";import{getSubWrapperAttrs as A,getContainerAttrs as C,getTextContentAttrs as E,getImageAttr as K}from"./common/attrs.js";let ProductBadge=_=>{let{styles:h,setting:B,builderProps:L,pageContext:N}=_,O=B?.shape!=="image",Q=O&&B?.displayContent?.trim()==="",w=d({...D({isInstant:!1,props:_})}),G=l({...y(_,g)}),J=d({...V(_)}),x=d({...S(_)}),M=l({...$({props:_})}),R=u({...A(_)}),Y=v(_),z=d({...b()}),F=u({...C(_)}),H=d({...I()}),U=l({...f({setting:B,styles:h})}),W=d({...T(h)}),X=l({...j({setting:B,styles:h})}),Z=u({...E()}),ee=d({...k()}),et=l({...P({setting:B,styles:h})}),es=d({...q()}),ei=u({...K({setting:B})}),er=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(B?.displayTrigger).replaceAll("'","&#039;")),uid:_.builderProps?.uid,productCreatedAt:'{{product.created_at | date: "%Y-%m-%d" }}',productTags:"{{ product.tags | join: \",\" | replace: '\"', '\\\"' | escape }}",isTextBadge:O}),{displayContent:ea,translate:ec}=B??{},en=c({val:ea?.trim(),uid:L?.uid,settingId:"displayContent",isLiquid:!0,pageContext:N,translate:ec});return e`
2
2
  {% if product %}
3
- ${p(ec,L?.isPreviewing)}
4
- ${d(h?.displayTrigger,Q,O)}
3
+ ${o(en,N?.isPreviewing)}
4
+ ${p(B?.displayTrigger,!Q)}
5
5
  <gp-product-badge
6
- ${{...z}}
7
- gp-data='${s(ei)}'
8
- class="containerClass {{className}}"
9
- style="${w}"
10
- data-display-content="${L?.isPreviewing?ec:t(`{{${ec}}}`)}"
6
+ ${{...F}}
7
+ gp-data='${t(er)}'
8
+ class="${w}"
9
+ style="${G}"
10
+ data-display-content="${N?.isPreviewing?en:s(`{{${en}}}`)}"
11
11
  >
12
- <div class="${G}">
12
+ <div class="${J}">
13
13
  <div
14
- ${{...M}}
15
- class="${J}"
16
- style="${x}"
14
+ ${{...R}}
15
+ class="${x}"
16
+ style="${M}"
17
17
  >
18
- <style>${R}</style>
18
+ <style>${Y}</style>
19
19
  ${i(O,e`
20
- <div class="${Y}">
20
+ <div class="${z}">
21
21
  <div
22
- class="${F}"
23
- style="${H}"
22
+ class="${H}"
23
+ style="${U}"
24
24
  >
25
25
  <pre
26
- ${{...X}}
27
- class="${U}"
28
- style="${W}"
26
+ ${{...Z}}
27
+ class="${W}"
28
+ style="${X}"
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="${ee}" style="${et}">
32
+ <img ${{...ei}} class="${es}" alt="" />
33
33
  </div>`)}
34
34
  </div>
35
35
  </div>
36
36
  </gp-product-badge>
37
- ${i(r,`<script ${o('class="gps-link" delay',"src")}="{{ 'gp-product-badge-v7-5.js' | asset_url }}" defer="defer"></script>`,`<script ${o('class="gps-link" delay',"src")}="${a}/assets-v2/gp-product-badge-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}" defer="defer"></script>`)}
37
+ ${i(r,`<script ${n('class="gps-link" delay',"src")}="{{ 'gp-product-badge-v7-5.js' | asset_url }}" defer="defer"></script>`,`<script ${n('class="gps-link" delay',"src")}="${a}/assets-v2/gp-product-badge-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}" defer="defer"></script>`)}
38
38
  {% endif %}
39
39
  `};export{ProductBadge as default};
@@ -1 +1 @@
1
- import{composeClasses as e,composeTypographyClassName as t}from"@gem-sdk/core";import{toggleBadge as s}from"../utils/renderBadgeILP.js";import{getAlignShape as g,getShapePlacementClass as r}from"../utils/common.js";let getContainerClasses=({mode:t,isInstant:g,product:r,currentVariant:l,props:a})=>{let{setting:p,builderProps:i}=a,n="gp-shrink-0 product-badge ",o=!t&&g?s(p?.displayTrigger,r,l):"{{className}}",d=i?.builderData?.advanced?.cssClass||"";return o&&(n+=`${o} `),d&&(n+=`${d} `),i?.uid&&(n+=`${i?.uid} `),p?.positionWithImage==="inside"&&(n+="inside-image "),{...e(n)}},getTextContainerClasses=()=>({...e("gp-w-full gp-h-full gp-overflow-hidden product-badge-item")}),getTextWrapperClasses=()=>({...e("gp-w-full gp-h-full gp-flex gp-items-center gp-justify-center gp-overflow-hidden")}),getTextContentClasses=s=>{let g="gp-break-words gp-text-center ",r=t(s?.typo);return r&&(g+=`${r} `),{...e(g)}},getImageContainerClasses=()=>({...e("product-badge-item gp-w-full gp-h-full gp-overflow-hidden")}),getImageClasses=()=>({...e("gp-object-cover gp-w-full gp-h-full gp-pointer-events-none")}),getWrapperClasses=t=>{let{styles:s,setting:r}=t,{align:l}=s??{},a=r?.positionWithImage==="outside",p=a?"gp-flex ":"gp-h-full",i=g(l,!1);return a&&i&&(p+=`${i} `),{...e(p)}},getSubWrapperClass=(t,s)=>{let{setting:g,style:l}=t,a=g?.positionWithImage==="inside",p=!a&&s?r(a,l,s):"gp-h-full";return{...e(p)}};export{getContainerClasses,getImageClasses,getImageContainerClasses,getSubWrapperClass,getTextContainerClasses,getTextContentClasses,getTextWrapperClasses,getWrapperClasses};
1
+ import{composeClasses as e,composeTypographyClassName as t}from"@gem-sdk/core";import{toggleBadge as s}from"../utils/renderBadgeILP.js";import{getAlignShape as g,getShapePlacementClass as r}from"../utils/common.js";let getContainerClasses=({mode:t,isInstant:g,product:r,currentVariant:l,props:a})=>{let{setting:p,builderProps:i}=a,n="gp-shrink-0 product-badge ",o=!t&&g?s(p?.displayTrigger,r,l):`${i?.uid}`,d=i?.builderData?.advanced?.cssClass||"";return o&&(n+=`${o} `),d&&(n+=`${d} `),i?.uid&&(n+=`${i?.uid} `),p?.positionWithImage==="inside"&&(n+="inside-image "),{...e(n)}},getTextContainerClasses=()=>({...e("gp-w-full gp-h-full gp-overflow-hidden product-badge-item")}),getTextWrapperClasses=()=>({...e("gp-w-full gp-h-full gp-flex gp-items-center gp-justify-center gp-overflow-hidden")}),getTextContentClasses=s=>{let g="gp-break-words gp-text-center ",r=t(s?.typo);return r&&(g+=`${r} `),{...e(g)}},getImageContainerClasses=()=>({...e("product-badge-item gp-w-full gp-h-full gp-overflow-hidden")}),getImageClasses=()=>({...e("gp-object-cover gp-w-full gp-h-full gp-pointer-events-none")}),getWrapperClasses=t=>{let{styles:s,setting:r}=t,{align:l}=s??{},a=r?.positionWithImage==="outside",p=a?"gp-flex ":"gp-h-full",i=g(l,!1);return a&&i&&(p+=`${i} `),{...e(p)}},getSubWrapperClass=(t,s)=>{let{setting:g,style:l}=t,a=g?.positionWithImage==="inside",p=!a&&s?r(a,l,s):"gp-h-full";return{...e(p)}};export{getContainerClasses,getImageClasses,getImageContainerClasses,getSubWrapperClass,getTextContainerClasses,getTextContentClasses,getTextWrapperClasses,getWrapperClasses};
@@ -1 +1 @@
1
- import{makeGlobalSize as e,composeTypographyStyle as t,getStyleShadow as o}from"@gem-sdk/core";import{convertToStyle as r,getSize as i,getWrapperStyle as a,getShapeWrapperPadding as n,checkDiscountContentProductBadge as s}from"../utils/common.js";import{getShapePosition as p}from"../utils/getShapePosition.js";import{composeTextStyleByPosition as g,composeShapeStyleByPosition as l}from"../utils/getRotateShape.js";import{getStyleAdvanced as d}from"../utils/getStyleAdvanced.js";import{getWhiteSpaceStyle as u}from"../utils/getWhiteSpace.js";import{getStyleBackground as S,generateShadowCSS as y,getStyleBorder as m,getStyleCornerRadius as h}from"../utils/stylesV2.js";import{getShape as x}from"../utils/shape.js";import{checkShowBadge as c}from"../utils/renderBadgeILP.js";let getSizeStyles=e=>{let{setting:t,styles:o}=e,r=x(t?.shape),a=t?.contentType==="text",n=a?o?.textSizeV2:o?.imageSizeV2;return a?i(r,n):i(void 0,n)},getContainerStyle=(e,t=!1)=>{let{setting:o,styles:r,style:i,navigationPosition:n,imageData:s,dotData:g}=e,l=o?.positionWithImage==="outside",u=a(t),S=p({positionType:r?.position,isLiquid:!1,navigationPosition:n,dataImage:{...s,...g}}),y=getSizeStyles(e),m=d(l?{}:{...S,...y},i);return{...!l&&{"--pos":"absolute"},...u,...m}},getTextContentStyle=({styles:i,setting:a})=>{let n=e(i?.textSizeV2).padding,s=x(a?.shape),p=a?.positionWithImage==="outside";return{...u(i?.textSizeV2),...r(s?.textStyle),...g(s,i?.position,p),...t(i?.typo),...o({value:i?.typo?.custom?.textShadow,styleAppliedFor:"text-shadow",isEnableShadow:i?.typo?.custom?.hasShadowText}),...S(!!s?.backgroundColorInText,i?.badgeColorV2),...n}},getBorderStyles=({styles:e,setting:t})=>{let o=x(t?.shape),r=t?.contentType==="text";return o?.supportBorder?r?m(e?.textBadgeBorder):m(e?.imageBadgeBorder):{}},getCornerStyles=({styles:e,setting:t})=>{let o=x(t?.shape),r=t?.contentType==="text";return o?.supportCorner?r?h(e?.textBadgeCorner,o?.shapeRadius):h(e?.imageBadgeCorner,o?.shapeRadius):{}},getTextBadgeWrapperStyles=({styles:e,setting:t})=>{let o=x(t?.shape),r=getBorderStyles({setting:t,styles:e}),i=t?.positionWithImage==="outside",a=getCornerStyles({setting:t,styles:e}),s=n(o?.ratio);return{...r,...a,...l(o,e?.position,i),...S(!o?.backgroundColorInText,e?.badgeColorV2),...s,height:o?.ratio===1?"0px":"100%"}},getImageContainerStyles=({styles:t,setting:o})=>{let r=getBorderStyles({setting:o,styles:t}),i=getCornerStyles({setting:o,styles:t}),a=e(t?.imageSizeV2).padding;return{...r,...i,...a}},getOpacityProductBadge=(e,t,o,r)=>{let{"bundle-item":i,setting:a}=e;if(i)return 1;let n=s(a?.displayContent)&&a?.contentType==="text";if(!n)return 1;let p=t?.price??0,g=t?.salePrice??0,l=g-p>0,d=c(a?.displayTrigger,o,t);return l&&d?1:"edit"===r?.2:0},getSubWrapperStyle=(e,t,o,r)=>{let{setting:i}=e,a=i?.positionWithImage==="outside",n=getSizeStyles(e),s=r&&o?getOpacityProductBadge(e,o,t,r):1;return{...a?{...n,"--mb":0}:{},opacity:s}},getContentStyleInternal=e=>{let{styles:t,setting:o,builderProps:r}=e,i=o?.contentType==="text";return y(`[id="${r?.uid}"] .product-badge-item`,i?t?.textBadgeShadow:t?.imageBadgeShadow)};export{getContainerStyle,getContentStyleInternal,getImageContainerStyles,getSubWrapperStyle,getTextBadgeWrapperStyles,getTextContentStyle};
1
+ import{makeGlobalSize as e,composeTypographyStyle as t,getStyleShadow as o,convertDecimalToNumber as r}from"@gem-sdk/core";import{convertToStyle as i,getSize as a,getWrapperStyle as n,getShapeWrapperPadding as s}from"../utils/common.js";import{getShapePosition as p}from"../utils/getShapePosition.js";import{composeTextStyleByPosition as g,composeShapeStyleByPosition as l}from"../utils/getRotateShape.js";import{getStyleAdvanced as d}from"../utils/getStyleAdvanced.js";import{getWhiteSpaceStyle as u}from"../utils/getWhiteSpace.js";import{getStyleBackground as S,generateShadowCSS as m,getStyleBorder as y,getStyleCornerRadius as h}from"../utils/stylesV2.js";import{getShape as x}from"../utils/shape.js";import{checkShowBadge as c}from"../utils/renderBadgeILP.js";let getSizeStyles=e=>{let{setting:t,styles:o}=e,r=x(t?.shape),i=t?.contentType==="text",n=i?o?.textSizeV2:o?.imageSizeV2;return i?a(r,n):a(void 0,n)},getContainerStyle=(e,t=!1)=>{let{setting:o,styles:r,style:i,navigationPosition:a,imageData:s,dotData:g}=e,l=o?.positionWithImage==="outside",u=n(t),S=p({positionType:r?.position,isLiquid:!1,navigationPosition:a,dataImage:{...s,...g}}),m=getSizeStyles(e),y=d(l?{}:{...S,...m},i);return{...!l&&{"--pos":"absolute"},...u,...y}},getTextContentStyle=({styles:r,setting:a})=>{let n=e(r?.textSizeV2).padding,s=x(a?.shape),p=a?.positionWithImage==="outside";return{...u(r?.textSizeV2),...i(s?.textStyle),...g(s,r?.position,p),...t(r?.typo),...o({value:r?.typo?.custom?.textShadow,styleAppliedFor:"text-shadow",isEnableShadow:r?.typo?.custom?.hasShadowText}),...S(!!s?.backgroundColorInText,r?.badgeColorV2),...n}},getBorderStyles=({styles:e,setting:t})=>{let o=x(t?.shape),r=t?.contentType==="text";return o?.supportBorder?r?y(e?.textBadgeBorder):y(e?.imageBadgeBorder):{}},getCornerStyles=({styles:e,setting:t})=>{let o=x(t?.shape),r=t?.contentType==="text";return o?.supportCorner?r?h(e?.textBadgeCorner,o?.shapeRadius):h(e?.imageBadgeCorner,o?.shapeRadius):{}},getTextBadgeWrapperStyles=({styles:e,setting:t})=>{let o=x(t?.shape),r=getBorderStyles({setting:t,styles:e}),i=t?.positionWithImage==="outside",a=getCornerStyles({setting:t,styles:e}),n=s(o?.ratio);return{...r,...a,...l(o,e?.position,i),...S(!o?.backgroundColorInText,e?.badgeColorV2),...n,height:o?.ratio===1?"0px":"100%"}},getImageContainerStyles=({styles:t,setting:o})=>{let r=getBorderStyles({setting:o,styles:t}),i=getCornerStyles({setting:o,styles:t}),a=e(t?.imageSizeV2).padding;return{...r,...i,...a}},getOpacityProductBadge=({props:e,currentVariant:t,product:o,isEditMode:i})=>{let{"bundle-item":a,setting:n}=e;if(a)return 1;let s=n?.contentType==="text",p=s&&!n?.displayContent?.trim();if(p)return i?.2:0;let g=r(t?.price)??0,l=r(t?.salePrice)??0,d=l-g>0,u=c(n?.displayTrigger,o,t);return d&&u?1:i?.2:0},getSubWrapperStyle=({props:e,product:t,currentVariant:o,isEditMode:r})=>{let{setting:i}=e,a=i?.positionWithImage==="outside",n=getSizeStyles(e),s=r&&o?getOpacityProductBadge({props:e,currentVariant:o,product:t,isEditMode:r}):1;return{...a?{...n,"--mb":0}:{},opacity:s}},getContentStyleInternal=e=>{let{styles:t,setting:o,builderProps:r}=e,i=o?.contentType==="text";return m(`[id="${r?.uid}"] .product-badge-item`,i?t?.textBadgeShadow:t?.imageBadgeShadow)};export{getContainerStyle,getContentStyleInternal,getImageContainerStyles,getSubWrapperStyle,getTextBadgeWrapperStyles,getTextContentStyle};
@@ -1 +1 @@
1
- import{cls as e,formatMoney as t,makeStyleResponsive as r,getResponsiveValueByScreen as i}from"@gem-sdk/core";import{applyBundleDiscountAmount as n}from"../../../helpers/product-bundle.js";import{DiscountType as o}from"../../constants/product-bundle.js";let removeTrailingZeros=e=>e.replace(/\.00$/,""),getPriceDiffByPercent=(e,t)=>{if(!t)return"0";let r=1e3*t-1e3*e;return Math.round(100*r/(1e3*t))},getPriceDiffByValue=(e,r,i)=>removeTrailingZeros(t(r?(r-e).toFixed(2):"0",i)),getMinPrice=(e,r)=>{let i=e?.edges?.length&&e.edges.length>0?1/0:0;return e?.edges.forEach(({node:e})=>{if(!e)return;let t=e?.price;void 0!==t&&t<i&&(i=t)}),removeTrailingZeros(t(i.toString(),r))},checkNoDiscountState=(e,t)=>{let{discountPercentAmount:r}=n({currentVariant:e?.currentVariant,bundleItem:e?.bundleItem,options:{moneyFormat:t,useProductCompareAtPrice:e?.useProductCompareAtPrice}});return!(e?.bundleItem?.discountType===o.NoDiscount&&e?.useProductCompareAtPrice||Number(e?.bundleItem?.discountValue)&&r)&&!e?.currentVariant?.salePrice},getBadgeContent=(e,r,i)=>{if(!e.detail||!r?.trim()?.length)return r;let{detail:u,currentVariant:c}=e,{discountPercentAmount:l,discountAmount:a}=n({currentVariant:c,bundleItem:e?.bundleItem,options:{moneyFormat:i,useProductCompareAtPrice:e?.useProductCompareAtPrice}}),d=()=>e?.bundleItem?.discountType!==o.NoDiscount||e?.useProductCompareAtPrice?Number(e?.bundleItem?.discountValue)>0?`${l}%`:`${getPriceDiffByPercent(c?.price||0,c?.salePrice||0)||0}%`:"0%",s=()=>e?.bundleItem?.discountType!==o.NoDiscount||e?.useProductCompareAtPrice?Number(e?.bundleItem?.discountValue)>0?a:getPriceDiffByValue(c?.price||0,c?.salePrice||0,i):t("0",i),p=new Map([["{percent_discount}",d],["{amount_discount}",s],["{min_price}",()=>getMinPrice(u.variants,i)||0],["{inventory_quantity}",()=>c?.inventoryQuantity||0]]);return[...p.entries()].reduce((e,[t,r])=>e.replaceAll(t,r()),r)},checkDiscountContentProductBadge=e=>{if(!e)return!1;let t=/\{percent_discount\}|\{amount_discount\}/;return t.test(e)},getShapePlacementClass=(e,t,r="desktop")=>e?t?.[`--pos${deviceWithSurfix(r)}`]?"w-full h-full":"!gp-absolute":t?.[`--d${deviceWithSurfix(r)}`]?"":"!gp-inline-block gp-w-fit",getAlignShape=(t,r)=>r?"":e("gp-flex",{"gp-justify-start":t?.desktop==="left","gp-justify-center":t?.desktop==="center","gp-justify-end":t?.desktop==="right","tablet:gp-justify-start":t?.tablet==="left","tablet:gp-justify-center":t?.tablet==="center","tablet:gp-justify-end":t?.tablet==="right","mobile:gp-justify-start":t?.mobile==="left","mobile:gp-justify-center":t?.mobile==="center","mobile:gp-justify-end":t?.mobile==="right"}),convertToStyle=e=>Object.entries(e||{}).reduce((e,[t,r])=>{let i=new Map([["clipPath","clip-path"],["writingMode","writing-mode"],["borderRadius","border-radius"],["transform","transform"],["alignItems","align-items"],["maxWidth","max-width"]]),n=i.get(t)||t;return{...e,[n]:r}},{}),getWrapperStyle=e=>({[e?"z-index":"zIndex"]:2}),getWidthByShapeSize=(e,t)=>{let r={},n=["desktop","mobile","tablet"];return n.forEach(n=>{let o=i(e,n,null),u=o?.width||t?.wrapperWidth;u&&(r={...r,[n]:u})}),r},getHeightByShapeSize=(e,t)=>{let r={},n=["desktop","mobile","tablet"];return n.forEach(n=>{let o=i(e,n,null);r={...r,[n]:o?.height||t?.wrapperHeight}}),r},getSize=(e,t)=>{let i=r("w",getWidthByShapeSize(t,e)),n=r("h",getHeightByShapeSize(t,e));return{...i,...n}},getShapeWrapperPadding=e=>{let t={};if(1!==e)return t;let r=["desktop","mobile","tablet"];return r.forEach(e=>{t={...t,height:0,[`--p${"desktop"!==e?`-${e}`:""}`]:"50% 0"}}),t},deviceWithSurfix=e=>"desktop"===e?"":`-${e}`,getDeviceSpecificStyle=(e,t)=>{for(let r of({desktop:["desktop"],tablet:["tablet","desktop"],mobile:["mobile","tablet","desktop"]})[t])if(e?.[r])return e[r]},getIsNoDiscountState=({props:e,product:t,currentVariant:r,moneyFormat:i,useProductCompareAtPrice:n})=>{let{setting:o,"bundle-item":u}=e,c=checkDiscountContentProductBadge(o?.displayContent);return c&&checkNoDiscountState({detail:t,currentVariant:r,bundleItem:u,useProductCompareAtPrice:n},i)};export{checkDiscountContentProductBadge,checkNoDiscountState,convertToStyle,deviceWithSurfix,getAlignShape,getBadgeContent,getDeviceSpecificStyle,getIsNoDiscountState,getShapePlacementClass,getShapeWrapperPadding,getSize,getWidthByShapeSize,getWrapperStyle};
1
+ import{cls as e,convertDecimalToNumber as t,formatMoney as r,makeStyleResponsive as i,getResponsiveValueByScreen as n}from"@gem-sdk/core";import{applyBundleDiscountAmount as o}from"../../../helpers/product-bundle.js";import{DiscountType as u}from"../../constants/product-bundle.js";let removeTrailingZeros=e=>e.replace(/\.00$/,""),getPriceDiffByPercent=(e,t)=>{if(!t)return"0";let r=1e3*t-1e3*e;return Math.round(100*r/(1e3*t))},getPriceDiffByValue=(e,t,i)=>removeTrailingZeros(r(t?(t-e).toFixed(2):"0",i)),getMinPrice=(e,i)=>{let n=e?.edges?.length&&e.edges.length>0?1/0:0;return e?.edges.forEach(({node:e})=>{if(!e)return;let r=t(e?.price);void 0!==r&&r<n&&(n=r)}),removeTrailingZeros(r(n.toString(),i))},checkNoDiscountState=(e,t)=>{let{discountPercentAmount:r}=o({currentVariant:e?.currentVariant,bundleItem:e?.bundleItem,options:{moneyFormat:t,useProductCompareAtPrice:e?.useProductCompareAtPrice}});return!(e?.bundleItem?.discountType===u.NoDiscount&&e?.useProductCompareAtPrice||Number(e?.bundleItem?.discountValue)&&r)&&!e?.currentVariant?.salePrice},getBadgeContent=(e,i,n)=>{if(!e.detail||!i?.trim()?.length)return i;let{detail:c,currentVariant:l}=e,{discountPercentAmount:a,discountAmount:d}=o({currentVariant:l,bundleItem:e?.bundleItem,options:{moneyFormat:n,useProductCompareAtPrice:e?.useProductCompareAtPrice}}),s=()=>e?.bundleItem?.discountType!==u.NoDiscount||e?.useProductCompareAtPrice?Number(e?.bundleItem?.discountValue)>0?`${a}%`:`${getPriceDiffByPercent(t(l?.price)??0,t(l?.salePrice)??0)||0}%`:"0%",p=()=>e?.bundleItem?.discountType!==u.NoDiscount||e?.useProductCompareAtPrice?Number(e?.bundleItem?.discountValue)>0?d:getPriceDiffByValue(t(l?.price)??0,t(l?.salePrice)??0,n):r("0",n),g=new Map([["{percent_discount}",s],["{amount_discount}",p],["{min_price}",()=>getMinPrice(c.variants,n)||0],["{inventory_quantity}",()=>l?.inventoryQuantity||0]]);return[...g.entries()].reduce((e,[t,r])=>e.replaceAll(t,r()),i)},checkDiscountContentProductBadge=e=>{if(!e)return!1;let t=/\{percent_discount\}|\{amount_discount\}/;return t.test(e)},getShapePlacementClass=(e,t,r="desktop")=>e?t?.[`--pos${deviceWithSurfix(r)}`]?"w-full h-full":"!gp-absolute":t?.[`--d${deviceWithSurfix(r)}`]?"":"!gp-inline-block gp-w-fit",getAlignShape=(t,r)=>r?"":e("gp-flex",{"gp-justify-start":t?.desktop==="left","gp-justify-center":t?.desktop==="center","gp-justify-end":t?.desktop==="right","tablet:gp-justify-start":t?.tablet==="left","tablet:gp-justify-center":t?.tablet==="center","tablet:gp-justify-end":t?.tablet==="right","mobile:gp-justify-start":t?.mobile==="left","mobile:gp-justify-center":t?.mobile==="center","mobile:gp-justify-end":t?.mobile==="right"}),convertToStyle=e=>Object.entries(e||{}).reduce((e,[t,r])=>{let i=new Map([["clipPath","clip-path"],["writingMode","writing-mode"],["borderRadius","border-radius"],["transform","transform"],["alignItems","align-items"],["maxWidth","max-width"]]),n=i.get(t)||t;return{...e,[n]:r}},{}),getWrapperStyle=e=>({[e?"z-index":"zIndex"]:2}),getWidthByShapeSize=(e,t)=>{let r={},i=["desktop","mobile","tablet"];return i.forEach(i=>{let o=n(e,i,null),u=o?.width||t?.wrapperWidth;u&&(r={...r,[i]:u})}),r},getHeightByShapeSize=(e,t)=>{let r={},i=["desktop","mobile","tablet"];return i.forEach(i=>{let o=n(e,i,null);r={...r,[i]:o?.height||t?.wrapperHeight}}),r},getSize=(e,t)=>{let r=i("w",getWidthByShapeSize(t,e)),n=i("h",getHeightByShapeSize(t,e));return{...r,...n}},getShapeWrapperPadding=e=>{let t={};if(1!==e)return t;let r=["desktop","mobile","tablet"];return r.forEach(e=>{t={...t,height:0,[`--p${"desktop"!==e?`-${e}`:""}`]:"50% 0"}}),t},deviceWithSurfix=e=>"desktop"===e?"":`-${e}`,getDeviceSpecificStyle=(e,t)=>{for(let r of({desktop:["desktop"],tablet:["tablet","desktop"],mobile:["mobile","tablet","desktop"]})[t])if(e?.[r])return e[r]},getIsNoDiscountState=({props:e,product:t,currentVariant:r,moneyFormat:i,useProductCompareAtPrice:n})=>{let{setting:o,"bundle-item":u}=e,c=checkDiscountContentProductBadge(o?.displayContent);return c&&checkNoDiscountState({detail:t,currentVariant:r,bundleItem:u,useProductCompareAtPrice:n},i)};export{checkDiscountContentProductBadge,checkNoDiscountState,convertToStyle,deviceWithSurfix,getAlignShape,getBadgeContent,getDeviceSpecificStyle,getIsNoDiscountState,getShapePlacementClass,getShapeWrapperPadding,getSize,getWidthByShapeSize,getWrapperStyle};
@@ -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 +1 @@
1
- import{useRenderMode as e,useProduct as t,useCurrency as r,useQuantity as i,useProductProperties as s,useCurrentVariant as n,useHasPreSelected as o,useStickyStore as a,useProductStore as u,useCreateCart as l,useAddToCart as c,useCurrentVariantInStock as m}from"@gem-sdk/core";import{useRef as b,useEffect as d,useCallback as f}from"react";import{addToCartTracking as p}from"../../../helpers/tracking.js";import{useDispatchAfterSubmitEvent as v}from"./useDispatchAfterSubmitEvent.js";import{useCartMessage as g}from"./useCartMessage.js";import{useCartOperations as I}from"./useCartOperations.js";let useBtnAddToCart=({styles:k,setting:D,builderProps:S})=>{let E=b(null),{isEditMode:h,isPreviewSharePageMode:j}=e(),y=t(),{currency:C}=r(),{quantity:A}=i(),M=s(),O=n(),{hasPreSelected:w}=o(),B=a(e=>e.setStickyVisible),T=u(e=>e.updateIsSubmit),q=v(S?.uid),{showMessage:x,notiComponent:L}=g(k,D),{handleSuccess:U,handleError:V,cartId:z}=I(D,x,q),{isMutating:F,trigger:G}=l({onSuccess:U,onError:V}),{isMutating:H,trigger:J}=c({onSuccess:U,onError:V});d(()=>{let e=new IntersectionObserver(e=>{let t=e[0];B(t?.isIntersecting)},{threshold:.1}),t=E.current;return E.current&&e.observe(E.current),()=>{t&&e.unobserve(t)}},[B]);let K=f(()=>{if(!O?.baseID||!A||!y?.baseID||void 0!==w&&!w||h||j)return;let e=M?.some(e=>e.required&&!e.value);if(T(!0),e)return;let t=M?.filter(e=>!!e.value)?.map(e=>({key:e.key,value:e.value}));p({quantity:A,currency:C,id:y?.baseID,name:y?.title,brand:y?.vendor,sku:O.sku,price:O?.price,variant:O.title});let r={quantity:A,attributes:t,variantId:O.baseID};D?.actionEffect!=="buy-now"&&z?J({cartId:z,lines:[r]}):G({items:[r]})},[h,j,z,C,A,M,w,y?.title,y?.vendor,y?.baseID,O?.sku,O?.price,O?.title,O?.baseID,D?.actionEffect,G,J,T]),N=m(),P=F||H,Q=O?D?.outOfStockLabel:"Unavailable";return{addToCartRef:E,isLoading:P,isInStock:N,notiComponent:L,outOfStockLabel:Q,addToCart:K}};export{useBtnAddToCart};
1
+ import{useRenderMode as e,useProduct as t,useCurrency as r,useQuantity as i,useProductProperties as s,useCurrentVariant as n,useHasPreSelected as o,useStickyStore as a,useProductStore as u,useCreateCart as l,useAddToCart as c,convertDecimalToNumber as m,useCurrentVariantInStock as b}from"@gem-sdk/core";import{useRef as d,useEffect as f,useCallback as p}from"react";import{addToCartTracking as v}from"../../../helpers/tracking.js";import{useDispatchAfterSubmitEvent as g}from"./useDispatchAfterSubmitEvent.js";import{useCartMessage as I}from"./useCartMessage.js";import{useCartOperations as k}from"./useCartOperations.js";let useBtnAddToCart=({styles:D,setting:S,builderProps:E})=>{let h=d(null),{isEditMode:j,isPreviewSharePageMode:y}=e(),C=t(),{currency:A}=r(),{quantity:M}=i(),O=s(),w=n(),{hasPreSelected:B}=o(),T=a(e=>e.setStickyVisible),q=u(e=>e.updateIsSubmit),x=g(E?.uid),{showMessage:L,notiComponent:U}=I(D,S),{handleSuccess:V,handleError:z,cartId:F}=k(S,L,x),{isMutating:G,trigger:H}=l({onSuccess:V,onError:z}),{isMutating:J,trigger:K}=c({onSuccess:V,onError:z});f(()=>{let e=new IntersectionObserver(e=>{let t=e[0];T(t?.isIntersecting)},{threshold:.1}),t=h.current;return h.current&&e.observe(h.current),()=>{t&&e.unobserve(t)}},[T]);let N=p(()=>{if(!w?.baseID||!M||!C?.baseID||void 0!==B&&!B||j||y)return;let e=O?.some(e=>e.required&&!e.value);if(q(!0),e)return;let t=O?.filter(e=>!!e.value)?.map(e=>({key:e.key,value:e.value}));v({quantity:M,currency:A,id:C?.baseID,name:C?.title,brand:C?.vendor,sku:w.sku,price:m(w?.price),variant:w.title});let r={quantity:M,attributes:t,variantId:w.baseID};S?.actionEffect!=="buy-now"&&F?K({cartId:F,lines:[r]}):H({items:[r]})},[j,y,F,A,M,O,B,C?.title,C?.vendor,C?.baseID,w?.sku,w?.price,w?.title,w?.baseID,S?.actionEffect,H,K,q]),P=b(),Q=G||J,R=w?S?.outOfStockLabel:"Unavailable";return{addToCartRef:h,isLoading:Q,isInStock:P,notiComponent:U,outOfStockLabel:R,addToCart:N}};export{useBtnAddToCart};
@@ -1 +1 @@
1
- import{useMoneyFormat as e,useEditorMode as t,useProduct as r,useCurrentVariant as n,useQuantity as o,useFormatMoney as u,useProductBundleDiscount as i,formatMoney as p}from"@gem-sdk/core";import{useMemo as c}from"react";import{applyBundleDiscountAmount as s}from"../../../helpers/product-bundle.js";import{DiscountType as a}from"../../constants/product-bundle.js";let useGpDiscountTag=m=>{let{setting:l,...d}=m,{customContent:g}=l??{},f=d["bundle-item"],{moneyFormat:b}=e(),h=t(),D=r(),$=n(),{quantity:j,hasUpdatePrice:y}=o(),G=c(()=>y&&g?.unit!=="percentage"?j??1:1,[y,g?.unit,j]),P=$?.price??0,T=$?.salePrice??0,k=(T-P)*G,x=u(k<0?0:k,l?.moneyWithCurrentFormat||!1),C=c(()=>{if(!T&&0!==T||!P&&0!==P)return`${g?.unit==="percentage"?"0%":x}`;if(g?.unit==="percentage"){let e=Math.round(k/(T/100));return`${e<0?0:e}%`}return`${x}`},[g?.unit,x,P,k,T]),{useProductCompareAtPrice:F}=i(),{discountPercentAmount:I}=s({currentVariant:$,bundleItem:f,options:{moneyFormat:b,useProductCompareAtPrice:F}}),M=c(()=>{if(!f)return 0;let{discountPercentAmount:e,discountAmount:t}=s({currentVariant:$,bundleItem:f,options:{moneyFormat:b,useProductCompareAtPrice:F}}),{discountType:r}=f,{unit:n}=g||{};return r!==a.NoDiscount||F?"percentage"===n?`${e}%`:t:"percentage"===n?"0%":p("0",b)},[f,$,b,F,g]),N=c(()=>f?M:C,[M,f,C]),W=D?.baseID?.replace("gid://shopify/Product/",""),q=c(()=>{let e=f?I<=0:k<=0;return"edit"===h&&e},[f,I,h,k]);return{mode:h,product:D,salePrice:T,priceSave:k,currentProductId:W,unitCustomDisplay:N,shouldPlaceholderNoDiscount:q}};export{useGpDiscountTag};
1
+ import{useMoneyFormat as e,useEditorMode as t,useProduct as r,useCurrentVariant as n,useQuantity as o,convertDecimalToNumber as u,useFormatMoney as i,useProductBundleDiscount as p,formatMoney as c}from"@gem-sdk/core";import{useMemo as s}from"react";import{applyBundleDiscountAmount as a}from"../../../helpers/product-bundle.js";import{DiscountType as m}from"../../constants/product-bundle.js";let useGpDiscountTag=l=>{let{setting:d,...g}=l,{customContent:f}=d??{},b=g["bundle-item"],{moneyFormat:h}=e(),D=t(),$=r(),j=n(),{quantity:y,hasUpdatePrice:G}=o(),P=s(()=>G&&f?.unit!=="percentage"?y??1:1,[G,f?.unit,y]),T=u(j?.price)??0,k=u(j?.salePrice)??0,x=(k-T)*P,C=i(x<0?0:x,d?.moneyWithCurrentFormat||!1),F=s(()=>{if(!k&&0!==k||!T&&0!==T)return`${f?.unit==="percentage"?"0%":C}`;if(f?.unit==="percentage"){let e=Math.round(x/(k/100));return`${e<0?0:e}%`}return`${C}`},[f?.unit,C,T,x,k]),{useProductCompareAtPrice:I}=p(),{discountPercentAmount:M}=a({currentVariant:j,bundleItem:b,options:{moneyFormat:h,useProductCompareAtPrice:I}}),N=s(()=>{if(!b)return 0;let{discountPercentAmount:e,discountAmount:t}=a({currentVariant:j,bundleItem:b,options:{moneyFormat:h,useProductCompareAtPrice:I}}),{discountType:r}=b,{unit:n}=f||{};return r!==m.NoDiscount||I?"percentage"===n?`${e}%`:t:"percentage"===n?"0%":c("0",h)},[b,j,h,I,f]),W=s(()=>b?N:F,[N,b,F]),q=$?.baseID?.replace("gid://shopify/Product/",""),v=s(()=>{let e=b?M<=0:x<=0;return"edit"===D&&e},[b,M,D,x]);return{mode:D,product:$,salePrice:k,priceSave:x,currentProductId:q,unitCustomDisplay:W,shouldPlaceholderNoDiscount:v}};export{useGpDiscountTag};