@gem-sdk/components 8.0.0-dev.120 → 8.0.0-dev.122

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 (65) hide show
  1. package/dist/cjs/carousel-v3/components/swiper/Swiper.js +1 -1
  2. package/dist/cjs/carousel-v3/components/swiper/common/styles.js +1 -1
  3. package/dist/cjs/cart/components/shop-pay-button/ShopPayButton.liquid.js +1 -1
  4. package/dist/cjs/collection/components/collection-description/CollectionDescription.liquid.js +2 -3
  5. package/dist/cjs/collection/components/collection-paginator/CollectionPaginator.liquid.js +5 -4
  6. package/dist/cjs/collection/components/collection-toolbar/CollectionToolbar.liquid.js +1 -1
  7. package/dist/cjs/icon-list-v2/components/IconList.liquid.js +6 -6
  8. package/dist/cjs/image-comparison/components/CompareImage.liquid.js +4 -4
  9. package/dist/cjs/marquee/components/Marquee.liquid.js +20 -20
  10. package/dist/cjs/post-purchase/buyer-consent/common/classes.js +1 -1
  11. package/dist/cjs/post-purchase/buyer-consent/common/styles.js +1 -1
  12. package/dist/cjs/post-purchase/buyer-consent/settings/configs/ui-v2.js +1 -1
  13. package/dist/cjs/post-purchase/product/components/product-subscription/common/styles.js +1 -1
  14. package/dist/cjs/post-purchase/product/settings/product-subscription/configs/settings.js +1 -1
  15. package/dist/cjs/product/components/file-upload/UploadFile.liquid.js +4 -5
  16. package/dist/cjs/product/components/product-badge/ProductBadge.liquid.js +8 -8
  17. package/dist/cjs/product/components/product-bundle/ProductBundleDiscount.liquid.js +5 -4
  18. package/dist/cjs/product/components/product-description/ProductDescription.liquid.js +5 -6
  19. package/dist/cjs/product/components/product-discount-tag/ProductDiscountTag.liquid.js +8 -8
  20. package/dist/cjs/product/components/product-list/ProductListCarouselItem.liquid.js +2 -3
  21. package/dist/cjs/product/components/product-list/ProductListGridItem.liquid.js +1 -2
  22. package/dist/cjs/product/components/product-list/ProductListGridLayout.liquid.js +7 -5
  23. package/dist/cjs/product/components/product-list-v3/ProductListCarouselItem.liquid.js +2 -3
  24. package/dist/cjs/product/components/product-list-v3/ProductListGridItem.liquid.js +1 -2
  25. package/dist/cjs/product/components/product-list-v3/ProductListGridLayout.liquid.js +7 -5
  26. package/dist/cjs/product/components/product-sku/Sku.liquid.js +4 -3
  27. package/dist/cjs/product/components/product-variants/ProductVariants.liquid.js +29 -29
  28. package/dist/cjs/product/components/product-wrap/Product.liquid.js +4 -4
  29. package/dist/cjs/sticky/components/Sticky.liquid.js +4 -5
  30. package/dist/cjs/tab/components/Tabs.liquid.js +5 -4
  31. package/dist/cjs/video/components/LiteVimeoEmbed.liquid.js +4 -3
  32. package/dist/cjs/video/components/LiteYouTubeEmbed.liquid.js +4 -3
  33. package/dist/esm/carousel-v3/components/swiper/Swiper.js +1 -1
  34. package/dist/esm/carousel-v3/components/swiper/common/styles.js +1 -1
  35. package/dist/esm/cart/components/shop-pay-button/ShopPayButton.liquid.js +2 -2
  36. package/dist/esm/collection/components/collection-description/CollectionDescription.liquid.js +4 -5
  37. package/dist/esm/collection/components/collection-paginator/CollectionPaginator.liquid.js +4 -3
  38. package/dist/esm/collection/components/collection-toolbar/CollectionToolbar.liquid.js +4 -4
  39. package/dist/esm/icon-list-v2/components/IconList.liquid.js +14 -14
  40. package/dist/esm/image-comparison/components/CompareImage.liquid.js +3 -3
  41. package/dist/esm/marquee/components/Marquee.liquid.js +21 -21
  42. package/dist/esm/post-purchase/buyer-consent/common/classes.js +1 -1
  43. package/dist/esm/post-purchase/buyer-consent/common/styles.js +1 -1
  44. package/dist/esm/post-purchase/buyer-consent/settings/configs/ui-v2.js +1 -1
  45. package/dist/esm/post-purchase/product/components/product-subscription/common/styles.js +1 -1
  46. package/dist/esm/post-purchase/product/settings/product-subscription/configs/settings.js +1 -1
  47. package/dist/esm/product/components/file-upload/UploadFile.liquid.js +3 -4
  48. package/dist/esm/product/components/product-badge/ProductBadge.liquid.js +4 -4
  49. package/dist/esm/product/components/product-bundle/ProductBundleDiscount.liquid.js +6 -5
  50. package/dist/esm/product/components/product-description/ProductDescription.liquid.js +4 -5
  51. package/dist/esm/product/components/product-discount-tag/ProductDiscountTag.liquid.js +5 -5
  52. package/dist/esm/product/components/product-list/ProductListCarouselItem.liquid.js +1 -2
  53. package/dist/esm/product/components/product-list/ProductListGridItem.liquid.js +3 -4
  54. package/dist/esm/product/components/product-list/ProductListGridLayout.liquid.js +7 -5
  55. package/dist/esm/product/components/product-list-v3/ProductListCarouselItem.liquid.js +1 -2
  56. package/dist/esm/product/components/product-list-v3/ProductListGridItem.liquid.js +3 -4
  57. package/dist/esm/product/components/product-list-v3/ProductListGridLayout.liquid.js +7 -5
  58. package/dist/esm/product/components/product-sku/Sku.liquid.js +5 -4
  59. package/dist/esm/product/components/product-variants/ProductVariants.liquid.js +31 -31
  60. package/dist/esm/product/components/product-wrap/Product.liquid.js +5 -5
  61. package/dist/esm/sticky/components/Sticky.liquid.js +9 -10
  62. package/dist/esm/tab/components/Tabs.liquid.js +14 -13
  63. package/dist/esm/video/components/LiteVimeoEmbed.liquid.js +4 -3
  64. package/dist/esm/video/components/LiteYouTubeEmbed.liquid.js +4 -3
  65. package/package.json +2 -2
@@ -1 +1 @@
1
- let SettingUIV2=[{label:{en:"Text"},controls:[{type:"combo",label:{en:"Content"},iconName:"polaris-text-block",getValueFromSettingID:"description",defaultValueWhenClear:"",compoDefaultValue:"I understand this is a subscription that renews automatically until it ends or is canceled.",controls:[{layout:"vertical",setting:{id:"description"},isHideClear:!1,defaultValueWhenClear:""}]},{type:"combo",label:{en:"Policy link"},iconName:"polaris-text-block",getValueFromSettingID:"policyLabel",isHideClear:!0,compoDefaultValue:"Cancellation policy",controls:[{label:{en:"Text"},setting:{id:"policyLabel"}},{label:{en:"Link"},setting:{id:"policyLink"}}]},{type:"control",label:{en:"Direction"},setting:{id:"direction"},controlChangeTrigger:{options:{noRecordHistory:!0},settings:[{action:{controlId:"textAlign",newValue:"right",groupType:"style",controlType:"style"},condition:"direction === 'rtl' && textAlign === 'left'",source:["direction","textAlign"]},{action:{controlId:"textAlign",newValue:"left",groupType:"style",controlType:"style"},condition:"direction === 'ltr' && textAlign === 'right'",source:["direction","textAlign"]}]}},{setting:{id:"typo"},layout:"vertical",options:{updateFields:[{field:"attrs.textAlign",settingId:"align"}]},controlChangeTrigger:{settings:[{action:{controlId:"align",valueFromField:"attrs.textAlign",groupType:"setting",controlType:"setting"}}],options:{noRecordHistory:!0}}},{type:"control",setting:{id:"textAlign"},label:{en:"Align"}}]},{label:{en:"Size"},controls:[{type:"control",label:{en:"Width"},setting:{id:"width"}}]},{label:{en:"Display"},controls:[{label:{en:"Pre-checked"},setting:{id:"selected"}}]},{controls:[{label:{en:"Align"},conditionEnable:"!(parseInt(width) >= 100 && width?.includes(\"%\")) && width !== '1px'",setting:{id:"align"},options:{fullWidth:!0,disableMessage:"Horizontal alignment is disabled when the width is set to 100% or greater"}}]}];export{SettingUIV2};
1
+ let SettingUIV2=[{label:{en:"Text"},controls:[{type:"combo",label:{en:"Content"},iconName:"polaris-text-block",getValueFromSettingID:"description",defaultValueWhenClear:"",compoDefaultValue:"I understand this is a subscription that renews automatically until it ends or is canceled.",controls:[{layout:"vertical",setting:{id:"description"},isHideClear:!1,defaultValueWhenClear:""}]},{type:"combo",label:{en:"Policy link"},iconName:"polaris-text-block",getValueFromSettingID:"policyLabel",defaultValueWhenClear:"",compoDefaultValue:"Cancellation policy",controls:[{label:{en:"Text"},setting:{id:"policyLabel"},defaultValueWhenClear:""},{label:{en:"Link"},setting:{id:"policyLink"}}]},{type:"control",label:{en:"Direction"},setting:{id:"direction"},controlChangeTrigger:{options:{noRecordHistory:!0},settings:[{action:{controlId:"textAlign",newValue:"right",groupType:"style",controlType:"style"},condition:"direction === 'rtl' && textAlign === 'left'",source:["direction","textAlign"]},{action:{controlId:"textAlign",newValue:"left",groupType:"style",controlType:"style"},condition:"direction === 'ltr' && textAlign === 'right'",source:["direction","textAlign"]}]}},{setting:{id:"typo"},layout:"vertical",options:{updateFields:[{field:"attrs.textAlign",settingId:"align"}]},controlChangeTrigger:{settings:[{action:{controlId:"align",valueFromField:"attrs.textAlign",groupType:"setting",controlType:"setting"}}],options:{noRecordHistory:!0}}},{type:"control",setting:{id:"textAlign"},label:{en:"Align"}}]},{label:{en:"Size"},controls:[{type:"control",label:{en:"Width"},setting:{id:"width"}}]},{label:{en:"Display"},controls:[{label:{en:"Pre-checked"},setting:{id:"selected"}}]},{controls:[{label:{en:"Align"},conditionEnable:"!(parseInt(width) >= 100 && width?.includes(\"%\")) && width !== '1px'",setting:{id:"align"},options:{fullWidth:!0,disableMessage:"Horizontal alignment is disabled when the width is set to 100% or greater"}}]}];export{SettingUIV2};
@@ -1 +1 @@
1
- var SubscriptionBgColorEnum;import{makeStyle as o,filterTruthyStyles as r}from"@gem-sdk/core";import{postPurchaseSpacing as i}from"../../../../common/helper.js";!function(o){o.info="#f0f8ff",o.success="#E8F8EB",o.warning="#FFF8E0",o.critical="#FFEBEB",o.none="#FAFAFA"}(SubscriptionBgColorEnum||(SubscriptionBgColorEnum={}));let getSubscriptionStyles=(t,n)=>{let{sellingType:e}=n??{},{width:p,backgroundColor:s,sellingPlanItemGap:u}=t??{},c=i[u??"tight"]||"9px",l=o({rg:"subscription"===e?c:"9px"}),g=o({w:p}),S=s?{backgroundColor:SubscriptionBgColorEnum[s]??SubscriptionBgColorEnum.none}:{};return r({...g,...S,...l})},getSubscriptionWrapperStyles=i=>r({...o({ai:i??"left"})});export{getSubscriptionStyles,getSubscriptionWrapperStyles};
1
+ var SubscriptionBgColorEnum;import{makeStyle as o,filterTruthyStyles as r}from"@gem-sdk/core";import{postPurchaseSpacing as t}from"../../../../common/helper.js";!function(o){o.info="#f0f8ff",o.success="#E8F8EB",o.warning="#FFF8E0",o.critical="#FFEBEB",o.none="#FAFAFA"}(SubscriptionBgColorEnum||(SubscriptionBgColorEnum={}));let getSubscriptionStyles=(i,n)=>{let{sellingType:e}=n??{},{width:p,backgroundColor:s,sellingPlanItemGap:c}=i??{},u=t[c??"tight"]||"9px",l=o({rg:"subscription"===e?u:"9px"}),g=o({w:p}),S=s?{backgroundColor:SubscriptionBgColorEnum[s]??SubscriptionBgColorEnum.none}:{};return r({...g,...S,...l})},getSubscriptionWrapperStyles=t=>r({...o({jc:t??"left"})});export{getSubscriptionStyles,getSubscriptionWrapperStyles};
@@ -1 +1 @@
1
- import{postPurchaseSpacing as e}from"../../../../common/constants.js";let ProductSubscriptionSettings=[{id:"setting",controls:[{id:"sellingType",label:"Type",type:"pick-subscription",options:[{value:"one-time",label:"One-time purchase"},{value:"subscription",label:"Subscription"}],default:"subscription"},{id:"sellingPlans",label:"Selling plans",type:"selling-plan"},{id:"sellingTitle",label:"Text",type:"textarea",defaultRows:4,showPlusBtn:!0,autoHeight:!0,minHeight:72,default:"Subscribe and save up to {total_max_discount}",suggestContents:[{message:"{total_max_discount}",eg:"E.g: 50% (offer’s + plan’s max discount)"},{message:"{offer_selling_plan_discount}",eg:"E.g: 20%"}]},{id:"sellingLabel",label:"Text",type:"input",default:"Purchase options",placeholder:"E.g. Purchase options",action:{clear:!0}},{id:"sellingTitleOneTime",label:"Text",type:"textarea",defaultRows:4,showPlusBtn:!0,autoHeight:!0,minHeight:72,default:"One-time purchase",suggestContents:[]},{id:"sellingStyle",label:"Style",type:"option:illustration",default:"dropdown",options:[{label:"Dropdown",value:"dropdown",svgName:"gp-selling-plan-dropdown"},{label:"Radio",value:"radio",svgName:"gp-selling-plan-radio"}]},{id:"subscriptionLabel",label:"Text",type:"textarea",defaultRows:4,showPlusBtn:!0,autoHeight:!0,minHeight:72,default:"Delivery every {selling_plan_delivery_frequency}, save {selling_plan_discount}",suggestContents:[{message:"{selling_plan_delivery_frequency}",eg:"E.g: every week"},{message:"{selling_plan_discount}",eg:"E.g: 10%"},{message:"{selling_plan_billing_cycle}",eg:"E.g: every 1 month"}]},{id:"enableSubscriptionDetail",label:"Enable subscription detail",type:"toggle",default:!1}]},{id:"style",controls:[{id:"sellingTitleDirection",label:"Direction",type:"option:value",options:[{label:"LTR",value:"ltr"},{label:"RTL",value:"rtl"}],default:"ltr"},{id:"sellingTitleOneTimeDirection",label:"Direction",type:"option:value",options:[{label:"LTR",value:"ltr"},{label:"RTL",value:"rtl"}],default:"ltr"},{id:"subscriptionDetailDirection",label:"Direction",type:"option:value",options:[{label:"LTR",value:"ltr"},{label:"RTL",value:"rtl"}],default:"ltr"},{id:"sellingPlanItemGap",type:"select",label:"Item gap",options:e,default:"tight"},{id:"sellingTitleTypo",label:"Label",type:"typography-post-purchase",default:{fontSize:"default",textColor:"default",fontWeight:"normal",textTransform:"none"}},{id:"sellingTitleAlign",label:"Alignment",type:"option:value",options:[{label:"Left",value:"left",type:"text",tooltip:"Align left",iconName:"polaris-text-align-left"},{label:"Center",value:"center",type:"text",tooltip:"Align center",iconName:"polaris-text-align-center"},{label:"Right",value:"right",type:"text",tooltip:"Align right",iconName:"polaris-text-align-right"}],default:"left"},{id:"sellingTitleOneTimeTypo",label:"Label",type:"typography-post-purchase",default:{fontSize:"medium",textColor:"default",fontWeight:"normal",textTransform:"none"}},{id:"sellingTitleOneTimeAlign",label:"Alignment",type:"option:value",options:[{label:"Left",value:"left",type:"text",tooltip:"Align left",iconName:"polaris-text-align-left"},{label:"Center",value:"center",type:"text",tooltip:"Align center",iconName:"polaris-text-align-center"},{label:"Right",value:"right",type:"text",tooltip:"Align right",iconName:"polaris-text-align-right"}],default:"left"},{id:"subscriptionDetailTypo",label:"Label",type:"typography-post-purchase",default:{fontSize:"default",textColor:"default",fontWeight:"normal",textTransform:"none"}},{id:"subscriptionDetailAlign",label:"Alignment",type:"option:value",options:[{label:"Left",value:"left",type:"text",tooltip:"Align left",iconName:"polaris-text-align-left"},{label:"Center",value:"center",type:"text",tooltip:"Align center",iconName:"polaris-text-align-center"},{label:"Right",value:"right",type:"text",tooltip:"Align right",iconName:"polaris-text-align-right"}],default:"left"},{id:"width",type:"dropdown:input",label:"Width",inputType:"number",units:["px","%"],hideUnit:!1,default:"100%",displayOptions:[{label:"Fit content",value:"Auto",showValue:!0},{label:"Full",value:"100%",showValue:!0}]},{id:"backgroundColor",type:"select",label:"Background Color",options:[{label:"Transparent",value:"none",icon:"gp-bg-transparent"},{label:"Red",value:"critical",icon:"gp-bg-color-red"},{label:"Blue",value:"info",icon:"gp-bg-color-blue"},{label:"Green",value:"success",icon:"gp-bg-color-green"},{label:"Yellow",value:"warning",icon:"gp-bg-color-yellow"}],default:"none"},{id:"align",label:"Alignment",type:"option:value",options:[{label:"Left",value:"left",type:"align",tooltip:"Align left",iconName:"gp-align-left"},{label:"Center",value:"center",type:"align",tooltip:"Align center",iconName:"gp-align-center"},{label:"Right",value:"right",type:"align",tooltip:"Align right",iconName:"gp-align-right"}],default:"left"}]}];export{ProductSubscriptionSettings};
1
+ import{postPurchaseSpacing as e}from"../../../../common/constants.js";let ProductSubscriptionSettings=[{id:"setting",controls:[{id:"sellingType",label:"Type",type:"pick-subscription",options:[{value:"one-time",label:"One-time purchase"},{value:"subscription",label:"Subscription"}],default:"subscription"},{id:"sellingPlans",label:"Selling plans",type:"selling-plan"},{id:"sellingTitle",label:"Text",type:"textarea",defaultRows:4,showPlusBtn:!0,autoHeight:!0,minHeight:72,default:"Subscribe and save up to {total_max_discount}",suggestContents:[{message:"{total_discount}",eg:"E.g: 50%"},{message:"{offer_discount}",eg:"E.g: 20%"},{message:"{selling_plan_max_discount}",eg:"E.g: 15%"}]},{id:"sellingLabel",label:"Text",type:"input",default:"Purchase options",placeholder:"E.g. Purchase options",action:{clear:!0}},{id:"sellingTitleOneTime",label:"Text",type:"textarea",defaultRows:4,showPlusBtn:!0,autoHeight:!0,minHeight:72,default:"One-time purchase",suggestContents:[]},{id:"sellingStyle",label:"Style",type:"option:illustration",default:"dropdown",options:[{label:"Dropdown",value:"dropdown",svgName:"gp-selling-plan-dropdown"},{label:"Radio",value:"radio",svgName:"gp-selling-plan-radio"}]},{id:"subscriptionLabel",label:"Text",type:"textarea",defaultRows:4,showPlusBtn:!0,autoHeight:!0,minHeight:72,default:"Delivery every {selling_plan_delivery_frequency}, save {selling_plan_discount}",suggestContents:[{message:"{selling_plan_delivery_frequency}",eg:"E.g: every week"},{message:"{selling_plan_discount}",eg:"E.g: 10%"},{message:"{selling_plan_billing_cycle}",eg:"E.g: every 1 month"}]},{id:"enableSubscriptionDetail",label:"Enable subscription detail",type:"toggle",default:!1}]},{id:"style",controls:[{id:"sellingTitleDirection",label:"Direction",type:"option:value",options:[{label:"LTR",value:"ltr"},{label:"RTL",value:"rtl"}],default:"ltr"},{id:"sellingTitleOneTimeDirection",label:"Direction",type:"option:value",options:[{label:"LTR",value:"ltr"},{label:"RTL",value:"rtl"}],default:"ltr"},{id:"subscriptionDetailDirection",label:"Direction",type:"option:value",options:[{label:"LTR",value:"ltr"},{label:"RTL",value:"rtl"}],default:"ltr"},{id:"sellingPlanItemGap",type:"select",label:"Item gap",options:e,default:"tight"},{id:"sellingTitleTypo",label:"Label",type:"typography-post-purchase",default:{fontSize:"default",textColor:"default",fontWeight:"normal",textTransform:"none"}},{id:"sellingTitleAlign",label:"Alignment",type:"option:value",options:[{label:"Left",value:"left",type:"text",tooltip:"Align left",iconName:"polaris-text-align-left"},{label:"Center",value:"center",type:"text",tooltip:"Align center",iconName:"polaris-text-align-center"},{label:"Right",value:"right",type:"text",tooltip:"Align right",iconName:"polaris-text-align-right"}],default:"left"},{id:"sellingTitleOneTimeTypo",label:"Label",type:"typography-post-purchase",default:{fontSize:"medium",textColor:"default",fontWeight:"normal",textTransform:"none"}},{id:"sellingTitleOneTimeAlign",label:"Alignment",type:"option:value",options:[{label:"Left",value:"left",type:"text",tooltip:"Align left",iconName:"polaris-text-align-left"},{label:"Center",value:"center",type:"text",tooltip:"Align center",iconName:"polaris-text-align-center"},{label:"Right",value:"right",type:"text",tooltip:"Align right",iconName:"polaris-text-align-right"}],default:"left"},{id:"subscriptionDetailTypo",label:"Label",type:"typography-post-purchase",default:{fontSize:"default",textColor:"default",fontWeight:"normal",textTransform:"none"}},{id:"subscriptionDetailAlign",label:"Alignment",type:"option:value",options:[{label:"Left",value:"left",type:"text",tooltip:"Align left",iconName:"polaris-text-align-left"},{label:"Center",value:"center",type:"text",tooltip:"Align center",iconName:"polaris-text-align-center"},{label:"Right",value:"right",type:"text",tooltip:"Align right",iconName:"polaris-text-align-right"}],default:"left"},{id:"width",type:"dropdown:input",label:"Width",inputType:"number",units:["px","%"],hideUnit:!1,default:"100%",displayOptions:[{label:"Fit content",value:"Auto",showValue:!0},{label:"Full",value:"100%",showValue:!0}]},{id:"backgroundColor",type:"select",label:"Background Color",options:[{label:"Transparent",value:"none",icon:"gp-bg-transparent"},{label:"Red",value:"critical",icon:"gp-bg-color-red"},{label:"Blue",value:"info",icon:"gp-bg-color-blue"},{label:"Green",value:"success",icon:"gp-bg-color-green"},{label:"Yellow",value:"warning",icon:"gp-bg-color-yellow"}],default:"none"},{id:"align",label:"Alignment",type:"option:value",options:[{label:"Left",value:"left",type:"align",tooltip:"Align left",iconName:"gp-align-left"},{label:"Center",value:"center",type:"align",tooltip:"Align center",iconName:"gp-align-center"},{label:"Right",value:"right",type:"align",tooltip:"Align right",iconName:"gp-align-right"}],default:"left"}]}];export{ProductSubscriptionSettings};
@@ -1,7 +1,6 @@
1
- import{template as e,RenderIf as s,isLocalEnv as i,baseAssetURL as l}from"@gem-sdk/core";import{getSettingPreloadData as r}from"../../../helpers.js";import{createClass as d,createStyle as t,createAttr as o,createStateOrContext as a,If as c}from"@gem-sdk/system";import{createLayoutClasses as v,createTypoClasses as f,createPreviewClasses as m,createPreviewItemClasses as p,createPreviewRemoveClasses as $,createMessageClasses as n,createContentWidthClasses as u,createInputClasses as g,composeClasses as y,createWrapContainerClasses as b,createIconContentClasses as j}from"./common/classes.js";import{createLayoutStyles as E,createTypoStyles as H,createMessageStyles as F,createContainerStyles as S,createWrapContentWidthStyles as h,createContentWithStyles as k,createIconContainerStyles as q,createIconContentStyles as w}from"./common/style.js";import{getInputAttr as O}from"./common/attr.js";import{removeHoverStyles as x,getDisplayText as R}from"./common/helpers.js";let FileUpload=({setting:I,styles:P,builderProps:U,pageContext:C})=>{let J=d(v(I,U?.uid)),L=t({...x(E(I,P),P?.enableHoverEffect)}),N=d(f(P)),V=t({...x(H(P),P?.enableHoverEffect)}),_=d(m()),z=d(p()),A=d($()),B=d(n()),D=t(F()),G=d(u()),K=d(g()),M=d(y("gp-flex gp-items-center")),Q=o({...O(I?.isRequired,I?.numberOfFiles)}),T=t({...x(S(P?.align,P?.textColor),P?.enableHoverEffect)}),W=t({...x(h(I),P?.enableHoverEffect)}),X=d(b(U?.uid)),Y=t({...x(k(I,P),P?.enableHoverEffect)}),Z=t({...x(q(I),P?.enableHoverEffect)}),ee=d(j()),es=t({...x(w(I,P),P?.enableHoverEffect)}),ei=R("Liquid",{uid:U?.uid,setting:I,styles:P,pageContext:C}),el=a({settings:{isShowPreviewImage:I?.isShowPreviewImage,numberOfFiles:I?.numberOfFiles,isRequired:I?.isRequired}});return e`
2
- <gp-file-upload
3
- gp-data='${JSON.stringify(el)}'
4
- >
1
+ import{template as e,RenderIf as s,isLocalEnv as i,baseAssetURL as l}from"@gem-sdk/core";import{getSettingPreloadData as r}from"../../../helpers.js";import{createClass as t,createStyle as d,createAttr as o,createStateOrContext as a,If as c}from"@gem-sdk/system";import{createLayoutClasses as v,createTypoClasses as f,createPreviewClasses as p,createPreviewItemClasses as m,createPreviewRemoveClasses as $,createMessageClasses as n,createContentWidthClasses as u,createInputClasses as g,composeClasses as y,createWrapContainerClasses as b,createIconContentClasses as j}from"./common/classes.js";import{createLayoutStyles as E,createTypoStyles as H,createMessageStyles as F,createContainerStyles as S,createWrapContentWidthStyles as h,createContentWithStyles as k,createIconContainerStyles as q,createIconContentStyles as w}from"./common/style.js";import{getInputAttr as O}from"./common/attr.js";import{removeHoverStyles as x,getDisplayText as R}from"./common/helpers.js";let FileUpload=({setting:I,styles:P,builderProps:U,pageContext:C})=>{let J=t(v(I,U?.uid)),L=d({...x(E(I,P),P?.enableHoverEffect)}),N=t(f(P)),V=d({...x(H(P),P?.enableHoverEffect)}),_=t(p()),z=t(m()),A=t($()),B=t(n()),D=d(F()),G=t(u()),K=t(g()),M=t(y("gp-flex gp-items-center")),Q=o({...O(I?.isRequired,I?.numberOfFiles)}),T=d({...x(S(P?.align,P?.textColor),P?.enableHoverEffect)}),W=d({...x(h(I),P?.enableHoverEffect)}),X=t(b(U?.uid)),Y=d({...x(k(I,P),P?.enableHoverEffect)}),Z=d({...x(q(I),P?.enableHoverEffect)}),ee=t(j()),es=d({...x(w(I,P),P?.enableHoverEffect)}),ei=R("Liquid",{uid:U?.uid,setting:I,styles:P,pageContext:C}),el=a({settings:{isShowPreviewImage:I?.isShowPreviewImage,numberOfFiles:I?.numberOfFiles,isRequired:I?.isRequired}});return e`
2
+ <gp-file-upload>
3
+ <script gp-data type="application/json">${JSON.stringify(el)}</script>
5
4
  <div class="${X}" style="${T}">
6
5
  <input ${Q} class="${K}">
7
6
  <div class="${M}" style="${W}">
@@ -1,14 +1,14 @@
1
- import{template as e,dataStringify as t,sanitizeLiquid as s,RenderIf as i,isLocalEnv as r,baseAssetURL as a}from"@gem-sdk/core";import{getDynamicSourceLocales as c,getSettingPreloadData as o}from"../../../helpers.js";import{generateBadgeContent as d}from"./utils/generateLiquidContent.js";import{renderBadgeInFirstTime as n}from"./utils/renderBadgeLiquid.js";import{createClass as p,createStyle as l,createAttr as u,createStateOrContext as m}from"@gem-sdk/system";import{IS_LIQUID as g}from"./constants.js";import{getContainerStyle as y,getSubWrapperStyle as $,getContentStyleInternal as v,getTextBadgeWrapperStyles as f,getTextContentStyle as j,getImageContainerStyles as P}from"./common/styles.js";import{getContainerClasses as D,getWrapperClasses as V,getSubWrapperClass as S,getTextContainerClasses as b,getTextWrapperClasses as I,getTextContentClasses as T,getImageContainerClasses as k,getImageClasses as q}from"./common/classes.js";import{getSubWrapperAttrs as A,getContainerAttrs as B,getTextContentAttrs as C,getImageAttr as E}from"./common/attrs.js";import{ProductBadge as K}from"../../settings/product-badge/configs/translate.js";let ProductBadge=_=>{let{styles:h,setting:L,builderProps:N,pageContext:O}=_,Q=L?.shape!=="image",w=Q&&L?.displayContent?.trim()==="",G=p({...D({isInstant:!1,props:_})}),J=l({...y(_,g)}),x=p({...V(_)}),M=p({...S(_)}),R=l({...$({props:_})}),Y=u({...A(_)}),z=v(_),F=p({...b()}),H=u({...B(_)}),U=p({...I()}),W=l({...f({setting:L,styles:h})}),X=p({...T(h)}),Z=l({...j({setting:L,styles:h})}),ee=u({...C()}),et=p({...k()}),es=l({...P({setting:L,styles:h})}),ei=p({...q()}),er=u({...E({setting:L})}),ea=m({minPrice:"{{ minPriceValue | replace: '\"', '\\\"' | escape }}",variantIDs:'{{ product.variants | map: "id" | json | escape }}',variantInventoryQuantities:'{{ product.variants | map: "inventory_quantity" | json | escape }}',amountDiscount:"{{amountDiscountValue | replace: '\"', '\\\"' | escape }}",percentDiscount:"{{percentDiscountValue}}",price:"{{price}}",displayTrigger:JSON.parse(JSON.stringify(L?.displayTrigger).replaceAll("'","&#039;")),uid:_.builderProps?.uid,productCreatedAt:'{{product.created_at | date: "%Y-%m-%d" }}',productTags:"{{ product.tags | join: \",\" | replace: '\"', '\\\"' | escape }}",isTextBadge:Q}),{displayContent:ec}=L??{},eo=c({val:ec?.trim(),uid:N?.uid,settingId:K?.displayContent?.id,isLiquid:!0,pageContext:O});return e`
1
+ import{template as e,sanitizeLiquid as t,dataStringify as s,RenderIf as i,isLocalEnv as r,baseAssetURL as a}from"@gem-sdk/core";import{getDynamicSourceLocales as c,getSettingPreloadData as o}from"../../../helpers.js";import{generateBadgeContent as p}from"./utils/generateLiquidContent.js";import{renderBadgeInFirstTime as n}from"./utils/renderBadgeLiquid.js";import{createClass as d,createStyle as l,createAttr as u,createStateOrContext as m}from"@gem-sdk/system";import{IS_LIQUID as g}from"./constants.js";import{getContainerStyle as y,getSubWrapperStyle as $,getContentStyleInternal as v,getTextBadgeWrapperStyles as f,getTextContentStyle as j,getImageContainerStyles as P}from"./common/styles.js";import{getContainerClasses as D,getWrapperClasses as V,getSubWrapperClass as S,getTextContainerClasses as b,getTextWrapperClasses as I,getTextContentClasses as T,getImageContainerClasses as k,getImageClasses as q}from"./common/classes.js";import{getSubWrapperAttrs as A,getContainerAttrs as B,getTextContentAttrs as C,getImageAttr as E}from"./common/attrs.js";import{ProductBadge as K}from"../../settings/product-badge/configs/translate.js";let ProductBadge=_=>{let{styles:h,setting:L,builderProps:N,pageContext:O}=_,Q=L?.shape!=="image",w=Q&&L?.displayContent?.trim()==="",G=d({...D({isInstant:!1,props:_})}),J=l({...y(_,g)}),x=d({...V(_)}),M=d({...S(_)}),R=l({...$({props:_})}),Y=u({...A(_)}),z=v(_),F=d({...b()}),H=u({...B(_)}),U=d({...I()}),W=l({...f({setting:L,styles:h})}),X=d({...T(h)}),Z=l({...j({setting:L,styles:h})}),ee=u({...C()}),et=d({...k()}),es=l({...P({setting:L,styles:h})}),ei=d({...q()}),er=u({...E({setting:L})}),ea=m({minPrice:"{{ minPriceValue | replace: '\"', '\\\"' | escape }}",variantIDs:'{{ product.variants | map: "id" | json | escape }}',variantInventoryQuantities:'{{ product.variants | map: "inventory_quantity" | json | escape }}',amountDiscount:"{{amountDiscountValue | replace: '\"', '\\\"' | escape }}",percentDiscount:"{{percentDiscountValue}}",price:"{{price}}",displayTrigger:JSON.parse(JSON.stringify(L?.displayTrigger).replaceAll("'","&#039;")),uid:_.builderProps?.uid,productCreatedAt:'{{product.created_at | date: "%Y-%m-%d" }}',productTags:"{{ product.tags | join: \",\" | replace: '\"', '\\\"' | escape }}",isTextBadge:Q}),{displayContent:ec}=L??{},eo=c({val:ec?.trim(),uid:N?.uid,settingId:K?.displayContent?.id,isLiquid:!0,pageContext:O});return e`
2
2
  {% if product %}
3
- ${d(eo,O?.isPreviewing)}
3
+ ${p(eo,O?.isPreviewing)}
4
4
  ${n(L?.displayTrigger,!w)}
5
5
  <gp-product-badge
6
6
  ${{...H}}
7
- gp-data='${t(ea)}'
8
7
  class="${G}"
9
8
  style="${J}"
10
- data-display-content="${O?.isPreviewing?eo:s(`{{${eo}}}`)}"
9
+ data-display-content="${O?.isPreviewing?eo:t(`{{${eo}}}`)}"
11
10
  >
11
+ <script gp-data type="application/json">${s(ea)}</script>
12
12
  <div class="${x}">
13
13
  <div
14
14
  ${{...Y}}
@@ -1,8 +1,9 @@
1
- import{template as t,RenderIf as e,isLocalEnv as s,baseAssetURL as r}from"@gem-sdk/core";import{getSettingPreloadData as d}from"../../../helpers.js";import{createStyle as o,createClass as a,createStateOrContext as i,Liquid as p,LiquidIf as n}from"@gem-sdk/system";import{getSizeSettings as c,getContainerStyles as l}from"./common/styles.js";import{getContainerClasses as u}from"./common/classes.js";import m from"./ProductBundleDiscountChildrenItem.liquid.js";let ProductBundleDiscount=({rawChildren:f,setting:g,styles:I,advanced:$,style:P})=>{let S=g?.hasPreSelectItem?g?.selectItemDefault??0:-1,_=t=>S===t,h=(t,e)=>m({index:e,rawChildrenItem:f?.[e],setting:g,styles:I,isSelected:_(e),bundleItem:t}),y=o(c(I)?.gap),A=a(u(g,$?.cssClass)),B=o(l(y,I,P)),D=i({styles:I,settings:{useProductCompareAtPrice:g?.useProductCompareAtPrice,selectItemDefault:g?.selectItemDefault,hideNoDiscountItem:g?.hideNoDiscountItem,hasPreSelectItem:g?.hasPreSelectItem,iconItemColor:g?.iconItemColor}}),j=()=>e(s,`<script ${d('class="gps-link" delay',"src")}="{{ 'gp-product-bundle-discount-v7-5.js' | asset_url }}" defer="defer"></script>`,`<script ${d('class="gps-link" delay',"src")}="${r}/assets-v2/gp-product-bundle-discount-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}" defer="defer"></script>`);return t`
1
+ import{template as t,RenderIf as e,isLocalEnv as s,baseAssetURL as r}from"@gem-sdk/core";import{getSettingPreloadData as d}from"../../../helpers.js";import{createStyle as o,createClass as i,createStateOrContext as a,Liquid as p,LiquidIf as n}from"@gem-sdk/system";import{getSizeSettings as c,getContainerStyles as l}from"./common/styles.js";import{getContainerClasses as u}from"./common/classes.js";import m from"./ProductBundleDiscountChildrenItem.liquid.js";let ProductBundleDiscount=({rawChildren:f,setting:g,styles:I,advanced:$,style:P})=>{let S=g?.hasPreSelectItem?g?.selectItemDefault??0:-1,_=t=>S===t,h=(t,e)=>m({index:e,rawChildrenItem:f?.[e],setting:g,styles:I,isSelected:_(e),bundleItem:t}),y=o(c(I)?.gap),j=i(u(g,$?.cssClass)),A=o(l(y,I,P)),B=a({styles:I,settings:{useProductCompareAtPrice:g?.useProductCompareAtPrice,selectItemDefault:g?.selectItemDefault,hideNoDiscountItem:g?.hideNoDiscountItem,hasPreSelectItem:g?.hasPreSelectItem,iconItemColor:g?.iconItemColor}}),D=()=>e(s,`<script ${d('class="gps-link" delay',"src")}="{{ 'gp-product-bundle-discount-v7-5.js' | asset_url }}" defer="defer"></script>`,`<script ${d('class="gps-link" delay',"src")}="${r}/assets-v2/gp-product-bundle-discount-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}" defer="defer"></script>`);return t`
2
2
  <gp-product-bundle-discount
3
- gp-data='${JSON.stringify(D)}'
4
- style="${B}"
5
- class="${A}">
3
+ style="${A}"
4
+ class="${j}"
5
+ >
6
+ <script gp-data type="application/json">${JSON.stringify(B)}</script>
6
7
  ${p(`
7
8
  {%- assign gempages_product_bundle = product.metafields.gp_discount.gp_discount_selected_products -%}
8
9
  {% assign productBundleItem = gempages_product_bundle | split: '($1)' %}
@@ -28,6 +29,6 @@ import{template as t,RenderIf as e,isLocalEnv as s,baseAssetURL as r}from"@gem-s
28
29
  </gp-product-bundle-discount>
29
30
 
30
31
  {% if productBundleItem %}
31
- ${j()}
32
+ ${D()}
32
33
  {% endif %}
33
34
  `};export{ProductBundleDiscount as default};
@@ -1,13 +1,12 @@
1
- import{makeStyleResponsive as e,makeLineClamp as t,template as s,dataStringify as i,isLocalEnv as o,baseAssetURL as r}from"@gem-sdk/core";import{getDynamicSourceLocales as p,createSettingId as d,getSettingPreloadData as a}from"../../../helpers.js";import{createClass as l,createStyle as n,createAttr as c,createStateOrContext as m,LiquidIf as u,Liquid as $,LiquidUnless as g,If as v}from"@gem-sdk/system";import{getClasses as f,getButtonClasses as w,getClassPreBuilt as x}from"./common/classes.js";import{getTextStyle as h,getButtonStyle as y,getStaticCss as M}from"./common/styles.js";import{ICON_SVG as b}from"./common/helpers.js";import{ProductDescription as j}from"../../settings/product-description/configs/translate.js";let ProductDescription=C=>{let{setting:L,advanced:S,builderProps:T,pageContext:I}=C,{htmlTag:P,viewMoreText:k,viewLessText:E}=L??{},V="html"===P?"div":"p",A=l({"gp-product-description":!0,[S?.cssClass]:!0}),D=l(f({setting:L,isLiquid:!0})),G=l(w({setting:L})),_=l({"gp-show-more-text":!0}),q=l({"gp-show-more-icon gp-ml-1":!0}),H=n({...h({setting:L,renderMaxHeight:!0}),...e("line-clamp",t(L?.lineClamp,L?.hasLineClamp))}),N=l(x()),O=n(y({setting:L})),R=c({"data-id":`${T?.uid}`}),z=c({"data-gp-text":""}),{textDescriptionCss:B,gpDescriptionCss:F}=M(),J="product.description == blank",K=()=>{let e=o?"{{ 'gp-product-description-v7-5.js' | asset_url }}":`${r}/assets-v2/gp-product-description-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}`;return`<script ${a('class="gps-link" delay',"src")}="${e}" defer="defer"></script>`},Q=m({setting:{lineClamp:L?.lineClamp,hasLineClamp:L?.hasLineClamp,viewMoreText:L?.viewMoreText,viewLessText:L?.viewLessText,enableViewMoreIcon:L?.enableViewMoreIcon},textStyle:H}),U=p({val:k,uid:T?.uid,settingId:d({id:j?.viewMoreText?.id}),pageContext:I}),W=p({val:E,uid:T?.uid,settingId:d({id:j?.viewLessText?.id}),pageContext:I});return u(J,"",$(s`
1
+ import{makeStyleResponsive as e,makeLineClamp as t,template as s,dataStringify as i,isLocalEnv as o,baseAssetURL as r}from"@gem-sdk/core";import{getDynamicSourceLocales as p,createSettingId as a,getSettingPreloadData as n}from"../../../helpers.js";import{createClass as d,createStyle as c,createAttr as l,createStateOrContext as m,LiquidIf as u,Liquid as $,LiquidUnless as g,If as v}from"@gem-sdk/system";import{getClasses as f,getButtonClasses as w,getClassPreBuilt as x}from"./common/classes.js";import{getTextStyle as h,getButtonStyle as y,getStaticCss as j}from"./common/styles.js";import{ICON_SVG as M}from"./common/helpers.js";import{ProductDescription as b}from"../../settings/product-description/configs/translate.js";let ProductDescription=C=>{let{setting:L,advanced:S,builderProps:T,pageContext:I}=C,{htmlTag:P,viewMoreText:k,viewLessText:E}=L??{},V="html"===P?"div":"p",A=d({"gp-product-description":!0,[S?.cssClass]:!0}),D=d(f({setting:L,isLiquid:!0})),G=d(w({setting:L})),_=d({"gp-show-more-text":!0}),q=d({"gp-show-more-icon gp-ml-1":!0}),H=c({...h({setting:L,renderMaxHeight:!0}),...e("line-clamp",t(L?.lineClamp,L?.hasLineClamp))}),N=d(x()),O=c(y({setting:L})),R=l({"data-id":`${T?.uid}`}),z=l({"data-gp-text":""}),{textDescriptionCss:B,gpDescriptionCss:F}=j(),J="product.description == blank",K=()=>{let e=o?"{{ 'gp-product-description-v7-5.js' | asset_url }}":`${r}/assets-v2/gp-product-description-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}`;return`<script ${n('class="gps-link" delay',"src")}="${e}" defer="defer"></script>`},Q=m({setting:{lineClamp:L?.lineClamp,hasLineClamp:L?.hasLineClamp,viewMoreText:L?.viewMoreText,viewLessText:L?.viewLessText,enableViewMoreIcon:L?.enableViewMoreIcon},textStyle:H}),U=p({val:k,uid:T?.uid,settingId:a({id:b?.viewMoreText?.id}),pageContext:I}),W=p({val:E,uid:T?.uid,settingId:a({id:b?.viewLessText?.id}),pageContext:I});return u(J,"",$(s`
2
2
  <gp-product-description
3
3
  ${R}
4
4
  class="${A}"
5
- gp-data='${i(Q).replaceAll("'","&#039;")}'
6
5
  data-view-more-text="${U}"
7
6
  data-view-less-text="${W}"
8
7
  >
9
- <style>${B}</style>
10
- <style>${F}</style>
8
+ <script gp-data type="application/json">${i(Q).replaceAll("'","&#039;")}</script>
9
+ <style>${B}${F}</style>
11
10
  <div class="${N}" ></div>
12
11
  ${g("product","<p>Product not found</p>",s`<${V} ${z} class="${D}" style="${H}">
13
12
  {{product.description}}
@@ -16,7 +15,7 @@ import{makeStyleResponsive as e,makeLineClamp as t,template as s,dataStringify a
16
15
  <span class="${_}">
17
16
  ${v(!1,W?.toString(),U?.toString())}
18
17
  </span>
19
- ${v(L?.enableViewMoreIcon,s`<span class="${q}">${b}</span>`," ")}
18
+ ${v(L?.enableViewMoreIcon,s`<span class="${q}">${M}</span>`," ")}
20
19
  </button>`)}`)}
21
20
  </gp-product-description>
22
21
 
@@ -1,4 +1,4 @@
1
- import{template as e,isLocalEnv as i,baseAssetURL as s}from"@gem-sdk/core";import{getDynamicSourceLocales as a,createSettingId as r,getSettingPreloadData as t}from"../../../helpers.js";import p from"../../../text/components/Text.liquid.js";import{createStyle as n,createClass as c,LiquidIf as d,Liquid as o,If as l}from"@gem-sdk/system";import{getWrapperTextClass as u,getContainerClass as f,getProductTagClass as g}from"./common/classes.js";import{getRootClass as m,getWrapperTextStyle as v,getContainerStyle as $}from"./common/styles.js";import{ProductTag as y}from"../../settings/product-discount-tag/configs/translate.js";let ProductTag=({setting:x,styles:P,builderProps:S,advanced:V,pageContext:_})=>{let{customContent:h}=x??{},j=x?.moneyWithCurrentFormat?"money_with_currency":"money",C=y?.customContent?.id?a({val:h?.prefix,uid:S?.uid,settingId:r({id:y.customContent.id,suffix:"prefix"}),isLiquid:!0,pageContext:_}):h?.prefix,M=y?.customContent?.id?a({val:h?.suffix,uid:S?.uid,settingId:r({id:y.customContent.id,suffix:"suffix"}),isLiquid:!0,pageContext:_}):h?.suffix,T=n(m(P)),q=n(v(P)),w=n($(P)),E=c(u(P)),F=c(f()),N=c(g(V)),O=h?.unit==="percentage",k=()=>{let e=i?"{{ 'gp-product-tag-v7-5.js' | asset_url }}":`${s}/assets-v2/gp-product-tag-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}`;return`<script ${t('class="gps-link" delay',"src")}="${e}" defer="defer"></script>`};return e`
1
+ import{template as e,isLocalEnv as i,baseAssetURL as s}from"@gem-sdk/core";import{getDynamicSourceLocales as a,createSettingId as r,getSettingPreloadData as t}from"../../../helpers.js";import p from"../../../text/components/Text.liquid.js";import{createStyle as n,createClass as c,LiquidIf as o,Liquid as d,If as l}from"@gem-sdk/system";import{getWrapperTextClass as u,getContainerClass as f,getProductTagClass as g}from"./common/classes.js";import{getRootClass as m,getWrapperTextStyle as v,getContainerStyle as y}from"./common/styles.js";import{ProductTag as $}from"../../settings/product-discount-tag/configs/translate.js";let ProductTag=({setting:x,styles:P,builderProps:S,advanced:V,pageContext:_})=>{let{customContent:h}=x??{},j=x?.moneyWithCurrentFormat?"money_with_currency":"money",C=$?.customContent?.id?a({val:h?.prefix,uid:S?.uid,settingId:r({id:$.customContent.id,suffix:"prefix"}),isLiquid:!0,pageContext:_}):h?.prefix,M=$?.customContent?.id?a({val:h?.suffix,uid:S?.uid,settingId:r({id:$.customContent.id,suffix:"suffix"}),isLiquid:!0,pageContext:_}):h?.suffix,T=n(m(P)),q=n(v(P)),w=n(y(P)),E=c(u(P)),F=c(f()),N=c(g(V)),O=h?.unit==="percentage",k=()=>{let e=i?"{{ 'gp-product-tag-v7-5.js' | asset_url }}":`${s}/assets-v2/gp-product-tag-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}`;return`<script ${t('class="gps-link" delay',"src")}="${e}" defer="defer"></script>`};return e`
2
2
  {% liquid
3
3
  assign price = variant.price | times: 1.0
4
4
  assign salePrice = variant.compare_at_price | times: 1.0
@@ -6,8 +6,8 @@ import{template as e,isLocalEnv as i,baseAssetURL as s}from"@gem-sdk/core";impor
6
6
  assign prefixVal = ${_?.isPreviewing?JSON.stringify(C):C}
7
7
  assign suffixVal = ${_?.isPreviewing?JSON.stringify(M):M}
8
8
  %}
9
- ${d("salePrice == null or price == null",o(`{% assign pricePercentage = prefixVal ${l(O,"| append: ' 0% '",`| ${j} | append: ' '`)} | append: suffixVal %}`),`${l(O,`{% assign salePercent = priceSave | divided_by: salePrice | times: 100 | round %}
10
- {% assign pricePercentage = prefixVal | append: ' ' | append: salePercent | append: '% ' | append: suffixVal %}`,d("priceSave > 0",`{% assign priceSaveMoney = priceSave | ${j} %}
9
+ ${o("salePrice == null or price == null",d(`{% assign pricePercentage = prefixVal ${l(O,"| append: ' 0% '",`| ${j} | append: ' '`)} | append: suffixVal %}`),`${l(O,`{% assign salePercent = priceSave | divided_by: salePrice | times: 100 | round %}
10
+ {% assign pricePercentage = prefixVal | append: ' ' | append: salePercent | append: '% ' | append: suffixVal %}`,o("priceSave > 0",`{% assign priceSaveMoney = priceSave | ${j} %}
11
11
  {% assign pricePercentage = prefixVal | append: ' ' | append: priceSaveMoney | append: ' ' | append: suffixVal %}`,`{% assign priceSaveMoney = 0 | ${j} %}
12
12
  {% assign pricePercentage = prefixVal | append: ' ' | append: priceSaveMoney | append: ' ' | append: suffixVal %}`))}`)}
13
13
 
@@ -15,10 +15,10 @@ import{template as e,isLocalEnv as i,baseAssetURL as s}from"@gem-sdk/core";impor
15
15
  class="${N}"
16
16
  style="${T}"
17
17
  data-id="${S?.uid}"
18
- data-disabled="${d(`${l(O,"salePercent","priceSave")} > 0`,"false","true")}"
19
- gp-data='{"setting":${JSON.stringify(x).replaceAll("'","&#039;")}, "id": "${S?.uid}", "locale": "{{shop.locale}}", "currency": "{{shop.currency}}", "moneyFormat": "{{ ${x?.moneyWithCurrentFormat?"shop.money_with_currency_format":"shop.money_format"} | replace: '"', '\\"' | escape }}"}'
18
+ data-disabled="${o(`${l(O,"salePercent","priceSave")} > 0`,"false","true")}"
20
19
  price-save="{{priceSave}}"
21
20
  >
21
+ <script gp-data type="application/json">{"setting":${JSON.stringify(x).replaceAll("'","&#039;")}, "id": "${S?.uid}", "locale": "{{shop.locale}}", "currency": "{{shop.currency}}", "moneyFormat": "{{ ${x?.moneyWithCurrentFormat?"shop.money_with_currency_format":"shop.money_format"} | replace: '"', '\\"' | escape }}"}'</script>
22
22
  <div class="${F}" style="${w}">
23
23
  <div class="${E}" style="${q}">
24
24
  ${p({styles:P,id:`p-tag-${S?.uid}`,setting:{...x,translate:"",text:"{{ pricePercentage }}",excludeFlex:!0}})}
@@ -1,10 +1,9 @@
1
1
  import{template as t}from"@gem-sdk/core";import{getClass as e}from"./common/classes.js";let ProductListItem=n=>{let{pageContext:o,children:a}=n,{productItemClass:r,gpProductClass:i}=e(n);return t`
2
2
  <gp-product
3
3
  gp-context='{"variantSelected": {{ variant | json | escape }}, "inventory_management": {{ variant.inventory_management | json | escape }}, "inventory_policy": {{ variant.inventory_policy | json | escape }}, "quantity": 1 , "inventoryQuantity": {{ variant.inventory_quantity }}, "formId": "{{ product_form_id }}"}'
4
- gp-data='{"variantSelected": {{ variant | json | escape }}, "quantity": 1, "productUrl":{{ product.url | json | escape }}, "productHandle":{{ product.handle | json | escape }}, "collectionUrl": {{ collection.url | json | escape }}, "collectionHandle": {{ collection.handle | json | escape }},"pageContext" : ${JSON.stringify(o)}}'
5
4
  class="${i}"
6
-
7
5
  >
6
+ <script gp-data type="application/json">{"variantSelected": {{ variant | json | escape }}, "quantity": 1, "productUrl":{{ product.url | json | escape }}, "productHandle":{{ product.handle | json | escape }}, "collectionUrl": {{ collection.url | json | escape }}, "collectionHandle": {{ collection.handle | json | escape }},"pageContext" : ${JSON.stringify(o)}}</script>
8
7
  {%- form 'product', product, id: product_form_id, class: 'form contents ${r}', data-type: 'add-to-cart-form', autocomplete: 'off' -%}
9
8
  <input type="hidden" name="id" value="{{ variant.id }}" />
10
9
  <input type="hidden" min="1" name="quantity" value="{{ quantity }}" />
@@ -1,19 +1,18 @@
1
- import{template as t,RenderChildren as e}from"@gem-sdk/core";import{getClass as n}from"./common/classes.js";let ProductListItem=o=>{let{pageContext:a,rawChildren:r}=o,{productItemClass:i,gpProductClass:c}=n(o),d=()=>t`
1
+ import{template as t,RenderChildren as e}from"@gem-sdk/core";import{getClass as n}from"./common/classes.js";let ProductListItem=o=>{let{pageContext:a,rawChildren:r}=o,{productItemClass:i,gpProductClass:c}=n(o),p=()=>t`
2
2
  ${r?.map((n,o)=>{if(n)return t`
3
3
  ${e({...n,index:o})}
4
4
  `}).join("")}
5
5
  `;return t`
6
6
  <gp-product
7
7
  gp-context='{"variantSelected": {{ variant | json | escape }}, "inventory_management": {{ variant.inventory_management | json | escape }}, "inventory_policy": {{ variant.inventory_policy | json | escape }}, "quantity": 1 , "inventoryQuantity": {{ variant.inventory_quantity }}, "formId": "{{ product_form_id }}"}'
8
- gp-data='{"variantSelected": {{ variant | json | escape }}, "quantity": 1, "productUrl":{{ product.url | json | escape }}, "productHandle":{{ product.handle | json | escape }}, "collectionUrl": {{ collection.url | json | escape }}, "collectionHandle": {{ collection.handle | json | escape }},"pageContext" : ${JSON.stringify(a)}}'
9
8
  class="${c}"
10
-
11
9
  >
10
+ <script gp-data type="application/json">{"variantSelected": {{ variant | json | escape }}, "quantity": 1, "productUrl":{{ product.url | json | escape }}, "productHandle":{{ product.handle | json | escape }}, "collectionUrl": {{ collection.url | json | escape }}, "collectionHandle": {{ collection.handle | json | escape }},"pageContext" : ${JSON.stringify(a)}}</script>
12
11
  {%- form 'product', product, id: product_form_id, class: 'form contents ${i}', data-type: 'add-to-cart-form', autocomplete: 'off' -%}
13
12
  <input type="hidden" name="id" value="{{ variant.id }}" />
14
13
  <input type="hidden" min="1" name="quantity" value="{{ quantity }}" />
15
14
  <button type="submit" onclick="return false;" style="display:none;"></button>
16
- ${d()}
15
+ ${p()}
17
16
  {%- endform -%}
18
17
  </gp-product>
19
18
  `};export{ProductListItem as default};
@@ -1,8 +1,10 @@
1
- import{template as t,RenderIf as i}from"@gem-sdk/core";import{getStyle as o}from"./common/styles.js";import{getClass as r}from"./common/classes.js";import{getAttr as s}from"./common/attrs.js";import d from"./ProductListGridItem.liquid.js";import{getStaticLocale as e}from"../../../helpers.js";let ProductListGridLayout=a=>{let{setting:n,builderProps:c,styles:m,productListId:u,productSrc:p}=a,{gridLayoutStyle:l}=o(a),{gridLayoutClass:f}=r(a),{productListAttr:g}=s(a),$=i=>t`
1
+ import{template as t,RenderIf as i}from"@gem-sdk/core";import{getStyle as o}from"./common/styles.js";import{getClass as s}from"./common/classes.js";import{getAttr as r}from"./common/attrs.js";import d from"./ProductListGridItem.liquid.js";import{getStaticLocale as e}from"../../../helpers.js";let ProductListGridLayout=a=>{let{setting:n,builderProps:p,styles:c,productListId:m,productSrc:u}=a,{gridLayoutStyle:l}=o(a),{gridLayoutClass:f}=s(a),{productListAttr:g}=r(a),$=i=>t`
2
2
  <gp-same-height
3
3
  class="gp-contents"
4
4
  style="visibility: hidden"
5
- gp-data='${JSON.stringify({targetUid:c?.builderData?.childrens?.[0],slidesToShow:n?.slidesToShow,rowGap:m?.horizontalGutter})}'>
5
+ >
6
+ <script gp-data type="application/json">${JSON.stringify({targetUid:p?.builderData?.childrens?.[0],slidesToShow:n?.slidesToShow,rowGap:c?.horizontalGutter})}
7
+ </script>
6
8
  ${i}
7
9
  </gp-same-height>
8
10
  `,h=()=>t`
@@ -11,12 +13,12 @@ import{template as t,RenderIf as i}from"@gem-sdk/core";import{getStyle as o}from
11
13
  {%- if product.id != empty -%}
12
14
  {%- assign count = count | plus: 1 -%}
13
15
  {%- assign variant = product.selected_or_first_available_variant -%}
14
- {%- assign product_form_id = 'product-form-' | append: "${c?.uid}" | append: product.id -%}
16
+ {%- assign product_form_id = 'product-form-' | append: "${p?.uid}" | append: product.id -%}
15
17
  ${d({...a})}
16
18
  {%- endif -%}
17
19
  {% endfor %}
18
- {%- if count == 0 and ${u?.length} == 0 -%}
19
- {% if '${p}' == 'RelatedProduct' -%}
20
+ {%- if count == 0 and ${m?.length} == 0 -%}
21
+ {% if '${u}' == 'RelatedProduct' -%}
20
22
  <div>${e("ProductList","no_related_products")}</div>
21
23
  {% else %}
22
24
  <div>${e("ProductList","no_products_found")}</div>
@@ -1,10 +1,9 @@
1
1
  import{template as t}from"@gem-sdk/core";import{getClass as e}from"./common/classes.js";let ProductListItem=n=>{let{pageContext:o,children:a}=n,{productItemClass:r,gpProductClass:i}=e(n);return t`
2
2
  <gp-product
3
3
  gp-context='{"variantSelected": {{ variant | json | escape }}, "inventory_management": {{ variant.inventory_management | json | escape }}, "inventory_policy": {{ variant.inventory_policy | json | escape }}, "quantity": 1 ,"inventoryQuantity": {{ variant.inventory_quantity }}, "formId": "{{ product_form_id }}"}'
4
- gp-data='{"variantSelected": {{ variant | json | escape }}, "quantity": 1, "productUrl":{{ product.url | json | escape }}, "productHandle":{{ product.handle | json | escape }}, "collectionUrl": {{ collection.url | json | escape }}, "collectionHandle": {{ collection.handle | json | escape }},"pageContext" : ${JSON.stringify(o)}}'
5
4
  class="${i}"
6
-
7
5
  >
6
+ <script gp-data type="application/json">{"variantSelected": {{ variant | json | escape }}, "quantity": 1, "productUrl":{{ product.url | json | escape }}, "productHandle":{{ product.handle | json | escape }}, "collectionUrl": {{ collection.url | json | escape }}, "collectionHandle": {{ collection.handle | json | escape }},"pageContext" : ${JSON.stringify(o)}}</script>
8
7
  {%- form 'product', product, id: product_form_id, class: 'form contents ${r}', data-type: 'add-to-cart-form', autocomplete: 'off' -%}
9
8
  <input type="hidden" name="id" value="{{ variant.id }}" />
10
9
  <input type="hidden" min="1" name="quantity" value="{{ quantity }}" />
@@ -1,19 +1,18 @@
1
- import{template as t,RenderChildren as e}from"@gem-sdk/core";import{getClass as n}from"./common/classes.js";let ProductListItem=o=>{let{pageContext:a,rawChildren:r}=o,{productItemClass:i,gpProductClass:c}=n(o),d=()=>t`
1
+ import{template as t,RenderChildren as e}from"@gem-sdk/core";import{getClass as n}from"./common/classes.js";let ProductListItem=o=>{let{pageContext:a,rawChildren:r}=o,{productItemClass:i,gpProductClass:c}=n(o),p=()=>t`
2
2
  ${r?.map((n,o)=>{if(n)return t`
3
3
  ${e({...n,index:o})}
4
4
  `}).join("")}
5
5
  `;return t`
6
6
  <gp-product
7
7
  gp-context='{"variantSelected": {{ variant | json | escape }}, "inventory_management": {{ variant.inventory_management | json | escape }}, "inventory_policy": {{ variant.inventory_policy | json | escape }}, "quantity": 1 ,"inventoryQuantity": {{ variant.inventory_quantity }}, "formId": "{{ product_form_id }}"}'
8
- gp-data='{"variantSelected": {{ variant | json | escape }}, "quantity": 1, "productUrl":{{ product.url | json | escape }}, "productHandle":{{ product.handle | json | escape }}, "collectionUrl": {{ collection.url | json | escape }}, "collectionHandle": {{ collection.handle | json | escape }},"pageContext" : ${JSON.stringify(a)}}'
9
8
  class="${c}"
10
-
11
9
  >
10
+ <script gp-data type="application/json">{"variantSelected": {{ variant | json | escape }}, "quantity": 1, "productUrl":{{ product.url | json | escape }}, "productHandle":{{ product.handle | json | escape }}, "collectionUrl": {{ collection.url | json | escape }}, "collectionHandle": {{ collection.handle | json | escape }},"pageContext" : ${JSON.stringify(a)}}</script>
12
11
  {%- form 'product', product, id: product_form_id, class: 'form contents ${i}', data-type: 'add-to-cart-form', autocomplete: 'off' -%}
13
12
  <input type="hidden" name="id" value="{{ variant.id }}" />
14
13
  <input type="hidden" min="1" name="quantity" value="{{ quantity }}" />
15
14
  <button type="submit" onclick="return false;" style="display:none;"></button>
16
- ${d()}
15
+ ${p()}
17
16
  {%- endform -%}
18
17
  </gp-product>
19
18
  `};export{ProductListItem as default};
@@ -1,8 +1,10 @@
1
- import{template as t,RenderIf as i}from"@gem-sdk/core";import{getStyle as o}from"./common/styles.js";import{getClass as r}from"./common/classes.js";import{getAttr as s}from"./common/attrs.js";import d from"./ProductListGridItem.liquid.js";import{getStaticLocale as e}from"../../../helpers.js";let ProductListGridLayout=a=>{let{setting:n,builderProps:c,styles:m,productListId:u,productSrc:p}=a,{gridLayoutStyle:l}=o(a),{gridLayoutClass:f}=r(a),{productListAttr:g}=s(a),$=i=>t`
1
+ import{template as t,RenderIf as i}from"@gem-sdk/core";import{getStyle as o}from"./common/styles.js";import{getClass as s}from"./common/classes.js";import{getAttr as r}from"./common/attrs.js";import d from"./ProductListGridItem.liquid.js";import{getStaticLocale as e}from"../../../helpers.js";let ProductListGridLayout=a=>{let{setting:n,builderProps:p,styles:c,productListId:m,productSrc:u}=a,{gridLayoutStyle:l}=o(a),{gridLayoutClass:f}=s(a),{productListAttr:g}=r(a),$=i=>t`
2
2
  <gp-same-height
3
3
  class="gp-contents"
4
4
  style="visibility: hidden"
5
- gp-data='${JSON.stringify({targetUid:c?.builderData?.childrens?.[0],slidesToShow:n?.slidesToShow,rowGap:m?.horizontalGutter})}'>
5
+ >
6
+ <script gp-data type="application/json">${JSON.stringify({targetUid:p?.builderData?.childrens?.[0],slidesToShow:n?.slidesToShow,rowGap:c?.horizontalGutter})}
7
+ </script>
6
8
  ${i}
7
9
  </gp-same-height>
8
10
  `,h=()=>t`
@@ -11,12 +13,12 @@ import{template as t,RenderIf as i}from"@gem-sdk/core";import{getStyle as o}from
11
13
  {%- if product.id != empty -%}
12
14
  {%- assign count = count | plus: 1 -%}
13
15
  {%- assign variant = product.selected_or_first_available_variant -%}
14
- {%- assign product_form_id = 'product-form-' | append: "${c?.uid}" | append: product.id -%}
16
+ {%- assign product_form_id = 'product-form-' | append: "${p?.uid}" | append: product.id -%}
15
17
  ${d({...a})}
16
18
  {%- endif -%}
17
19
  {% endfor %}
18
- {%- if count == 0 and ${u?.length} == 0 -%}
19
- {% if '${p}' == 'RelatedProduct' -%}
20
+ {%- if count == 0 and ${m?.length} == 0 -%}
21
+ {% if '${u}' == 'RelatedProduct' -%}
20
22
  <div>${e("ProductList","no_related_products")}</div>
21
23
  {% else %}
22
24
  <div>${e("ProductList","no_products_found")}</div>
@@ -1,6 +1,7 @@
1
- import{template as e,isLocalEnv as t,baseAssetURL as r}from"@gem-sdk/core";import{getSettingPreloadData as s}from"../../../helpers.js";import a from"../../../text/components/Text.liquid.js";import{LiquidUnless as l,LiquidIf as o,If as u}from"@gem-sdk/system";let ProductSku=({setting:i,styles:c,advanced:d,builderProps:p})=>{let n=c?.typo?.attrs?.transform==="capitalize",m=i?.label&&i.label.trim().length?`${n?i.label.toString().toLocaleLowerCase():i.label}`:"";c?.disableHoverColor&&delete c.underlineLink;let g=()=>{let e=t?"{{ 'gp-product-sku-v7-5.js' | asset_url }}":`${r}/assets-v2/gp-product-sku-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}`;return`<script ${s('class="gps-link" delay',"src")}="${e}" defer="defer"></script>`};return e`
2
- ${l("product","<p>Product not found</p>",`{% assign currentVariant = product.selected_or_first_available_variant %}
3
- <gp-product-sku gp-data='${JSON.stringify({label:m})}'>
4
- ${a({styles:c,setting:{...i,text:`${o("currentVariant.sku.size > 0 ",`${m} ${u(n,"{{ currentVariant.sku | downcase }}","{{ currentVariant.sku }}")}`)}`,excludeFlex:!0,isForceValue:!0},advanced:d,builderProps:p,className:"gp-product-sku"})}
1
+ import{template as t,isLocalEnv as e,baseAssetURL as r}from"@gem-sdk/core";import{getSettingPreloadData as s}from"../../../helpers.js";import a from"../../../text/components/Text.liquid.js";import{LiquidUnless as o,LiquidIf as l,If as i}from"@gem-sdk/system";let ProductSku=({setting:p,styles:u,advanced:c,builderProps:n})=>{let d=u?.typo?.attrs?.transform==="capitalize",m=p?.label&&p.label.trim().length?`${d?p.label.toString().toLocaleLowerCase():p.label}`:"";u?.disableHoverColor&&delete u.underlineLink;let g=()=>{let t=e?"{{ 'gp-product-sku-v7-5.js' | asset_url }}":`${r}/assets-v2/gp-product-sku-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}`;return`<script ${s('class="gps-link" delay',"src")}="${t}" defer="defer"></script>`};return t`
2
+ ${o("product","<p>Product not found</p>",`{% assign currentVariant = product.selected_or_first_available_variant %}
3
+ <gp-product-sku>
4
+ <script gp-data type="application/json">${JSON.stringify({label:m})}</script>
5
+ ${a({styles:u,setting:{...p,text:`${l("currentVariant.sku.size > 0 ",`${m} ${i(d,"{{ currentVariant.sku | downcase }}","{{ currentVariant.sku }}")}`)}`,excludeFlex:!0,isForceValue:!0},advanced:c,builderProps:n,className:"gp-product-sku"})}
5
6
  </gp-product-sku>
6
7
  ${g()}`)}`};export{ProductSku as default};
@@ -1,13 +1,13 @@
1
- import{template as e,isLocalEnv as t,baseAssetURL as s,DEVICES as i,getResponsiveValueByScreen as o}from"@gem-sdk/core";import a from"../../../text/components/Text.liquid.js";import n from"./components/variants/index.liquid.js";import r from"./components/dropdown-swatches/Dropdown.liquid.js";import p from"./components/dropdown-group/DropdownGroup.liquid.js";import{getSettingPreloadData as l}from"../../../helpers.js";import{mappingVariantStyles as d}from"./utils/mappingVariantStyles.js";import{createClass as m,createStyle as c,createAttr as u,Liquid as v,LiquidFor as f,LiquidIf as _,If as $}from"@gem-sdk/system";import{getAttrs as g}from"./common/main/getAttr.js";import{getVariantOptionGroupStyle as h,getWrapperStyle as y}from"./common/main/styles.js";import{getVariantOptionGroupClass as j,getWrapDropdownClass as w}from"./common/main/classes.js";import{getTextVariantTitleData as S,getDropdownGroupData as P}from"./common/main/getData.js";import{getWrapVariantOptionClass as b}from"./common/variants/classes.js";import{getStyleOfObject as A}from"../../helpers/function.js";import{getMarginBottomStyle as D}from"./common/variants/styles.js";import{renderOptionValuesNewFormatSwatches as N}from"./OptionVariantsNewFormat.liquid.js";import{renderOptionValuesOld as V}from"./OptionVariantsOldFormat.liquid.js";let DEFAULT_ADVANCED_DISPLAY_SETTING={desktop:!0,tablet:!0,mobile:!0},ProductVariants=E=>{let{builderProps:O,styles:T,setting:x,advanced:q}=E,{align:F,swatchItemWidth:G,dropdownItemWidth:C,swatchSpacing:I,optionTypo:k,marginBottom:L}=T??{},{label:J,optionType:z,showAsSwatches:M,layout:U,hasPreSelected:W}=x??{},R=q?.d??DEFAULT_ADVANCED_DISPLAY_SETTING,{uid:Y}=O??{},H="groupOption"===z,K=()=>{let e={};return i.forEach(t=>{let s=o(G,t);e[t]="auto"===s}),e},Q=()=>{let e={};return i.forEach(t=>{e[t]=C?.[t]==="fill"}),e},B=x?.variantPresets?d(x?.variantPresets,T):[],X=B?.map(e=>({...e,presets:{[e.optionType]:e.presets[e.optionType]}})),Z={...x,variantPresets:X},ee=e=>{let t={"'":"&apos;",'"':"&quot;"},s=e;for(let i in t)e.indexOf(i)>=0&&(s=s.replaceAll(i,t[i]));return s},et=()=>x?.variantPresets?.map(e=>`${ee(e.optionName)}($2)${e.optionType}`).join("($1)"),es=()=>x?.variantPresets?.filter(e=>!!e?.hide)?.map(e=>e.optionName).join(","),ei=({showDropdown:t,isRenderDefault:s,typeOfOption:i})=>e`
2
- ${f("value in values",n({id:"{{option.name | escape}}-{{value | escape}}",variantKey:"{{option.name | escape}}-{{option.position}}-{{ forloop.index }}",showAsSwatches:M,uid:Y,name:"{{option.name | escape}}",value:{label:"{{value | escape}}"},checked:W?"{%- if option.selected_value == value -%}true{% else %}false{%- endif -%}":"false",optionPosition:"rootForloop",typeOfOption:i,activeClass:W?"{%- if option.selected_value == value -%}option-item-active{%- endif -%}":"",...T,...Z,swatchAutoWidth:K(),optionTypo:k,isRenderDefault:s}))}
3
- ${_(t?'type == "dropdown"':"false",r({...T,...Z,swatchAutoWidth:Q(),optionTypo:k}))}`,eo=x?.variantPresets?.map(e=>({name:ee(e.optionName),type:e.optionType})).map(e=>`${e.name}($1)${e.type}`).join("($2)").toString(),ea={renderVariantItem:ei,variantPresetsLiquid:eo??""},en=m(j(F)),er=c(h(I,I)),ep=S(E,"Liquid"),el=m(b(U,F)),ed=()=>e`
1
+ import{template as e,isLocalEnv as t,baseAssetURL as i,DEVICES as s,getResponsiveValueByScreen as o}from"@gem-sdk/core";import a from"../../../text/components/Text.liquid.js";import n from"./components/variants/index.liquid.js";import r from"./components/dropdown-swatches/Dropdown.liquid.js";import p from"./components/dropdown-group/DropdownGroup.liquid.js";import{getSettingPreloadData as l}from"../../../helpers.js";import{mappingVariantStyles as d}from"./utils/mappingVariantStyles.js";import{createClass as m,createStyle as c,createAttr as u,Liquid as v,LiquidFor as f,LiquidIf as _,If as $}from"@gem-sdk/system";import{getAttrs as g}from"./common/main/getAttr.js";import{getVariantOptionGroupStyle as h,getWrapperStyle as y}from"./common/main/styles.js";import{getVariantOptionGroupClass as j,getWrapDropdownClass as w}from"./common/main/classes.js";import{getTextVariantTitleData as S,getDropdownGroupData as P}from"./common/main/getData.js";import{getWrapVariantOptionClass as b}from"./common/variants/classes.js";import{getStyleOfObject as A}from"../../helpers/function.js";import{getMarginBottomStyle as D}from"./common/variants/styles.js";import{renderOptionValuesNewFormatSwatches as N}from"./OptionVariantsNewFormat.liquid.js";import{renderOptionValuesOld as V}from"./OptionVariantsOldFormat.liquid.js";let DEFAULT_ADVANCED_DISPLAY_SETTING={desktop:!0,tablet:!0,mobile:!0},ProductVariants=E=>{let{builderProps:O,styles:T,setting:x,advanced:q}=E,{align:F,swatchItemWidth:G,dropdownItemWidth:C,swatchSpacing:I,optionTypo:k,marginBottom:L}=T??{},{label:J,optionType:z,showAsSwatches:M,layout:U,hasPreSelected:W}=x??{},R=q?.d??DEFAULT_ADVANCED_DISPLAY_SETTING,{uid:Y}=O??{},H="groupOption"===z,K=()=>{let e={};return s.forEach(t=>{let i=o(G,t);e[t]="auto"===i}),e},Q=()=>{let e={};return s.forEach(t=>{e[t]=C?.[t]==="fill"}),e},B=x?.variantPresets?d(x?.variantPresets,T):[],X=B?.map(e=>({...e,presets:{[e.optionType]:e.presets[e.optionType]}})),Z={...x,variantPresets:X},ee=e=>{let t={"'":"&apos;",'"':"&quot;"},i=e;for(let s in t)e.indexOf(s)>=0&&(i=i.replaceAll(s,t[s]));return i},et=()=>x?.variantPresets?.map(e=>`${ee(e.optionName)}($2)${e.optionType}`).join("($1)"),ei=()=>x?.variantPresets?.filter(e=>!!e?.hide)?.map(e=>e.optionName).join(","),es=({showDropdown:t,isRenderDefault:i,typeOfOption:s})=>e`
2
+ ${f("value in values",n({id:"{{option.name | escape}}-{{value | escape}}",variantKey:"{{option.name | escape}}-{{option.position}}-{{ forloop.index }}",showAsSwatches:M,uid:Y,name:"{{option.name | escape}}",value:{label:"{{value | escape}}"},checked:W?"{%- if option.selected_value == value -%}true{% else %}false{%- endif -%}":"false",optionPosition:"rootForloop",typeOfOption:s,activeClass:W?"{%- if option.selected_value == value -%}option-item-active{%- endif -%}":"",...T,...Z,swatchAutoWidth:K(),optionTypo:k,isRenderDefault:i}))}
3
+ ${_(t?'type == "dropdown"':"false",r({...T,...Z,swatchAutoWidth:Q(),optionTypo:k}))}`,eo=x?.variantPresets?.map(e=>({name:ee(e.optionName),type:e.optionType})).map(e=>`${e.name}($1)${e.type}`).join("($2)").toString(),ea={renderVariantItem:es,variantPresetsLiquid:eo??""},en=m(j(F)),er=c(h(I,I)),ep=S(E,"Liquid"),el=m(b(U,F)),ed=()=>e`
4
4
  ${v(`{%- assign presets = "${et()}" | split: '($1)' -%}`)}
5
- ${v(`{% assign hiddenPresetOptions = "${es()}" | split: ',' %}`)}
6
-
5
+ ${v(`{% assign hiddenPresetOptions = "${ei()}" | split: ',' %}`)}
6
+
7
7
  ${v(`{% assign all_option_names = options | map: 'name' %}
8
8
  {% assign filtered_options_string = '' %}
9
9
  {% assign delimiter = '||' %}
10
-
10
+
11
11
  {% for item_name in all_option_names %}
12
12
  {% assign is_excluded = false %}
13
13
  {% for exclude_name in hiddenPresetOptions %}
@@ -15,7 +15,7 @@ import{template as e,isLocalEnv as t,baseAssetURL as s,DEVICES as i,getResponsiv
15
15
  {% assign is_excluded = true %}
16
16
  {% endif %}
17
17
  {% endfor %}
18
-
18
+
19
19
  {% unless is_excluded %}
20
20
  {% if filtered_options_string == '' %}
21
21
  {% assign filtered_options_string = item_name %}
@@ -24,11 +24,11 @@ import{template as e,isLocalEnv as t,baseAssetURL as s,DEVICES as i,getResponsiv
24
24
  {% endif %}
25
25
  {% endunless %}
26
26
  {% endfor %}
27
-
27
+
28
28
  {% assign filtered_options_array = filtered_options_string | split: delimiter %}`)}
29
-
29
+
30
30
  ${v("{% assign last_option_name = filtered_options_array | last %}")}
31
-
31
+
32
32
  ${f("option in options",`
33
33
  <div
34
34
  option-name="{{option.name | escape}}"
@@ -59,7 +59,7 @@ import{template as e,isLocalEnv as t,baseAssetURL as s,DEVICES as i,getResponsiv
59
59
  {%- endif -%}
60
60
  `)}
61
61
  ${$(!W,v("{%- assign selectedValue = null -%}"),"")}
62
- ${$(M,em(),ei({showDropdown:!1,isRenderDefault:!0,typeOfOption:"optionType"}))}
62
+ ${$(M,em(),es({showDropdown:!1,isRenderDefault:!0,typeOfOption:"optionType"}))}
63
63
  </div>
64
64
  </div>`)}
65
65
  `,em=()=>e`
@@ -68,28 +68,28 @@ import{template as e,isLocalEnv as t,baseAssetURL as s,DEVICES as i,getResponsiv
68
68
  <div className="${ec}">
69
69
  ${p(eu)}
70
70
  </div>
71
- `,ef=u(g({uid:Y,hasPreSelected:W,cssClass:q?.cssClass})),e_=c(y(E)),e$=m({"gp-flex gp-flex-col !gp-ml-0":!0}),eg=()=>{let e=t?"{{ 'gp-product-variant-v7-5.js' | asset_url }}":`${s}/assets-v2/gp-product-variant-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}`;return`<script ${l('class="gps-link" delay',"src")}="${e}" defer="defer"></script>`};return e`
71
+ `,ef=u(g({uid:Y,hasPreSelected:W,cssClass:q?.cssClass})),e_=c(y(E)),e$=m({"gp-flex gp-flex-col !gp-ml-0":!0}),eg=()=>{let e=t?"{{ 'gp-product-variant-v7-5.js' | asset_url }}":`${i}/assets-v2/gp-product-variant-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}`;return`<script ${l('class="gps-link" delay',"src")}="${e}" defer="defer"></script>`};return e`
72
72
  ${v("{%- assign total_combinations = 1 -%}")}
73
73
  ${f("option in product.options_with_values","{%- assign total_combinations = total_combinations | times: option.values.size -%}")}
74
- <gp-product-variants
75
- ${ef}
76
- gp-data='{
77
- "setting":${JSON.stringify(Z)?.replaceAll("'","&#039;")},
78
- "styles":${JSON.stringify(T)},
79
- "variants":{{product.variants | json | escape}},
80
- "optionsWithValues": {{product.options_with_values | json | escape}},
81
- "variantSelected": {{ variant | json | escape }},
82
- "variantInventoryQuantity": {{product.variants | map: 'inventory_quantity' | json | escape}},
83
- "variantInventoryPolicy": {{product.variants | map: 'inventory_policy' | json | escape}},
84
- "moneyFormat": {{shop.money_format | json | escape}},
85
- "productId": {{product.id | json | escape}},
86
- "productUrl": {{product.url | json | escape}},
87
- "productHandle": {{product.handle | json | escape}},
88
- "displayState": ${JSON.stringify(R)},
89
- "totalVariantCombinations": {{total_combinations}},
90
- "firstAvailableVariant": {{product.selected_or_first_available_variant | json | escape}}
91
- }
92
- '>
74
+ <gp-product-variants${ef}>
75
+ <script gp-data type="application/json">
76
+ {
77
+ "setting":${JSON.stringify(Z)?.replaceAll("'","&#039;")},
78
+ "styles":${JSON.stringify(T)},
79
+ "variants":{{product.variants | json | escape}},
80
+ "optionsWithValues": {{product.options_with_values | json | escape}},
81
+ "variantSelected": {{ variant | json | escape }},
82
+ "variantInventoryQuantity": {{product.variants | map: 'inventory_quantity' | json | escape}},
83
+ "variantInventoryPolicy": {{product.variants | map: 'inventory_policy' | json | escape}},
84
+ "moneyFormat": {{shop.money_format | json | escape}},
85
+ "productId": {{product.id | json | escape}},
86
+ "productUrl": {{product.url | json | escape}},
87
+ "productHandle": {{product.handle | json | escape}},
88
+ "displayState": ${JSON.stringify(R)},
89
+ "totalVariantCombinations": {{total_combinations}},
90
+ "firstAvailableVariant": {{product.selected_or_first_available_variant | json | escape}}
91
+ }
92
+ </script>
93
93
  <div class="gp-hidden" style="--hvr-shadow: none; --hvr-shadow-tablet: none; --hvr-shadow-mobile: none"></div>
94
94
  ${v("{%- assign options = product.options_with_values -%}")}
95
95
  ${v("{%- assign variants = product.variants -%}")}
@@ -1,4 +1,4 @@
1
- import{template as t,RenderIf as e,isLocalEnv as r,baseAssetURL as i}from"@gem-sdk/core";import a from"../../../grid/components/row/Row.liquid.js";import{LiquidIf as o,If as d}from"@gem-sdk/system";import{getSettingPreloadData as n,getStaticLocale as s}from"../../../helpers.js";import{getData as c,DYNAMIC_PRODUCT_STATUS as p,STATIC_PRODUCT_STATUS as l,PRODUCT_ID_LATEST as u}from"./common/helpers.js";let Product=f=>{let{children:m,setting:g,style:y,builderProps:v,rawChildren:_,advanced:$}=f,{isSyncProduct:S,productSetting:I}=g??{},b=I?.hasPreSelected??!1,{rowSetting:j,rowStyles:h,formatVariantId:q,formatProductId:P,productStatus:V,preSelectedOptionIds:k,productHandle:w,advancedStyle:E}=c(f),x=()=>t`
1
+ import{template as t,RenderIf as e,isLocalEnv as i,baseAssetURL as r}from"@gem-sdk/core";import a from"../../../grid/components/row/Row.liquid.js";import{LiquidIf as o,If as d}from"@gem-sdk/system";import{getSettingPreloadData as n,getStaticLocale as s}from"../../../helpers.js";import{getData as c,DYNAMIC_PRODUCT_STATUS as p,STATIC_PRODUCT_STATUS as l,PRODUCT_ID_LATEST as u}from"./common/helpers.js";let Product=f=>{let{children:m,setting:g,style:y,builderProps:v,rawChildren:_,advanced:$}=f,{isSyncProduct:S,productSetting:j}=g??{},I=j?.hasPreSelected??!1,{rowSetting:b,rowStyles:h,formatVariantId:q,formatProductId:P,productStatus:V,preSelectedOptionIds:k,productHandle:w,advancedStyle:E}=c(f),x=()=>t`
2
2
  {%- liquid
3
3
  if request.page_type == 'product'
4
4
  if '${V}' == '${l}'
@@ -79,15 +79,15 @@ import{template as t,RenderIf as e,isLocalEnv as r,baseAssetURL as i}from"@gem-s
79
79
  data-id="${v?.uid}"
80
80
  style="${E}"
81
81
  class="${$?.cssClass}"
82
- gp-context='{"productId": {{ product.id }}, "preSelectedOptionIds": [${k}], "isSyncProduct": "${S}", "hasPreSelected": ${b}, "variantSelected": {{ variant | json | escape }}, "inventory_management": {{ variant.inventory_management | json | escape }}, "inventory_policy": {{ variant.inventory_policy | json | escape }}, "inventoryQuantity": {{ variant.inventory_quantity }}, "quantity": 1, "formId": "{{ product_form_id }}" }'
83
- gp-data='{"variantSelected": {{ variant | json | escape }}, "quantity": 1, "productUrl":{{ product.url | json | escape }}, "productHandle":{{ product.handle | json | escape }}, "collectionUrl": {{ collection.url | json | escape }}, "collectionHandle": {{ collection.handle | json | escape }}}'
82
+ gp-context='{"productId": {{ product.id }}, "preSelectedOptionIds": [${k}], "isSyncProduct": "${S}", "hasPreSelected": ${I}, "variantSelected": {{ variant | json | escape }}, "inventory_management": {{ variant.inventory_management | json | escape }}, "inventory_policy": {{ variant.inventory_policy | json | escape }}, "inventoryQuantity": {{ variant.inventory_quantity }}, "quantity": 1, "formId": "{{ product_form_id }}" }'
84
83
  >
84
+ <script gp-data type="application/json">{"variantSelected": {{ variant | json | escape }}, "quantity": 1, "productUrl":{{ product.url | json | escape }}, "productHandle":{{ product.handle | json | escape }}, "collectionUrl": {{ collection.url | json | escape }}, "collectionHandle": {{ collection.handle | json | escape }}}</script>
85
85
  <product-form class="product-form">
86
86
  {%- form 'product', product, id: product_form_id, class: 'form contents', data-type: 'add-to-cart-form', autocomplete: 'off' -%}
87
87
  <input type="hidden" name="id" value="{{ variant.id }}" />
88
88
  <input type="hidden" name="quantity" value="{{ quantity }}" />
89
89
  <button type="submit" onclick="return false;" style="display:none;"></button>
90
- ${a({builderProps:{...v,uid:v?.uid,uidInteraction:`${v?.uid}-row`},style:y,styles:h,setting:j,children:m,rawChildren:_})}
90
+ ${a({builderProps:{...v,uid:v?.uid,uidInteraction:`${v?.uid}-row`},style:y,styles:h,setting:b,children:m,rawChildren:_})}
91
91
  {%- endform -%}
92
92
  </product-form>
93
93
  </gp-product>
@@ -95,5 +95,5 @@ import{template as t,RenderIf as e,isLocalEnv as r,baseAssetURL as i}from"@gem-s
95
95
  `;return t`
96
96
  ${B()}
97
97
  ${o("product != empty and product != null",O(),H())}
98
- ${e(r,`<script ${n('class="gps-link" delay',"src")}="{{ 'gp-product-v7-5.js' | asset_url }}" defer="defer"></script>`,`<script ${n('class="gps-link" delay',"src")}="${i}/assets-v2/gp-product-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}" defer="defer"></script>`)}
98
+ ${e(i,`<script ${n('class="gps-link" delay',"src")}="{{ 'gp-product-v7-5.js' | asset_url }}" defer="defer"></script>`,`<script ${n('class="gps-link" delay',"src")}="${r}/assets-v2/gp-product-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}" defer="defer"></script>`)}
99
99
  `};export{Product as default};
@@ -1,20 +1,19 @@
1
- import{makeStyleResponsive as s,template as e,RenderIf as t,isLocalEnv as i,baseAssetURL as a}from"@gem-sdk/core";import{getSettingPreloadData as r}from"../../helpers.js";import{createStyle as d,createClass as l,createStateOrContext as o}from"@gem-sdk/system";import{getContainerStyles as m,getContentStyles as p}from"../common/styles.js";import{getContainerClasses as c}from"../common/classes.js";let Sticky=({children:g,builderAttrs:n,setting:$,style:k,builderProps:f,advanced:y,pageContext:u})=>{let{width:b,position:S,display:v,preloadBgImage:h,background:j,isScrollToTop:E}=$??{},w=y?.d,C=d({...s("w",b),...m({position:S,style:k,display:v})}),x=d(p({setting:$,style:k,uid:f?.uid,pageContext:u})),A=l(c({uid:f?.uid,isScrollToTop:E,cssClass:y?.cssClass,isLiquid:!0})),G=o({uid:f?.uid,setting:{display:{desktop:v?.desktop,tablet:v?.tablet??v?.desktop,mobile:v?.mobile??v?.tablet??v?.desktop}},advanced:{d:w}}),N=`.drawer-page-content {
1
+ import{makeStyleResponsive as s,template as e,RenderIf as t,isLocalEnv as i,baseAssetURL as r}from"@gem-sdk/core";import{getSettingPreloadData as a}from"../../helpers.js";import{createStyle as l,createClass as d,createStateOrContext as o}from"@gem-sdk/system";import{getContainerStyles as p,getContentStyles as m}from"../common/styles.js";import{getContainerClasses as c}from"../common/classes.js";let Sticky=({children:n,builderAttrs:g,setting:$,style:k,builderProps:y,advanced:f,pageContext:u})=>{let{width:b,position:S,display:v,preloadBgImage:j,background:h,isScrollToTop:E}=$??{},w=f?.d,C=l({...s("w",b),...p({position:S,style:k,display:v})}),x=l(m({setting:$,style:k,uid:y?.uid,pageContext:u})),A=d(c({uid:y?.uid,isScrollToTop:E,cssClass:f?.cssClass,isLiquid:!0})),G=o({uid:y?.uid,setting:{display:{desktop:v?.desktop,tablet:v?.tablet??v?.desktop,mobile:v?.mobile??v?.tablet??v?.desktop}},advanced:{d:w}}),N=`.drawer-page-content {
2
2
  transform: none !important;
3
3
  -webkit-transform: none !important;
4
4
  }`;return e`
5
- ${t(!!h,`${t(!!j?.desktop?.image?.src,`<link rel="preload" href="${j?.desktop?.image?.src}" as="image" />`)}${t(!!j?.tablet?.image?.src,`<link rel="preload" href="${j?.tablet?.image?.src}" as="image" />`)}${t(!!j?.mobile?.image?.src,`<link rel="preload" href="${j?.mobile?.image?.src}" as="image" />`)}`)}
5
+ ${t(!!j,`${t(!!h?.desktop?.image?.src,`<link rel="preload" href="${h?.desktop?.image?.src}" as="image" />`)}${t(!!h?.tablet?.image?.src,`<link rel="preload" href="${h?.tablet?.image?.src}" as="image" />`)}${t(!!h?.mobile?.image?.src,`<link rel="preload" href="${h?.mobile?.image?.src}" as="image" />`)}`)}
6
6
  <gp-sticky
7
- data-id="${f?.uid}"
8
- gp-data='${JSON.stringify(G)}'
9
- id="${f?.uid}"
10
- data-id="${f?.uid}"
11
- class="${A} ${r("gps-lazy")}"
7
+ id="${y?.uid}"
8
+ data-id="${y?.uid}"
9
+ class="${A} ${a("gps-lazy")}"
12
10
  style="${C}"
13
11
  >
12
+ <script gp-data type="application/json">${JSON.stringify(G)}</script>
14
13
  <style>${N}</style>
15
- <div ${{...n}} style="${{...x}}">
16
- ${g}
14
+ <div ${{...g}} style="${{...x}}">
15
+ ${n}
17
16
  </div>
18
17
  </gp-sticky>
19
- ${t(i,`<script ${r('class="gps-link" delay',"src")}="{{ 'gp-sticky-v7-5.js' | asset_url }}" defer="defer"></script>`,`<script ${r('class="gps-link" delay',"src")}="${a}/assets-v2/gp-sticky-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}" defer="defer"></script>`)}
18
+ ${t(i,`<script ${a('class="gps-link" delay',"src")}="{{ 'gp-sticky-v7-5.js' | asset_url }}" defer="defer"></script>`,`<script ${a('class="gps-link" delay',"src")}="${r}/assets-v2/gp-sticky-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}" defer="defer"></script>`)}
20
19
  `};export{Sticky as default};