@gem-sdk/components 3.1.17 → 4.0.0-staging.1154

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 (66) hide show
  1. package/dist/cjs/article/components/ArticleImage.js +1 -1
  2. package/dist/cjs/article/components/ArticleImage.liquid.js +4 -4
  3. package/dist/cjs/button/common/helpers.js +1 -1
  4. package/dist/cjs/dialog/common/classes.js +1 -1
  5. package/dist/cjs/dialog/common/helpers.js +1 -1
  6. package/dist/cjs/dialog/components/Dialog.js +1 -1
  7. package/dist/cjs/dialog/components/Dialog.liquid.js +1 -1
  8. package/dist/cjs/dialog/settings/configs/settings.js +1 -1
  9. package/dist/cjs/grid/components/row/common/classes.js +1 -1
  10. package/dist/cjs/helpers.js +1 -1
  11. package/dist/cjs/hero-banner/common/classes.js +1 -1
  12. package/dist/cjs/hero-banner/common/helpers.js +1 -1
  13. package/dist/cjs/hero-banner/common/styles.js +1 -1
  14. package/dist/cjs/hero-banner/components/HeroBanner.liquid.js +7 -7
  15. package/dist/cjs/hero-banner/settings/configs/settings.js +1 -1
  16. package/dist/cjs/image/common/attrs.js +1 -1
  17. package/dist/cjs/index.js +1 -1
  18. package/dist/cjs/product/components/dynamic-checkout/Button.liquid.js +2 -2
  19. package/dist/cjs/product/components/product-badge/ProductBadge.liquid.js +1 -1
  20. package/dist/cjs/product/components/product-badge/utils/generateLiquidContent.js +2 -2
  21. package/dist/cjs/product/components/product-description/hooks/useGpDescription.js +1 -1
  22. package/dist/cjs/product/components/product-quantity/common/classes.js +1 -1
  23. package/dist/cjs/third-party/components/JudgemeReviews.liquid.js +2 -2
  24. package/dist/cjs/third-party/components/KoalaBundleQuantityDiscount.liquid.js +1 -8
  25. package/dist/cjs/third-party/components/ParcelPanel.liquid.js +1 -9
  26. package/dist/cjs/third-party/components/SmartSearchBarAndFilters.liquid.js +2 -0
  27. package/dist/cjs/third-party/components/Trustoo.liquid.js +11 -5
  28. package/dist/cjs/third-party/settings/KoalaBundleQuantityDiscount/index.js +1 -1
  29. package/dist/cjs/third-party/settings/ParcelPanel/index.js +1 -1
  30. package/dist/cjs/third-party/settings/ParcelPanel/uiV2.js +1 -1
  31. package/dist/cjs/video/components/LiteVimeoEmbed.liquid.js +6 -6
  32. package/dist/esm/article/components/ArticleImage.js +1 -1
  33. package/dist/esm/article/components/ArticleImage.liquid.js +4 -4
  34. package/dist/esm/button/common/helpers.js +1 -1
  35. package/dist/esm/dialog/common/classes.js +1 -1
  36. package/dist/esm/dialog/common/helpers.js +1 -1
  37. package/dist/esm/dialog/components/Dialog.js +1 -1
  38. package/dist/esm/dialog/components/Dialog.liquid.js +1 -1
  39. package/dist/esm/dialog/settings/configs/settings.js +1 -1
  40. package/dist/esm/grid/components/row/common/classes.js +1 -1
  41. package/dist/esm/helpers.js +1 -1
  42. package/dist/esm/hero-banner/common/classes.js +1 -1
  43. package/dist/esm/hero-banner/common/helpers.js +1 -1
  44. package/dist/esm/hero-banner/common/styles.js +1 -1
  45. package/dist/esm/hero-banner/components/HeroBanner.liquid.js +10 -10
  46. package/dist/esm/hero-banner/settings/configs/settings.js +1 -1
  47. package/dist/esm/image/common/attrs.js +1 -1
  48. package/dist/esm/index.js +1 -1
  49. package/dist/esm/product/components/dynamic-checkout/Button.liquid.js +4 -4
  50. package/dist/esm/product/components/product-badge/ProductBadge.liquid.js +5 -5
  51. package/dist/esm/product/components/product-badge/utils/generateLiquidContent.js +2 -2
  52. package/dist/esm/product/components/product-description/hooks/useGpDescription.js +1 -1
  53. package/dist/esm/product/components/product-quantity/common/classes.js +1 -1
  54. package/dist/esm/third-party/components/JudgemeReviews.liquid.js +2 -2
  55. package/dist/esm/third-party/components/KoalaBundleQuantityDiscount.liquid.js +1 -8
  56. package/dist/esm/third-party/components/ParcelPanel.liquid.js +1 -9
  57. package/dist/esm/third-party/components/SmartSearchBarAndFilters.liquid.js +2 -0
  58. package/dist/esm/third-party/components/Trustoo.liquid.js +7 -1
  59. package/dist/esm/third-party/settings/KoalaBundleQuantityDiscount/index.js +2 -2
  60. package/dist/esm/third-party/settings/ParcelPanel/index.js +1 -1
  61. package/dist/esm/third-party/settings/ParcelPanel/uiV2.js +1 -1
  62. package/dist/esm/video/components/LiteVimeoEmbed.liquid.js +5 -5
  63. package/dist/types/index.d.ts +8 -1
  64. package/package.json +4 -4
  65. package/dist/cjs/product/components/dynamic-checkout/common/helper.js +0 -1
  66. package/dist/esm/product/components/dynamic-checkout/common/helper.js +0 -1
@@ -1,4 +1,4 @@
1
- import{template as s,RenderIf as l,isLocalEnv as a,baseAssetURL as e}from"@gem-sdk/core";import{createStateOrContext as t,createAttr as i,createStyle as o,createClass as r,If as d}from"@gem-sdk/system";import{getAttr as $,getAttrContainer as p,getAttrOverlay as c,getAttrClose as g}from"../common/attrs.js";import{getWrapperStyle as m,getContainStyle as n,getBackdropStyle as v,getOverlayStyle as f,getDialogContentStyle as y,getButtonContentStyle as u,getSvgContentStyle as b,getBodyContentStyle as S}from"../common/styles.js";import{getContainClasses as j,getBackdropClasses as L,getOverlayClasses as h,getDialogContentClasses as E,getHeadContentClasses as D,getButtonContentClasses as k,getSvgContentClasses as x,getBodyContentClasses as C}from"../common/classes.js";import{getSettingPreloadData as I}from"../../helpers.js";let Dialog=z=>{let{setting:A,children:B,builderProps:G,style:M,advanced:N,builderAttrs:O}=z,P=N?.d,{frequency:_=3,triggerPercentage:w=0,trigger:J,triggerTime:R,frequencyMode:T="once",mobileTrigger:V,mobileTriggerTime:q,closeOnClickOutside:F}=A??{},{name:H,fullScreen:K,width:Q,height:U,position:W,overlayColor:X,overlayOpacity:Y,iconSize:Z,closeButtonPosition:ss,iconSvg:sl}=A??{},sa=A?.dialogId??G?.uid,se=t({dialogId:sa,trigger:J,triggerTime:R,frequency:_,triggerPercentage:w,mobileTrigger:V,mobileTriggerTime:q,closeOnClickOutside:F,frequencyMode:T,display:P}),st=i({...$({uid:G?.uid||""})}),si=o({...m(P)}),so=r({...j(N?.cssClass)}),sr=i({...p({uid:sa||""})}),sd=o({...n()}),s$=r({...L(W)}),sp=o({...v(M)}),sc=i({...c()}),sg=r({...h()}),sm=o({...f(Y,X,M)}),sn=o({...y({style:M,width:Q,height:U,fullScreen:K})}),sv=r({...E({setting:A,enableEffect:!0,isILP:!1})}),sf=i({...g()}),sy=r({...D()}),su=o({...u(A)}),sb=r({...k(ss)}),sS=o({...b(Z)}),sj=r({...x()}),sL=o({...S(A,M)}),sh=r({...C()}),sE=()=>l(a,'<script src="{{ \'gp-dialog-v7-5.js\' | asset_url }}" defer="defer"></script>',`<script src="${e}/assets-v2/gp-dialog-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}" defer="defer"></script>`);return s`
1
+ import{template as s,RenderIf as l,isLocalEnv as a,baseAssetURL as e}from"@gem-sdk/core";import{createStateOrContext as t,createAttr as i,createStyle as o,createClass as r,If as d}from"@gem-sdk/system";import{getAttr as $,getAttrContainer as p,getAttrOverlay as c,getAttrClose as g}from"../common/attrs.js";import{getWrapperStyle as m,getContainStyle as n,getBackdropStyle as v,getOverlayStyle as f,getDialogContentStyle as y,getButtonContentStyle as u,getSvgContentStyle as b,getBodyContentStyle as S}from"../common/styles.js";import{getContainClasses as j,getBackdropClasses as L,getOverlayClasses as h,getDialogContentClasses as E,getHeadContentClasses as D,getButtonContentClasses as k,getSvgContentClasses as x,getBodyContentClasses as C}from"../common/classes.js";import{getSettingPreloadData as I}from"../../helpers.js";let Dialog=z=>{let{setting:A,children:B,builderProps:G,style:M,advanced:N,builderAttrs:O}=z,P=N?.d,{frequency:_=3,triggerPercentage:w=0,trigger:J,triggerTime:R,frequencyMode:T="once",mobileTrigger:V,mobileTriggerTime:q,closeOnClickOutside:F}=A??{},{name:H,fullScreen:K,width:Q,height:U,position:W,overlayColor:X,overlayOpacity:Y,iconSize:Z,closeButtonPosition:ss,iconSvg:sl}=A??{},sa=A?.dialogId??G?.uid,se=t({dialogId:sa,trigger:J,triggerTime:R,frequency:_,triggerPercentage:w,mobileTrigger:V,mobileTriggerTime:q,closeOnClickOutside:F,frequencyMode:T,display:P}),st=i({...$({uid:G?.uid||""})}),si=o({...m(P)}),so=r({...j(N?.cssClass,Y,X)}),sr=i({...p({uid:sa||""})}),sd=o({...n()}),s$=r({...L(W)}),sp=o({...v(M)}),sc=i({...c()}),sg=r({...h()}),sm=o({...f(Y,X,M)}),sn=o({...y({style:M,width:Q,height:U,fullScreen:K})}),sv=r({...E({setting:A,enableEffect:!0,isILP:!1})}),sf=i({...g()}),sy=r({...D()}),su=o({...u(A)}),sb=r({...k(ss)}),sS=o({...b(Z)}),sj=r({...x()}),sL=o({...S(A,M)}),sh=r({...C()}),sE=()=>l(a,'<script src="{{ \'gp-dialog-v7-5.js\' | asset_url }}" defer="defer"></script>',`<script src="${e}/assets-v2/gp-dialog-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}" defer="defer"></script>`);return s`
2
2
  <gp-dialog
3
3
  ${{...st}}
4
4
  class="${I("gps-lazy")}"
@@ -1,4 +1,4 @@
1
- let DialogSettings=[{id:"setting",controls:[{id:"closeButtonPosition",type:"segment",options:[{label:"Inside",value:"inside"},{label:"Outside",value:"outside"}],default:"inside"},{id:"position",type:"position:square",default:"center"},{id:"effectType",type:"select",options:[{label:"Fade",value:"fade"},{label:"Zoom",value:"zoom"},{label:"Zoom out",value:"zoom-out"},{label:"Horizontal move",value:"horizontal"},{label:"Vertical move",value:"vertical"},{label:"3D unfold",value:"unfold"},{label:"None",value:"none"}],default:"fade"},{id:"closeOnClickOutside",type:"toggle",default:!0},{id:"name",type:"input",placeholder:"E.g. New popup",clearButton:!1,fallbackValue:"Popup",forceEmit:!0},{id:"width",type:"input:unit",placeholder:"Auto",units:["px","%"],devices:{desktop:{default:"600px"},mobile:{default:"100%"}}},{id:"height",type:"input:unit",placeholder:"Auto",units:["px","%"],devices:{desktop:{default:void 0}}},{id:"fullScreen",type:"toggle",devices:{desktop:{default:!1}}},{id:"isOverlay",type:"toggle",default:!0},{id:"overlayColor",type:"color-picker-v2",default:"#121212",compoDefaultValue:"#121212"},{id:"overlayOpacity",type:"input:slider",min:0,step:1,max:100,default:70,units:["%"],useOnlyUnitInit:!0,showDefaultUnit:!0},{id:"triggerTime",type:"input:slider",min:0,default:0,max:100,units:["s"],useOnlyUnitInit:!0,showDefaultUnit:!0,isNumber:!0},{id:"triggerPercentage",type:"input:slider",units:["%"],min:0,max:100,default:10,useOnlyUnitInit:!0,showDefaultUnit:!0,isNumber:!0},{id:"frequency",type:"input:slider",min:1,max:30,default:3,units:["days"],useOnlyUnitInit:!0,showDefaultUnit:!0,isNumber:!0},{id:"frequencyMode",type:"select",options:[{label:"Once per user",value:"once"},{label:"Each visit time",value:"every"},{label:"After a time",value:"after-period-time"}],default:"once"},{id:"btnSize",type:"input:stepper",default:32},{id:"iconSvg",label:"SVG Icon",type:"icon",default:`<svg height="20" width="20" data-name="x-bold" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" fill="currentColor" data-id="508817606065848680">
1
+ let DialogSettings=[{id:"setting",controls:[{id:"closeButtonPosition",type:"segment",options:[{label:"Inside",value:"inside"},{label:"Outside",value:"outside"}],default:"inside"},{id:"position",type:"position:square",default:"center"},{id:"effectType",type:"select",options:[{label:"Fade",value:"fade"},{label:"Zoom",value:"zoom"},{label:"Zoom out",value:"zoom-out"},{label:"Horizontal move",value:"horizontal"},{label:"Vertical move",value:"vertical"},{label:"3D unfold",value:"unfold"},{label:"None",value:"none"}],default:"fade"},{id:"closeOnClickOutside",type:"toggle",default:!0},{id:"name",type:"input",placeholder:"E.g. New popup",clearButton:!1,fallbackValue:"Popup",forceEmit:!0},{id:"width",type:"input:unit",placeholder:"Auto",units:["px","%"],devices:{desktop:{default:"600px"},mobile:{default:"100%"}}},{id:"height",type:"input:unit",placeholder:"Auto",units:["px","%"],devices:{desktop:{default:void 0}}},{id:"fullScreen",type:"toggle",devices:{desktop:{default:!1}}},{id:"isOverlay",type:"toggle",default:!0},{id:"overlayColor",type:"color-picker-v2",default:"#121212",compoDefaultValue:"#121212"},{id:"overlayOpacity",type:"input:slider",min:0,step:1,max:100,default:70,units:["%"],useOnlyUnitInit:!0,showDefaultUnit:!0,isNumber:!0},{id:"triggerTime",type:"input:slider",min:0,default:0,max:100,units:["s"],useOnlyUnitInit:!0,showDefaultUnit:!0,isNumber:!0},{id:"triggerPercentage",type:"input:slider",units:["%"],min:0,max:100,default:10,useOnlyUnitInit:!0,showDefaultUnit:!0,isNumber:!0},{id:"frequency",type:"input:slider",min:1,max:30,default:3,units:["days"],useOnlyUnitInit:!0,showDefaultUnit:!0,isNumber:!0},{id:"frequencyMode",type:"select",options:[{label:"Once per user",value:"once"},{label:"Each visit time",value:"every"},{label:"After a time",value:"after-period-time"}],default:"once"},{id:"btnSize",type:"input:stepper",default:32},{id:"iconSvg",label:"SVG Icon",type:"icon",default:`<svg height="20" width="20" data-name="x-bold" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" fill="currentColor" data-id="508817606065848680">
2
2
  <path fill="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M208.49,191.51a12,12,0,0,1-17,17L128,145,64.49,208.49a12,12,0,0,1-17-17L111,128,47.51,64.49a12,12,0,0,1,17-17L128,111l63.51-63.52a12,12,0,0,1,17,17L145,128Z"/>
3
3
  </svg>`,compoDefaultValue:`<svg height="20" width="20" data-name="x-bold" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" fill="currentColor" data-id="508817606065848680">
4
4
  <path fill="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M208.49,191.51a12,12,0,0,1-17,17L128,145,64.49,208.49a12,12,0,0,1-17-17L111,128,47.51,64.49a12,12,0,0,1,17-17L128,111l63.51-63.52a12,12,0,0,1,17,17L145,128Z"/>
@@ -1 +1 @@
1
- import{createClass as g}from"@gem-sdk/system";let getClass=l=>{let{builderProps:p,advanced:e,className:a}=l,o=g({"gp-background-video gp-absolute gp-overflow-hidden gp-w-full gp-h-full left-0 top-0":!0}),s=g({"gp-bg-video gp-relative gp-h-full":!0}),t=g({...a&&{[a]:!0},...p?.uid&&{[p.uid]:!0},"gp-relative gp-mx-auto gp-mb-0 gp-grid gp-max-w-full gp-transition-colors gp-duration-200 gp-ease-in-out [&_*]:gp-max-w-full gp-grid-rows-[1fr]":!0,...e?.cssClass&&{[e?.cssClass]:!0}}),u=g({"gp-mx-auto gp-max-w-full [&_*]:gp-max-w-full":!0}),r=g({"gp-pb-[56.25%] gp-h-full gp-w-full !gp-max-w-none gp-background-article":!0}),i=g({"!gp-w-[500%] !gp-ml-[-200%] !gp-h-full !gp-max-w-none gp-scale-[104%]":!0});return{rowClass:t,backgroundBoxClass:o,backgroundBoxInnerClass:s,sectionClass:u,wrapperYoutubeClasses:r,iframeYoutubeClasses:i}};export{getClass};
1
+ import{createClass as g}from"@gem-sdk/system";let getClass=l=>{let{builderProps:p,advanced:e,className:a}=l,o=g({"gp-background-video gp-absolute gp-overflow-hidden gp-w-full gp-h-full left-0 top-0 !gp-block":!0}),s=g({"gp-bg-video gp-relative gp-h-full":!0}),t=g({...a&&{[a]:!0},...p?.uid&&{[p.uid]:!0},"gp-relative gp-mx-auto gp-mb-0 gp-grid gp-max-w-full gp-transition-colors gp-duration-200 gp-ease-in-out [&_*]:gp-max-w-full gp-grid-rows-[1fr]":!0,...e?.cssClass&&{[e?.cssClass]:!0}}),u=g({"gp-mx-auto gp-max-w-full [&_*]:gp-max-w-full":!0}),r=g({"gp-pb-[56.25%] gp-h-full gp-w-full !gp-max-w-none gp-background-article":!0}),i=g({"!gp-w-[500%] !gp-ml-[-200%] !gp-h-full !gp-max-w-none gp-scale-[104%]":!0});return{rowClass:t,backgroundBoxClass:o,backgroundBoxInnerClass:s,sectionClass:u,wrapperYoutubeClasses:r,iframeYoutubeClasses:i}};export{getClass};
@@ -1 +1 @@
1
- import{DEVICES as e,globalEvent as t}from"@gem-sdk/core";import r from"./link/components/Link.js";let getLinkArticle=(e,t)=>"scroll-to"==e?t?.link:"{{article.url}}",isTransparentColor=e=>!!e&&(e.startsWith("#")?isHexTransparent(e):e.startsWith("rgb")?isTransparentRGBA(e):"transparent"==e),isTransparentRGBA=e=>{let t=e.replace(/\s/g,"").match(/^rgba?\((\d+),(\d+),(\d+),?([^,\s)]+)?/i)?.map(Number).filter(e=>!isNaN(e))??[0,0,0,1];return 0===t[t.length-1]},isHexTransparent=e=>{let t=!1,r=e.slice(e.startsWith("#")?1:0);3===r.length?r=[...r].map(e=>e+e).join(""):8===r.length&&(t=!0);let i=parseInt(r,16),l=t?255&i:void 0;return 0===l||!!l},youtubeShortsRegex=/^(?:https?:\/\/)?(?:www\.)?youtube\.com\/shorts\/([^"&?/\s]{11})$/i,getDynamicSourceLocales=({val:e,uid:t,settingId:r,isLiquid:i,pageContext:l,isCapitalize:n,defaultVal:o="",translate:a,isReplaceLocationOrigin:s,isReplaceMaxSize:c,isReplaceInventoryQuantity:p})=>{let g=new RegExp(/\{\{.*?\}\}|\{%.*?%\}/).test(e?.toString()??""),u=l?.isTranslateWithLocale?1e3:5e3;if(!a||!e?.toString().trim()||e.toString().length>u||g||l?.isPreviewing)return e??o;let h=`g${t}_${r}`,f=`section.settings.${h}`;return(l?.isTranslateWithLocale&&(f=`'sections.${l.sectionName}.${h}_html' | t`),s&&(f+=" | replace: '$locationOrigin', locationOrigin"),c&&(f+=" | replace: '$max_size', '10MB'"),p&&(f+=" | replace: '<$quantity$>', inventory_quantity | replace: '&lt;$quantity$&gt;', inventory_quantity"),n&&(f=`${f} | downcase`),i)?f:`{{ ${f} }}`},getStaticLocale=(e,t)=>`{{ 'gempages.${e}.${t}' | t }}`,getSettingPreloadData=(e,t)=>`{% if section.settings.section_preload == "false" %}${e} ${t?`{% else %}${t}`:""}{% endif %}`,getHttpUrl=e=>e?e.match(/^https?:\/\//i)?e:`http://${e}`:"";function normalizeMailto(e){if(e.startsWith("mailto:")){let[t,r]=e.split("?");if(r){let i=r.replace(/\+/g,"%20");e=`${t}?${i}`}}return e}let getInsertLinkData=(e,t,r)=>{let i=["#","mailto:","tel:"],l=["product.url"],n=t?.link!==void 0&&""!==t.link,o=t?.link??"",a="/"===o,s=new RegExp(/^(?:https?:\/\/)?[\w.-]+\.[a-z]{2,}/i),c=new RegExp(/^\/?(?:collections|pages|products|blogs|checkout|cart)\/?/i),p=n&&!s.test(o)&&c.test(o),g=n&&s.test(o);(p||a)&&(o=t?.isTranslate?"$locationOrigin"+o:"{{ request.origin }}{{ routes.root_url | split: '/' | join: '/' }}"+o),g&&(o=getHttpUrl(o)),n&&o.toLowerCase().startsWith("mailto:")&&o.includes("+")&&(o=normalizeMailto(o));let u=()=>!!(i.find(e=>o.startsWith(e))||l.find(e=>o.includes(e))),h=g||p||u()||a||isLinkedToSalesPage(t?.type),f=h?"a":e,m={href:o,target:t?.target,...t?.noFollow&&{rel:"nofollow"}},k=h?m:n?{...m,type:r}:{type:r};return{Wrap:f,urlData:k,shouldRenderLink:h}},isLinkedToSalesPage=e=>"go-to-sales-page"===e,checkIsScrollToTop=e=>e?.type==="scroll-to"&&e?.link==="#scroll-to-top",checkIsOpenPopup=e=>e?.type==="open-popup"&&e?.link?.startsWith("#el-"),getLinkData=({setting:e,htmlType:t,defaultWrap:i,isLiquid:l=!1,enableImageLink:n=!1})=>{let o=["product.url"],a=["#","mailto:","tel:"],s=e?.link??"",c="/"===s,p=e?.link!==void 0&&""!==e.link,g=new RegExp(/^https?:\/\//i),u=p&&g.test(s),h=new RegExp(/^\/?(?:collections|pages|products|blogs|checkout|cart)\/?/i),f=p&&!g.test(s)&&h.test(s);p&&s.toLowerCase().startsWith("mailto:")&&s.includes("+")&&(s=normalizeMailto(s));let m=()=>!!(o.find(e=>s.includes(e))||a.find(e=>s.startsWith(e))),k=n&&(u||f||m()||c||isLinkedToSalesPage(e?.type)),d=s;l&&(f||c)&&(d=e?.isTranslate?"$locationOrigin"+s:"{{ request.origin }}{{ routes.root_url | split: '/' | join: '/' }}"+s);let y=k?l?"a":r:i,$={href:d,target:e?.target,...e?.noFollow&&{rel:"nofollow"}},T=k?$:p?{...$,type:t}:{type:t};return{Wrapper:y,urlData:T,shouldRenderLink:k}},replaceLinkData=(e,t)=>{let r=/<a\s[^>]*>.*?<\/a>/;if(e&&r.test(e)){let r;let i=/<a\s+(?:[^>]*?\s+)?href=["']([^"']*)["'](?:\s+[^>]*?)?(?:target=["']([^"']*)["'])?.*?>.*?<\/a>/gi,l=e.toString();for(;null!==(r=i.exec(l));){let e=r[1],{urlData:i}=getInsertLinkData("",{link:e,isTranslate:t});l=l.replace(r[0],r[0].replace(/(href=['"])([^'"]*)(['"])/i,`$1${i.href}$3`))}return l}return e};function filterTruthyStyles(e){return Object.fromEntries(Object.entries(e||{}).filter(([,e])=>!!e))}function filterTruthyObject(e){return Object.fromEntries(Object.entries(e||{}).filter(([,e])=>!!e))}let getDisplayStyle=(t,r)=>{let i={};return e.forEach(e=>{i={...i,[`--d${"desktop"===e?"":`-${e}`}`]:`${t(e)?"none":r}`}}),i},convertUnitToNumber=(e,t)=>{if(!e)return t;if("number"==typeof e)return e;let r="string"==typeof e?e.replaceAll("px","").replaceAll("%","").replaceAll("rem","").replaceAll("em",""):t;return isNaN(Number(r))?t:Number(r)},getAllHrefFromString=e=>{let t;if(!e)return[];let r=/href="([^"]*)"/g,i=[];for(;null!==(t=r.exec(e));)t[1]&&i.push(t[1]);return i},replaceAllHrefFromString=(e,t)=>{let r;if(!e)return"";let i=/href="([^"]*)"/g,l=0;for(;null!==(r=i.exec(e));)r[1]&&(e=e.replace(r[1],t[l]??""),l++);return e};function isEmptyObject(e){return 0===Object.keys(e).length&&"object"==typeof e}let handleClickLink=(e,r)=>{if("edit"!==r){if(checkIsScrollToTop(e)){window.scrollTo({top:0,behavior:"smooth"});return}if(checkIsOpenPopup(e)){let r=e?.link?.replace("#el-","#");t.dispatch("onOpenDialog",{popupUId:r});return}e?.link?.startsWith("#")&&t.dispatch("onOpenDialog",{popupUId:e?.link})}};export{checkIsOpenPopup,checkIsScrollToTop,convertUnitToNumber,filterTruthyObject,filterTruthyStyles,getAllHrefFromString,getDisplayStyle,getDynamicSourceLocales,getInsertLinkData,getLinkArticle,getLinkData,getSettingPreloadData,getStaticLocale,handleClickLink,isEmptyObject,isHexTransparent,isLinkedToSalesPage,isTransparentColor,isTransparentRGBA,normalizeMailto,replaceAllHrefFromString,replaceLinkData,youtubeShortsRegex};
1
+ import{DEVICES as e,globalEvent as t}from"@gem-sdk/core";import r from"./link/components/Link.js";let REGEX_PAGE_TYPE=new RegExp(/^\/?(?:collections|pages|products|blogs|checkout|cart|policies)\/?/i),isShopifyDomain=(e,t)=>{let r=new RegExp(/^https?:\/\//i);return e&&!r.test(t)&&REGEX_PAGE_TYPE.test(t)},getLinkArticle=(e,t)=>"scroll-to"==e?t?.link:"{{article.url}}",isTransparentColor=e=>!!e&&(e.startsWith("#")?isHexTransparent(e):e.startsWith("rgb")?isTransparentRGBA(e):"transparent"==e),isTransparentRGBA=e=>{let t=e.replace(/\s/g,"").match(/^rgba?\((\d+),(\d+),(\d+),?([^,\s)]+)?/i)?.map(Number).filter(e=>!isNaN(e))??[0,0,0,1];return 0===t[t.length-1]},isHexTransparent=e=>{let t=!1,r=e.slice(e.startsWith("#")?1:0);3===r.length?r=[...r].map(e=>e+e).join(""):8===r.length&&(t=!0);let i=parseInt(r,16),l=t?255&i:void 0;return 0===l||!!l},youtubeShortsRegex=/^(?:https?:\/\/)?(?:www\.)?youtube\.com\/shorts\/([^"&?/\s]{11})$/i,getDynamicSourceLocales=({val:e,uid:t,settingId:r,isLiquid:i,pageContext:l,isCapitalize:n,defaultVal:o="",translate:a,isReplaceLocationOrigin:s,isReplaceMaxSize:p,isReplaceInventoryQuantity:c})=>{let g=new RegExp(/\{\{.*?\}\}|\{%.*?%\}/).test(e?.toString()??""),u=l?.isTranslateWithLocale?1e3:5e3;if(!a||!e?.toString().trim()||e.toString().length>u||g||l?.isPreviewing)return e??o;let h=`g${t}_${r}`,f=`section.settings.${h}`;return(l?.isTranslateWithLocale&&(f=`'sections.${l.sectionName}.${h}_html' | t`),s&&(f+=" | replace: '$locationOrigin', locationOrigin"),p&&(f+=" | replace: '$max_size', '10MB'"),c&&(f+=" | replace: '<$quantity$>', inventory_quantity | replace: '&lt;$quantity$&gt;', inventory_quantity"),n&&(f=`${f} | downcase`),i)?f:`{{ ${f} }}`},getStaticLocale=(e,t)=>`{{ 'gempages.${e}.${t}' | t }}`,getSettingPreloadData=(e,t)=>`{% if section.settings.section_preload == "false" %}${e} ${t?`{% else %}${t}`:""}{% endif %}`,getHttpUrl=e=>e?e.match(/^https?:\/\//i)?e:`http://${e}`:"";function normalizeMailto(e){if(e.startsWith("mailto:")){let[t,r]=e.split("?");if(r){let i=r.replace(/\+/g,"%20");e=`${t}?${i}`}}return e}let getInsertLinkData=(e,t,r)=>{let i=["#","mailto:","tel:"],l=["product.url"],n=t?.link!==void 0&&""!==t.link,o=t?.link??"",a="/"===o,s=new RegExp(/^(?:https?:\/\/)?[\w.-]+\.[a-z]{2,}/i),p=n&&s.test(o);(isShopifyDomain(n,o)||a)&&(o=t?.isTranslate?"$locationOrigin"+o:"{{ request.origin }}{{ routes.root_url | split: '/' | join: '/' }}"+o),p&&(o=getHttpUrl(o)),n&&o.toLowerCase().startsWith("mailto:")&&o.includes("+")&&(o=normalizeMailto(o));let c=()=>!!(i.find(e=>o.startsWith(e))||l.find(e=>o.includes(e))),g=p||isShopifyDomain(n,o)||c()||a||isLinkedToSalesPage(t?.type),u=g?"a":e,h={href:o,target:t?.target,...t?.noFollow&&{rel:"nofollow"}},f=g?h:n?{...h,type:r}:{type:r};return{Wrap:u,urlData:f,shouldRenderLink:g}},isLinkedToSalesPage=e=>"go-to-sales-page"===e,checkIsScrollToTop=e=>e?.type==="scroll-to"&&e?.link==="#scroll-to-top",checkIsOpenPopup=e=>e?.type==="open-popup"&&e?.link?.startsWith("#el-"),getLinkData=({setting:e,htmlType:t,defaultWrap:i,isLiquid:l=!1,enableImageLink:n=!1})=>{let o=["product.url"],a=["#","mailto:","tel:"],s=e?.link??"",p="/"===s,c=e?.link!==void 0&&""!==e.link,g=new RegExp(/^https?:\/\//i),u=c&&g.test(s);c&&s.toLowerCase().startsWith("mailto:")&&s.includes("+")&&(s=normalizeMailto(s));let h=()=>!!(o.find(e=>s.includes(e))||a.find(e=>s.startsWith(e))),f=n&&(u||isShopifyDomain(c,s)||h()||p||isLinkedToSalesPage(e?.type)),m=s;l&&(isShopifyDomain(c,s)||p)&&(m=e?.isTranslate?"$locationOrigin"+s:"{{ request.origin }}{{ routes.root_url | split: '/' | join: '/' }}"+s);let k=f?l?"a":r:i,y={href:m,target:e?.target,...e?.noFollow&&{rel:"nofollow"}},d=f?y:c?{...y,type:t}:{type:t};return{Wrapper:k,urlData:d,shouldRenderLink:f}},replaceLinkData=(e,t)=>{let r=/<a\s[^>]*>.*?<\/a>/;if(e&&r.test(e)){let r;let i=/<a\s+(?:[^>]*?\s+)?href=["']([^"']*)["'](?:\s+[^>]*?)?(?:target=["']([^"']*)["'])?.*?>.*?<\/a>/gi,l=e.toString();for(;null!==(r=i.exec(l));){let e=r[1],{urlData:i}=getInsertLinkData("",{link:e,isTranslate:t});l=l.replace(r[0],r[0].replace(/(href=['"])([^'"]*)(['"])/i,`$1${i.href}$3`))}return l}return e};function filterTruthyStyles(e){return Object.fromEntries(Object.entries(e||{}).filter(([,e])=>!!e))}function filterTruthyObject(e){return Object.fromEntries(Object.entries(e||{}).filter(([,e])=>!!e))}let getDisplayStyle=(t,r)=>{let i={};return e.forEach(e=>{i={...i,[`--d${"desktop"===e?"":`-${e}`}`]:`${t(e)?"none":r}`}}),i},convertUnitToNumber=(e,t)=>{if(!e)return t;if("number"==typeof e)return e;let r="string"==typeof e?e.replaceAll("px","").replaceAll("%","").replaceAll("rem","").replaceAll("em",""):t;return isNaN(Number(r))?t:Number(r)},getAllHrefFromString=e=>{let t;if(!e)return[];let r=/href="([^"]*)"/g,i=[];for(;null!==(t=r.exec(e));)t[1]&&i.push(t[1]);return i},replaceAllHrefFromString=(e,t)=>{let r;if(!e)return"";let i=/href="([^"]*)"/g,l=0;for(;null!==(r=i.exec(e));)r[1]&&(e=e.replace(r[1],t[l]??""),l++);return e};function isEmptyObject(e){return 0===Object.keys(e).length&&"object"==typeof e}let handleClickLink=(e,r)=>{if("edit"!==r){if(checkIsScrollToTop(e)){window.scrollTo({top:0,behavior:"smooth"});return}if(checkIsOpenPopup(e)){let r=e?.link?.replace("#el-","#");t.dispatch("onOpenDialog",{popupUId:r});return}e?.link?.startsWith("#")&&t.dispatch("onOpenDialog",{popupUId:e?.link})}};export{REGEX_PAGE_TYPE,checkIsOpenPopup,checkIsScrollToTop,convertUnitToNumber,filterTruthyObject,filterTruthyStyles,getAllHrefFromString,getDisplayStyle,getDynamicSourceLocales,getInsertLinkData,getLinkArticle,getLinkData,getSettingPreloadData,getStaticLocale,handleClickLink,isEmptyObject,isHexTransparent,isLinkedToSalesPage,isShopifyDomain,isTransparentColor,isTransparentRGBA,normalizeMailto,replaceAllHrefFromString,replaceLinkData,youtubeShortsRegex};
@@ -1 +1 @@
1
- import{getGlobalColorStateClass as e,getValueByDevice as s}from"@gem-sdk/core";import{getClassAlignBanner as o,getResponsiveSetting as l,getClassContentPosition as a,getContentPosition as t,getClassForContentByFitContent as g,getClassForStretchContent as r,opacityEnabledData as p,getClassSpaceBetween as n,getClassSpaceBetweenLeftRight as i,getOpacityHover as u}from"./helpers.js";function composeClasses(e){return e.split(" ").reduce((e,s)=>(e[s]=!0,e),{})}let getClasses=({setting:e,builderProps:s,advancedCssClass:a})=>{let t="gp-group/hero gp-flex gp-w-full gp-flex-col gp-self-center gp-transition-colors gp-duration-200 gp-ease-in-out";return a&&(t+=` ${a}`),{...s?.uid&&{[s.uid]:!0},...composeClasses(t),...o(l(e?.alignBanner||{}))}},getLinkClasses=()=>({...composeClasses("gp-cursor-pointer gp-h-full")}),getContainerClasses=(e,s)=>({...composeClasses("gp-relative gp-flex gp-w-full gp-flex-col gp-items-center gp-overflow-hidden hero-banner-container"),...a(t(e?.layout,s?.contentPosition1Col,s?.contentPosition2Col)||{})}),enableTransitionHover=e=>{let{overlayColor:s}=e??{},o=s?.hover||s?.normal;return o&&"transparent"!==o&&"0%"!=u(e)},getOverlayClasses=s=>{let{overlayColor:o,hoverEffect:l}=s??{},{disableOpacity:a}=p(s),t="gp-absolute gp-inset-0 gp-left-[var(--left)] gp-top-[var(--top)] gp-z-1";return enableTransitionHover(s)&&(t+=" gp-transition-all gp-duration-300"),l&&(t+=" group-hover/hero:gp-bg-[color:var(--hvr-bgc,_var(--bgc))] group-hover/hero:gp-opacity-[var(--hvr-op,_var(--op))]"),e("bg",o,a,!l)&&(t+=` ${e("bg",o,a,!l)}`),composeClasses(t)},getRowClasses=(e,s)=>{let{sizeSetting:o,background:l}=e??{},{verticalAlign:a}=s??{},t=g(o,l),p=r(a),u=n(s?.layout||{},e?.contentPosition1Col||{},e?.contentPosition2Col||{}),c=i(s?.layout||{}),C=`gp-hero-banner-row ${t} ${p}`;return{...composeClasses(C),...u,...c}},getAdaptiveClasses=()=>composeClasses("adaptive-hero-banner"),getAdaptivePictureClasses=()=>composeClasses("gp-w-full gp-invisible -gp-z-1"),getBackgroundClasses=(e,s)=>{let o="hero-banner-bg gp-hero-banner-image-background hero-banner-bg-parallax";return s&&(o+=" gp_lazybg"),e&&(o+=" gp-duration-[var(--duration)] group-hover/hero:gp-scale-[var(--scale)] gp-transition-transform"),composeClasses(o)},getContainBackgroundClasses=()=>composeClasses("gp-hero-banner-bg gp-absolute gp-overflow-hidden gp-w-full gp-h-full top-0 left-0"),getHtml5VideoClasses=(e,o=!1)=>{let l="gp-relative",a=s(e,"tablet"),t=s(e,"mobile");return o&&(l+=" gp-hidden"),a&&(l+=" tablet:gp-h-full tablet:gp-object-cover"),t&&(l+=" mobile:gp-h-full mobile:gp-object-cover"),composeClasses(l)},getWrapperYoutubeClasses=()=>composeClasses("gp-pb-[56.25%] gp-h-full gp-w-full !gp-max-w-none gp-pointer-events-none"),getIframeYoutubeClasses=()=>composeClasses("!gp-w-[500%] !gp-ml-[-200%] !gp-h-full !gp-max-w-none gp-scale-[104%]"),getLazyBackgroundClasses=e=>{let s="gp-absolute gp-top-0 gp-invisible gp-w-full gp_lazyload gp-h-full gp_lazyforbg";return"tablet"===e&&(s+=" gp_lazybg_tl"),"mobile"===e&&(s+=" gp_lazybg_mb"),composeClasses(s)};export{enableTransitionHover,getAdaptiveClasses,getAdaptivePictureClasses,getBackgroundClasses,getClasses,getContainBackgroundClasses,getContainerClasses,getHtml5VideoClasses,getIframeYoutubeClasses,getLazyBackgroundClasses,getLinkClasses,getOverlayClasses,getRowClasses,getWrapperYoutubeClasses};
1
+ import{getGlobalColorStateClass as e,getValueByDevice as s}from"@gem-sdk/core";import{getClassAlignBanner as o,getResponsiveSetting as l,getClassContentPosition as a,getContentPosition as t,getClassForContentByFitContent as g,getClassForStretchContent as r,getClassSpaceBetween as p,opacityEnabledData as n,getClassSpaceBetweenLeftRight as i,getOpacityHover as u}from"./helpers.js";function composeClasses(e){return e.split(" ").reduce((e,s)=>(e[s]=!0,e),{})}let getClasses=({setting:e,builderProps:s,advancedCssClass:a})=>{let t="gp-group/hero gp-flex gp-w-full gp-flex-col gp-self-center gp-transition-colors gp-duration-200 gp-ease-in-out";return a&&(t+=` ${a}`),{...s?.uid&&{[s.uid]:!0},...composeClasses(t),...o(l(e?.alignBanner||{}))}},getLinkClasses=()=>({...composeClasses("gp-cursor-pointer gp-h-full")}),getContainerClasses=(e,s)=>({...composeClasses("gp-relative gp-flex gp-w-full gp-flex-col gp-items-center gp-overflow-hidden hero-banner-container"),...a(t(e?.layout,s?.contentPosition1Col,s?.contentPosition2Col)||{})}),enableTransitionHover=e=>{let{overlayColor:s}=e??{},o=s?.hover||s?.normal;return o&&"transparent"!==o&&"0%"!=u(e)},getOverlayClasses=s=>{let{overlayColor:o,hoverEffect:l}=s??{},{disableOpacity:a}=n(s),t="gp-absolute gp-inset-0 gp-left-[var(--left)] gp-top-[var(--top)] gp-z-1";return enableTransitionHover(s)&&(t+=" gp-transition-all gp-duration-300"),l&&(t+=" group-hover/hero:gp-bg-[color:var(--hvr-bgc,_var(--bgc))] group-hover/hero:gp-opacity-[var(--hvr-op,_var(--op))]"),e("bg",o,a,!l)&&(t+=` ${e("bg",o,a,!l)}`),composeClasses(t)},getRowClasses=(e,s)=>{let{sizeSetting:o,background:l}=e??{},{verticalAlign:a}=s??{},t=g(o,l),n=r(a),u=p(s?.layout||{},e?.contentPosition1Col||{}),c=i(s?.layout||{}),C=`gp-hero-banner-row ${t} ${n}`;return{...composeClasses(C),...u,...c}},getAdaptiveClasses=()=>composeClasses("adaptive-hero-banner"),getAdaptivePictureClasses=()=>composeClasses("gp-w-full gp-invisible -gp-z-1"),getBackgroundClasses=(e,s)=>{let o="hero-banner-bg gp-hero-banner-image-background hero-banner-bg-parallax";return s&&(o+=" gp_lazybg"),e&&(o+=" gp-duration-[var(--duration)] group-hover/hero:gp-scale-[var(--scale)] gp-transition-transform"),composeClasses(o)},getContainBackgroundClasses=()=>composeClasses("gp-hero-banner-bg gp-absolute gp-overflow-hidden gp-w-full gp-h-full top-0 left-0"),getHtml5VideoClasses=(e,o=!1)=>{let l="gp-relative",a=s(e,"tablet"),t=s(e,"mobile");return o&&(l+=" gp-hidden"),a&&(l+=" tablet:gp-h-full tablet:gp-object-cover"),t&&(l+=" mobile:gp-h-full mobile:gp-object-cover"),composeClasses(l)},getWrapperYoutubeClasses=()=>composeClasses("gp-pb-[56.25%] gp-h-full gp-w-full !gp-max-w-none gp-pointer-events-none"),getIframeYoutubeClasses=()=>composeClasses("!gp-w-[500%] !gp-ml-[-200%] !gp-h-full !gp-max-w-none gp-scale-[104%]"),getLazyBackgroundClasses=e=>{let s="gp-absolute gp-top-0 gp-invisible gp-w-full gp_lazyload gp-h-full gp_lazyforbg";return"tablet"===e&&(s+=" gp_lazybg_tl"),"mobile"===e&&(s+=" gp_lazybg_mb"),composeClasses(s)};export{enableTransitionHover,getAdaptiveClasses,getAdaptivePictureClasses,getBackgroundClasses,getClasses,getContainBackgroundClasses,getContainerClasses,getHtml5VideoClasses,getIframeYoutubeClasses,getLazyBackgroundClasses,getLinkClasses,getOverlayClasses,getRowClasses,getWrapperYoutubeClasses};
@@ -1 +1 @@
1
- import{getResponsiveValueByScreen as e,getAspectRatioGlobalSize as t,makeStyleResponsive as o,DEVICES as l,getValueByDevice as i,GRADIENT_BGR_KEY as n,cls as a}from"@gem-sdk/core";import{getImageSrc as r,createBlurDataURL as s}from"../../image/common/helpers.js";import{HREF_TO_SALES_PAGE as g}from"../../constant.js";let getContentPosition=(t,o,i)=>{let n={};return l.map(l=>{let a=e(t,l),r=e(o,l),s=e(i,l);n={...n,[l]:1>=(a?.cols?.length||1)?r:s}}),n},getAspectRatioSettings=(t,o)=>{let l={desktop:t?.desktop?.width,tablet:t?.tablet?.width,mobile:t?.mobile?.width},i={desktop:t?.desktop?.height,tablet:t?.tablet?.height,mobile:t?.mobile?.height},n={desktop:o?.desktop==="custom"?`${e(l,"desktop")}/${e(i,"desktop")}`:o?.desktop==="cover"?"unset":o?.desktop,tablet:o?.tablet==="custom"?`${e(l,"tablet")}/${e(i,"tablet")}`:o?.tablet==="cover"?"unset":o?.tablet,mobile:o?.mobile==="custom"?`${e(l,"mobile")}/${e(i,"mobile")}`:o?.mobile==="cover"?"unset":o?.mobile};return n},getEnableBgImageByDevice=(t,o)=>{if(!e(getBgImage(o),t))return!1;if(!o?.[t]){if("mobile"===t)return o?.tablet?.type==="image"||o?.desktop?.type==="image"&&!o?.tablet;if("tablet"===t)return o?.desktop?.type==="image"}return o?.[t]?.type==="image"},getBgImage=e=>{if(!e)return{};let t={desktop:e?.desktop?.image,tablet:e?.tablet?.image,mobile:e?.mobile?.image};return t},imagePlaceholder=e=>{let t=getBgImage(e);return{desktop:s(t?.desktop?.width??0,t?.desktop?.height??0),tablet:s(t?.tablet?.width??t?.desktop?.width??0,t?.tablet?.height??t?.desktop?.width??0),mobile:s(t?.mobile?.width??t?.tablet?.width??t?.desktop?.width??0,t?.mobile?.height??t?.tablet?.height??t?.desktop?.width??0)}},getBgImageByScreen=(t,o,l,i)=>{if(!t)return"";let a=getBgImage(t),s=e(t,o),g=l?`url(${imagePlaceholder(t)[o]})`:`url(${r(e(a,o),o,i)})`,p=s?.color?`, ${s.color}`:"";return s?.color?.includes(n)&&s?.type==="image"?`${g}${p}`:s?.color?.includes(n)&&s?.type!=="image"?`${s.color}`:s?.type==="image"?g:"url()"},getBackgroundImageHeroBanner=(e,t=!1,i=!1)=>{if(!e)return;let n={};return l.forEach(o=>{n={...n,[o]:getBgImageByScreen(e,o,t,i)}}),o("bgi",n)},getAttachmentDevice=e=>{let t={},o=["desktop","mobile","tablet"];return o.forEach(o=>{let l=e?.[o]?.attachment;t={...t,[o]:"fixed"===l?"fixed":"absolute"}}),t},horizontalAlign=(e,t,o)=>mapContentPositionToHorizontal(getContentPosition(e,t,o)),scrollToContentBanner=e=>e?.target?.closest("div.gp-hero-banner-row")?.scrollTo(0,0),getDataVideoHeroBannerResponsive=(e,t)=>{switch(e){case"desktop":if(t?.desktop?.type==="video")return{device:"desktop",data:t.desktop};break;case"tablet":if(t?.tablet?.type==="video")return{device:"tablet",data:t.tablet};if(!t?.tablet&&t?.desktop?.type==="video")return{device:"desktop",data:t.desktop};break;case"mobile":if(t?.mobile?.type==="video")return{device:"mobile",data:t.mobile};if(!t?.mobile&&t?.tablet?.type==="video")return{device:"tablet",data:t.tablet};if(!t?.mobile&&!t?.tablet?.type&&t?.desktop?.type==="video")return{device:"desktop",data:t.desktop}}},getVisibilityStyle=e=>e?Object.keys(e).filter(e=>["--d","--d-tablet","--d-mobile"].includes(e)).reduce((t,o)=>({...t,[o]:e?.[o]!=="none"?"flex":e?.[o]}),{}):{},getStyleAspectRatioHeroBannerCustom=(l,i,n)=>{let a=t(i),r=["desktop","mobile","tablet"];return r.forEach(t=>{let o=e(i,t),r=!!getDataVideoHeroBannerResponsive(t,l),s=o?.shape,g=o?.height,p="original"===s&&"fit-content"!==g,b=p&&r;b&&(a={...a,[t]:"16/9"}),n&&n[t]&&getDataVideoHeroBannerResponsive(t,l)?.data?.videoType==="html5"&&(a={...a,[t]:n[t]})}),o("aspect",a)},mapContentPositionToHorizontal=e=>{let t={};for(let o in e)"top"===e[o]?t[o]="start":"bottom"===e[o]?t[o]="end":t[o]="center";return t},getDisplayStyleByFitContent=(t,l)=>{let i={desktop:"none",tablet:"none",mobile:"none"},n=["desktop","mobile","tablet"];return n.forEach(o=>{let n=e(t,o),a=!!getDataVideoHeroBannerResponsive(o,l),r=n?.shape,s=n?.height,g="original"===r&&"fit-content"!==s&&!a;i={...i,[o]:g?"block":"none"}}),o("d",i)},getWidth=e=>{let t={},o=["desktop","mobile","tablet"];return o.forEach(o=>{let l=e?.[o];l&&(t={...t,[o]:"default"===l?"var(--g-ct-w, 1200px)":l})}),t},getPercentageVisible=(e,t)=>{let{top:o,height:l}=e,i=-l;if(o<i)return 0;if(o>t)return 100;let n=(o-i)/(t-i)*100;return Math.min(Math.max(n,0),100)},isScaleImage=({enableParallax:e=!1,attachment:t="scroll"})=>!!e||"fixed"===t,getHeightHeroBanner=(e,t)=>{let l={},i=["desktop","mobile","tablet"];return i.forEach(o=>{let i=isScaleImage({enableParallax:t,attachment:e[o]?.attachment});l={...l,[o]:t?"150%":i?"100vh":"100%"}}),o("h",l)},getWidthHeroBanner=(e,t)=>{let l={},i=["desktop","mobile","tablet"];return i.forEach(o=>{let i=isScaleImage({enableParallax:t,attachment:e[o]?.attachment});l={...l,[o]:i?"100vw":"100%"}}),o("w",l)},getTopHeroBanner=e=>{let t={},l=["desktop","mobile","tablet"];return l.forEach(o=>{t={...t,[o]:e[o]?.attachment==="fixed"?"0px":""}}),o("top",t)},getStyleHeroBannerBg=(e,t)=>{let o=getHeightHeroBanner(e,t),l=getWidthHeroBanner(e,t),i=getTopHeroBanner(e);return{...o,...l,...i}},calcRounderClipPath=(e,t=0,o=0)=>{let l=t,i=t;if(t>o?l=o:i=o,e>=999){let t=e-l;return t>0?t:0}let n=e-i;return n>0?n:0},getClipPath=(e,t)=>{if(!t||!e)return"inset(0 0 0)";let[o,l,i,n]=e.split(" ").map(e=>parseInt(e??"0")),{btlr:a,btrr:r,bbrr:s,bblr:g}=t,p=calcRounderClipPath(parseInt(a??"0"),o,n),b=calcRounderClipPath(parseInt(r??"0"),o,l),c=calcRounderClipPath(parseInt(s??"0"),l,i),d=calcRounderClipPath(parseInt(g??"0"),i,n);return`inset(0 0 0 round ${p}px ${b}px ${c}px ${d}px)`},getClassAlignBanner=e=>({"!gp-self-start":"left"===e.desktop,"!gp-self-center":"center"===e.desktop,"!gp-self-end":"right"===e.desktop,"tablet:!gp-self-start":"left"===e.tablet,"tablet:!gp-self-center":"center"===e.tablet,"tablet:!gp-self-end":"right"===e.tablet,"mobile:!gp-self-start":"left"===e.mobile,"mobile:!gp-self-center":"center"===e.mobile,"mobile:!gp-self-end":"right"===e.mobile}),getClassSpaceBetween=(e,t,o)=>{let l=getResponsiveSetting(e),i=getResponsiveSetting(t),n=getResponsiveSetting(o),a=1>=(l?.desktop?.cols?.length||1)?i.desktop:n.desktop,r=1>=(l?.tablet?.cols?.length||1)?i.tablet:n.tablet,s=1>=(l?.mobile?.cols?.length||1)?i.mobile:n.mobile;return{"!gp-h-full !gp-content-stretch [&>*]:!gp-justify-between [&>*:nth-child(2)]:gp-absolute [&>*:nth-child(2)]:gp-hidden":l.desktop?.cols?.length===1&&"space-between"===a,"!gp-content-stretch [&>*]:!gp-justify-start":l.desktop?.cols?.length===1&&"top"===a,"tablet:!gp-h-full tablet:!gp-content-stretch tablet:[&>*]:!gp-justify-between tablet:[&>*:nth-child(2)]:gp-absolute [&>*:nth-child(2)]:gp-hidden":l.tablet?.cols?.length===1&&"space-between"===r,"tablet:!gp-content-stretch tablet:[&>*]:!gp-justify-start":l.tablet?.cols?.length===1&&"top"===r,"tablet:!gp-content-stretch tablet:[&>*]:!gp-justify-center":l.tablet?.cols?.length===1&&"center"===r,"tablet:!gp-content-stretch tablet:[&>*]:!gp-justify-end":l.tablet?.cols?.length===1&&"bottom"===r,"mobile:!gp-h-full mobile:!gp-content-stretch mobile:[&>*]:!gp-justify-between mobile:[&>*:nth-child(2)]:gp-absolute [&>*:nth-child(2)]:gp-hidden":l.mobile?.cols?.length===1&&"space-between"===s,"mobile:!gp-content-stretch mobile:[&>*]:!gp-justify-start":l.mobile?.cols?.length===1&&"top"===s,"mobile:!gp-content-stretch mobile:[&>*]:!gp-justify-center":l.mobile?.cols?.length===1&&"center"===s,"mobile:!gp-content-stretch mobile:[&>*]:!gp-justify-end":l.mobile?.cols?.length===1&&"bottom"===s}},getClassSpaceBetweenLeftRight=e=>{let t=getResponsiveSetting(e),o=t?.desktop?.type=="left-distributed"||t?.desktop?.type=="right-distributed",l=t?.tablet?.type=="left-distributed"||t?.tablet?.type=="right-distributed",i=t?.mobile?.type=="left-distributed"||t?.mobile?.type=="right-distributed";return{"gp-h-full tablet:gp-h-auto mobile:gp-h-auto [&>*]:!gp-justify-between":o,"tablet:!gp-h-full tablet:[&>*]:!gp-justify-between mobile:gp-h-auto":l,"mobile:!gp-h-full mobile:[&>*]:!gp-justify-between":i,"mobile:!gp-h-auto":!i}},getClassForStretchContent=t=>{let o={desktop:"none",tablet:"none",mobile:"none"},l=["desktop","mobile","tablet"];return l.forEach(l=>{let i=e(t,l);o={...o,[l]:i}}),a("space-between"===o.desktop?"[&>*>*]:!gp-justify-between":"","space-between"===o.tablet?"tablet:[&>*>*]:!gp-justify-between ":`tablet:[&>*>*]:!gp-justify-${t?.tablet}`,"space-between"===o.mobile?"mobile:[&>*>*]:!gp-justify-between ":`mobile:[&>*>*]:!gp-justify-${t?.mobile}`)},getClassForContentByFitContent=(t,o)=>{let l={desktop:!1,tablet:!1,mobile:!1},i=["desktop","mobile","tablet"];return i.forEach(i=>{let n=e(t,i),a=!!getDataVideoHeroBannerResponsive(i,o),r=n?.shape,s=n?.height,g="original"===r&&"fit-content"!==s;l={...l,[i]:g&&!a}}),a(l.desktop?"!gp-absolute":"",l.tablet?"tablet:!gp-absolute":"tablet:!gp-relative",l.mobile?"mobile:!gp-absolute":"mobile:!gp-relative")},getClassContentPosition=e=>{let t={center:"center",top:"start",bottom:"end","space-between":"between"},o=e.desktop||"center",l=e.tablet||o,i=e.mobile||l;return{[`gp-justify-${t[o||"center"]}`]:!!o,[`tablet:gp-justify-${t[l||"center"]}`]:!!l,[`mobile:gp-justify-${t[i||"center"]}`]:!!i}},getResponsiveSetting=e=>{let t=e.desktop,o=e.tablet?e.tablet:t,l=e.mobile?e.mobile:o;return{desktop:t,tablet:o,mobile:l}},showVideoType=e=>l.some(t=>{let o=i(e,t);return o?.type!=="color"&&o?.type!=="image"&&!!o&&(o?.videoType==="html5"&&o?.videoHtml5||o?.videoType==="youtube"&&o?.video)});function debounce(e,t){let o;return function(...l){clearTimeout(o),o=setTimeout(()=>e.apply(this,l),t)}}let fallbackImg="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTkyMCIgaGVpZ2h0PSI5MDAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8ZGVmcz4KICAgICAgPGxpbmVhckdyYWRpZW50IGlkPSJnLTE5MjAtOTAwIj4KICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSJyZ2JhKDUxLCA1MSwgNTEsIDApIiBvZmZzZXQ9IjIwJSIgLz4KICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSJyZ2JhKDUxLCA1MSwgNTEsIDApIiBvZmZzZXQ9IjUwJSIgLz4KICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSJyZ2JhKDUxLCA1MSwgNTEsIDApIiBvZmZzZXQ9IjcwJSIgLz4KICAgICAgPC9saW5lYXJHcmFkaWVudD4KICAgIDwvZGVmcz4KICAgIDxyZWN0IHdpZHRoPSIxOTIwIiBoZWlnaHQ9IjkwMCIgZmlsbD0icmdiYSg1MSwgNTEsIDUxLCAwKSIgLz4KICAgIDxyZWN0IGlkPSJyIiB3aWR0aD0iMTkyMCIgaGVpZ2h0PSI5MDAiIGZpbGw9InVybCgjZy0xOTIwLTkwMCkiIC8+CiAgICA8YW5pbWF0ZSB4bGluazpocmVmPSIjciIgYXR0cmlidXRlTmFtZT0ieCIgZnJvbT0iLTE5MjAiIHRvPSIxOTIwIiBkdXI9IjFzIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgIC8+CiAgPC9zdmc+",getBannerLink=e=>{let t=e?.link;return t?.type==="go-to-sales-page"?{type:"go-to-sales-page",link:g,target:"_self"}:t},formatHoverScale=e=>e?String(e).includes("%")?`${e}`:`${e}%`:"100%",opacityEnabledData=e=>{let{overlayColor:t,overlayOpacity:o}=e??{},l=!t?.normal||o?.normal=="0%"||!o?.normal;return{disableOpacity:l}},getOpacityHover=e=>{let{overlayOpacity:t}=e??{},o="number"!=typeof t?.hover||isNaN(t?.hover)?"string"==typeof t?.hover?`${parseInt(t?.hover)}%`:"":`${t?.hover}%`,l="number"!=typeof t?.normal||isNaN(t?.normal)?"string"==typeof t?.normal?`${parseInt(t?.normal)}%`:"0%":`${t?.normal}%`;return o||l};export{debounce,fallbackImg,formatHoverScale,getAspectRatioSettings,getAttachmentDevice,getBackgroundImageHeroBanner,getBannerLink,getBgImage,getClassAlignBanner,getClassContentPosition,getClassForContentByFitContent,getClassForStretchContent,getClassSpaceBetween,getClassSpaceBetweenLeftRight,getClipPath,getContentPosition,getDataVideoHeroBannerResponsive,getDisplayStyleByFitContent,getEnableBgImageByDevice,getOpacityHover,getPercentageVisible,getResponsiveSetting,getStyleAspectRatioHeroBannerCustom,getStyleHeroBannerBg,getVisibilityStyle,getWidth,horizontalAlign,imagePlaceholder,isScaleImage,mapContentPositionToHorizontal,opacityEnabledData,scrollToContentBanner,showVideoType};
1
+ import{getResponsiveValueByScreen as e,getAspectRatioGlobalSize as t,makeStyleResponsive as o,DEVICES as l,getValueByDevice as i,GRADIENT_BGR_KEY as a,cls as n}from"@gem-sdk/core";import{getImageSrc as r,createBlurDataURL as s}from"../../image/common/helpers.js";import{HREF_TO_SALES_PAGE as g}from"../../constant.js";let getContentPosition=(t,o,i)=>{let a={};return l.map(l=>{let n=e(t,l),r=e(o,l),s=e(i,l);a={...a,[l]:1>=(n?.cols?.length||1)?r:s}}),a},getAspectRatioSettings=(t,o)=>{let l={desktop:t?.desktop?.width,tablet:t?.tablet?.width,mobile:t?.mobile?.width},i={desktop:t?.desktop?.height,tablet:t?.tablet?.height,mobile:t?.mobile?.height},a={desktop:o?.desktop==="custom"?`${e(l,"desktop")}/${e(i,"desktop")}`:o?.desktop==="cover"?"unset":o?.desktop,tablet:o?.tablet==="custom"?`${e(l,"tablet")}/${e(i,"tablet")}`:o?.tablet==="cover"?"unset":o?.tablet,mobile:o?.mobile==="custom"?`${e(l,"mobile")}/${e(i,"mobile")}`:o?.mobile==="cover"?"unset":o?.mobile};return a},getEnableBgImageByDevice=(t,o)=>{if(!e(getBgImage(o),t))return!1;if(!o?.[t]){if("mobile"===t)return o?.tablet?.type==="image"||o?.desktop?.type==="image"&&!o?.tablet;if("tablet"===t)return o?.desktop?.type==="image"}return o?.[t]?.type==="image"},getBgImage=e=>{if(!e)return{};let t={desktop:e?.desktop?.image,tablet:e?.tablet?.image,mobile:e?.mobile?.image};return t},imagePlaceholder=e=>{let t=getBgImage(e);return{desktop:s(t?.desktop?.width??0,t?.desktop?.height??0),tablet:s(t?.tablet?.width??t?.desktop?.width??0,t?.tablet?.height??t?.desktop?.width??0),mobile:s(t?.mobile?.width??t?.tablet?.width??t?.desktop?.width??0,t?.mobile?.height??t?.tablet?.height??t?.desktop?.width??0)}},getBgImageByScreen=(t,o,l,i)=>{if(!t)return"";let n=getBgImage(t),s=e(t,o),g=l?`url(${imagePlaceholder(t)[o]})`:`url(${r(e(n,o),o,i)})`,p=s?.color?`, ${s.color}`:"";return s?.color?.includes(a)&&s?.type==="image"?`${g}${p}`:s?.color?.includes(a)&&s?.type!=="image"?`${s.color}`:s?.type==="image"?g:"url()"},getBackgroundImageHeroBanner=(e,t=!1,i=!1)=>{if(!e)return;let a={};return l.forEach(o=>{a={...a,[o]:getBgImageByScreen(e,o,t,i)}}),o("bgi",a)},getAttachmentDevice=e=>{let t={},o=["desktop","mobile","tablet"];return o.forEach(o=>{let l=e?.[o]?.attachment;t={...t,[o]:"fixed"===l?"fixed":"absolute"}}),t},horizontalAlign=(e,t,o)=>mapContentPositionToHorizontal(getContentPosition(e,t,o)),scrollToContentBanner=e=>e?.target?.closest("div.gp-hero-banner-row")?.scrollTo(0,0),getDataVideoHeroBannerResponsive=(e,t)=>{switch(e){case"desktop":if(t?.desktop?.type==="video")return{device:"desktop",data:t.desktop};break;case"tablet":if(t?.tablet?.type==="video")return{device:"tablet",data:t.tablet};if(!t?.tablet&&t?.desktop?.type==="video")return{device:"desktop",data:t.desktop};break;case"mobile":if(t?.mobile?.type==="video")return{device:"mobile",data:t.mobile};if(!t?.mobile&&t?.tablet?.type==="video")return{device:"tablet",data:t.tablet};if(!t?.mobile&&!t?.tablet?.type&&t?.desktop?.type==="video")return{device:"desktop",data:t.desktop}}},getVisibilityStyle=e=>e?Object.keys(e).filter(e=>["--d","--d-tablet","--d-mobile"].includes(e)).reduce((t,o)=>({...t,[o]:e?.[o]!=="none"?"flex":e?.[o]}),{}):{},getStyleAspectRatioHeroBannerCustom=(l,i,a)=>{let n=t(i),r=["desktop","mobile","tablet"];return r.forEach(t=>{let o=e(i,t),r=!!getDataVideoHeroBannerResponsive(t,l),s=o?.shape,g=o?.height,p="original"===s&&"fit-content"!==g,b=p&&r;b&&(n={...n,[t]:"16/9"}),a&&a[t]&&getDataVideoHeroBannerResponsive(t,l)?.data?.videoType==="html5"&&(n={...n,[t]:a[t]})}),o("aspect",n)},mapContentPositionToHorizontal=e=>{let t={};for(let o in e)"top"===e[o]?t[o]="start":"bottom"===e[o]?t[o]="end":t[o]="center";return t},getDisplayStyleByFitContent=(t,l)=>{let i={desktop:"none",tablet:"none",mobile:"none"},a=["desktop","mobile","tablet"];return a.forEach(o=>{let a=e(t,o),n=!!getDataVideoHeroBannerResponsive(o,l),r=a?.shape,s=a?.height,g="original"===r&&"fit-content"!==s&&!n;i={...i,[o]:g?"block":"none"}}),o("d",i)},getWidth=e=>{let t={},o=["desktop","mobile","tablet"];return o.forEach(o=>{let l=e?.[o];l&&(t={...t,[o]:"default"===l?"var(--g-ct-w, 1200px)":l})}),t},getPercentageVisible=(e,t)=>{let{top:o,height:l}=e,i=-l;if(o<i)return 0;if(o>t)return 100;let a=(o-i)/(t-i)*100;return Math.min(Math.max(a,0),100)},isScaleImage=({enableParallax:e=!1,attachment:t="scroll"})=>!!e||"fixed"===t,getHeightHeroBanner=(e,t)=>{let l={},i=["desktop","mobile","tablet"];return i.forEach(o=>{let i=isScaleImage({enableParallax:t,attachment:e[o]?.attachment});l={...l,[o]:t?"150%":i?"100vh":"100%"}}),o("h",l)},getWidthHeroBanner=(e,t)=>{let l={},i=["desktop","mobile","tablet"];return i.forEach(o=>{let i=isScaleImage({enableParallax:t,attachment:e[o]?.attachment});l={...l,[o]:i?"100vw":"100%"}}),o("w",l)},getTopHeroBanner=e=>{let t={},l=["desktop","mobile","tablet"];return l.forEach(o=>{t={...t,[o]:e[o]?.attachment==="fixed"?"0px":""}}),o("top",t)},getStyleHeroBannerBg=(e,t)=>{let o=getHeightHeroBanner(e,t),l=getWidthHeroBanner(e,t),i=getTopHeroBanner(e);return{...o,...l,...i}},calcRounderClipPath=(e,t=0,o=0)=>{let l=t,i=t;if(t>o?l=o:i=o,e>=999){let t=e-l;return t>0?t:0}let a=e-i;return a>0?a:0},getClipPath=(e,t)=>{if(!t||!e)return"inset(0 0 0)";let[o,l,i,a]=e.split(" ").map(e=>parseInt(e??"0")),{btlr:n,btrr:r,bbrr:s,bblr:g}=t,p=calcRounderClipPath(parseInt(n??"0"),o,a),b=calcRounderClipPath(parseInt(r??"0"),o,l),c=calcRounderClipPath(parseInt(s??"0"),l,i),d=calcRounderClipPath(parseInt(g??"0"),i,a);return`inset(0 0 0 round ${p}px ${b}px ${c}px ${d}px)`},getClassAlignBanner=e=>({"!gp-self-start":"left"===e.desktop,"!gp-self-center":"center"===e.desktop,"!gp-self-end":"right"===e.desktop,"tablet:!gp-self-start":"left"===e.tablet,"tablet:!gp-self-center":"center"===e.tablet,"tablet:!gp-self-end":"right"===e.tablet,"mobile:!gp-self-start":"left"===e.mobile,"mobile:!gp-self-center":"center"===e.mobile,"mobile:!gp-self-end":"right"===e.mobile}),get1ColLayout=({device:e,settingLayoutRes:t,contentPosition1ColRes:o})=>{let l=t[e]?.cols??[],i=l.length<=1,a=o[e];if(!i||!a)return;let n=["space-between","top","center","bottom"];return n.includes(a)?a:void 0},getClassSpaceBetween=(e,t)=>{let o=getResponsiveSetting(e),i=getResponsiveSetting(t),a={desktop:get1ColLayout({device:"desktop",settingLayoutRes:o,contentPosition1ColRes:i}),tablet:get1ColLayout({device:"tablet",settingLayoutRes:o,contentPosition1ColRes:i}),mobile:get1ColLayout({device:"mobile",settingLayoutRes:o,contentPosition1ColRes:i})},n={"space-between":{desktop:"!gp-h-full !gp-content-stretch [&>*]:!gp-justify-between [&>*:nth-child(2)]:gp-absolute [&>*:nth-child(2)]:gp-hidden",tablet:"tablet:!gp-h-full tablet:!gp-content-stretch tablet:[&>*]:!gp-justify-between tablet:[&>*:nth-child(2)]:gp-absolute tablet:[&>*:nth-child(2)]:gp-hidden",mobile:"mobile:!gp-h-full mobile:!gp-content-stretch mobile:[&>*]:!gp-justify-between mobile:[&>*:nth-child(2)]:gp-absolute mobile:[&>*:nth-child(2)]:gp-hidden"},top:{desktop:"!gp-content-stretch [&>*]:!gp-justify-start",tablet:"tablet:!gp-content-stretch tablet:[&>*]:!gp-justify-start",mobile:"mobile:!gp-content-stretch mobile:[&>*]:!gp-justify-start"},center:{desktop:"!gp-content-stretch [&>*]:!gp-justify-center",tablet:"tablet:!gp-content-stretch tablet:[&>*]:!gp-justify-center",mobile:"mobile:!gp-content-stretch mobile:[&>*]:!gp-justify-center"},bottom:{desktop:"!gp-content-stretch [&>*]:!gp-justify-end",tablet:"tablet:!gp-content-stretch tablet:[&>*]:!gp-justify-end",mobile:"mobile:!gp-content-stretch mobile:[&>*]:!gp-justify-end"}},r={};return l.forEach(e=>{let t=a[e],o=n?.[t]?.[e];r[o]=!0}),r},getClassSpaceBetweenLeftRight=e=>{let t=getResponsiveSetting(e),o=t?.desktop?.type=="left-distributed"||t?.desktop?.type=="right-distributed",l=t?.tablet?.type=="left-distributed"||t?.tablet?.type=="right-distributed",i=t?.mobile?.type=="left-distributed"||t?.mobile?.type=="right-distributed";return{"gp-h-full tablet:gp-h-auto mobile:gp-h-auto [&>*]:!gp-justify-between":o,"tablet:!gp-h-full tablet:[&>*]:!gp-justify-between mobile:gp-h-auto":l,"mobile:!gp-h-full mobile:[&>*]:!gp-justify-between":i,"mobile:!gp-h-auto":!i}},getClassForStretchContent=t=>{let o={desktop:"none",tablet:"none",mobile:"none"},l=["desktop","mobile","tablet"];return l.forEach(l=>{let i=e(t,l);o={...o,[l]:i}}),n("space-between"===o.desktop?"[&>*>*]:!gp-justify-between":"","space-between"===o.tablet?"tablet:[&>*>*]:!gp-justify-between ":`tablet:[&>*>*]:!gp-justify-${t?.tablet}`,"space-between"===o.mobile?"mobile:[&>*>*]:!gp-justify-between ":`mobile:[&>*>*]:!gp-justify-${t?.mobile}`)},getClassForContentByFitContent=(t,o)=>{let l={desktop:!1,tablet:!1,mobile:!1},i=["desktop","mobile","tablet"];return i.forEach(i=>{let a=e(t,i),n=!!getDataVideoHeroBannerResponsive(i,o),r=a?.shape,s=a?.height,g="original"===r&&"fit-content"!==s;l={...l,[i]:g&&!n}}),n(l.desktop?"!gp-absolute":"",l.tablet?"tablet:!gp-absolute":"tablet:!gp-relative",l.mobile?"mobile:!gp-absolute":"mobile:!gp-relative")},getClassContentPosition=e=>{let t={center:"center",top:"start",bottom:"end","space-between":"between"},o=e.desktop||"center",l=e.tablet||o,i=e.mobile||l;return{[`gp-justify-${t[o||"center"]}`]:!!o,[`tablet:gp-justify-${t[l||"center"]}`]:!!l,[`mobile:gp-justify-${t[i||"center"]}`]:!!i}},getResponsiveSetting=e=>{let t=e.desktop,o=e.tablet?e.tablet:t,l=e.mobile?e.mobile:o;return{desktop:t,tablet:o,mobile:l}},showVideoType=e=>l.some(t=>{let o=i(e,t);return o?.type!=="color"&&o?.type!=="image"&&!!o&&(o?.videoType==="html5"&&o?.videoHtml5||o?.videoType==="youtube"&&o?.video)});function debounce(e,t){let o;return function(...l){clearTimeout(o),o=setTimeout(()=>e.apply(this,l),t)}}let fallbackImg="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTkyMCIgaGVpZ2h0PSI5MDAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8ZGVmcz4KICAgICAgPGxpbmVhckdyYWRpZW50IGlkPSJnLTE5MjAtOTAwIj4KICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSJyZ2JhKDUxLCA1MSwgNTEsIDApIiBvZmZzZXQ9IjIwJSIgLz4KICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSJyZ2JhKDUxLCA1MSwgNTEsIDApIiBvZmZzZXQ9IjUwJSIgLz4KICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSJyZ2JhKDUxLCA1MSwgNTEsIDApIiBvZmZzZXQ9IjcwJSIgLz4KICAgICAgPC9saW5lYXJHcmFkaWVudD4KICAgIDwvZGVmcz4KICAgIDxyZWN0IHdpZHRoPSIxOTIwIiBoZWlnaHQ9IjkwMCIgZmlsbD0icmdiYSg1MSwgNTEsIDUxLCAwKSIgLz4KICAgIDxyZWN0IGlkPSJyIiB3aWR0aD0iMTkyMCIgaGVpZ2h0PSI5MDAiIGZpbGw9InVybCgjZy0xOTIwLTkwMCkiIC8+CiAgICA8YW5pbWF0ZSB4bGluazpocmVmPSIjciIgYXR0cmlidXRlTmFtZT0ieCIgZnJvbT0iLTE5MjAiIHRvPSIxOTIwIiBkdXI9IjFzIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgIC8+CiAgPC9zdmc+",getBannerLink=e=>{let t=e?.link;return t?.type==="go-to-sales-page"?{type:"go-to-sales-page",link:g,target:"_self"}:t},formatHoverScale=e=>e?String(e).includes("%")?`${e}`:`${e}%`:"100%",opacityEnabledData=e=>{let{overlayColor:t,overlayOpacity:o}=e??{},l=!t?.normal||o?.normal=="0%"||!o?.normal;return{disableOpacity:l}},getOpacityHover=e=>{let{overlayOpacity:t}=e??{},o="number"!=typeof t?.hover||isNaN(t?.hover)?"string"==typeof t?.hover?`${parseInt(t?.hover)}%`:"":`${t?.hover}%`,l="number"!=typeof t?.normal||isNaN(t?.normal)?"string"==typeof t?.normal?`${parseInt(t?.normal)}%`:"0%":`${t?.normal}%`;return o||l};export{debounce,fallbackImg,formatHoverScale,getAspectRatioSettings,getAttachmentDevice,getBackgroundImageHeroBanner,getBannerLink,getBgImage,getClassAlignBanner,getClassContentPosition,getClassForContentByFitContent,getClassForStretchContent,getClassSpaceBetween,getClassSpaceBetweenLeftRight,getClipPath,getContentPosition,getDataVideoHeroBannerResponsive,getDisplayStyleByFitContent,getEnableBgImageByDevice,getOpacityHover,getPercentageVisible,getResponsiveSetting,getStyleAspectRatioHeroBannerCustom,getStyleHeroBannerBg,getVisibilityStyle,getWidth,horizontalAlign,imagePlaceholder,isScaleImage,mapContentPositionToHorizontal,opacityEnabledData,scrollToContentBanner,showVideoType};
@@ -1 +1 @@
1
- import{makeStyleWithDefault as e,getWidthByShapeGlobalSize as t,makeStyleResponsive as r,getHeightByShapeGlobalSize as l,makeStyle as o,getSingleColorVariable as n,getRadiusStyleActiveState as i,getStyleBgColor as y,getStyleShadow as a,makeStyleState as g,getGlobalColorStateStyle as u,getResponsiveStylePadding as s,getStyleBackgroundByDevice as c}from"@gem-sdk/core";import{getVisibilityStyle as S,getStyleAspectRatioHeroBannerCustom as d,getAspectRatioSettings as h,getOpacityHover as m,getDisplayStyleByFitContent as p,getStyleHeroBannerBg as b,formatHoverScale as f,getAttachmentDevice as w,getClipPath as v,opacityEnabledData as T,getResponsiveSetting as k}from"./helpers.js";function filterTruthyStyles(e){return Object.fromEntries(Object.entries(e||{}).filter(([,e])=>void 0!==e||""===e))}let getStyle=(o,n,i)=>{let{sizeSetting:y,background:a}=o??{},{ratioOptions:g,aspectRatio:u}=n??{},s={...i,...S(i),...e("w",t(y,!0),{desktop:"--g-ct-w",tablet:"--g-ct-w",mobile:"--g-ct-w"}),...d(a,y,h(g,u)),...r("h",l(y))};return filterTruthyStyles(s)},getContainerStyle=(e,t)=>{let{sizeSetting:g,background:u,borderBg:s,cornerBg:c,shadowBg:S,hasActiveShadow:m}=e??{},{ratioOptions:p,aspectRatio:b}=t??{},f={...r("h",l(g)),...d(u,g,h(p,b)),...o({bs:s?.border??s?.border,bw:s?.width??s?.width,bc:n(s?.color)}),...i({...c,active:{...c||{},radiusType:"custom"}}),...u?{...y(u)}:{},...a({value:S,styleAppliedFor:"box-shadow",isEnableShadow:m})};return filterTruthyStyles(f)},getOverlayStyle=e=>{let{overlayColor:t,overlayOpacity:r,hoverEffect:l}=e??{},{disableOpacity:o}=T(e),n="number"!=typeof r?.normal||isNaN(r?.normal)?"string"==typeof r?.normal?`${parseInt(r?.normal)}%`:"0%":`${r?.normal}%`,i=g("op",{normal:n,hover:m(e)}),y=u("bgc",{...t,hover:t?.hover||t?.normal});o&&(delete y?.["--bgc"],delete i?.["--op"]),l||(delete y?.["--hvr-bgc"],delete i?.["--hvr-op"]);let a={...y,...i,"--top":"0","--left":"0"};return filterTruthyStyles(a)},getRowStyle=e=>{let{contentPadding:t}=e??{},r={...s(t)};return filterTruthyStyles(r)},getAdaptiveStyle=o=>{let{sizeSetting:n,background:i}=o??{},y={...p(n,i),...r("h",l(n)),...e("w",t(n,!0),{desktop:"--g-ct-w",tablet:"--g-ct-w",mobile:"--g-ct-w"})};return filterTruthyStyles(y)},getBackgroundStyle=(e,t,l)=>{let{hoverEffectScale:o,background:n,hoverEffectDuration:i}=e??{},y={...b(k(n||{}),t),...c(n,{ignoreBgAttachment:!0,ignoreBackgroundImage:!0}),"--duration":`${parseInt(`${i}`)??0}s`,"--scale":f(o),...r("pos",w(n)),transform:l,transition:"transform 300ms cubic-bezier(0,0,0,1)"};return filterTruthyStyles(y)},getContainBackgroundStyle=e=>{let{borderBg:t,cornerBg:r}=e??{},l={"clip-path":v(t?.width,r)};return filterTruthyStyles(l)},getHtml5VideoStyle=e=>{let t={...r("aspect",e)};return filterTruthyStyles(t)},getYoutubeIframeStyle=e=>{let t={...r("aspect",e),"pointer-event":"none"};return filterTruthyStyles(t)};export{getAdaptiveStyle,getBackgroundStyle,getContainBackgroundStyle,getContainerStyle,getHtml5VideoStyle,getOverlayStyle,getRowStyle,getStyle,getYoutubeIframeStyle};
1
+ import{makeStyleWithDefault as e,getWidthByShapeGlobalSize as t,makeStyleResponsive as r,getHeightByShapeGlobalSize as l,makeStyle as o,getSingleColorVariable as n,getRadiusStyleActiveState as i,getStyleBgColor as y,getStyleShadow as a,makeStyleState as g,getGlobalColorStateStyle as u,getResponsiveStylePadding as s,getStyleBackgroundByDevice as c}from"@gem-sdk/core";import{getVisibilityStyle as S,getStyleAspectRatioHeroBannerCustom as d,getAspectRatioSettings as h,getOpacityHover as p,getDisplayStyleByFitContent as m,getStyleHeroBannerBg as b,formatHoverScale as f,getAttachmentDevice as w,getClipPath as v,opacityEnabledData as T,getResponsiveSetting as k}from"./helpers.js";function filterTruthyStyles(e){return Object.fromEntries(Object.entries(e||{}).filter(([,e])=>void 0!==e||""===e))}let getStyle=(o,n,i)=>{let{sizeSetting:y,background:a}=o??{},{ratioOptions:g,aspectRatio:u}=n??{},s={...i,...S(i),...e("w",t(y,!0),{desktop:"--g-ct-w",tablet:"--g-ct-w",mobile:"--g-ct-w"}),...d(a,y,h(g,u)),...r("h",l(y))};return filterTruthyStyles(s)},getContainerStyle=(e,t)=>{let{sizeSetting:g,background:u,borderBg:s,cornerBg:c,shadowBg:S,hasActiveShadow:p}=e??{},{ratioOptions:m,aspectRatio:b}=t??{},f={...r("h",l(g)),...d(u,g,h(m,b)),...o({bs:s?.border??s?.border,bw:s?.width??s?.width,bc:n(s?.color)}),...i({...c,active:{...c||{},radiusType:"custom"}}),...u?{...y(u)}:{},...a({value:S,styleAppliedFor:"box-shadow",isEnableShadow:p})};return filterTruthyStyles(f)},getOverlayStyle=e=>{let{overlayColor:t,overlayOpacity:r,hoverEffect:l}=e??{},{disableOpacity:o}=T(e),n="number"!=typeof r?.normal||isNaN(r?.normal)?"string"==typeof r?.normal?`${parseInt(r?.normal)}%`:"0%":`${r?.normal}%`,i=g("op",{normal:n,hover:p(e)}),y=u("bgc",{...t,hover:t?.hover||t?.normal});o&&(delete y?.["--bgc"],delete i?.["--op"]),l||(delete y?.["--hvr-bgc"],delete i?.["--hvr-op"]);let a={...y,...i,"--top":"0","--left":"0"};return filterTruthyStyles(a)},getRowStyle=e=>{let{contentPadding:t}=e??{},r={...s(t)};return filterTruthyStyles(r)},getAdaptiveStyle=o=>{let{sizeSetting:n,background:i}=o??{},y={...m(n,i),...r("h",l(n)),...e("w",t(n,!0),{desktop:"--g-ct-w",tablet:"--g-ct-w",mobile:"--g-ct-w"})};return filterTruthyStyles(y)},getBackgroundStyle=(e,t,l)=>{let{hoverEffectScale:o,background:n,hoverEffectDuration:i}=e??{},y=`${parseFloat(`${i}`)??.5}s`,a={...b(k(n||{}),t),...c(n,{ignoreBgAttachment:!0,ignoreBackgroundImage:!0}),"--duration":y,"--scale":f(o),...r("pos",w(n)),transform:l,transition:`transform ${y} cubic-bezier(0,0,0,1)`};return filterTruthyStyles(a)},getContainBackgroundStyle=e=>{let{borderBg:t,cornerBg:r}=e??{},l={"clip-path":v(t?.width,r)};return filterTruthyStyles(l)},getHtml5VideoStyle=e=>{let t={...r("aspect",e)};return filterTruthyStyles(t)},getYoutubeIframeStyle=e=>{let t={...r("aspect",e),"pointer-event":"none"};return filterTruthyStyles(t)};export{getAdaptiveStyle,getBackgroundStyle,getContainBackgroundStyle,getContainerStyle,getHtml5VideoStyle,getOverlayStyle,getRowStyle,getStyle,getYoutubeIframeStyle};
@@ -1,19 +1,19 @@
1
- import e from"./HeroBannerItem.liquid.js";import{getAttr as r,getAttrLink as o}from"../common/attrs.js";import{getStyle as s}from"../common/styles.js";import{getClasses as t,getLinkClasses as a}from"../common/classes.js";import{createStateOrContext as l,createAttr as n,createStyle as i,createClass as c,If as m}from"@gem-sdk/system";import{template as p,dataStringify as d,RenderIf as f,isLocalEnv as h,baseAssetURL as u}from"@gem-sdk/core";import{getInsertLinkData as $,getSettingPreloadData as g}from"../../helpers.js";import{getResponsiveSetting as v,getBannerLink as b}from"../common/helpers.js";let HeroBanner=y=>{let{builderAttrs:P,builderProps:j,setting:k,styles:C,style:E,children:S,advanced:x,pageContext:B}=y,{enableLazyLoadImage:H}=B??{},{enableLink:N}=k??{},R=b(k),{cssClass:_}=x??{},{urlData:w}=$("",R),A=l({background:v(C?.background||{}),uid:j?.uid,enableParallax:Number(k?.speedParallax||0)>0,speedParallax:Number(k?.speedParallax)||0,hoverEffect:C?.hoverEffect,hoverEffectScale:C?.hoverEffectScale,layout:k?.layout,contentPosition1Col:C?.contentPosition1Col,contentPosition2Col:C?.contentPosition2Col,aspectRatio:k?.aspectRatio,target:R?.target??"_self",href:w?.href??"",linkType:R?.type??""}),G=!!R?.link&&N,I=n({...r({uid:j?.uid||""})}),T=n(o()),q=i({...s(C,k,E)}),M=c({...t({setting:k,builderProps:j,advancedCssClass:_})}),O=c({...a()}),V=()=>e({setting:k,styles:C,children:S,enableLazyLoadImage:H,rawChildren:y.rawChildren,builderProps:j});return p`
1
+ import e from"./HeroBannerItem.liquid.js";import{getAttr as r,getAttrLink as o}from"../common/attrs.js";import{getStyle as s}from"../common/styles.js";import{getClasses as t,getLinkClasses as a}from"../common/classes.js";import{createStateOrContext as n,createAttr as l,createStyle as i,createClass as c,If as m}from"@gem-sdk/system";import{template as p,dataStringify as d,RenderIf as f,isLocalEnv as h,baseAssetURL as u}from"@gem-sdk/core";import{getInsertLinkData as $,getSettingPreloadData as g}from"../../helpers.js";import{getResponsiveSetting as v,getBannerLink as E}from"../common/helpers.js";let HeroBanner=b=>{let{builderAttrs:y,builderProps:P,setting:j,styles:k,style:C,children:S,advanced:x,pageContext:B}=b,{enableLazyLoadImage:H}=B??{},{enableLink:N}=j??{},R=E(j),{cssClass:_}=x??{},{urlData:w}=$("",R),A=n({background:v(k?.background||{}),uid:P?.uid,enableParallax:Number(j?.speedParallax||0)>0,speedParallax:Number(j?.speedParallax)||0,hoverEffect:k?.hoverEffect,hoverEffectScale:k?.hoverEffectScale,layout:j?.layout,contentPosition1Col:k?.contentPosition1Col,contentPosition2Col:k?.contentPosition2Col,aspectRatio:j?.aspectRatio,target:R?.target??"_self",href:w?.href??"",linkType:R?.type??"",hoverEffectDuration:k?.hoverEffectDuration}),D=!!R?.link&&N,G=l({...r({uid:P?.uid||""})}),I=l(o()),T=i({...s(k,j,C)}),q=c({...t({setting:j,builderProps:P,advancedCssClass:_})}),M=c({...a()}),O=()=>e({setting:j,styles:k,children:S,enableLazyLoadImage:H,rawChildren:b.rawChildren,builderProps:P});return p`
2
2
  <gp-hero-banner
3
- ${{...P}}
4
- ${{...I}}
5
- class="${M}"
6
- style="${q}"
3
+ ${{...y}}
4
+ ${{...G}}
5
+ class="${q}"
6
+ style="${T}"
7
7
  gp-data='${d(A)}'
8
8
  >
9
- ${m(!G,V())}
10
- ${m(G,p`
9
+ ${m(!D,O())}
10
+ ${m(D,p`
11
11
  <div
12
- ${{...T}}
12
+ ${{...I}}
13
13
  aria-hidden="true"
14
- class="${O}"
14
+ class="${M}"
15
15
  >
16
- ${V()}
16
+ ${O()}
17
17
  </div>`)}
18
18
  </gp-hero-banner>
19
19
  ${f(h,`<script ${g('class="gps-link" delay',"src")}="{{ 'gp-hero-banner-v7-5.js' | asset_url }}" defer="defer"></script>`,`<script ${g('class="gps-link" delay',"src")}="${u}/assets-v2/gp-hero-banner-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}" defer="defer"></script>
@@ -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,useOnlyUnitInit:!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:"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};
@@ -1 +1 @@
1
- import{HREF_TO_SALES_PAGE as t}from"../../constant.js";import{getAspectRatio as e,getNewBackupFileKey as r,getImageSrc as a,safeStringify as s,NEXT_IMAGE_CONFIG as i,getSrcSet as l,createBlurDataURL as o,IMAGE_PLACEHOLDER as g}from"./helpers.js";import{createAttr as p}from"@gem-sdk/system";import{handleClickLink as n}from"../../helpers.js";import{PRIORITY_LOAD_ATTRS as c}from"../constants.js";let getContainerAttrs=(t,e)=>({...t,...e&&{"data-id":e}}),getLinkWrapperAttrs=({urlData:e,imageLink:r,title:a,isLiquid:s=!1})=>{let i=s?{...e,...r?.noFollow&&{rel:"nofollow"},title:a}:{setting:e,title:a};return r?.type!=="go-to-sales-page"?r?.link?i:{}:s?{href:t,target:"_self"}:{setting:{href:t,target:"_self"}}},getImageLiquidAttrs=({pageContext:t,enableLazyLoadImage:e=!1})=>({...t&&{pageContext:t},...e&&{enableLazyLoadImage:e}}),getAdaptiveImageAttrs=({styles:t,setting:i,mode:l,isLiquid:o})=>{let{alt:g,srcSet:p,priority:u,qualityPercent:d,qualityType:m}=i??{},A=e({styles:t,setting:i}),y=()=>{n(i?.imageLink,l)},k=p?.desktop?.backupFileKey?r(p?.desktop?.backupFileKey??"",p?.desktop?.src??""):"",L=o?a({src:p?.desktop?.src,backupFileKey:k,backupFilePath:p?.desktop?.backupFilePath,storage:p?.desktop?.storage}):p?.desktop?.src??"",F=u?{}:{"base-src":L??"","quality-type":s(m),"quality-percent":s(d)};return{pictureClass:"gp-contents",...g&&{alt:g},...p&&{srcSet:p},...u&&c,...F,...t?.objectFit&&{layout:t.objectFit},onClick:y,aspectRatio:A}},getNextImageAttrs=({styles:t,setting:r})=>{let{objectFit:a}=t??{},{vw:s,alt:i,title:l,quality:o,priority:g,isNotLazyload:p,qualityType:n,qualityPercent:c}=r??{},u=e({styles:t,setting:r});return{...r?.image,...s&&{vw:s},...i&&{alt:i},...l&&{title:l},...o&&{quality:o},...g&&{priority:g},isNotLazyload:p,setting:{aspectRatio:u,layout:a,qualityType:n,qualityPercent:c}}},getNextImageLiquidAttrs=t=>{let{srcset:e,setting:g,storage:n,baseSrc:c,priority:u,customAttrs:d,width:m=2237,height:A=1678,isNotLazyload:y,backupFileKey:k,backupFilePath:L,srcIsLiquidCode:F,enableLazyLoadImage:b,alt:f,title:h,src:I=i.DEFAULT_SRC,sizes:q=i.DEFAULT_SIZES}=t,E=!y&&b&&!u,T=()=>{let t=k?r(k??"",I):"",s=F?c:a({src:I,backupFileKey:t,backupFilePath:L,storage:n}),i=F?I:l(t??"",n??"THEME",I),g={sizes:"100vw",src:o(m,A),...s&&!u?{"base-src":s}:{},...s?{"data-src":s}:{},...i?{"data-srcset":i}:{}},p={sizes:q,src:s??"",isNotLazyload:"true",srcset:e??"",...s&&!u?{"base-src":s}:{},...u?{loading:"eager",fetchpriority:"high"}:{loading:"lazy"}};return{"data-sizes":"auto",...E?g:p}},_=()=>{let{qualityPercent:t,qualityType:e}=g??{},r=!u&&e&&t?{"quality-type":s(e),"quality-percent":s(t)}:{"quality-type":"","quality-percent":""};return{...f&&{alt:f},...h&&{title:h},width:m,height:A,draggable:"false",...r}};return p({...d,..._(),...T()})},getNextImageReactAttrs=t=>{let{width:e=i.DEFAULT_WIDTH_PROPS,height:r=i.DEFAULT_HEIGHT_PROPS,quality:a,priority:s,isNotLazyload:l,enableLazyLoadImage:o,base64:n=g,alt:c=i.DEFAULT_ALT,src:u=i.DEFAULT_SRC}=t,d=!l&&o&&!s,m=()=>{let t={loading:"lazy",placeholder:"blur",...n&&{blurDataURL:n}},e={loading:"eager",fetchpriority:"high"};return{...d?t:e}},A=()=>({src:u,alt:c,width:e,height:r,quality:a}),y=A(),k=p(m());return{...y,...k}};export{getAdaptiveImageAttrs,getContainerAttrs,getImageLiquidAttrs,getLinkWrapperAttrs,getNextImageAttrs,getNextImageLiquidAttrs,getNextImageReactAttrs};
1
+ import{HREF_TO_SALES_PAGE as t}from"../../constant.js";import{getAspectRatio as e,getNewBackupFileKey as r,getImageSrc as a,safeStringify as s,NEXT_IMAGE_CONFIG as i,getSrcSet as l,createBlurDataURL as o,IMAGE_PLACEHOLDER as g}from"./helpers.js";import{createAttr as p}from"@gem-sdk/system";import{handleClickLink as n}from"../../helpers.js";import{PRIORITY_LOAD_ATTRS as c}from"../constants.js";let getContainerAttrs=(t,e)=>({...t,...e&&{"data-id":e}}),getLinkWrapperAttrs=({urlData:e,imageLink:r,title:a,isLiquid:s=!1})=>{let i=s?{...e,...r?.noFollow&&{rel:"nofollow"},title:a}:{setting:e,title:a};return r?.type!=="go-to-sales-page"?r?.link?i:{}:s?{href:t,target:"_self"}:{setting:{href:t,target:"_self"}}},getImageLiquidAttrs=({pageContext:t,enableLazyLoadImage:e=!1})=>({...t&&{pageContext:t},...e&&{enableLazyLoadImage:e}}),getAdaptiveImageAttrs=({styles:t,setting:i,mode:l,isLiquid:o})=>{let{alt:g,srcSet:p,priority:u,qualityPercent:d,qualityType:m}=i??{},A=e({styles:t,setting:i}),y=()=>{n(i?.imageLink,l)},k=p?.desktop?.backupFileKey?r(p?.desktop?.backupFileKey??"",p?.desktop?.src??""):"",L=o?a({src:p?.desktop?.src,backupFileKey:k,backupFilePath:p?.desktop?.backupFilePath,storage:p?.desktop?.storage}):p?.desktop?.src??"",F=u?{}:{"base-src":L??"","quality-type":s(m),"quality-percent":s(d)};return{pictureClass:"gp-contents",...g&&{alt:g},...p&&{srcSet:p},...u&&c,...F,...t?.objectFit&&{layout:t.objectFit},onClick:y,aspectRatio:A}},getNextImageAttrs=({styles:t,setting:r})=>{let{objectFit:a}=t??{},{vw:s,alt:i,title:l,quality:o,priority:g,isNotLazyload:p,qualityType:n,qualityPercent:c}=r??{},u=e({styles:t,setting:r});return{...r?.image,...s&&{vw:s},...i&&{alt:i},...l&&{title:l},...o&&{quality:o},...g&&{priority:g},isNotLazyload:p,setting:{aspectRatio:u,layout:a,qualityType:n,qualityPercent:c}}},getNextImageLiquidAttrs=t=>{let{srcset:e,setting:g,storage:n,baseSrc:c,priority:u,customAttrs:d,width:m=2237,height:A=1678,isNotLazyload:y,backupFileKey:k,backupFilePath:L,srcIsLiquidCode:F,enableLazyLoadImage:b,alt:f,title:h,src:I=i.DEFAULT_SRC,sizes:q=i.DEFAULT_SIZES}=t,E=!y&&b&&!u,T=()=>{let t=k?r(k??"",I):"",s=F?c:a({src:I,backupFileKey:t,backupFilePath:L,storage:n}),i=F?I:l(t??"",n??"THEME",I),g={sizes:"100vw",src:o(m,A),...s&&!u?{"base-src":s}:{},...s?{"data-src":s}:{},...i?{"data-srcset":i}:{}},p={sizes:q,src:s??"",isNotLazyload:"true",srcset:e??"",...s&&!u?{"base-src":s}:{},...u?{loading:"eager",fetchpriority:"high"}:{loading:"lazy"}};return{"data-sizes":"auto",...E?g:p}},_=()=>{let{qualityPercent:t,qualityType:e}=g??{},r=!u&&e&&t?{"quality-type":s(e),"quality-percent":s(t)}:{"quality-type":"","quality-percent":""};return{...f&&{alt:f},...h&&{title:h},width:m,height:A,draggable:"false",...r}};return p({...d,..._(),...T()})},getNextImageReactAttrs=t=>{let{width:e=i.DEFAULT_WIDTH_PROPS,height:r=i.DEFAULT_HEIGHT_PROPS,quality:a,priority:s,isNotLazyload:l,enableLazyLoadImage:o,base64:n=g,alt:c=i.DEFAULT_ALT,title:u,src:d=i.DEFAULT_SRC}=t,m=!l&&o&&!s,A=()=>{let t={loading:"lazy",placeholder:"blur",...n&&{blurDataURL:n}},e={loading:"eager",fetchpriority:"high"};return{...m?t:e}},y=()=>({src:d,alt:c,title:u,width:e,height:r,quality:a}),k=y(),L=p(A());return{...k,...L}};export{getAdaptiveImageAttrs,getContainerAttrs,getImageLiquidAttrs,getLinkWrapperAttrs,getNextImageAttrs,getNextImageLiquidAttrs,getNextImageReactAttrs};
package/dist/esm/index.js CHANGED
@@ -1 +1 @@
1
- export{accordionSetting}from"./accordion/index.js";export{articleListSetting}from"./article/index.js";export{bannerSetting}from"./hero-banner/index.js";export{breadcrumbSetting}from"./breadcrumb/index.js";export{buttonSetting}from"./button/index.js";export{carouselSetting}from"./carousel/index.js";export{cartSetting}from"./cart/index.js";export{codeSetting}from"./code/index.js";export{collectionSetting}from"./collection/index.js";export{countdownSetting}from"./countdown-timer/index.js";export{couponSetting}from"./coupon/index.js";export{dialogSetting}from"./dialog/index.js";export{estimateDeliverySetting}from"./estimate-delivery/index.js";export{gridSetting}from"./grid/index.js";export{contactFormSetting}from"./form/index.js";export{headerSetting}from"./header/index.js";export{headingSetting}from"./heading/index.js";export{iconSetting}from"./icon/index.js";export{iconListSetting}from"./icon-list/index.js";export{iconListHozSetting}from"./icon-list-hoz/index.js";export{iconListSettingV2}from"./icon-list-v2/index.js";export{imageSetting}from"./image/index.js";export{imageComparisonSetting}from"./image-comparison/index.js";export{imageDetectionSetting}from"./image-detection/index.js";export{inputSetting}from"./input/index.js";export{lineSetting}from"./line/index.js";export{linkSetting}from"./link/index.js";export{marqueeSetting}from"./marquee/index.js";export{menuSetting}from"./menu/index.js";export{modalSetting}from"./modal/index.js";export{default as useNotification}from"./notification/hooks/useNotification.js";export{default as Notice}from"./notification/components/Notice.js";export{paginationSetting}from"./pagination/index.js";export{postPurchaseAdvancedListSetting}from"./post-purchase/advanced-list/index.js";export{postPurchaseButtonSetting}from"./post-purchase/button/index.js";export{postPurchaseCalloutBoxSetting}from"./post-purchase/callout-banner/index.js";export{postPurchaseCountdownTimerSetting}from"./post-purchase/countdown-timer/index.js";export{postPurchaseImageSetting}from"./post-purchase/image/index.js";export{postPurchaseLineSetting}from"./post-purchase/line/index.js";export{postPurchaseLinkSetting}from"./post-purchase/link/index.js";export{PostPurchaseHeading,postPurchaseTextSetting}from"./post-purchase/text/index.js";export{postPurchaseProductSetting}from"./post-purchase/product/index.js";export{productSetting}from"./product/index.js";export{radioSetting}from"./radio/index.js";export{selectSetting}from"./select/index.js";export{tabSetting}from"./tab/index.js";export{textSetting}from"./text/index.js";export{textareaSetting}from"./textarea/index.js";export{videoSetting}from"./video/index.js";export{thirdPartySetting}from"./third-party/index.js";export{thirdPartyInstantSetting}from"./third-party-instant/index.js";export{stockCounterSetting}from"./stock-counter/index.js";export{thirdPartySlotSetting}from"./third-party-slot/index.js";export{shopPayInstallmentSetting}from"./shop-pay-installment/index.js";export{stickySetting}from"./sticky/index.js";export{default as nextComponent}from"./next.js";import*as t from"./index.liquid.js";export{default as builderComponent}from"./builder.js";export{default as componentSettings}from"./setting.js";export{default as postPurchaseSettings}from"./postPurchaseSetting.js";import"react/jsx-runtime";import"react";import"@gem-sdk/core";export{ELEMENT_Z_INDEX}from"./common/const.js";export{checkIsOpenPopup,checkIsScrollToTop,convertUnitToNumber,filterTruthyObject,filterTruthyStyles,getAllHrefFromString,getDisplayStyle,getDynamicSourceLocales,getInsertLinkData,getLinkArticle,getLinkData,getSettingPreloadData,getStaticLocale,handleClickLink,isEmptyObject,isHexTransparent,isLinkedToSalesPage,isTransparentColor,isTransparentRGBA,normalizeMailto,replaceAllHrefFromString,replaceLinkData,youtubeShortsRegex}from"./helpers.js";export{default as Accordion}from"./accordion/components/Accordion.js";export{default as AccordionItem}from"./accordion/components/AccordionItem.js";export{default as ArticleList}from"./article/components/ArticleList.js";export{default as ArticleTitle}from"./article/components/ArticleTitle.js";export{default as ArticleExcerpt}from"./article/components/ArticleExcerpt.js";export{default as ArticleContent}from"./article/components/ArticleContent.js";export{default as ArticleImage}from"./article/components/ArticleImage.js";export{default as ArticlePagination}from"./article/components/ArticlePagination.js";export{default as ArticleAuthor}from"./article/components/ArticleAuthor.js";export{default as ArticleTag}from"./article/components/ArticleTag.js";export{default as ArticleCategory}from"./article/components/ArticleCategory.js";export{default as ArticleDate}from"./article/components/ArticleDate.js";export{default as ArticleReadMore}from"./article/components/ArticleReadMore.js";export{default as HeroBanner}from"./hero-banner/components/HeroBanner.js";export{default as Breadcrumb}from"./breadcrumb/components/Breadcrumb.js";export{default as Button}from"./button/components/Button.js";export{default as Carousel}from"./carousel/components/root/Carousel.js";export{default as CarouselItem}from"./carousel/components/item/CarouselItem.js";export{default as Cart}from"./cart/components/Cart.js";export{default as CartList}from"./cart/components/CartList.js";export{default as CartLinePrice}from"./cart/components/CartLinePrice.js";export{default as CartLineVariant}from"./cart/components/CartLineVariant.js";export{default as CartLineImage}from"./cart/components/CartLineImage.js";export{default as CartTotalPrice}from"./cart/components/CartTotalPrice.js";export{default as CartTotalItem}from"./cart/components/CartTotalItem.js";export{default as CartCheckout}from"./cart/components/CartCheckout.js";export{default as DiscountInput}from"./cart/components/DiscountInput.js";export{default as CartDiscount}from"./cart/components/CartDiscount.js";export{default as CartOrderNote}from"./cart/components/CartOrderNote.js";export{default as CartLineAttribute}from"./cart/components/CartLineAttribute.js";export{default as CouponList}from"./cart/components/CouponList.js";export{default as ShopPayButton}from"./cart/components/shop-pay-button/ShopPayButton.js";export{default as CheckoutNow}from"./cart/components/CheckoutNow.js";export{default as CSSCode}from"./code/components/CSSCode.js";export{default as CollectionTitle}from"./collection/components/collection-title/CollectionTitle.js";export{default as CollectionBanner}from"./collection/components/collection-banner/CollectionBanner.js";export{default as CollectionDescription}from"./collection/components/collection-description/CollectionDescription.js";export{default as CollectionToolbar}from"./collection/components/collection-toolbar/CollectionToolbar.js";export{default as CollectionPaginator}from"./collection/components/collection-paginator/CollectionPaginator.js";export{default as Countdown}from"./countdown-timer/components/Countdown.js";export{default as Coupon}from"./coupon/components/Coupon.js";export{default as Dialog}from"./dialog/components/Dialog.js";export{default as EstimateDate}from"./estimate-delivery/components/EstimateDate.js";export{default as Root}from"./grid/components/root/Root.js";export{default as Section}from"./grid/components/section/Section.js";export{default as Row}from"./grid/components/row/Row.js";export{default as Col}from"./grid/components/col/Col.js";export{default as Newsletter}from"./form/components/newsletter/Newsletter.js";export{default as ContactForm}from"./form/components/contact/Contact.js";export{default as FormEmail}from"./form/components/form-email/FormEmail.js";export{default as SubmitButton}from"./form/components/submit-button/SubmitButton.js";export{default as FormDropdown}from"./form/components/form-dropdown/FormDropdown.js";export{default as TextField}from"./form/components/textfield/TextField.js";export{default as FormTextarea}from"./form/components/textarea/TextArea.js";export{default as FormCheckbox}from"./form/components/form-checkbox/FormCheckbox.js";export{default as TextInput}from"./form/components/textinput/TextInput.js";export{default as Header}from"./header/components/Header.js";export{default as BasicHeader}from"./header/components/kind/basic/index.js";export{default as ModernHeader}from"./header/components/kind/modern/index.js";export{default as MobileMenu}from"./header/components/kind/basic/MobileMenu.js";export{default as DesktopMenu}from"./header/components/kind/basic/DesktopMenu.js";export{default as Heading}from"./heading/components/Heading.js";export{default as Icon}from"./icon/components/Icon.js";export{default as IconList}from"./icon-list/components/IconList.js";export{default as IconListItem}from"./icon-list/components/IconListItem.js";export{default as IconListHoz}from"./icon-list-hoz/components/IconListHoz.js";export{default as IconListItemHoz}from"./icon-list-hoz/components/IconListHozItem.js";export{default as IconListV2}from"./icon-list-v2/components/IconList.js";export{default as Image}from"./image/components/Image.js";export{default as ImageComparison}from"./image-comparison/components/ImageComparison.js";export{default as ImageDetection}from"./image-detection/components/ImageDetection.js";export{default as Input}from"./input/components/Input.js";export{default as Line}from"./line/components/Line.js";export{default as Link}from"./link/components/Link.js";export{default as Marquee}from"./marquee/components/Marquee.js";export{default as MarqueeItem}from"./marquee/components/MarqueeItem.js";export{default as Menu}from"./menu/components/Menu.js";export{openConfirm}from"./modal/components/confirm.js";export{default as Modal}from"./modal/components/Modal.js";export{default as Pagination}from"./pagination/components/Pagination.js";export{default as PostPurchaseAdvancedList}from"./post-purchase/advanced-list/components/AdvancedListPostPurchase.js";export{default as PostPurchaseAdvancedListItem}from"./post-purchase/advanced-list/components/PostPurchaseAdvancedListItem.js";export{default as PostPurchaseButton}from"./post-purchase/button/components/Button.js";export{default as PostPurchaseCalloutBox}from"./post-purchase/callout-banner/components/CalloutBox.js";export{default as PostPurchaseCalloutText}from"./post-purchase/callout-banner/components/CalloutText.js";export{default as PostPurchaseCountdownTimer}from"./post-purchase/countdown-timer/components/PostPurchaseCountdownTimer.js";export{default as PostPurchaseImage}from"./post-purchase/image/components/Image.js";export{default as PostPurchaseLine}from"./post-purchase/line/components/PostPurchaseLine.js";export{default as PostPurchaseLink}from"./post-purchase/link/components/PostPurchaseLink.js";export{default as PostPurchaseText}from"./post-purchase/text/components/Text.js";export{default as PostPurchaseProductPrice}from"./post-purchase/product/components/ProductPrice.js";export{default as PostPurchaseProductDescription}from"./post-purchase/product/components/ProductDescription.js";export{default as PostPurchaseProductTitle}from"./post-purchase/product/components/ProductTitle.js";export{default as PostPurchaseProductVariants}from"./post-purchase/product/components/product-variant/components/ProductVariant.js";export{default as PostPurchaseAcceptButton}from"./post-purchase/product/components/AcceptButton.js";export{default as PostPurchaseProductQuantity}from"./post-purchase/product/components/ProductQuantity.js";export{default as PostPurchaseProductPriceBreakdown}from"./post-purchase/product/components/ProductPriceBreakdown.js";export{default as PostPurchaseProductOffer}from"./post-purchase/product/components/product-offer/components/ProductOffer.js";export{default as PostPurchaseProductDiscountTag}from"./post-purchase/product/components/ProductDiscountTag.js";export{default as PostPurchaseProductImages}from"./post-purchase/product/components/product-image/index.js";export{postPurchaseProduct1Col}from"./post-purchase/product/settings/presets-config/product-presets/product-1-col.js";export{postPurchaseProduct2Col}from"./post-purchase/product/settings/presets-config/product-presets/product-2-col.js";export{postPurchaseProductDefault}from"./post-purchase/product/settings/presets-config/product-presets/product-default.js";export{default as Product}from"./product/components/product-wrap/Product.js";export{default as ProductTitle}from"./product/components/product-title/ProductTitle.js";export{default as ProductQuantity}from"./product/components/product-quantity/ProductQuantity.js";export{default as ProductPrice}from"./product/components/product-price/ProductPrice.js";export{default as ProductButton}from"./product/components/product-button/ProductButton.js";export{default as ProductDescription}from"./product/components/product-description/ProductDescription.js";export{default as ProductVariants}from"./product/components/product-variants/ProductVariants.js";export{default as ProductImages}from"./product/components/ProductImages.js";export{default as ProductImagesV2}from"./product/components/product-images-v2/ProductImageV2.js";export{default as ProductPropertyInput}from"./product/components/product-properties/ProductProperties.js";export{default as ProductQuickView}from"./product/components/product-quick-view/QuickView.js";export{default as ProductTag}from"./product/components/product-discount-tag/ProductDiscountTag.js";export{default as ProductList}from"./product/components/product-list/ProductList.js";export{default as ProductVendor}from"./product/components/product-vendor/Vendor.js";export{default as DynamicCheckout}from"./product/components/dynamic-checkout/DynamicCheckout.js";export{default as ProductViewMore}from"./product/components/product-view-more/ProductViewMore.js";export{default as ProductBadge}from"./product/components/product-badge/ProductBadge.js";export{default as ProductBundleDiscount}from"./product/components/product-bundle/ProductBundleDiscount.js";export{default as ProductBundleDiscountItem}from"./product/components/product-bundle/ProductBundleDiscountItem.js";export{default as ProductSku}from"./product/components/product-sku/Sku.js";export{default as FileUpload}from"./product/components/file-upload/UploadFile.js";export{default as Radio}from"./radio/components/Radio.js";export{default as Select}from"./select/components/Select.js";export{default as Tabs}from"./tab/components/Tabs.js";export{default as TabItem}from"./tab/components/TabItem.js";export{default as Text}from"./text/components/Text.js";export{default as Textarea}from"./textarea/components/Textarea.js";export{default as Video}from"./video/components/Video.js";export{default as AovFreeGiftBuyXGetYBogo}from"./third-party/components/AovFreeGiftBuyXGetYBogo.js";export{default as AppstleBundlesDiscounts}from"./third-party/components/AppstleBundlesDiscounts.js";export{default as EcomsendBackInStockAlert}from"./third-party/components/EcomsendBackInStockAlert.js";export{default as EstimatedDeliveryDatePlus}from"./third-party/components/EstimatedDeliveryDatePlus.js";export{default as OkendoReviewsLoyalty}from"./third-party/components/OkendoReviewsLoyalty.js";export{default as EssentialAnnouncementBar}from"./third-party/components/EssentialAnnouncementBar.js";export{default as EssentialCountdownTimerBar}from"./third-party/components/EssentialCountdownTimerBar.js";export{default as StellarDeliveryDatePickup}from"./third-party/components/StellarDeliveryDatePickup.js";export{default as TrustshopProductReviews}from"./third-party/components/TrustshopProductReviews.js";export{default as HulkProductOptions}from"./third-party/components/HulkProductOptions.js";export{default as MyappgurusProductReviews}from"./third-party/components/MyappgurusProductReviews.js";export{default as TrustreviewsProductReviews}from"./third-party/components/TrustreviewsProductReviews.js";export{default as DiscountyBulkDiscountSales}from"./third-party/components/DiscountyBulkDiscountSales.js";export{default as SeoantTrustBadgesIcon}from"./third-party/components/SeoantTrustBadgesIcon.js";export{default as SegunoEmailMarketing}from"./third-party/components/SegunoEmailMarketing.js";export{default as AftershipEmailMarketingsms}from"./third-party/components/AftershipEmailMarketingsms.js";export{default as BestBuyFulfillment}from"./third-party/components/BestBuyFulfillment.js";export{default as ProductOptionsVariantOption}from"./third-party/components/ProductOptionsVariantOption.js";export{default as GloboProductOptionsVariant}from"./third-party/components/GloboProductOptionsVariant.js";export{default as TeeinblueProductPersonalizer}from"./third-party/components/TeeinblueProductPersonalizer.js";export{default as WishlistKing}from"./third-party/components/WishlistKing.js";export{default as HulkFormBuilder}from"./third-party/components/HulkFormBuilder.js";export{default as LoloyalLoyaltyReferrals}from"./third-party/components/LoloyalLoyaltyReferrals.js";export{default as PowerfulContactFormBuilder}from"./third-party/components/PowerfulContactFormBuilder.js";export{default as WishlistPlus}from"./third-party/components/WishlistPlus.js";export{default as InstasellShoppableInstagram}from"./third-party/components/InstasellShoppableInstagram.js";export{default as SproutPlantTreesGrowSales}from"./third-party/components/SproutPlantTreesGrowSales.js";export{default as RapiBundleQuantityBreaks}from"./third-party/components/RapiBundleQuantityBreaks.js";export{default as AppointmentBookingCowlendar}from"./third-party/components/AppointmentBookingCowlendar.js";export{default as GoogleReviewsByReputon}from"./third-party/components/GoogleReviewsByReputon.js";export{default as MbcBundleVolumeDiscount}from"./third-party/components/MbcBundleVolumeDiscount.js";export{default as ProductOptionsCustomizer}from"./third-party/components/ProductOptionsCustomizer.js";export{default as AirProductReviewsAppUgc}from"./third-party/components/AirProductReviewsAppUgc.js";export{default as TagembedSocialPostReview}from"./third-party/components/TagembedSocialPostReview.js";export{default as WhatmoreShoppableVideosreel}from"./third-party/components/WhatmoreShoppableVideosreel.js";export{default as TagshopShoppableVideosUgc}from"./third-party/components/TagshopShoppableVideosUgc.js";export{default as JunipProductReviewsUgc}from"./third-party/components/JunipProductReviewsUgc.js";export{default as FlyBundlesUpsellsFbt}from"./third-party/components/FlyBundlesUpsellsFbt.js";export{default as PreorderNowWodPresale}from"./third-party/components/PreorderNowWodPresale.js";export{default as PreorderNowPreOrderPq}from"./third-party/components/PreorderNowPreOrderPq.js";export{default as MaxbundleProductBundles}from"./third-party/components/MaxbundleProductBundles.js";export{default as KoalaBundleQuantityDiscount}from"./third-party/components/KoalaBundleQuantityDiscount.js";export{default as EasyBundleBuilderSkailama}from"./third-party/components/EasyBundleBuilderSkailama.js";export{default as FastBundleBundlesDiscounts}from"./third-party/components/FastBundleBundlesDiscounts.js";export{default as KiteFreeGiftDiscount}from"./third-party/components/KiteFreeGiftDiscount.js";export{default as UnlimitedBundlesDiscounts}from"./third-party/components/UnlimitedBundlesDiscounts.js";export{default as SimpleBundlesKits}from"./third-party/components/SimpleBundlesKits.js";export{default as ReviewxpoProductReviewsApp}from"./third-party/components/ReviewxpoProductReviewsApp.js";export{default as PumperBundlesVolumeDiscount}from"./third-party/components/PumperBundlesVolumeDiscount.js";export{default as NotifyBackInStockPreOrder}from"./third-party/components/NotifyBackInStockPreOrder.js";export{default as ShopifyForms}from"./third-party/components/ShopifyForms.js";export{default as SkioSubscriptionsYcS20}from"./third-party/components/SkioSubscriptionsYcS20.js";export{default as LoopSubscriptions}from"./third-party/components/LoopSubscriptions.js";export{default as RecurpaySubscriptionApp}from"./third-party/components/RecurpaySubscriptionApp.js";export{default as SubifySubscriptionsApp}from"./third-party/components/SubifySubscriptionsApp.js";export{default as BonLoyaltyRewardsReferrals}from"./third-party/components/BonLoyaltyRewardsReferrals.js";export{default as ShopifySubscriptions}from"./third-party/components/ShopifySubscriptions.js";export{default as EasifyProductOptions}from"./third-party/components/EasifyProductOptions.js";export{default as CustomProductOptionsVariant}from"./third-party/components/CustomProductOptionsVariant.js";export{default as EasySellCOD}from"./third-party/components/EasySellCOD.js";export{default as QikifyUpsell}from"./third-party/components/QikifyUpsell.js";export{default as CleanSizeCharts}from"./third-party/components/CleanSizeCharts.js";export{default as JudgemeReviews}from"./third-party/components/JudgemeReviews.js";export{default as LooxReviews}from"./third-party/components/LooxReviews.js";export{default as Klaviyo}from"./third-party/components/Klaviyo.js";export{default as YotpoLoyalty}from"./third-party/components/YotpoLoyalty.js";export{default as SmartSearchBarAndFilters}from"./third-party/components/SmartSearchBarAndFilters.js";export{default as Instafeed}from"./third-party/components/Instafeed.js";export{default as ProductReviews}from"./third-party/components/ProductReviews.js";export{default as Ryviu}from"./third-party/components/Ryviu.js";export{default as Rivyo}from"./third-party/components/Rivyo.js";export{default as Vitals}from"./third-party/components/Vitals.js";export{default as Omnisend}from"./third-party/components/Omnisend.js";export{default as Trustoo}from"./third-party/components/Trustoo.js";export{default as SealSubscriptions}from"./third-party/components/SealSubscriptions.js";export{default as AppstleSubscriptions}from"./third-party/components/AppstleSubscriptions.js";export{default as FeraReviews}from"./third-party/components/FeraReviews.js";export{default as Growave}from"./third-party/components/Growave.js";export{default as KachingBundles}from"./third-party/components/KachingBundles.js";export{default as PushOwl}from"./third-party/components/PushOwl.js";export{default as Opinew}from"./third-party/components/Opinew.js";export{default as UltimateSalesBoost}from"./third-party/components/UltimateSalesBoost.js";export{default as FirePush}from"./third-party/components/FirePush.js";export{default as ParcelPanel}from"./third-party/components/ParcelPanel.js";export{default as TrustMe}from"./third-party/components/TrustMe.js";export{default as FrequentlyBoughtTogether}from"./third-party/components/FrequentlyBoughtTogether.js";export{default as BoldSubscriptions}from"./third-party/components/BoldSubscriptions.js";export{default as BoldProductOptions}from"./third-party/components/BoldProductOptions.js";export{default as WideBundle}from"./third-party/components/WideBundle.js";export{default as PickyStory}from"./third-party/components/PickyStory.js";export{default as InfiniteOptions}from"./third-party/components/InfiniteOptions.js";export{default as Wiser}from"./third-party/components/Wiser.js";export{default as Stamped}from"./third-party/components/Stamped.js";export{default as Bundler}from"./third-party/components/Bundler.js";export{default as LaiProductReviews}from"./third-party/components/LaiProductReviews.js";export{default as CrossSellCartUpsell}from"./third-party/components/CrossSellCartUpsell.js";export{default as BoostAISearchDiscovery}from"./third-party/components/BoostAISearchDiscovery.js";export{default as YotpoReviews}from"./third-party/components/YotpoReviews.js";export{default as AliReviews}from"./third-party/components/AliReviews.js";export{default as Bogos}from"./third-party/components/Bogos.js";export{default as Releasit}from"./third-party/components/Releasit.js";export{default as KingProductOptions}from"./third-party/components/KingProductOptions.js";export{default as KlarnaMessaging}from"./third-party/components/KlarnaMessaging.js";export{default as RequestQuoteHidePrice}from"./third-party/components/RequestQuoteHidePrice.js";export{default as BirdChime}from"./third-party/components/BirdChime.js";export{default as FordeerProductLabels}from"./third-party/components/FordeerProductLabels.js";export{default as RechargeSubscriptions}from"./third-party/components/RechargeSubscriptions.js";export{default as Selleasy}from"./third-party/components/Selleasy.js";export{default as HextomCountdownTimerBar}from"./third-party/components/HextomCountdownTimerBar.js";export{default as TrustBadgesBear}from"./third-party/components/TrustBadgesBear.js";export{default as TrustedsiteTrustBadges}from"./third-party/components/TrustedsiteTrustBadges.js";export{default as GloColorSwatchvariantImage}from"./third-party/components/GloColorSwatchvariantImage.js";export{default as BfSizeChartSizeGuide}from"./third-party/components/BfSizeChartSizeGuide.js";export{default as AlsoBoughtCbb}from"./third-party/components/AlsoBoughtCbb.js";export{default as HextomFreeShippingBar}from"./third-party/components/HextomFreeShippingBar.js";export{default as EcoboostifyShoppableReelUgc}from"./third-party/components/EcoboostifyShoppableReelUgc.js";export{default as InstantJudgemeReviews}from"./third-party-instant/components/InstantJudgemeReviews.js";export{default as InstantLooxReviews}from"./third-party-instant/components/InstantLooxReviews.js";export{default as InstantKlaviyo}from"./third-party-instant/components/InstantKlaviyo.js";export{default as InstantYotpoLoyalty}from"./third-party-instant/components/InstantYotpoLoyalty.js";export{default as StockCounter}from"./stock-counter/components/StockCounter.js";export{default as ThirdPartySlot}from"./third-party-slot/components/ThirdPartySlot.js";export{default as ShopPayInstallments}from"./shop-pay-installment/components/ShopPayInstallments.js";export{default as Sticky}from"./sticky/components/Sticky.js";export{CONTINUE_SELLING_WHEN_OUT_OF_STOCK,DEFAULT_FONT_SIZE,DEFAULT_HIGHLIGHT_TAG,DEFAULT_PROGRESS_BAR_HEIGHT,DEFAULT_QUANTITY_TEMPLATE,DEFAULT_RANGE_STEP,DEFAULT_REMAINING_PERCENT,DEFAULT_REMAINING_QUANTITY,DEFAULT_SCARCITY_THRESHOLD,MAX_PROGRESS_BAR_HEIGHT,MAX_REMAINING_PERCENT,MIN_PROGRESS_BAR_HEIGHT,MIN_REMAINING_PERCENT,MIN_REMAINING_QUANTITY,NO_PRODUCT_LEFT,OUT_OF_STOCK,QUANTITY_SOURCE,convertSizeToWidth,getInlineCss,getLiquidInitData,getLiquidTextContent,getTextDisplayData,transformHighlighTag,transformNumberTag}from"./stock-counter/common/helpers.js";export{t as liquidComponents};
1
+ export{accordionSetting}from"./accordion/index.js";export{articleListSetting}from"./article/index.js";export{bannerSetting}from"./hero-banner/index.js";export{breadcrumbSetting}from"./breadcrumb/index.js";export{buttonSetting}from"./button/index.js";export{carouselSetting}from"./carousel/index.js";export{cartSetting}from"./cart/index.js";export{codeSetting}from"./code/index.js";export{collectionSetting}from"./collection/index.js";export{countdownSetting}from"./countdown-timer/index.js";export{couponSetting}from"./coupon/index.js";export{dialogSetting}from"./dialog/index.js";export{estimateDeliverySetting}from"./estimate-delivery/index.js";export{gridSetting}from"./grid/index.js";export{contactFormSetting}from"./form/index.js";export{headerSetting}from"./header/index.js";export{headingSetting}from"./heading/index.js";export{iconSetting}from"./icon/index.js";export{iconListSetting}from"./icon-list/index.js";export{iconListHozSetting}from"./icon-list-hoz/index.js";export{iconListSettingV2}from"./icon-list-v2/index.js";export{imageSetting}from"./image/index.js";export{imageComparisonSetting}from"./image-comparison/index.js";export{imageDetectionSetting}from"./image-detection/index.js";export{inputSetting}from"./input/index.js";export{lineSetting}from"./line/index.js";export{linkSetting}from"./link/index.js";export{marqueeSetting}from"./marquee/index.js";export{menuSetting}from"./menu/index.js";export{modalSetting}from"./modal/index.js";export{default as useNotification}from"./notification/hooks/useNotification.js";export{default as Notice}from"./notification/components/Notice.js";export{paginationSetting}from"./pagination/index.js";export{postPurchaseAdvancedListSetting}from"./post-purchase/advanced-list/index.js";export{postPurchaseButtonSetting}from"./post-purchase/button/index.js";export{postPurchaseCalloutBoxSetting}from"./post-purchase/callout-banner/index.js";export{postPurchaseCountdownTimerSetting}from"./post-purchase/countdown-timer/index.js";export{postPurchaseImageSetting}from"./post-purchase/image/index.js";export{postPurchaseLineSetting}from"./post-purchase/line/index.js";export{postPurchaseLinkSetting}from"./post-purchase/link/index.js";export{PostPurchaseHeading,postPurchaseTextSetting}from"./post-purchase/text/index.js";export{postPurchaseProductSetting}from"./post-purchase/product/index.js";export{productSetting}from"./product/index.js";export{radioSetting}from"./radio/index.js";export{selectSetting}from"./select/index.js";export{tabSetting}from"./tab/index.js";export{textSetting}from"./text/index.js";export{textareaSetting}from"./textarea/index.js";export{videoSetting}from"./video/index.js";export{thirdPartySetting}from"./third-party/index.js";export{thirdPartyInstantSetting}from"./third-party-instant/index.js";export{stockCounterSetting}from"./stock-counter/index.js";export{thirdPartySlotSetting}from"./third-party-slot/index.js";export{shopPayInstallmentSetting}from"./shop-pay-installment/index.js";export{stickySetting}from"./sticky/index.js";export{default as nextComponent}from"./next.js";import*as t from"./index.liquid.js";export{default as builderComponent}from"./builder.js";export{default as componentSettings}from"./setting.js";export{default as postPurchaseSettings}from"./postPurchaseSetting.js";import"react/jsx-runtime";import"react";import"@gem-sdk/core";export{ELEMENT_Z_INDEX}from"./common/const.js";export{REGEX_PAGE_TYPE,checkIsOpenPopup,checkIsScrollToTop,convertUnitToNumber,filterTruthyObject,filterTruthyStyles,getAllHrefFromString,getDisplayStyle,getDynamicSourceLocales,getInsertLinkData,getLinkArticle,getLinkData,getSettingPreloadData,getStaticLocale,handleClickLink,isEmptyObject,isHexTransparent,isLinkedToSalesPage,isShopifyDomain,isTransparentColor,isTransparentRGBA,normalizeMailto,replaceAllHrefFromString,replaceLinkData,youtubeShortsRegex}from"./helpers.js";export{default as Accordion}from"./accordion/components/Accordion.js";export{default as AccordionItem}from"./accordion/components/AccordionItem.js";export{default as ArticleList}from"./article/components/ArticleList.js";export{default as ArticleTitle}from"./article/components/ArticleTitle.js";export{default as ArticleExcerpt}from"./article/components/ArticleExcerpt.js";export{default as ArticleContent}from"./article/components/ArticleContent.js";export{default as ArticleImage}from"./article/components/ArticleImage.js";export{default as ArticlePagination}from"./article/components/ArticlePagination.js";export{default as ArticleAuthor}from"./article/components/ArticleAuthor.js";export{default as ArticleTag}from"./article/components/ArticleTag.js";export{default as ArticleCategory}from"./article/components/ArticleCategory.js";export{default as ArticleDate}from"./article/components/ArticleDate.js";export{default as ArticleReadMore}from"./article/components/ArticleReadMore.js";export{default as HeroBanner}from"./hero-banner/components/HeroBanner.js";export{default as Breadcrumb}from"./breadcrumb/components/Breadcrumb.js";export{default as Button}from"./button/components/Button.js";export{default as Carousel}from"./carousel/components/root/Carousel.js";export{default as CarouselItem}from"./carousel/components/item/CarouselItem.js";export{default as Cart}from"./cart/components/Cart.js";export{default as CartList}from"./cart/components/CartList.js";export{default as CartLinePrice}from"./cart/components/CartLinePrice.js";export{default as CartLineVariant}from"./cart/components/CartLineVariant.js";export{default as CartLineImage}from"./cart/components/CartLineImage.js";export{default as CartTotalPrice}from"./cart/components/CartTotalPrice.js";export{default as CartTotalItem}from"./cart/components/CartTotalItem.js";export{default as CartCheckout}from"./cart/components/CartCheckout.js";export{default as DiscountInput}from"./cart/components/DiscountInput.js";export{default as CartDiscount}from"./cart/components/CartDiscount.js";export{default as CartOrderNote}from"./cart/components/CartOrderNote.js";export{default as CartLineAttribute}from"./cart/components/CartLineAttribute.js";export{default as CouponList}from"./cart/components/CouponList.js";export{default as ShopPayButton}from"./cart/components/shop-pay-button/ShopPayButton.js";export{default as CheckoutNow}from"./cart/components/CheckoutNow.js";export{default as CSSCode}from"./code/components/CSSCode.js";export{default as CollectionTitle}from"./collection/components/collection-title/CollectionTitle.js";export{default as CollectionBanner}from"./collection/components/collection-banner/CollectionBanner.js";export{default as CollectionDescription}from"./collection/components/collection-description/CollectionDescription.js";export{default as CollectionToolbar}from"./collection/components/collection-toolbar/CollectionToolbar.js";export{default as CollectionPaginator}from"./collection/components/collection-paginator/CollectionPaginator.js";export{default as Countdown}from"./countdown-timer/components/Countdown.js";export{default as Coupon}from"./coupon/components/Coupon.js";export{default as Dialog}from"./dialog/components/Dialog.js";export{default as EstimateDate}from"./estimate-delivery/components/EstimateDate.js";export{default as Root}from"./grid/components/root/Root.js";export{default as Section}from"./grid/components/section/Section.js";export{default as Row}from"./grid/components/row/Row.js";export{default as Col}from"./grid/components/col/Col.js";export{default as Newsletter}from"./form/components/newsletter/Newsletter.js";export{default as ContactForm}from"./form/components/contact/Contact.js";export{default as FormEmail}from"./form/components/form-email/FormEmail.js";export{default as SubmitButton}from"./form/components/submit-button/SubmitButton.js";export{default as FormDropdown}from"./form/components/form-dropdown/FormDropdown.js";export{default as TextField}from"./form/components/textfield/TextField.js";export{default as FormTextarea}from"./form/components/textarea/TextArea.js";export{default as FormCheckbox}from"./form/components/form-checkbox/FormCheckbox.js";export{default as TextInput}from"./form/components/textinput/TextInput.js";export{default as Header}from"./header/components/Header.js";export{default as BasicHeader}from"./header/components/kind/basic/index.js";export{default as ModernHeader}from"./header/components/kind/modern/index.js";export{default as MobileMenu}from"./header/components/kind/basic/MobileMenu.js";export{default as DesktopMenu}from"./header/components/kind/basic/DesktopMenu.js";export{default as Heading}from"./heading/components/Heading.js";export{default as Icon}from"./icon/components/Icon.js";export{default as IconList}from"./icon-list/components/IconList.js";export{default as IconListItem}from"./icon-list/components/IconListItem.js";export{default as IconListHoz}from"./icon-list-hoz/components/IconListHoz.js";export{default as IconListItemHoz}from"./icon-list-hoz/components/IconListHozItem.js";export{default as IconListV2}from"./icon-list-v2/components/IconList.js";export{default as Image}from"./image/components/Image.js";export{default as ImageComparison}from"./image-comparison/components/ImageComparison.js";export{default as ImageDetection}from"./image-detection/components/ImageDetection.js";export{default as Input}from"./input/components/Input.js";export{default as Line}from"./line/components/Line.js";export{default as Link}from"./link/components/Link.js";export{default as Marquee}from"./marquee/components/Marquee.js";export{default as MarqueeItem}from"./marquee/components/MarqueeItem.js";export{default as Menu}from"./menu/components/Menu.js";export{openConfirm}from"./modal/components/confirm.js";export{default as Modal}from"./modal/components/Modal.js";export{default as Pagination}from"./pagination/components/Pagination.js";export{default as PostPurchaseAdvancedList}from"./post-purchase/advanced-list/components/AdvancedListPostPurchase.js";export{default as PostPurchaseAdvancedListItem}from"./post-purchase/advanced-list/components/PostPurchaseAdvancedListItem.js";export{default as PostPurchaseButton}from"./post-purchase/button/components/Button.js";export{default as PostPurchaseCalloutBox}from"./post-purchase/callout-banner/components/CalloutBox.js";export{default as PostPurchaseCalloutText}from"./post-purchase/callout-banner/components/CalloutText.js";export{default as PostPurchaseCountdownTimer}from"./post-purchase/countdown-timer/components/PostPurchaseCountdownTimer.js";export{default as PostPurchaseImage}from"./post-purchase/image/components/Image.js";export{default as PostPurchaseLine}from"./post-purchase/line/components/PostPurchaseLine.js";export{default as PostPurchaseLink}from"./post-purchase/link/components/PostPurchaseLink.js";export{default as PostPurchaseText}from"./post-purchase/text/components/Text.js";export{default as PostPurchaseProductPrice}from"./post-purchase/product/components/ProductPrice.js";export{default as PostPurchaseProductDescription}from"./post-purchase/product/components/ProductDescription.js";export{default as PostPurchaseProductTitle}from"./post-purchase/product/components/ProductTitle.js";export{default as PostPurchaseProductVariants}from"./post-purchase/product/components/product-variant/components/ProductVariant.js";export{default as PostPurchaseAcceptButton}from"./post-purchase/product/components/AcceptButton.js";export{default as PostPurchaseProductQuantity}from"./post-purchase/product/components/ProductQuantity.js";export{default as PostPurchaseProductPriceBreakdown}from"./post-purchase/product/components/ProductPriceBreakdown.js";export{default as PostPurchaseProductOffer}from"./post-purchase/product/components/product-offer/components/ProductOffer.js";export{default as PostPurchaseProductDiscountTag}from"./post-purchase/product/components/ProductDiscountTag.js";export{default as PostPurchaseProductImages}from"./post-purchase/product/components/product-image/index.js";export{postPurchaseProduct1Col}from"./post-purchase/product/settings/presets-config/product-presets/product-1-col.js";export{postPurchaseProduct2Col}from"./post-purchase/product/settings/presets-config/product-presets/product-2-col.js";export{postPurchaseProductDefault}from"./post-purchase/product/settings/presets-config/product-presets/product-default.js";export{default as Product}from"./product/components/product-wrap/Product.js";export{default as ProductTitle}from"./product/components/product-title/ProductTitle.js";export{default as ProductQuantity}from"./product/components/product-quantity/ProductQuantity.js";export{default as ProductPrice}from"./product/components/product-price/ProductPrice.js";export{default as ProductButton}from"./product/components/product-button/ProductButton.js";export{default as ProductDescription}from"./product/components/product-description/ProductDescription.js";export{default as ProductVariants}from"./product/components/product-variants/ProductVariants.js";export{default as ProductImages}from"./product/components/ProductImages.js";export{default as ProductImagesV2}from"./product/components/product-images-v2/ProductImageV2.js";export{default as ProductPropertyInput}from"./product/components/product-properties/ProductProperties.js";export{default as ProductQuickView}from"./product/components/product-quick-view/QuickView.js";export{default as ProductTag}from"./product/components/product-discount-tag/ProductDiscountTag.js";export{default as ProductList}from"./product/components/product-list/ProductList.js";export{default as ProductVendor}from"./product/components/product-vendor/Vendor.js";export{default as DynamicCheckout}from"./product/components/dynamic-checkout/DynamicCheckout.js";export{default as ProductViewMore}from"./product/components/product-view-more/ProductViewMore.js";export{default as ProductBadge}from"./product/components/product-badge/ProductBadge.js";export{default as ProductBundleDiscount}from"./product/components/product-bundle/ProductBundleDiscount.js";export{default as ProductBundleDiscountItem}from"./product/components/product-bundle/ProductBundleDiscountItem.js";export{default as ProductSku}from"./product/components/product-sku/Sku.js";export{default as FileUpload}from"./product/components/file-upload/UploadFile.js";export{default as Radio}from"./radio/components/Radio.js";export{default as Select}from"./select/components/Select.js";export{default as Tabs}from"./tab/components/Tabs.js";export{default as TabItem}from"./tab/components/TabItem.js";export{default as Text}from"./text/components/Text.js";export{default as Textarea}from"./textarea/components/Textarea.js";export{default as Video}from"./video/components/Video.js";export{default as AovFreeGiftBuyXGetYBogo}from"./third-party/components/AovFreeGiftBuyXGetYBogo.js";export{default as AppstleBundlesDiscounts}from"./third-party/components/AppstleBundlesDiscounts.js";export{default as EcomsendBackInStockAlert}from"./third-party/components/EcomsendBackInStockAlert.js";export{default as EstimatedDeliveryDatePlus}from"./third-party/components/EstimatedDeliveryDatePlus.js";export{default as OkendoReviewsLoyalty}from"./third-party/components/OkendoReviewsLoyalty.js";export{default as EssentialAnnouncementBar}from"./third-party/components/EssentialAnnouncementBar.js";export{default as EssentialCountdownTimerBar}from"./third-party/components/EssentialCountdownTimerBar.js";export{default as StellarDeliveryDatePickup}from"./third-party/components/StellarDeliveryDatePickup.js";export{default as TrustshopProductReviews}from"./third-party/components/TrustshopProductReviews.js";export{default as HulkProductOptions}from"./third-party/components/HulkProductOptions.js";export{default as MyappgurusProductReviews}from"./third-party/components/MyappgurusProductReviews.js";export{default as TrustreviewsProductReviews}from"./third-party/components/TrustreviewsProductReviews.js";export{default as DiscountyBulkDiscountSales}from"./third-party/components/DiscountyBulkDiscountSales.js";export{default as SeoantTrustBadgesIcon}from"./third-party/components/SeoantTrustBadgesIcon.js";export{default as SegunoEmailMarketing}from"./third-party/components/SegunoEmailMarketing.js";export{default as AftershipEmailMarketingsms}from"./third-party/components/AftershipEmailMarketingsms.js";export{default as BestBuyFulfillment}from"./third-party/components/BestBuyFulfillment.js";export{default as ProductOptionsVariantOption}from"./third-party/components/ProductOptionsVariantOption.js";export{default as GloboProductOptionsVariant}from"./third-party/components/GloboProductOptionsVariant.js";export{default as TeeinblueProductPersonalizer}from"./third-party/components/TeeinblueProductPersonalizer.js";export{default as WishlistKing}from"./third-party/components/WishlistKing.js";export{default as HulkFormBuilder}from"./third-party/components/HulkFormBuilder.js";export{default as LoloyalLoyaltyReferrals}from"./third-party/components/LoloyalLoyaltyReferrals.js";export{default as PowerfulContactFormBuilder}from"./third-party/components/PowerfulContactFormBuilder.js";export{default as WishlistPlus}from"./third-party/components/WishlistPlus.js";export{default as InstasellShoppableInstagram}from"./third-party/components/InstasellShoppableInstagram.js";export{default as SproutPlantTreesGrowSales}from"./third-party/components/SproutPlantTreesGrowSales.js";export{default as RapiBundleQuantityBreaks}from"./third-party/components/RapiBundleQuantityBreaks.js";export{default as AppointmentBookingCowlendar}from"./third-party/components/AppointmentBookingCowlendar.js";export{default as GoogleReviewsByReputon}from"./third-party/components/GoogleReviewsByReputon.js";export{default as MbcBundleVolumeDiscount}from"./third-party/components/MbcBundleVolumeDiscount.js";export{default as ProductOptionsCustomizer}from"./third-party/components/ProductOptionsCustomizer.js";export{default as AirProductReviewsAppUgc}from"./third-party/components/AirProductReviewsAppUgc.js";export{default as TagembedSocialPostReview}from"./third-party/components/TagembedSocialPostReview.js";export{default as WhatmoreShoppableVideosreel}from"./third-party/components/WhatmoreShoppableVideosreel.js";export{default as TagshopShoppableVideosUgc}from"./third-party/components/TagshopShoppableVideosUgc.js";export{default as JunipProductReviewsUgc}from"./third-party/components/JunipProductReviewsUgc.js";export{default as FlyBundlesUpsellsFbt}from"./third-party/components/FlyBundlesUpsellsFbt.js";export{default as PreorderNowWodPresale}from"./third-party/components/PreorderNowWodPresale.js";export{default as PreorderNowPreOrderPq}from"./third-party/components/PreorderNowPreOrderPq.js";export{default as MaxbundleProductBundles}from"./third-party/components/MaxbundleProductBundles.js";export{default as KoalaBundleQuantityDiscount}from"./third-party/components/KoalaBundleQuantityDiscount.js";export{default as EasyBundleBuilderSkailama}from"./third-party/components/EasyBundleBuilderSkailama.js";export{default as FastBundleBundlesDiscounts}from"./third-party/components/FastBundleBundlesDiscounts.js";export{default as KiteFreeGiftDiscount}from"./third-party/components/KiteFreeGiftDiscount.js";export{default as UnlimitedBundlesDiscounts}from"./third-party/components/UnlimitedBundlesDiscounts.js";export{default as SimpleBundlesKits}from"./third-party/components/SimpleBundlesKits.js";export{default as ReviewxpoProductReviewsApp}from"./third-party/components/ReviewxpoProductReviewsApp.js";export{default as PumperBundlesVolumeDiscount}from"./third-party/components/PumperBundlesVolumeDiscount.js";export{default as NotifyBackInStockPreOrder}from"./third-party/components/NotifyBackInStockPreOrder.js";export{default as ShopifyForms}from"./third-party/components/ShopifyForms.js";export{default as SkioSubscriptionsYcS20}from"./third-party/components/SkioSubscriptionsYcS20.js";export{default as LoopSubscriptions}from"./third-party/components/LoopSubscriptions.js";export{default as RecurpaySubscriptionApp}from"./third-party/components/RecurpaySubscriptionApp.js";export{default as SubifySubscriptionsApp}from"./third-party/components/SubifySubscriptionsApp.js";export{default as BonLoyaltyRewardsReferrals}from"./third-party/components/BonLoyaltyRewardsReferrals.js";export{default as ShopifySubscriptions}from"./third-party/components/ShopifySubscriptions.js";export{default as EasifyProductOptions}from"./third-party/components/EasifyProductOptions.js";export{default as CustomProductOptionsVariant}from"./third-party/components/CustomProductOptionsVariant.js";export{default as EasySellCOD}from"./third-party/components/EasySellCOD.js";export{default as QikifyUpsell}from"./third-party/components/QikifyUpsell.js";export{default as CleanSizeCharts}from"./third-party/components/CleanSizeCharts.js";export{default as JudgemeReviews}from"./third-party/components/JudgemeReviews.js";export{default as LooxReviews}from"./third-party/components/LooxReviews.js";export{default as Klaviyo}from"./third-party/components/Klaviyo.js";export{default as YotpoLoyalty}from"./third-party/components/YotpoLoyalty.js";export{default as SmartSearchBarAndFilters}from"./third-party/components/SmartSearchBarAndFilters.js";export{default as Instafeed}from"./third-party/components/Instafeed.js";export{default as ProductReviews}from"./third-party/components/ProductReviews.js";export{default as Ryviu}from"./third-party/components/Ryviu.js";export{default as Rivyo}from"./third-party/components/Rivyo.js";export{default as Vitals}from"./third-party/components/Vitals.js";export{default as Omnisend}from"./third-party/components/Omnisend.js";export{default as Trustoo}from"./third-party/components/Trustoo.js";export{default as SealSubscriptions}from"./third-party/components/SealSubscriptions.js";export{default as AppstleSubscriptions}from"./third-party/components/AppstleSubscriptions.js";export{default as FeraReviews}from"./third-party/components/FeraReviews.js";export{default as Growave}from"./third-party/components/Growave.js";export{default as KachingBundles}from"./third-party/components/KachingBundles.js";export{default as PushOwl}from"./third-party/components/PushOwl.js";export{default as Opinew}from"./third-party/components/Opinew.js";export{default as UltimateSalesBoost}from"./third-party/components/UltimateSalesBoost.js";export{default as FirePush}from"./third-party/components/FirePush.js";export{default as ParcelPanel}from"./third-party/components/ParcelPanel.js";export{default as TrustMe}from"./third-party/components/TrustMe.js";export{default as FrequentlyBoughtTogether}from"./third-party/components/FrequentlyBoughtTogether.js";export{default as BoldSubscriptions}from"./third-party/components/BoldSubscriptions.js";export{default as BoldProductOptions}from"./third-party/components/BoldProductOptions.js";export{default as WideBundle}from"./third-party/components/WideBundle.js";export{default as PickyStory}from"./third-party/components/PickyStory.js";export{default as InfiniteOptions}from"./third-party/components/InfiniteOptions.js";export{default as Wiser}from"./third-party/components/Wiser.js";export{default as Stamped}from"./third-party/components/Stamped.js";export{default as Bundler}from"./third-party/components/Bundler.js";export{default as LaiProductReviews}from"./third-party/components/LaiProductReviews.js";export{default as CrossSellCartUpsell}from"./third-party/components/CrossSellCartUpsell.js";export{default as BoostAISearchDiscovery}from"./third-party/components/BoostAISearchDiscovery.js";export{default as YotpoReviews}from"./third-party/components/YotpoReviews.js";export{default as AliReviews}from"./third-party/components/AliReviews.js";export{default as Bogos}from"./third-party/components/Bogos.js";export{default as Releasit}from"./third-party/components/Releasit.js";export{default as KingProductOptions}from"./third-party/components/KingProductOptions.js";export{default as KlarnaMessaging}from"./third-party/components/KlarnaMessaging.js";export{default as RequestQuoteHidePrice}from"./third-party/components/RequestQuoteHidePrice.js";export{default as BirdChime}from"./third-party/components/BirdChime.js";export{default as FordeerProductLabels}from"./third-party/components/FordeerProductLabels.js";export{default as RechargeSubscriptions}from"./third-party/components/RechargeSubscriptions.js";export{default as Selleasy}from"./third-party/components/Selleasy.js";export{default as HextomCountdownTimerBar}from"./third-party/components/HextomCountdownTimerBar.js";export{default as TrustBadgesBear}from"./third-party/components/TrustBadgesBear.js";export{default as TrustedsiteTrustBadges}from"./third-party/components/TrustedsiteTrustBadges.js";export{default as GloColorSwatchvariantImage}from"./third-party/components/GloColorSwatchvariantImage.js";export{default as BfSizeChartSizeGuide}from"./third-party/components/BfSizeChartSizeGuide.js";export{default as AlsoBoughtCbb}from"./third-party/components/AlsoBoughtCbb.js";export{default as HextomFreeShippingBar}from"./third-party/components/HextomFreeShippingBar.js";export{default as EcoboostifyShoppableReelUgc}from"./third-party/components/EcoboostifyShoppableReelUgc.js";export{default as InstantJudgemeReviews}from"./third-party-instant/components/InstantJudgemeReviews.js";export{default as InstantLooxReviews}from"./third-party-instant/components/InstantLooxReviews.js";export{default as InstantKlaviyo}from"./third-party-instant/components/InstantKlaviyo.js";export{default as InstantYotpoLoyalty}from"./third-party-instant/components/InstantYotpoLoyalty.js";export{default as StockCounter}from"./stock-counter/components/StockCounter.js";export{default as ThirdPartySlot}from"./third-party-slot/components/ThirdPartySlot.js";export{default as ShopPayInstallments}from"./shop-pay-installment/components/ShopPayInstallments.js";export{default as Sticky}from"./sticky/components/Sticky.js";export{CONTINUE_SELLING_WHEN_OUT_OF_STOCK,DEFAULT_FONT_SIZE,DEFAULT_HIGHLIGHT_TAG,DEFAULT_PROGRESS_BAR_HEIGHT,DEFAULT_QUANTITY_TEMPLATE,DEFAULT_RANGE_STEP,DEFAULT_REMAINING_PERCENT,DEFAULT_REMAINING_QUANTITY,DEFAULT_SCARCITY_THRESHOLD,MAX_PROGRESS_BAR_HEIGHT,MAX_REMAINING_PERCENT,MIN_PROGRESS_BAR_HEIGHT,MIN_REMAINING_PERCENT,MIN_REMAINING_QUANTITY,NO_PRODUCT_LEFT,OUT_OF_STOCK,QUANTITY_SOURCE,convertSizeToWidth,getInlineCss,getLiquidInitData,getLiquidTextContent,getTextDisplayData,transformHighlighTag,transformNumberTag}from"./stock-counter/common/helpers.js";export{t as liquidComponents};
@@ -1,4 +1,4 @@
1
- import{template as t,isLocalEnv as s,baseAssetURL as a}from"@gem-sdk/core";import{createClass as i,createStateOrContext as e,Liquid as o,LiquidFor as n,If as l}from"@gem-sdk/system";import{getDynamicSourceLocales as r,getSettingPreloadData as d}from"../../../helpers.js";import{getButtonClasses as m}from"./common/classes.js";import{getButtonStyles as p}from"./common/styles.js";import{removeQuotes as c}from"./common/helper.js";let Button=({setting:u,advanced:y,styles:g,pageContext:f,builderProps:_,className:$=""})=>{let v=r({pageContext:f,settingId:"label",val:u?.label,uid:_?.uid,translate:u?.translate}),b=i({...!!$&&{[$]:!0},...m({styles:g,uid:_?.uid})}),h=p({styles:g,uid:_?.uid}),j=e({setting:{label:u?.label},totalVariant:"{{total_combinations}}"});return t`
1
+ import{template as t,isLocalEnv as s,baseAssetURL as a}from"@gem-sdk/core";import{createClass as e,createStateOrContext as i,Liquid as o,LiquidFor as n,If as l}from"@gem-sdk/system";import{getDynamicSourceLocales as r,getSettingPreloadData as d}from"../../../helpers.js";import{getButtonClasses as p}from"./common/classes.js";import{getButtonStyles as m}from"./common/styles.js";let Button=({setting:c,advanced:u,styles:y,pageContext:g,builderProps:_,className:f=""})=>{let $=r({pageContext:g,settingId:"label",val:c?.label,uid:_?.uid,translate:c?.translate}),v=e({...!!f&&{[f]:!0},...p({styles:y,uid:_?.uid})}),b=m({styles:y,uid:_?.uid}),S=i({setting:{label:c?.label},totalVariant:"{{total_combinations}}"});return t`
2
2
  ${o("{%- assign total_combinations = 1 -%}")}
3
3
  ${n("option in product.options_with_values","{%- assign total_combinations = total_combinations | times: option.values.size -%}")}
4
4
  ${o(`
@@ -7,13 +7,13 @@ import{template as t,isLocalEnv as s,baseAssetURL as a}from"@gem-sdk/core";impor
7
7
  assign supported_payment_methods = shop.enabled_payment_types
8
8
  -%}
9
9
  `)}
10
- <gp-product-dynamic data-id="${_?.uid}" data-translate-label='${c(v)}' class="${y?.cssClass}" gp-data='${c(JSON.stringify(j))}
10
+ <gp-product-dynamic data-id="${_?.uid}" data-translate-label='${$}' class="${u?.cssClass}" gp-data='${JSON.stringify(S).replaceAll("'","&#039;")}
11
11
  '>
12
- <div class="${b}">
12
+ <div class="${v}">
13
13
  {{ form | payment_button }}
14
14
  </div>
15
15
  {% style %}
16
- ${h}
16
+ ${b}
17
17
  {% endstyle %}
18
18
  </gp-product-dynamic>
19
19
  ${l(s,`<script ${d('class="gps-link" delay',"src")}="{{ 'gp-product-dynamic-v7-5.js' | asset_url }}" defer="defer"></script>`,`<script ${d('class="gps-link" delay',"src")}="${a}/assets-v2/gp-product-dynamic-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}" defer="defer"></script>`)}
@@ -1,12 +1,12 @@
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 o,getSettingPreloadData as c}from"../../../helpers.js";import{checkDiscountContentProductBadge as n}from"./utils/common.js";import{generateBadgeContent as d}from"./utils/generateLiquidContent.js";import{renderBadgeInFirstTime as p}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 b,getTextContainerClasses as C,getTextWrapperClasses as S,getTextContentClasses as T,getImageContainerClasses as k,getImageClasses as q}from"./common/classes.js";import{getSubWrapperAttrs as E,getContainerAttrs as I,getTextContentAttrs as K,getImageAttr as _}from"./common/attrs.js";let ProductBadge=h=>{let{styles:A,setting:B,builderProps:L,pageContext:Q}=h,w=B?.shape!=="image",G=n(B?.displayContent),N=l({...$(h,y)}),x=u({...V(h)}),M=u({...b(h)}),O=l({...v(h)}),R=m({...E(h)}),Y=f(h),z=u({...C()}),F=m({...I(h)}),H=u({...S()}),J=l({...j({setting:B,styles:A})}),U=u({...T(A)}),W=l({...P({setting:B,styles:A})}),X=m({...K()}),Z=u({...k()}),ee=l({...D({setting:B,styles:A})}),et=u({...q()}),es=m({..._({setting:B})}),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:B?.displayTrigger,uid:h.builderProps?.uid,productCreatedAt:'{{product.created_at | date: "%Y-%m-%d" }}',productTags:'{{ product.tags | join: "," }}',isTextBadge:w}),{displayContent:er,translate:ea}=B??{},eo=o({val:er?.trim(),uid:L?.uid,settingId:"displayContent",isLiquid:!0,pageContext:Q,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 o,getSettingPreloadData as c}from"../../../helpers.js";import{checkDiscountContentProductBadge as n}from"./utils/common.js";import{generateBadgeContent as d}from"./utils/generateLiquidContent.js";import{renderBadgeInFirstTime as p}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 D,getImageContainerStyles as P}from"./common/styles.js";import{getWrapperClasses as V,getSubWrapperClass as b,getTextContainerClasses as C,getTextWrapperClasses as S,getTextContentClasses as T,getImageContainerClasses as k,getImageClasses as q}from"./common/classes.js";import{getSubWrapperAttrs as E,getContainerAttrs as I,getTextContentAttrs as K,getImageAttr as _}from"./common/attrs.js";let ProductBadge=h=>{let{styles:A,setting:B,builderProps:L,pageContext:Q}=h,G=B?.shape!=="image",N=n(B?.displayContent),w=l({...$(h,y)}),x=u({...V(h)}),M=u({...b(h)}),O=l({...v(h)}),R=m({...E(h)}),Y=f(h),z=u({...C()}),F=m({...I(h)}),H=u({...S()}),J=l({...j({setting:B,styles:A})}),U=u({...T(A)}),W=l({...D({setting:B,styles:A})}),X=m({...K()}),Z=u({...k()}),ee=l({...P({setting:B,styles:A})}),et=u({...q()}),es=m({..._({setting:B})}),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:B?.displayTrigger,uid:h.builderProps?.uid,productCreatedAt:'{{product.created_at | date: "%Y-%m-%d" }}',productTags:'{{ product.tags | join: "," }}',isTextBadge:G}),{displayContent:er,translate:ea}=B??{},eo=o({val:er?.trim(),uid:L?.uid,settingId:"displayContent",isLiquid:!0,pageContext:Q,translate:ea});return e`
2
2
  {% if product %}
3
- ${d(eo,Q?.isPreviewing)}
4
- ${p(B?.displayTrigger,G,w)}
3
+ ${d(eo)}
4
+ ${p(B?.displayTrigger,N,G)}
5
5
  <gp-product-badge
6
6
  ${{...F}}
7
7
  gp-data='${t(ei)}'
8
8
  class="containerClass {{className}}"
9
- style="${N}"
9
+ style="${w}"
10
10
  data-display-content="${Q?.isPreviewing?eo:s(`{{${eo}}}`)}"
11
11
  >
12
12
  <div class="${x}">
@@ -16,7 +16,7 @@ import{template as e,dataStringify as t,sanitizeLiquid as s,RenderIf as i,isLoca
16
16
  style="${O}"
17
17
  >
18
18
  <style>${Y}</style>
19
- ${i(w,e`
19
+ ${i(G,e`
20
20
  <div class="${z}">
21
21
  <div
22
22
  class="${H}"
@@ -1,5 +1,5 @@
1
- let generateBadgeContent=(n,i)=>`
2
- {% assign content = ${i?JSON.stringify(n):n} %}
1
+ let generateBadgeContent=n=>`
2
+ {% assign content = ${JSON.stringify(n)} %}
3
3
 
4
4
  {%if content.size > 0 %}
5
5
  {% if variant.compare_at_price and variant.compare_at_price > 0 %}
@@ -1 +1 @@
1
- import{useRef as e,useState as t,useCallback as r,useEffect as i}from"react";import{DESCRIPTION_LINE_HEIGHT_DEFAULT as l}from"../common/helpers.js";import{useProduct as n,useCurrentDevice as o,getResponsiveValueByScreen as m,useProductShopifyEditLink as u,useEditorMode as p}from"@gem-sdk/core";let useGpDescription=s=>{let c=e(null),[a,h]=t(!1),[g,H]=t(!1),d=n(),y=o(),f=m(s?.hasLineClamp,y),x=m(s?.lineClamp,y),{redirectProductShopifyLink:C}=u(),w=p(),D=r(()=>{if(!c.current)return l;let e=window.getComputedStyle(c.current).getPropertyValue("line-height");return Math.ceil(parseFloat(e))},[]),G=r(e=>f&&x&&e?`${x*e}px`:"auto",[f,x]),M=()=>{if(!c.current)return;let e=D();a?c.current.style.maxHeight=G(e):c.current.style.maxHeight="none",h(e=>!e)};return i(()=>{let e=D();G(e)},[s?.typo?.custom,G,D]),i(()=>{let e=c.current;if(h(!1),!e)return;let t=f&&d?.descriptionHtml;t?setTimeout(()=>{let t=e?.scrollHeight??0,r=e?.clientHeight??0,i=D(),l=Math.round((t??0)/i);e.style.maxHeight=G(i);let n=x&&x<l||r<t;x&&n?H(()=>!0):H(()=>!1)},100):e.style.maxHeight="none"},[f,x,d?.description,d?.descriptionHtml,D,G,h,H]),{ref:c,open:a,isShowViewMore:g,handleToggleShowMore:M,mode:w,redirectProductShopifyLink:C}};export{useGpDescription};
1
+ import{useRef as e,useState as t,useCallback as r,useEffect as i}from"react";import{DESCRIPTION_LINE_HEIGHT_DEFAULT as l}from"../common/helpers.js";import{useProduct as n,useCurrentDevice as o,getResponsiveValueByScreen as p,useProductShopifyEditLink as u,useEditorMode as m,isSafari as s}from"@gem-sdk/core";let useGpDescription=c=>{let a=e(null),[h,g]=t(!1),[d,y]=t(!1),H=n(),f=o(),x=p(c?.hasLineClamp,f),w=p(c?.lineClamp,f),{redirectProductShopifyLink:C}=u(),D=m(),G=r(()=>{if(!a.current)return l;let e=window.getComputedStyle(a.current).getPropertyValue("line-height");return Math.ceil(parseFloat(e))},[]),M=r(e=>x&&w&&e?`${w*e}px`:"auto",[x,w]),P=()=>{if(!a.current)return;let e=G();h?a.current.style.maxHeight=M(e):a.current.style.maxHeight="none",g(e=>!e)};return i(()=>{let e=G();M(e)},[c?.typo?.custom,M,G]),i(()=>{let e=a.current;if(g(!1),!e)return;let t=x&&H?.descriptionHtml;t?setTimeout(()=>{let t=e?.scrollHeight??0,r=e?.clientHeight??0,i=r<t,l=window.getComputedStyle(e).getPropertyValue("line-height"),n=parseInt(l,10)||1,o=Math.round((t??0)/n),p=void 0!==w&&w<o,u=s()?p:i;e.style.maxHeight=M(n),w&&u?y(()=>!0):y(()=>!1)},100):e.style.maxHeight="none"},[x,w,H?.description,H?.descriptionHtml,G,M,g,y]),{ref:a,open:h,isShowViewMore:d,handleToggleShowMore:P,mode:D,redirectProductShopifyLink:C}};export{useGpDescription};
@@ -1 +1 @@
1
- import{composeTypographyClassName as e,handleConvertClassColor as t,getGlobalColorStateClass as p,composeClasses as g}from"@gem-sdk/core";let getInputClasses=({styles:n,borderBtn:l,inputBackgroundColor:s,textColor:r,isDisabled:o})=>{let a="gp-flex gp-w-full gp-px-1 gp-min-w-[45px] gp-shrink-[99999] gp-appearance-none gp-items-center gp-text-center gp-outline-none focus-visible:gp-shadow-none focus-visible:gp-outline-none gp-transition-all gp-duration-150 hover:gp-text-black disabled:gp-cursor-not-allowed gp-min-h-0 gp-rounded-none",i=e(n?.typo,n?.typography),u=t(l),c=p("bg",s),d=p("text",r);return u&&(a+=` ${u} `),i&&(a+=` ${i} `),c&&(a+=` ${c} `),d&&(a+=` ${d} `),o&&(a+="gp-cursor-not-allowed"),{...g(a)}},getButtonClass=({borderBtn:e,buttonBackgroundColor:n,iconColor:l,buttonSide:s,isDisabled:r})=>{let o=`gp-flex gp-aspect-square gp-h-full disabled:gp-cursor-not-allowed ${r?"gp-cursor-not-allowed":"gp-cursor-pointer"} gp-items-center gp-justify-center gp-outline-none ${"left"===s?"gp-minus":"gp-plus"} `,a=t(e),i=p("bg",n),u=p("text",l);return a&&(o+=` ${a} `),i&&(o+=` ${i} `),u&&(o+=` ${u} `),{...g(o)}},getContainerClasses=e=>({...g(`quantityClass gp-relative gp-inline-flex gp-h-12 gp-w-full gp-bg-transparent gp-transition-all gp-duration-150 data-[disabled=true]:gp-opacity-60 ${e??""}`)}),getWrapperClasses=()=>({...g("gp-inline-flex gp-w-full gp-overflow-hidden")}),getIconWrapperClasses=()=>({...g("gp-inline-flex gp-items-center gp-justify-center [&>*]:gp-h-full [&>*]:gp-w-full")});export{getButtonClass,getContainerClasses,getIconWrapperClasses,getInputClasses,getWrapperClasses};
1
+ import{composeTypographyClassName as e,handleConvertClassColor as t,getGlobalColorStateClass as p,composeClasses as l}from"@gem-sdk/core";let getInputClasses=({styles:s,borderBtn:g,inputBackgroundColor:n,textColor:r,isDisabled:a})=>{let o="gp-flex gp-w-full gp-shrink-[99999] gp-appearance-none gp-items-center gp-text-center gp-outline-none focus-visible:gp-shadow-none focus-visible:gp-outline-none gp-transition-all gp-duration-150 hover:gp-text-black disabled:gp-cursor-not-allowed",i=e(s?.typo,s?.typography),u=t(g),c=p("bg",n),f=p("text",r);return u&&(o+=` ${u} `),i&&(o+=` ${i} `),c&&(o+=` ${c} `),f&&(o+=` ${f} `),a&&(o+="gp-cursor-not-allowed"),{...l(o)}},getButtonClass=({borderBtn:e,buttonBackgroundColor:s,iconColor:g,buttonSide:n,isDisabled:r})=>{let a=`gp-flex gp-aspect-square gp-h-full disabled:gp-cursor-not-allowed ${r?"gp-cursor-not-allowed":"gp-cursor-pointer"} gp-items-center gp-justify-center gp-outline-none ${"left"===n?"gp-minus":"gp-plus"} `,o=t(e),i=p("bg",s),u=p("text",g);return o&&(a+=` ${o} `),i&&(a+=` ${i} `),u&&(a+=` ${u} `),{...l(a)}},getContainerClasses=e=>({...l(`quantityClass gp-relative gp-inline-flex gp-h-12 gp-w-full gp-bg-transparent gp-transition-all gp-duration-150 data-[disabled=true]:gp-opacity-60 ${e??""}`)}),getWrapperClasses=()=>({...l("gp-inline-flex gp-w-full gp-overflow-hidden")}),getIconWrapperClasses=()=>({...l("gp-inline-flex gp-items-center gp-justify-center [&>*]:gp-h-full [&>*]:gp-w-full")});export{getButtonClass,getContainerClasses,getIconWrapperClasses,getInputClasses,getWrapperClasses};
@@ -7,12 +7,12 @@ import{template as e,makeStyleResponsive as s}from"@gem-sdk/core";let JudgemeRev
7
7
  {% assign widget = '${i}' %}
8
8
  {% case widget %}
9
9
  {% when "single_product_preview_badge" %}
10
- <div style='{{ jm_style }}' class='jdgm-widget jdgm-preview-badge' data-product-title='{{ product.title }}' data-id='{{ product.id }}'>
10
+ <div style='{{ jm_style }}' class='jdgm-widget jdgm-preview-badge' data-product-title='{{ product.title | escape }}' data-id='{{ product.id }}'>
11
11
  {{ product.metafields.judgeme.badge }}
12
12
  </div>
13
13
  {% when "review_widget" %}
14
14
  <div style='clear:both'></div>
15
- <div id='judgeme_product_reviews' class='jdgm-widget jdgm-review-widget' data-product-title='{{ product.title }}' data-id='{{ product.id }}'>
15
+ <div id='judgeme_product_reviews' class='jdgm-widget jdgm-review-widget' data-product-title='{{ product.title | escape }}' data-id='{{ product.id }}'>
16
16
  {{ product.metafields.judgeme.widget }}
17
17
  </div>
18
18
  {% when "reviews_carousel" %}