@gem-sdk/components 19.1.0-staging.8 → 20.0.0

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 (129) hide show
  1. package/dist/cjs/accordion/components/Accordion.liquid.js +5 -4
  2. package/dist/cjs/button/components/Button.liquid.js +14 -14
  3. package/dist/cjs/carousel/components/root/Carousel.liquid.js +4 -5
  4. package/dist/cjs/carousel/components/root/common/helpers.js +1 -1
  5. package/dist/cjs/carousel-v3/components/root/Carousel.liquid.js +5 -6
  6. package/dist/cjs/carousel-v3/components/root/CarouselEmbla.liquid.js +5 -6
  7. package/dist/cjs/carousel-v3/components/root/common/helpers.js +1 -1
  8. package/dist/cjs/cart/components/shop-pay-button/ShopPayButton.liquid.js +2 -2
  9. package/dist/cjs/collection/components/collection-description/CollectionDescription.liquid.js +8 -7
  10. package/dist/cjs/collection/components/collection-paginator/CollectionPaginator.liquid.js +3 -4
  11. package/dist/cjs/collection/components/collection-toolbar/CollectionToolbar.liquid.js +1 -1
  12. package/dist/cjs/countdown-timer/components/Countdown.liquid.js +15 -16
  13. package/dist/cjs/form/components/form-dropdown/FormDropdown.liquid.js +10 -10
  14. package/dist/cjs/grid/components/row/Row.liquid.js +3 -8
  15. package/dist/cjs/grid/components/row/common/helpers.js +1 -1
  16. package/dist/cjs/hero-banner/common/helpers.js +1 -1
  17. package/dist/cjs/hero-banner/components/HeroBanner.liquid.js +3 -3
  18. package/dist/cjs/icon-list-v2/components/IconList.liquid.js +7 -7
  19. package/dist/cjs/image/common/const.js +1 -1
  20. package/dist/cjs/image/common/helpers.js +2 -2
  21. package/dist/cjs/image-comparison/components/CompareImage.liquid.js +6 -6
  22. package/dist/cjs/marquee/components/Marquee.liquid.js +21 -21
  23. package/dist/cjs/product/components/ProductImages.liquid.js +9 -9
  24. package/dist/cjs/product/components/dynamic-checkout/Button.liquid.js +9 -9
  25. package/dist/cjs/product/components/file-upload/UploadFile.liquid.js +3 -2
  26. package/dist/cjs/product/components/product-badge/ProductBadge.liquid.js +5 -5
  27. package/dist/cjs/product/components/product-bundle/ProductBundleDiscount.liquid.js +3 -4
  28. package/dist/cjs/product/components/product-button/ProductButton.liquid.js +7 -8
  29. package/dist/cjs/product/components/product-description/ProductDescription.liquid.js +2 -2
  30. package/dist/cjs/product/components/product-discount-tag/ProductDiscountTag.js +1 -1
  31. package/dist/cjs/product/components/product-discount-tag/ProductDiscountTag.liquid.js +5 -5
  32. package/dist/cjs/product/components/product-images-v2/ProductImagesV2.liquid.js +9 -9
  33. package/dist/cjs/product/components/product-images-v3/ProductImagesV3.liquid.js +6 -6
  34. package/dist/cjs/product/components/product-images-v3/ProductImagesV3Embla.liquid.js +9 -9
  35. package/dist/cjs/product/components/product-list/ProductListCarouselItem.liquid.js +6 -5
  36. package/dist/cjs/product/components/product-list/ProductListGridItem.liquid.js +8 -7
  37. package/dist/cjs/product/components/product-list/ProductListGridLayout.liquid.js +4 -6
  38. package/dist/cjs/product/components/product-list-v3/ProductListCarouselItem.liquid.js +6 -6
  39. package/dist/cjs/product/components/product-list-v3/ProductListGridItem.liquid.js +8 -7
  40. package/dist/cjs/product/components/product-list-v3/ProductListGridLayout.liquid.js +4 -6
  41. package/dist/cjs/product/components/product-price/ProductPrice.liquid.js +4 -4
  42. package/dist/cjs/product/components/product-sku/Sku.liquid.js +3 -4
  43. package/dist/cjs/product/components/product-title/ProductTitle.liquid.js +8 -7
  44. package/dist/cjs/product/components/product-variants/ProductVariants.liquid.js +29 -29
  45. package/dist/cjs/product/components/product-wrap/Product.liquid.js +9 -9
  46. package/dist/cjs/sticky/components/Sticky.liquid.js +5 -4
  47. package/dist/cjs/tab/components/Tabs.liquid.js +6 -7
  48. package/dist/cjs/text/components/Text.liquid.js +3 -3
  49. package/dist/cjs/third-party/settings/AppstleBundlesDiscounts/index.js +2 -2
  50. package/dist/cjs/third-party/settings/BoldSubscriptions/index.js +1 -1
  51. package/dist/cjs/third-party/settings/BoldSubscriptions/uiV2.js +1 -1
  52. package/dist/cjs/third-party/settings/GloColorSwatchvariantImage/index.js +1 -1
  53. package/dist/cjs/third-party/settings/HextomCountdownTimerBar/index.js +2 -2
  54. package/dist/cjs/third-party/settings/LoopSubscriptions/index.js +1 -1
  55. package/dist/cjs/third-party/settings/LoopSubscriptions/uiV2.js +1 -1
  56. package/dist/cjs/third-party/settings/RechargeSubscriptions/index.js +1 -1
  57. package/dist/cjs/third-party/settings/SeoantTrustBadgesIcon/uiV2.js +1 -1
  58. package/dist/cjs/third-party/settings/ShopifyForms/uiV2.js +1 -1
  59. package/dist/cjs/third-party/settings/SkioSubscriptionsYcS20/index.js +2 -2
  60. package/dist/cjs/third-party/settings/SproutPlantTreesGrowSales/index.js +1 -1
  61. package/dist/cjs/third-party/settings/TrustshopProductReviews/index.js +2 -2
  62. package/dist/cjs/third-party/settings/WcWishlistBackInStock/index.js +2 -2
  63. package/dist/cjs/video/components/LiteVimeoEmbed.liquid.js +7 -8
  64. package/dist/cjs/video/components/LiteYouTubeEmbed.liquid.js +4 -5
  65. package/dist/esm/accordion/components/Accordion.liquid.js +9 -8
  66. package/dist/esm/button/components/Button.liquid.js +23 -23
  67. package/dist/esm/carousel/components/root/Carousel.liquid.js +3 -4
  68. package/dist/esm/carousel/components/root/common/helpers.js +1 -1
  69. package/dist/esm/carousel-v3/components/root/Carousel.liquid.js +3 -4
  70. package/dist/esm/carousel-v3/components/root/CarouselEmbla.liquid.js +3 -4
  71. package/dist/esm/carousel-v3/components/root/common/helpers.js +1 -1
  72. package/dist/esm/cart/components/shop-pay-button/ShopPayButton.liquid.js +2 -2
  73. package/dist/esm/collection/components/collection-description/CollectionDescription.liquid.js +7 -6
  74. package/dist/esm/collection/components/collection-paginator/CollectionPaginator.liquid.js +3 -4
  75. package/dist/esm/collection/components/collection-toolbar/CollectionToolbar.liquid.js +3 -3
  76. package/dist/esm/countdown-timer/components/Countdown.liquid.js +20 -21
  77. package/dist/esm/form/components/form-dropdown/FormDropdown.liquid.js +9 -9
  78. package/dist/esm/grid/components/row/Row.liquid.js +3 -8
  79. package/dist/esm/grid/components/row/common/helpers.js +1 -1
  80. package/dist/esm/hero-banner/common/helpers.js +1 -1
  81. package/dist/esm/hero-banner/components/HeroBanner.liquid.js +5 -5
  82. package/dist/esm/icon-list-v2/components/IconList.liquid.js +7 -7
  83. package/dist/esm/image/common/const.js +1 -1
  84. package/dist/esm/image/common/helpers.js +2 -2
  85. package/dist/esm/image-comparison/components/CompareImage.liquid.js +7 -7
  86. package/dist/esm/marquee/components/Marquee.liquid.js +21 -21
  87. package/dist/esm/product/components/ProductImages.liquid.js +12 -12
  88. package/dist/esm/product/components/dynamic-checkout/Button.liquid.js +14 -14
  89. package/dist/esm/product/components/file-upload/UploadFile.liquid.js +4 -3
  90. package/dist/esm/product/components/product-badge/ProductBadge.liquid.js +6 -6
  91. package/dist/esm/product/components/product-bundle/ProductBundleDiscount.liquid.js +7 -8
  92. package/dist/esm/product/components/product-button/ProductButton.liquid.js +6 -7
  93. package/dist/esm/product/components/product-description/ProductDescription.liquid.js +4 -4
  94. package/dist/esm/product/components/product-discount-tag/ProductDiscountTag.js +1 -1
  95. package/dist/esm/product/components/product-discount-tag/ProductDiscountTag.liquid.js +8 -8
  96. package/dist/esm/product/components/product-images-v2/ProductImagesV2.liquid.js +12 -12
  97. package/dist/esm/product/components/product-images-v3/ProductImagesV3.liquid.js +12 -12
  98. package/dist/esm/product/components/product-images-v3/ProductImagesV3Embla.liquid.js +14 -14
  99. package/dist/esm/product/components/product-list/ProductListCarouselItem.liquid.js +6 -5
  100. package/dist/esm/product/components/product-list/ProductListGridItem.liquid.js +8 -7
  101. package/dist/esm/product/components/product-list/ProductListGridLayout.liquid.js +7 -9
  102. package/dist/esm/product/components/product-list-v3/ProductListCarouselItem.liquid.js +6 -6
  103. package/dist/esm/product/components/product-list-v3/ProductListGridItem.liquid.js +8 -7
  104. package/dist/esm/product/components/product-list-v3/ProductListGridLayout.liquid.js +7 -9
  105. package/dist/esm/product/components/product-price/ProductPrice.liquid.js +3 -3
  106. package/dist/esm/product/components/product-sku/Sku.liquid.js +5 -6
  107. package/dist/esm/product/components/product-title/ProductTitle.liquid.js +6 -5
  108. package/dist/esm/product/components/product-variants/ProductVariants.liquid.js +44 -44
  109. package/dist/esm/product/components/product-wrap/Product.liquid.js +6 -6
  110. package/dist/esm/sticky/components/Sticky.liquid.js +12 -11
  111. package/dist/esm/tab/components/Tabs.liquid.js +11 -12
  112. package/dist/esm/text/components/Text.liquid.js +3 -3
  113. package/dist/esm/third-party/settings/AppstleBundlesDiscounts/index.js +2 -2
  114. package/dist/esm/third-party/settings/BoldSubscriptions/index.js +1 -1
  115. package/dist/esm/third-party/settings/BoldSubscriptions/uiV2.js +1 -1
  116. package/dist/esm/third-party/settings/GloColorSwatchvariantImage/index.js +1 -1
  117. package/dist/esm/third-party/settings/HextomCountdownTimerBar/index.js +2 -2
  118. package/dist/esm/third-party/settings/LoopSubscriptions/index.js +1 -1
  119. package/dist/esm/third-party/settings/LoopSubscriptions/uiV2.js +1 -1
  120. package/dist/esm/third-party/settings/RechargeSubscriptions/index.js +1 -1
  121. package/dist/esm/third-party/settings/SeoantTrustBadgesIcon/uiV2.js +1 -1
  122. package/dist/esm/third-party/settings/ShopifyForms/uiV2.js +1 -1
  123. package/dist/esm/third-party/settings/SkioSubscriptionsYcS20/index.js +2 -2
  124. package/dist/esm/third-party/settings/SproutPlantTreesGrowSales/index.js +1 -1
  125. package/dist/esm/third-party/settings/TrustshopProductReviews/index.js +2 -2
  126. package/dist/esm/third-party/settings/WcWishlistBackInStock/index.js +2 -2
  127. package/dist/esm/video/components/LiteVimeoEmbed.liquid.js +3 -4
  128. package/dist/esm/video/components/LiteYouTubeEmbed.liquid.js +4 -5
  129. package/package.json +3 -3
@@ -1,6 +1,6 @@
1
- import{getSplitStyle as t}from"./common/styles.js";import{getGPProductButtonState as e,escapeSingleQuoteForAttr as s}from"./common/helpers.js";import{template as r,isLocalEnv as a,baseAssetURL as o}from"@gem-sdk/core";import{createStateOrContext as i,Liquid as n,LiquidFor as p,If as l}from"@gem-sdk/system";import{getInsertLinkData as c,getSettingPreloadData as u}from"../../../helpers.js";import{getButtonDynamicSourceLocales as d}from"./helpers/getButtonDynamicSourceLocales.js";import{SoldOutButton as m}from"./SoldOutButton.liquid.js";import{AddToCartButton as g}from"./AddToCartButton.liquid.js";let f=f=>{let{setting:$,builderProps:y,style:b,styles:v,pageContext:_}=f,{wrapStyle:h,restStyle:S}=t(b),{outOfStockButtonLabel:j,unavailableButtonLabel:q,variantSelectionRequiredMessage:k,successMessage:E,errorMessage:M}=d({setting:$,pageContext:_,builderProps:y}),{urlData:A}=c("",$?.actionEffect==="open-cart-drawer"?{link:"/cart",target:"_self"}:$?.customURL),B=i(e({styles:v,setting:$})),G=s(E??$?.successMessage),P=s(M??$?.errorMessage),w=s(k??$?.variantSelectionRequiredMessage);return r`
1
+ import{getSplitStyle as t}from"./common/styles.js";import{getGPProductButtonState as e,escapeSingleQuoteForAttr as s}from"./common/helpers.js";import{template as r,isLocalEnv as o,baseAssetURL as a}from"@gem-sdk/core";import{createStateOrContext as i,Liquid as n,LiquidFor as l,If as p}from"@gem-sdk/system";import{getInsertLinkData as c,getSettingPreloadData as u}from"../../../helpers.js";import{getButtonDynamicSourceLocales as m}from"./helpers/getButtonDynamicSourceLocales.js";import{SoldOutButton as d}from"./SoldOutButton.liquid.js";import{AddToCartButton as g}from"./AddToCartButton.liquid.js";let f=f=>{let{setting:$,builderProps:b,style:y,styles:v,pageContext:_}=f,{wrapStyle:h,restStyle:S}=t(y),{outOfStockButtonLabel:j,unavailableButtonLabel:k,variantSelectionRequiredMessage:q,successMessage:E,errorMessage:M}=m({setting:$,pageContext:_,builderProps:b}),{urlData:A}=c("",$?.actionEffect==="open-cart-drawer"?{link:"/cart",target:"_self"}:$?.customURL),B=i(e({styles:v,setting:$})),G=s(E??$?.successMessage),P=s(M??$?.errorMessage),w=s(q??$?.variantSelectionRequiredMessage);return r`
2
2
  ${n("{%- assign total_combinations = 1 -%}")}
3
- ${p("option in product.options_with_values","{%- assign total_combinations = total_combinations | times: option.values.size -%}")}
3
+ ${l("option in product.options_with_values","{%- assign total_combinations = total_combinations | times: option.values.size -%}")}
4
4
  {%- liquid
5
5
  assign inventory_quantity = variant.inventory_quantity | default: 0
6
6
  assign is_in_stock = variant.available
@@ -11,16 +11,15 @@ import{getSplitStyle as t}from"./common/styles.js";import{getGPProductButtonStat
11
11
  gp-href="${A.href}"
12
12
  class="gp-product-button"
13
13
  gp-label-out-of-stock="${j}"
14
- gp-label-unavailable="${q}"
14
+ gp-label-unavailable="${k}"
15
+ gp-data='${JSON.stringify(B)}'
15
16
  data-variant-selection-required-message="${w}"
16
17
  gp-enable-third-partycart="{{shop.metafields.GEMPAGES.enableThirdPartyCart}}"
17
18
  gp-error-message="${P}"
18
19
  gp-success-message="${G}"
19
- data-variant-selection-required-message="${k}"
20
20
  >
21
- <script gp-data type="application/json">${JSON.stringify(B)}</script>
22
21
  ${g({...f,style:S})}
23
- ${m({...f,style:S,label:j})}
22
+ ${d({...f,style:S,label:j})}
24
23
  </gp-product-button>
25
- ${l(a,`<script ${u('class="gps-link" delay',"src")}="{{ 'gp-product-button-v7-5.js' | asset_url }}" defer="defer"></script>`,`<script ${u('class="gps-link" delay',"src")}="${o}/assets-v2/gp-product-button-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}" defer="defer"></script>`)}
24
+ ${p(o,`<script ${u('class="gps-link" delay',"src")}="{{ 'gp-product-button-v7-5.js' | asset_url }}" defer="defer"></script>`,`<script ${u('class="gps-link" delay',"src")}="${a}/assets-v2/gp-product-button-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}" defer="defer"></script>`)}
26
25
  `};export{f as default};
@@ -1,11 +1,11 @@
1
- import{makeStyleResponsive as t,makeLineClamp as e,dataStringify as s,template as i,baseAssetURL as o,isLocalEnv as p}from"@gem-sdk/core";import{getDynamicSourceLocales as r,createSettingId as a,getSettingPreloadData as n}from"../../../helpers.js";import{createClass as d,createStyle as c,createAttr as l,createStateOrContext as m,LiquidIf as $,Liquid as u,LiquidUnless as g,If as v}from"@gem-sdk/system";import{getClasses as f,getButtonClasses as x,getClassPreBuilt as w}from"./common/classes.js";import{getTextStyle as h,getButtonStyle as y,getStaticCss as C}from"./common/styles.js";import{ICON_SVG as j}from"./common/helpers.js";import{ProductDescription as b}from"../../settings/product-description/configs/translate.js";let M=M=>{let{setting:S,advanced:I,builderProps:L,pageContext:T}=M,{htmlTag:k,viewMoreText:E,viewLessText:P}=S??{},V="html"===k?"div":"p",A=d({"gp-product-description":!0,[I?.cssClass]:!0}),D=d(f({setting:S,isLiquid:!0})),G=d(x({setting:S})),_=d({"gp-show-more-text":!0}),q=d({"gp-show-more-icon gp-ml-1":!0}),H=c({...h({setting:S,renderMaxHeight:!0}),...t("line-clamp",e(S?.lineClamp,S?.hasLineClamp))}),N=d(w()),O=c(y({setting:S})),R=l({"data-id":`${L?.uid}`}),z=l({"data-gp-text":""}),{textDescriptionCss:B,gpDescriptionCss:F}=C(),J="product.description == blank",K=r({val:E,uid:L?.uid,settingId:a({id:b?.viewMoreText?.id}),pageContext:T??{}}),Q=r({val:P,uid:L?.uid,settingId:a({id:b?.viewLessText?.id}),pageContext:T??{}}),U=m({setting:{lineClamp:S?.lineClamp,hasLineClamp:S?.hasLineClamp,viewMoreText:K,viewLessText:Q,enableViewMoreIcon:S?.enableViewMoreIcon},textStyle:H});return $(J,"",u(i`
1
+ import{makeStyleResponsive as e,makeLineClamp as t,dataStringify as s,template as i,baseAssetURL as o,isLocalEnv 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 l,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 x,getClassPreBuilt as w}from"./common/classes.js";import{getTextStyle as h,getButtonStyle as C,getStaticCss as y}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 M=M=>{let{setting:S,advanced:I,builderProps:L,pageContext:T}=M,{htmlTag:k,viewMoreText:E,viewLessText:P}=S??{},V="html"===k?"div":"p",A=d({"gp-product-description":!0,[I?.cssClass]:!0}),D=d(f({setting:S,isLiquid:!0})),G=d(x({setting:S})),_=d({"gp-show-more-text":!0}),q=d({"gp-show-more-icon gp-ml-1":!0}),H=l({...h({setting:S,renderMaxHeight:!0}),...e("line-clamp",t(S?.lineClamp,S?.hasLineClamp))}),N=d(w()),O=l(C({setting:S})),R=c({"data-id":`${L?.uid}`}),z=c({"data-gp-text":""}),{textDescriptionCss:B,gpDescriptionCss:F}=y(),J="product.description == blank",K=p({val:E,uid:L?.uid,settingId:a({id:j?.viewMoreText?.id}),pageContext:T??{}}),Q=p({val:P,uid:L?.uid,settingId:a({id:j?.viewLessText?.id}),pageContext:T??{}}),U=m({setting:{lineClamp:S?.lineClamp,hasLineClamp:S?.hasLineClamp,viewMoreText:K,viewLessText:Q,enableViewMoreIcon:S?.enableViewMoreIcon},textStyle:H});return u(J,"",$(i`
2
2
  <gp-product-description
3
3
  ${R}
4
4
  class="${A}"
5
+ gp-data='${s(U).replaceAll("'","\\u0027")}'
5
6
  data-view-more-text="${K}"
6
7
  data-view-less-text="${Q}"
7
8
  >
8
- <script gp-data type="application/json">${s(U)}</script>
9
9
  <style>${B}${F}</style>
10
10
  <div class="${N}" ></div>
11
11
  ${g("product","<p>Product not found</p>",i`<${V} ${z} class="${D}" style="${H}">
@@ -15,9 +15,9 @@ import{makeStyleResponsive as t,makeLineClamp as e,dataStringify as s,template a
15
15
  <span class="${_}">
16
16
  ${v(!1,Q?.toString(),K?.toString())}
17
17
  </span>
18
- ${v(S?.enableViewMoreIcon,i`<span class="${q}">${j}</span>`," ")}
18
+ ${v(S?.enableViewMoreIcon,i`<span class="${q}">${b}</span>`," ")}
19
19
  </button>`)}`)}
20
20
  </gp-product-description>
21
21
 
22
- ${(()=>{let t=p?"{{ 'gp-product-description-v7-5.js' | asset_url }}":`${o}/assets-v2/gp-product-description-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}`;return`<script ${n('class="gps-link" delay',"src")}="${t}" defer="defer"></script>`})()}
22
+ ${(()=>{let e=r?"{{ 'gp-product-description-v7-5.js' | asset_url }}":`${o}/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>`})()}
23
23
  `))};export{M as default};
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import{jsx as e,jsxs as t}from"react/jsx-runtime";import{useI18nStore as s,makeStyleResponsive as o}from"@gem-sdk/core";import i from"../../../common/components/NoDataState.js";import l from"../../../common/components/TooltipHover.js";import r from"../../../text/components/Text.js";import{createStyle as d,createClass as m,If as n}from"@gem-sdk/system";import{getWrapperTextStyle as a,getContainerStyle as p}from"./common/styles.js";import{getWrapperTextClass as c,getContainerClass as u,getRootClass as x}from"./common/classes.js";import{useGpDiscountTag as f}from"./hooks/useGpDiscountTag.js";let g=({setting:g,styles:y,builderProps:h,...b})=>{let{customContent:j}=g??{},N=b["bundle-item"],{textAlign:v}=y??{},{t:T}=s(),{mode:k,product:w,salePrice:A,priceSave:D,currentProductId:F,unitCustomDisplay:S,shouldPlaceholderNoDiscount:$}=f({setting:g,styles:y,builderProps:h,...b});if($)return e(l,{enable:!0,text:T("Not be displayed when published"),position:"bottom",width:"205px",children:e(i,{builderAttrs:h?.builderData,elementType:"secondary",description:T("No discount"),rawMode:!0,customClass:"!gp-p-[5px]"})});let q=d(a(y)),C=d(p(y)),I=m(c(y)),E=m(u()),G=m(x({mode:k,salePrice:A,priceSave:D,bundleItem:N}));return e("div",{className:G,style:{...o("ta",v)},id:`shopify-text-element-${h?.uid}`,"data-id":h?.uid,"data-product-id":F,"gp-data-hidden":"false",children:n(!w," ",e("div",{className:E,style:C,children:e("div",{className:I,style:q,children:t("div",{className:"gp-flex gp-break-all gp-items-center",children:[e(r,{styles:y,setting:{...g,text:j?.prefix?.replaceAll(" ","&nbsp;"),options:{useState:!0,uniqueId:`${h?.uid}-prefix`},excludeFlex:!0}}),e(r,{styles:y,setting:{...g,text:S,options:{isCannotEditing:!0},excludeFlex:!0}}),e(r,{styles:y,setting:{...g,text:j?.suffix?.replaceAll(" ","&nbsp;"),excludeFlex:!0,options:{useState:!0,uniqueId:`${h?.uid}-suffix`}}})]})})}))})};export{g as default};
2
+ import{jsx as e,jsxs as t}from"react/jsx-runtime";import{useI18nStore as s,makeStyleResponsive as o}from"@gem-sdk/core";import i from"../../../common/components/NoDataState.js";import l from"../../../common/components/TooltipHover.js";import r from"../../../text/components/Text.js";import{createStyle as d,createClass as m,If as n}from"@gem-sdk/system";import{getWrapperTextStyle as a,getContainerStyle as p}from"./common/styles.js";import{getWrapperTextClass as c,getContainerClass as u,getRootClass as x}from"./common/classes.js";import{useGpDiscountTag as f}from"./hooks/useGpDiscountTag.js";let g=({setting:g,styles:y,builderProps:h,...b})=>{let{customContent:j}=g??{},N=b["bundle-item"],{textAlign:v}=y??{},{t:T}=s(),{mode:k,product:w,salePrice:A,priceSave:D,currentProductId:F,unitCustomDisplay:S,shouldPlaceholderNoDiscount:$}=f({setting:g,styles:y,builderProps:h,...b});if($)return e(l,{enable:!0,text:T("Not be displayed when published"),position:"bottom",width:"205px",children:e(i,{builderAttrs:h?.builderData,elementType:"secondary",description:T("No discount"),rawMode:!0,customClass:"!gp-p-[5px]"})});let q=d(a(y)),C=d(p(y)),I=m(c(y)),E=m(u()),G=m(x({mode:k,salePrice:A,priceSave:D,bundleItem:N}));return e("div",{className:G,style:{...o("ta",v)},id:`shopify-text-element-${h?.uid}`,"data-id":h?.uid,"data-product-id":F,"gp-data-hidden":"false",children:n(!w," ",e("div",{className:E,style:C,children:e("div",{className:I,style:q,children:t("div",{className:"gp-flex gp-break-all",children:[e(r,{styles:y,setting:{...g,text:j?.prefix?.replaceAll(" ","&nbsp;"),options:{useState:!0,uniqueId:`${h?.uid}-prefix`},excludeFlex:!0}}),e(r,{styles:y,setting:{...g,text:S,options:{isCannotEditing:!0},excludeFlex:!0}}),e(r,{styles:y,setting:{...g,text:j?.suffix?.replaceAll(" ","&nbsp;"),excludeFlex:!0,options:{useState:!0,uniqueId:`${h?.uid}-suffix`}}})]})})}))})};export{g as default};
@@ -1,14 +1,14 @@
1
- import{template as e,baseAssetURL as i,isLocalEnv 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 g,getProductTagClass as f}from"./common/classes.js";import{getRootClass as m,getWrapperTextStyle as v,getContainerStyle as x}from"./common/styles.js";import{ProductTag as y}from"../../settings/product-discount-tag/configs/translate.js";let $=({setting:$,styles:S,builderProps:P,advanced:V,pageContext:_})=>{let{customContent:h}=$??{},j=$?.moneyWithCurrentFormat?"money_with_currency":"money",C=y?.customContent?.id?a({val:h?.prefix,uid:P?.uid,settingId:r({id:y.customContent.id,suffix:"prefix"}),isLiquid:!0,pageContext:_??{}}):h?.prefix,F=y?.customContent?.id?a({val:h?.suffix,uid:P?.uid,settingId:r({id:y.customContent.id,suffix:"suffix"}),isLiquid:!0,pageContext:_??{}}):h?.suffix,M=n(m(S)),q=n(v(S)),w=n(x(S)),E=c(u(S)),N=c(g()),O=c(f(V)),T=h?.unit==="percentage";return e`
1
+ import{template as e,baseAssetURL as i,isLocalEnv 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 g,getProductTagClass as f}from"./common/classes.js";import{getRootClass as m,getWrapperTextStyle as v,getContainerStyle as x}from"./common/styles.js";import{ProductTag as $}from"../../settings/product-discount-tag/configs/translate.js";let y=({setting:y,styles:S,builderProps:P,advanced:V,pageContext:_})=>{let{customContent:h}=y??{},C=y?.moneyWithCurrentFormat?"money_with_currency":"money",j=$?.customContent?.id?a({val:h?.prefix,uid:P?.uid,settingId:r({id:$.customContent.id,suffix:"prefix"}),isLiquid:!0,pageContext:_??{}}):h?.prefix,F=$?.customContent?.id?a({val:h?.suffix,uid:P?.uid,settingId:r({id:$.customContent.id,suffix:"suffix"}),isLiquid:!0,pageContext:_??{}}):h?.suffix,M=n(m(S)),q=n(v(S)),w=n(x(S)),E=c(u(S)),N=c(g()),O=c(f(V)),T=h?.unit==="percentage";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
5
5
  assign priceSave = salePrice | minus: price
6
- assign prefixVal = ${_?.isPreviewing?JSON.stringify(C):C}
6
+ assign prefixVal = ${_?.isPreviewing?JSON.stringify(j):j}
7
7
  assign suffixVal = ${_?.isPreviewing?JSON.stringify(F):F}
8
8
  %}
9
- ${o("salePrice == null or price == null",d(`{% assign pricePercentage = prefixVal ${l(T,"| append: ' 0% '",`| ${j} | append: ' '`)} | append: suffixVal %}`),`${l(T,`{% 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
- {% assign pricePercentage = prefixVal | append: ' ' | append: priceSaveMoney | append: ' ' | append: suffixVal %}`,`{% assign priceSaveMoney = 0 | ${j} %}
9
+ ${o("salePrice == null or price == null",d(`{% assign pricePercentage = prefixVal ${l(T,"| append: ' 0% '",`| ${C} | append: ' '`)} | append: suffixVal %}`),`${l(T,`{% 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 | ${C} %}
11
+ {% assign pricePercentage = prefixVal | append: ' ' | append: priceSaveMoney | append: ' ' | append: suffixVal %}`,`{% assign priceSaveMoney = 0 | ${C} %}
12
12
  {% assign pricePercentage = prefixVal | append: ' ' | append: priceSaveMoney | append: ' ' | append: suffixVal %}`))}`)}
13
13
 
14
14
  <gp-product-tag
@@ -16,15 +16,15 @@ import{template as e,baseAssetURL as i,isLocalEnv as s}from"@gem-sdk/core";impor
16
16
  style="${M}"
17
17
  data-id="${P?.uid}"
18
18
  data-disabled="${o(`${l(T,"salePercent","priceSave")} > 0`,"false","true")}"
19
+ gp-data='{"setting":${JSON.stringify(y).replaceAll("'","&#039;")}, "id": "${P?.uid}", "locale": "{{shop.locale}}", "currency": "{{shop.currency}}", "moneyFormat": "{{ ${y?.moneyWithCurrentFormat?"shop.money_with_currency_format":"shop.money_format"} | replace: '"', '\\"' | escape }}"}'
19
20
  price-save="{{priceSave}}"
20
21
  >
21
- <script gp-data type="application/json">{"setting":${JSON.stringify($).replaceAll("'","&#039;")}, "id": "${P?.uid}", "locale": "{{shop.locale}}", "currency": "{{shop.currency}}", "moneyFormat": "{{ ${$?.moneyWithCurrentFormat?"shop.money_with_currency_format":"shop.money_format"} | replace: '"', '\\"' | escape }}"}'</script>
22
22
  <div class="${N}" style="${w}">
23
23
  <div class="${E}" style="${q}">
24
- ${p({styles:S,id:`p-tag-${P?.uid}`,setting:{...$,text:"{{ pricePercentage }}",excludeFlex:!0,isForceValue:!0}})}
24
+ ${p({styles:S,id:`p-tag-${P?.uid}`,setting:{...y,text:"{{ pricePercentage }}",excludeFlex:!0,isForceValue:!0}})}
25
25
  </div>
26
26
  </div>
27
27
 
28
28
  </gp-product-tag>
29
29
  ${(()=>{let e=s?"{{ 'gp-product-tag-v7-5.js' | asset_url }}":`${i}/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>`})()}
30
- `};export{$ as default};
30
+ `};export{y as default};
@@ -1,44 +1,44 @@
1
- import{isLocalEnv as e,baseAssetURL as o,template as r,WrapRenderChildren as t,RenderChildren as s}from"@gem-sdk/core";import{getConditionRenderGalleryImages as i,getStyleInsideLayout as a,setDefaultWhenUndefineSetting as p}from"./common/common.js";import l from"./components/feature-gallery/FeatureImageWithGallery.liquid.js";import d from"./components/gallery-carousel/GalleryCarousel.liquid.js";import m from"./components/gallery-grid/GalleryGrid.liquid.js";import{filterPageContext as c,getSettingPreloadData as u}from"../../../helpers.js";import{getShapeByLayout as n,sizeSettingDefaultForNewLayout as g}from"./common/productGallery.js";import{getProductImagesClassName as f}from"./composables/getProductImagesClassName.js";import{getProductImagesStyles as y}from"./composables/getProductImagesStyles.js";import{createAttr as $,LiquidIf as h,createClass as j,If as S,Liquid as v}from"@gem-sdk/system";import{getBorderActiveCss as F}from"./common/getBorderActiveCss.js";import{getStyleOfObject as I}from"../../helpers/function.js";let C=C=>{let P=p(C),{setting:G,styles:D,builderProps:b,style:z}=P,{rawChildren:O,pageContext:_}=C,N={...G,...D},A=`
1
+ import{isLocalEnv as e,baseAssetURL as o,template as r,WrapRenderChildren as s,RenderChildren as t}from"@gem-sdk/core";import{getConditionRenderGalleryImages as i,getStyleInsideLayout as a,setDefaultWhenUndefineSetting as p}from"./common/common.js";import l from"./components/feature-gallery/FeatureImageWithGallery.liquid.js";import d from"./components/gallery-carousel/GalleryCarousel.liquid.js";import m from"./components/gallery-grid/GalleryGrid.liquid.js";import{filterPageContext as c,getSettingPreloadData as u}from"../../../helpers.js";import{getShapeByLayout as n,sizeSettingDefaultForNewLayout as g}from"./common/productGallery.js";import{getProductImagesClassName as f}from"./composables/getProductImagesClassName.js";import{getProductImagesStyles as $}from"./composables/getProductImagesStyles.js";import{createAttr as y,LiquidIf as h,createClass as S,If as j,Liquid as v}from"@gem-sdk/system";import{getBorderActiveCss as F}from"./common/getBorderActiveCss.js";import{getStyleOfObject as I}from"../../helpers/function.js";let C=C=>{let P=p(C),{setting:G,styles:D,builderProps:b,style:z}=P,{rawChildren:O,pageContext:_}=C,N={...G,...D},A=`
2
2
  {
3
3
  "id":${JSON.stringify(b?.uid)},
4
4
  "pageContext": ${JSON.stringify(c(_))},
5
5
  "setting":${JSON.stringify(G)},
6
6
  "styles":${JSON.stringify(D)},
7
- "productUrl":{{product.url | json }},
8
- "product":{{product | json }},
9
- "collectionUrl": {{ collection.url | json }},
10
- "collection": {{ collection | json }}
7
+ "productUrl":{{product.url | json | escape}},
8
+ "product":{{product | json | escape}},
9
+ "collectionUrl": {{ collection.url | json | escape }},
10
+ "collection": {{ collection | json | escape}}
11
11
  }
12
- `,B=$({"section-id":"{{section.id}}","data-id":`${b?.uid}`}),{isOnlyFeatureAllDevices:U,isRenderGalleryGrid:k}=i(N?.position,G?.type),q=k?{}:$({"data-only-image":h("product.media.size > 1","false","true")}),{wrapperClasses:E,productImagesGalleryClasses:J}=f(C),w=j({"gp-grid gp-w-full !gp-m-0 gp-relative":!0}),T=j({"gp-w-full !gp-m-0 gp-relative":!0}),{wrapContainerStyle:x,wrapContainerStyleOnlyOneImage:L,galleryImageStyle:M}=y(N),R=n({shape:N.shape,shapeForBottom:N.shapeForBottom,shapeFor1Col:N.shapeFor1Col,shapeFor2Col:N.shapeFor2Col,shapeForFtOnly:N.shapeForFtOnly,shapeForInsideBottom:N.shapeForInsideBottom??g,shapeForInside:N.shapeForInside??g},N.position),V=a(N.position,R,N?.spacing),W=()=>r`
13
- ${t({uid:b?.uid||"",customProps:O?.[0].customProps},O?.map(e=>{if(e)return r`${s({...e,isInsideProductImage:!0,imageData:{imageShape:D?.ftShape,imageAlign:D?.align,imageLayout:D?.position},dotData:{dotSize:G?.ftDotSize,dotGapToCarousel:G?.ftDotGapToCarousel,dotStyle:G?.ftDotStyle}})}`}))}
12
+ `,B=y({"section-id":"{{section.id}}","data-id":`${b?.uid}`}),{isOnlyFeatureAllDevices:U,isRenderGalleryGrid:k}=i(N?.position,G?.type),q=k?{}:y({"data-only-image":h("product.media.size > 1","false","true")}),{wrapperClasses:E,productImagesGalleryClasses:J}=f(C),w=S({"gp-grid gp-w-full !gp-m-0 gp-relative":!0}),T=S({"gp-w-full !gp-m-0 gp-relative":!0}),{wrapContainerStyle:x,wrapContainerStyleOnlyOneImage:L,galleryImageStyle:M}=$(N),R=n({shape:N.shape,shapeForBottom:N.shapeForBottom,shapeFor1Col:N.shapeFor1Col,shapeFor2Col:N.shapeFor2Col,shapeForFtOnly:N.shapeForFtOnly,shapeForInsideBottom:N.shapeForInsideBottom??g,shapeForInside:N.shapeForInside??g},N.position),V=a(N.position,R,N?.spacing),W=()=>r`
13
+ ${s({uid:b?.uid||"",customProps:O?.[0].customProps},O?.map(e=>{if(e)return r`${t({...e,isInsideProductImage:!0,imageData:{imageShape:D?.ftShape,imageAlign:D?.align,imageLayout:D?.position},dotData:{dotSize:G?.ftDotSize,dotGapToCarousel:G?.ftDotGapToCarousel,dotStyle:G?.ftDotStyle}})}`}))}
14
14
  `;return r`
15
- ${S(G?.borderActive?.border!=="none",h("product.media.size > 1",`<style>${F({settings:N,uid:b?.uid,type:"Liquid"})}</style>`),"")}
15
+ ${j(G?.borderActive?.border!=="none",h("product.media.size > 1",`<style>${F({settings:N,uid:b?.uid,type:"Liquid"})}</style>`),"")}
16
16
  ${v(`
17
17
  {% assign featured_image = product.featured_image %}
18
18
  ${h("variant != null and variant.featured_image != null","{% assign featured_image = variant.featured_image %}")}
19
19
  `)}
20
20
  <gp-product-images
21
+ gp-data='${A}'
21
22
  ${{...B}}
22
23
  style="${{...z}}"
23
24
  class="${E}"
24
25
  >
25
- <script gp-data type="application/json">${A}</script>
26
26
  <div
27
27
  class="${h("product.media.size > 1",`${w}`,`${T}`)}"
28
28
  style="${h("product.media.size > 1",I(x),I(L))}"
29
29
  >
30
30
  ${l({builderPropUID:`gp-carousel-${b?.uid}`,...N,children:W(),pageContext:_})}
31
- ${S(!U,r`
31
+ ${j(!U,r`
32
32
  <div
33
33
  class="${J}"
34
34
  style="${I(M)}"
35
35
  ${{...q}}
36
36
  >
37
37
  ${h("product.media.size > 1",d({builderPropUID:`gp-gallery-${b?.uid}`,...N,pageContext:_}))}
38
- ${S(k,m({builderPropUID:b?.uid,wrapperStyle:{...V},children:W(),...N,pageContext:_}))}
38
+ ${j(k,m({builderPropUID:b?.uid,wrapperStyle:{...V},children:W(),...N,pageContext:_}))}
39
39
  </div>
40
40
  `)}
41
41
  </div>
42
42
  </gp-product-images>
43
- ${S(e,`<script ${u('class="gps-link" delay',"src")}="{{ 'gp-product-images-v7-5.js' | asset_url }}" defer="defer"></script>`,`<script ${u('class="gps-link" delay',"src")}="${o}/assets-v2/gp-product-images-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}" defer="defer"></script>`)}
43
+ ${j(e,`<script ${u('class="gps-link" delay',"src")}="{{ 'gp-product-images-v7-5.js' | asset_url }}" defer="defer"></script>`,`<script ${u('class="gps-link" delay',"src")}="${o}/assets-v2/gp-product-images-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}" defer="defer"></script>`)}
44
44
  `};export{C as default};
@@ -1,44 +1,44 @@
1
- import{isLocalEnv as e,baseAssetURL as o,template as i,WrapRenderChildren as t,RenderChildren as r}from"@gem-sdk/core";import{getConditionRenderGalleryImages as s,getStyleInsideLayout as a,setDefaultWhenUndefineSetting as l}from"./common/common.js";import p from"./components/feature-gallery/FeatureImageWithGallery.liquid.js";import d from"./components/gallery-carousel/GalleryCarousel.liquid.js";import m from"./components/gallery-grid/GalleryGrid.liquid.js";import{filterPageContext as n,getSettingPreloadData as c}from"../../../helpers.js";import{getShapeByLayout as u,sizeSettingDefaultForNewLayout as g}from"./common/productGallery.js";import{getProductImagesClassName as f}from"./composables/getProductImagesClassName.js";import{getProductImagesStyles as y}from"./composables/getProductImagesStyles.js";import{createAttr as $,LiquidIf as h,createClass as j,If as v,Liquid as S}from"@gem-sdk/system";import{getBorderActiveCss as F}from"./common/getBorderActiveCss.js";import{getStyleOfObject as I}from"../../helpers/function.js";let C=C=>{let P=l(C),{setting:G,styles:D,builderProps:b,style:z}=P,{rawChildren:O,pageContext:_}=C,N={...G,...D},A=`
1
+ import{isLocalEnv as e,baseAssetURL as o,template as r,WrapRenderChildren as i,RenderChildren as t}from"@gem-sdk/core";import{getConditionRenderGalleryImages as s,getStyleInsideLayout as a,setDefaultWhenUndefineSetting as l}from"./common/common.js";import d from"./components/feature-gallery/FeatureImageWithGallery.liquid.js";import p from"./components/gallery-carousel/GalleryCarousel.liquid.js";import m from"./components/gallery-grid/GalleryGrid.liquid.js";import{filterPageContext as n,getSettingPreloadData as u}from"../../../helpers.js";import{getShapeByLayout as c,sizeSettingDefaultForNewLayout as g}from"./common/productGallery.js";import{getProductImagesClassName as f}from"./composables/getProductImagesClassName.js";import{getProductImagesStyles as $}from"./composables/getProductImagesStyles.js";import{createAttr as y,LiquidIf as h,createClass as v,If as j,Liquid as S}from"@gem-sdk/system";import{getBorderActiveCss as F}from"./common/getBorderActiveCss.js";import{getStyleOfObject as I}from"../../helpers/function.js";let C=C=>{let P=l(C),{setting:G,styles:D,builderProps:b,style:z}=P,{rawChildren:O,pageContext:_}=C,N={...G,...D},A=`
2
2
  {
3
3
  "id":${JSON.stringify(b?.uid)},
4
4
  "pageContext": ${JSON.stringify(n(_))},
5
5
  "setting":${JSON.stringify(G)},
6
6
  "styles":${JSON.stringify(D)},
7
7
  "productUrl":{{product.url | json }},
8
- "product":{% if product %}{"id":{{ product.id | json }},"handle":{{ product.handle | json }},"media":{{ product.media | json }}}{% else %}null{% endif %},
8
+ "product":{% if product %}{"id":{{ product.id | json }},"handle":{{ product.handle | json }},"media":{{ product.media | json | escape }}}{% else %}null{% endif %},
9
9
  "collectionUrl": {{ collection.url | json }},
10
10
  "collection": {% if collection %}{"handle":{{ collection.handle | json }}}{% else %}null{% endif %}
11
11
  }
12
- `,B=$({"section-id":"{{section.id}}","data-id":`${b?.uid}`}),{isOnlyFeatureAllDevices:U,isRenderGalleryGrid:k}=s(N?.position,G?.type),q=k?{}:$({"data-only-image":h("product.media.size > 1","false","true")}),{wrapperClasses:E,productImagesGalleryClasses:J}=f(C),w=j({"gp-grid gp-w-full !gp-m-0 gp-relative":!0}),T=j({"gp-w-full !gp-m-0 gp-relative":!0}),{wrapContainerStyle:x,wrapContainerStyleOnlyOneImage:L,galleryImageStyle:M}=y(N),R=u({shape:N.shape,shapeForBottom:N.shapeForBottom,shapeFor1Col:N.shapeFor1Col,shapeFor2Col:N.shapeFor2Col,shapeForFtOnly:N.shapeForFtOnly,shapeForInsideBottom:N.shapeForInsideBottom??g,shapeForInside:N.shapeForInside??g},N.position),V=a(N.position,R,N?.spacing),W=()=>i`
13
- ${t({uid:b?.uid||"",customProps:O?.[0].customProps},O?.map(e=>{if(e)return i`${r({...e,isInsideProductImage:!0,imageData:{imageShape:D?.ftShape,imageAlign:D?.align,imageLayout:D?.position},dotData:{dotSize:G?.ftDotSize,dotGapToCarousel:G?.ftDotGapToCarousel,dotStyle:G?.ftDotStyle}})}`}))}
14
- `;return i`
15
- ${v(G?.borderActive?.border!=="none",h("product.media.size > 1",`<style>${F({settings:N,uid:b?.uid,type:"Liquid"})}</style>`),"")}
12
+ `,B=y({"section-id":"{{section.id}}","data-id":`${b?.uid}`}),{isOnlyFeatureAllDevices:U,isRenderGalleryGrid:k}=s(N?.position,G?.type),q=k?{}:y({"data-only-image":h("product.media.size > 1","false","true")}),{wrapperClasses:E,productImagesGalleryClasses:J}=f(C),w=v({"gp-grid gp-w-full !gp-m-0 gp-relative":!0}),T=v({"gp-w-full !gp-m-0 gp-relative":!0}),{wrapContainerStyle:x,wrapContainerStyleOnlyOneImage:L,galleryImageStyle:M}=$(N),R=c({shape:N.shape,shapeForBottom:N.shapeForBottom,shapeFor1Col:N.shapeFor1Col,shapeFor2Col:N.shapeFor2Col,shapeForFtOnly:N.shapeForFtOnly,shapeForInsideBottom:N.shapeForInsideBottom??g,shapeForInside:N.shapeForInside??g},N.position),V=a(N.position,R,N?.spacing),W=()=>r`
13
+ ${i({uid:b?.uid||"",customProps:O?.[0].customProps},O?.map(e=>{if(e)return r`${t({...e,isInsideProductImage:!0,imageData:{imageShape:D?.ftShape,imageAlign:D?.align,imageLayout:D?.position},dotData:{dotSize:G?.ftDotSize,dotGapToCarousel:G?.ftDotGapToCarousel,dotStyle:G?.ftDotStyle}})}`}))}
14
+ `;return r`
15
+ ${j(G?.borderActive?.border!=="none",h("product.media.size > 1",`<style>${F({settings:N,uid:b?.uid,type:"Liquid"})}</style>`),"")}
16
16
  ${S(`
17
17
  {% assign featured_image = product.featured_image %}
18
18
  ${h("variant != null and variant.featured_image != null","{% assign featured_image = variant.featured_image %}")}
19
19
  `)}
20
20
  <gp-product-images-v3
21
+ gp-data='${A}'
21
22
  ${{...B}}
22
23
  style="${{...z}}"
23
24
  class="${E}"
24
25
  >
25
- <script gp-data type="application/json">${A}</script>
26
26
  <div
27
27
  class="${h("product.media.size > 1",`${w}`,`${T}`)}"
28
28
  style="${h("product.media.size > 1",I(x),I(L))}"
29
29
  >
30
- ${p({builderPropUID:`gp-carousel-${b?.uid}`,...N,children:W(),pageContext:_})}
31
- ${v(!U,i`
30
+ ${d({builderPropUID:`gp-carousel-${b?.uid}`,...N,children:W(),pageContext:_})}
31
+ ${j(!U,r`
32
32
  <div
33
33
  class="${J}"
34
34
  style="${I(M)}"
35
35
  ${{...q}}
36
36
  >
37
- ${h("product.media.size > 1",d({builderPropUID:`gp-gallery-${b?.uid}`,...N,pageContext:_}))}
38
- ${v(k,m({builderPropUID:b?.uid,wrapperStyle:{...V},children:W(),...N,pageContext:_}))}
37
+ ${h("product.media.size > 1",p({builderPropUID:`gp-gallery-${b?.uid}`,...N,pageContext:_}))}
38
+ ${j(k,m({builderPropUID:b?.uid,wrapperStyle:{...V},children:W(),...N,pageContext:_}))}
39
39
  </div>
40
40
  `)}
41
41
  </div>
42
42
  </gp-product-images-v3>
43
- ${v(e,`<script ${c('class="gps-link" delay',"src")}="{{ 'gp-product-images-v3-v7-5.js' | asset_url }}" defer="defer"></script>`,`<script ${c('class="gps-link" delay',"src")}="${o}/assets-v2/gp-product-images-v3-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}" defer="defer"></script>`)}
43
+ ${j(e,`<script ${u('class="gps-link" delay',"src")}="{{ 'gp-product-images-v3-v7-5.js' | asset_url }}" defer="defer"></script>`,`<script ${u('class="gps-link" delay',"src")}="${o}/assets-v2/gp-product-images-v3-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}" defer="defer"></script>`)}
44
44
  `};export{C as default};
@@ -1,44 +1,44 @@
1
- import{isLocalEnv as e,baseAssetURL as o,template as i,WrapRenderChildren as t,RenderChildren as r}from"@gem-sdk/core";import{getConditionRenderGalleryImages as s,getStyleInsideLayout as a,setDefaultWhenUndefineSetting as l}from"./common/common.js";import p from"./components/feature-gallery/FeatureImageWithGalleryEmbla.liquid.js";import d from"./components/gallery-carousel/GalleryCarouselEmbla.liquid.js";import m from"./components/gallery-grid/GalleryGrid.liquid.js";import{filterPageContext as n,getSettingPreloadData as c}from"../../../helpers.js";import{getShapeByLayout as u,sizeSettingDefaultForNewLayout as g}from"./common/productGallery.js";import{getProductImagesClassName as f}from"./composables/getProductImagesClassName.js";import{getProductImagesStyles as y}from"./composables/getProductImagesStyles.js";import{createAttr as $,LiquidIf as h,createClass as j,If as v,Liquid as S}from"@gem-sdk/system";import{getBorderActiveCss as F}from"./common/getBorderActiveCss.js";import{getStyleOfObject as I}from"../../helpers/function.js";let C=C=>{let P=l(C),{setting:b,styles:G,builderProps:D,style:z}=P,{rawChildren:O,pageContext:_}=C,E={...b,...G},N=`
1
+ import{isLocalEnv as e,baseAssetURL as o,template as s,WrapRenderChildren as r,RenderChildren as i}from"@gem-sdk/core";import{getConditionRenderGalleryImages as t,getStyleInsideLayout as a,setDefaultWhenUndefineSetting as l}from"./common/common.js";import p from"./components/feature-gallery/FeatureImageWithGalleryEmbla.liquid.js";import d from"./components/gallery-carousel/GalleryCarouselEmbla.liquid.js";import m from"./components/gallery-grid/GalleryGrid.liquid.js";import{filterPageContext as c,getSettingPreloadData as n}from"../../../helpers.js";import{getShapeByLayout as u,sizeSettingDefaultForNewLayout as g}from"./common/productGallery.js";import{getProductImagesClassName as f}from"./composables/getProductImagesClassName.js";import{getProductImagesStyles as $}from"./composables/getProductImagesStyles.js";import{createAttr as y,LiquidIf as h,createClass as v,If as j,Liquid as S}from"@gem-sdk/system";import{getBorderActiveCss as F}from"./common/getBorderActiveCss.js";import{getStyleOfObject as I}from"../../helpers/function.js";let C=C=>{let P=l(C),{setting:b,styles:G,builderProps:D,style:z}=P,{rawChildren:O,pageContext:_}=C,E={...b,...G},N=`
2
2
  {
3
3
  "id":${JSON.stringify(D?.uid)},
4
- "pageContext": ${JSON.stringify(n(_))},
4
+ "pageContext": ${JSON.stringify(c(_))},
5
5
  "setting":${JSON.stringify(b)},
6
6
  "styles":${JSON.stringify(G)},
7
- "productUrl":{{product.url | json }},
8
- "product":{% if product %}{"id":{{ product.id | json }},"handle":{{ product.handle | json }},"media":{{ product.media | json }}}{% else %}null{% endif %},
9
- "collectionUrl": {{ collection.url | json }},
10
- "collection": {% if collection %}{"handle":{{ collection.handle | json }}}{% else %}null{% endif %}
7
+ "productUrl":{{product.url | json | escape}},
8
+ "product":{% if product %}{"id":{{ product.id | json | escape }},"handle":{{ product.handle | json | escape }},"media":{{ product.media | json | escape }}}{% else %}null{% endif %},
9
+ "collectionUrl": {{ collection.url | json | escape }},
10
+ "collection": {% if collection %}{"handle":{{ collection.handle | json | escape }}}{% else %}null{% endif %}
11
11
  }
12
- `,A=$({"section-id":"{{section.id}}","data-id":`${D?.uid}`}),{isOnlyFeatureAllDevices:B,isRenderGalleryGrid:U}=s(E?.position,b?.type),k=U?{}:$({"data-only-image":h("product.media.size > 1","false","true")}),{wrapperClasses:q,productImagesGalleryClasses:J}=f(C),w=j({"gp-grid gp-w-full !gp-m-0 gp-relative":!0}),T=j({"gp-w-full !gp-m-0 gp-relative":!0}),{wrapContainerStyle:x,wrapContainerStyleOnlyOneImage:L,galleryImageStyle:M}=y(E),R=u({shape:E.shape,shapeForBottom:E.shapeForBottom,shapeFor1Col:E.shapeFor1Col,shapeFor2Col:E.shapeFor2Col,shapeForFtOnly:E.shapeForFtOnly,shapeForInsideBottom:E.shapeForInsideBottom??g,shapeForInside:E.shapeForInside??g},E.position),V=a(E.position,R,E?.spacing),W=()=>i`
13
- ${t({uid:D?.uid||"",customProps:O?.[0].customProps},O?.map(e=>{if(e)return i`${r({...e,isInsideProductImage:!0,imageData:{imageShape:G?.ftShape,imageAlign:G?.align,imageLayout:G?.position},dotData:{dotSize:b?.ftDotSize,dotGapToCarousel:b?.ftDotGapToCarousel,dotStyle:b?.ftDotStyle}})}`}))}
14
- `;return i`
15
- ${v(b?.borderActive?.border!=="none",h("product.media.size > 1",`<style>${F({settings:E,uid:D?.uid,type:"Liquid"})}</style>`),"")}
12
+ `,A=y({"section-id":"{{section.id}}","data-id":`${D?.uid}`}),{isOnlyFeatureAllDevices:B,isRenderGalleryGrid:U}=t(E?.position,b?.type),k=U?{}:y({"data-only-image":h("product.media.size > 1","false","true")}),{wrapperClasses:q,productImagesGalleryClasses:J}=f(C),w=v({"gp-grid gp-w-full !gp-m-0 gp-relative":!0}),T=v({"gp-w-full !gp-m-0 gp-relative":!0}),{wrapContainerStyle:x,wrapContainerStyleOnlyOneImage:L,galleryImageStyle:M}=$(E),R=u({shape:E.shape,shapeForBottom:E.shapeForBottom,shapeFor1Col:E.shapeFor1Col,shapeFor2Col:E.shapeFor2Col,shapeForFtOnly:E.shapeForFtOnly,shapeForInsideBottom:E.shapeForInsideBottom??g,shapeForInside:E.shapeForInside??g},E.position),V=a(E.position,R,E?.spacing),W=()=>s`
13
+ ${r({uid:D?.uid||"",customProps:O?.[0].customProps},O?.map(e=>{if(e)return s`${i({...e,isInsideProductImage:!0,imageData:{imageShape:G?.ftShape,imageAlign:G?.align,imageLayout:G?.position},dotData:{dotSize:b?.ftDotSize,dotGapToCarousel:b?.ftDotGapToCarousel,dotStyle:b?.ftDotStyle}})}`}))}
14
+ `;return s`
15
+ ${j(b?.borderActive?.border!=="none",h("product.media.size > 1",`<style>${F({settings:E,uid:D?.uid,type:"Liquid"})}</style>`),"")}
16
16
  ${S(`
17
17
  {% assign featured_image = product.featured_image %}
18
18
  ${h("variant != null and variant.featured_image != null","{% assign featured_image = variant.featured_image %}")}
19
19
  `)}
20
20
  <gp-product-images-v3
21
+ gp-data='${N}'
21
22
  ${{...A}}
22
23
  style="${{...z}}"
23
24
  class="${q}"
24
25
  >
25
- <script gp-data type="application/json">${N}</script>
26
26
  <div
27
27
  class="${h("product.media.size > 1",`${w}`,`${T}`)}"
28
28
  style="${h("product.media.size > 1",I(x),I(L))}"
29
29
  >
30
30
  ${p({builderPropUID:`gp-carousel-${D?.uid}`,...E,children:W(),pageContext:_})}
31
- ${v(!B,i`
31
+ ${j(!B,s`
32
32
  <div
33
33
  class="${J}"
34
34
  style="${I(M)}"
35
35
  ${{...k}}
36
36
  >
37
37
  ${h("product.media.size > 1",d({builderPropUID:`gp-gallery-${D?.uid}`,...E,pageContext:_}))}
38
- ${v(U,m({builderPropUID:D?.uid,wrapperStyle:{...V},children:W(),...E,pageContext:_}))}
38
+ ${j(U,m({builderPropUID:D?.uid,wrapperStyle:{...V},children:W(),...E,pageContext:_}))}
39
39
  </div>
40
40
  `)}
41
41
  </div>
42
42
  </gp-product-images-v3>
43
- ${v(e,`<script ${c('class="gps-link" delay',"src")}="{{ 'gp-product-images-v3-v7-5.js' | asset_url }}" defer="defer"></script>`,`<script ${c('class="gps-link" delay',"src")}="${o}/assets-v2/gp-product-images-v3-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}" defer="defer"></script>`)}
43
+ ${j(e,`<script ${n('class="gps-link" delay',"src")}="{{ 'gp-product-images-v3-v7-5.js' | asset_url }}" defer="defer"></script>`,`<script ${n('class="gps-link" delay',"src")}="${o}/assets-v2/gp-product-images-v3-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}" defer="defer"></script>`)}
44
44
  `};export{C as default};
@@ -1,14 +1,15 @@
1
- import{template as t}from"@gem-sdk/core";import{getClass as n}from"./common/classes.js";let o=o=>{let{pageContext:e,children:a}=o,{productItemClass:r,gpProductClass:i}=n(o);return t`
1
+ import{template as t}from"@gem-sdk/core";import{getClass as e}from"./common/classes.js";import{filterPageContext as n}from"../../../helpers.js";let o=o=>{let{pageContext:a,children:r}=o,{productItemClass:i,gpProductClass:c}=e(o);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 | default: 0 }}, "formId": "{{ product_form_id }}"}'
4
- class="${i}"
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(n(a))}}'
5
+ class="${c}"
6
+
5
7
  >
6
- <script gp-data type="application/json">{"variantSelected": {{ variant | json }}, "quantity": 1, "productUrl":{{ product.url | json }}, "productHandle":{{ product.handle | json }}, "collectionUrl": {{ collection.url | json }}, "collectionHandle": {{ collection.handle | json }},"pageContext" : ${JSON.stringify(e)}}</script>
7
- {%- form 'product', product, id: product_form_id, class: 'form contents ${r}', data-type: 'add-to-cart-form', autocomplete: 'off' -%}
8
+ {%- form 'product', product, id: product_form_id, class: 'form contents ${i}', data-type: 'add-to-cart-form', autocomplete: 'off' -%}
8
9
  <input type="hidden" name="id" value="{{ variant.id }}" />
9
10
  <input type="hidden" min="1" name="quantity" value="{{ quantity }}" />
10
11
  <button type="submit" onclick="return false;" style="display:none;"></button>
11
- ${a}
12
+ ${r}
12
13
  {%- endform -%}
13
14
  </gp-product>
14
15
  `};export{o as default};
@@ -1,18 +1,19 @@
1
- import{template as t,RenderChildren as n}from"@gem-sdk/core";import{getClass as e}from"./common/classes.js";let o=o=>{let{pageContext:a,rawChildren:r}=o,{productItemClass:i,gpProductClass:c}=e(o);return t`
1
+ import{template as t,RenderChildren as e}from"@gem-sdk/core";import{getClass as n}from"./common/classes.js";import{filterPageContext as o}from"../../../helpers.js";let a=a=>{let{pageContext:r,rawChildren:i}=a,{productItemClass:c,gpProductClass:p}=n(a);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 | default: 0 }}, "formId": "{{ product_form_id }}"}'
4
- class="${c}"
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(r))}}'
5
+ class="${p}"
6
+
5
7
  >
6
- <script gp-data type="application/json">{"variantSelected": {{ variant | json }}, "quantity": 1, "productUrl":{{ product.url | json }}, "productHandle":{{ product.handle | json }}, "collectionUrl": {{ collection.url | json }}, "collectionHandle": {{ collection.handle | json }},"pageContext" : ${JSON.stringify(a)}}</script>
7
- {%- form 'product', product, id: product_form_id, class: 'form contents ${i}', data-type: 'add-to-cart-form', autocomplete: 'off' -%}
8
+ {%- form 'product', product, id: product_form_id, class: 'form contents ${c}', data-type: 'add-to-cart-form', autocomplete: 'off' -%}
8
9
  <input type="hidden" name="id" value="{{ variant.id }}" />
9
10
  <input type="hidden" min="1" name="quantity" value="{{ quantity }}" />
10
11
  <button type="submit" onclick="return false;" style="display:none;"></button>
11
12
  ${t`
12
- ${r?.map((e,o)=>{if(e)return t`
13
- ${n({...e,index:o})}
13
+ ${i?.map((n,o)=>{if(n)return t`
14
+ ${e({...n,index:o})}
14
15
  `}).join("")}
15
16
  `}
16
17
  {%- endform -%}
17
18
  </gp-product>
18
- `};export{o as default};
19
+ `};export{a as default};
@@ -1,18 +1,18 @@
1
- import{RenderIf as t,template 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 e from"./ProductListGridItem.liquid.js";import{getStaticLocale as d}from"../../../helpers.js";let a=a=>{let{setting:n,builderProps:p,styles:c,productListId:m,productSrc:l}=a,{gridLayoutStyle:u}=o(a),{gridLayoutClass:f}=s(a),{productListAttr:g}=r(a),$=()=>i`
1
+ import{RenderIf as t,template 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 a=a=>{let{setting:n,builderProps:m,styles:c,productListId:p,productSrc:l}=a,{gridLayoutStyle:u}=o(a),{gridLayoutClass:f}=s(a),{productListAttr:g}=r(a),$=()=>i`
2
2
  {%- assign count = 0 -%}
3
3
  {%- for product in products limit: limit -%}
4
4
  {%- if product.id != empty -%}
5
5
  {%- assign count = count | plus: 1 -%}
6
6
  {%- assign variant = product.selected_or_first_available_variant -%}
7
- {%- assign product_form_id = 'product-form-' | append: "${p?.uid}" | append: product.id -%}
8
- ${e({...a})}
7
+ {%- assign product_form_id = 'product-form-' | append: "${m?.uid}" | append: product.id -%}
8
+ ${d({...a})}
9
9
  {%- endif -%}
10
10
  {% endfor %}
11
- {%- if count == 0 and ${m?.length} == 0 -%}
11
+ {%- if count == 0 and ${p?.length} == 0 -%}
12
12
  {% if '${l}' == 'RelatedProduct' -%}
13
- <div>${d("ProductList","no_related_products")}</div>
13
+ <div>${e("ProductList","no_related_products")}</div>
14
14
  {% else %}
15
- <div>${d("ProductList","no_products_found")}</div>
15
+ <div>${e("ProductList","no_products_found")}</div>
16
16
  {%- endif -%}
17
17
  {%- endif -%}
18
18
  `;return i`
@@ -25,9 +25,7 @@ import{RenderIf as t,template as i}from"@gem-sdk/core";import{getStyle as o}from
25
25
  <gp-same-height
26
26
  class="gp-contents"
27
27
  style="visibility: hidden"
28
- >
29
- <script gp-data type="application/json">${JSON.stringify({targetUid:p?.builderData?.childrens?.[0],slidesToShow:n?.slidesToShow,rowGap:c?.horizontalGutter})}
30
- </script>
28
+ gp-data='${JSON.stringify({targetUid:m?.builderData?.childrens?.[0],slidesToShow:n?.slidesToShow,rowGap:c?.horizontalGutter})}'>
31
29
  ${`${$()}`}
32
30
  </gp-same-height>
33
31
  `)}
@@ -1,15 +1,15 @@
1
- import{template as t}from"@gem-sdk/core";import{getClass as n}from"./common/classes.js";let e=e=>{let{pageContext:o,children:a}=e,{productItemClass:i,gpProductClass:r}=n(e);return t`
1
+ import{template as t}from"@gem-sdk/core";import{getClass as e}from"./common/classes.js";import{filterPageContext as n}from"../../../helpers.js";let o=o=>{let{pageContext:a,children:r}=o,{productItemClass:i,gpProductClass:c}=e(o);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 | default: 0 }}, "formId": "{{ product_form_id }}"}'
4
- 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 }}"}'
5
- class="${r}"
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(n(a))}}'
5
+ class="${c}"
6
+
6
7
  >
7
- <script gp-data type="application/json">{"variantSelected": {{ variant | json }}, "quantity": 1, "productUrl":{{ product.url | json }}, "productHandle":{{ product.handle | json }}, "collectionUrl": {{ collection.url | json }}, "collectionHandle": {{ collection.handle | json }},"pageContext" : ${JSON.stringify(o)}}</script>
8
8
  {%- form 'product', product, id: product_form_id, class: 'form contents ${i}', data-type: 'add-to-cart-form', autocomplete: 'off' -%}
9
9
  <input type="hidden" name="id" value="{{ variant.id }}" />
10
10
  <input type="hidden" min="1" name="quantity" value="{{ quantity }}" />
11
11
  <button type="submit" onclick="return false;" style="display:none;"></button>
12
- ${a}
12
+ ${r}
13
13
  {%- endform -%}
14
14
  </gp-product>
15
- `};export{e as default};
15
+ `};export{o as default};
@@ -1,18 +1,19 @@
1
- import{template as t,RenderChildren as n}from"@gem-sdk/core";import{getClass as e}from"./common/classes.js";let o=o=>{let{pageContext:a,rawChildren:r}=o,{productItemClass:i,gpProductClass:c}=e(o);return t`
1
+ import{template as t,RenderChildren as e}from"@gem-sdk/core";import{getClass as n}from"./common/classes.js";import{filterPageContext as o}from"../../../helpers.js";let a=a=>{let{pageContext:r,rawChildren:i}=a,{productItemClass:c,gpProductClass:p}=n(a);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 | default: 0 }}, "formId": "{{ product_form_id }}"}'
4
- class="${c}"
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(r))}}'
5
+ class="${p}"
6
+
5
7
  >
6
- <script gp-data type="application/json">{"variantSelected": {{ variant | json }}, "quantity": 1, "productUrl":{{ product.url | json }}, "productHandle":{{ product.handle | json }}, "collectionUrl": {{ collection.url | json }}, "collectionHandle": {{ collection.handle | json }},"pageContext" : ${JSON.stringify(a)}}</script>
7
- {%- form 'product', product, id: product_form_id, class: 'form contents ${i}', data-type: 'add-to-cart-form', autocomplete: 'off' -%}
8
+ {%- form 'product', product, id: product_form_id, class: 'form contents ${c}', data-type: 'add-to-cart-form', autocomplete: 'off' -%}
8
9
  <input type="hidden" name="id" value="{{ variant.id }}" />
9
10
  <input type="hidden" min="1" name="quantity" value="{{ quantity }}" />
10
11
  <button type="submit" onclick="return false;" style="display:none;"></button>
11
12
  ${t`
12
- ${r?.map((e,o)=>{if(e)return t`
13
- ${n({...e,index:o})}
13
+ ${i?.map((n,o)=>{if(n)return t`
14
+ ${e({...n,index:o})}
14
15
  `}).join("")}
15
16
  `}
16
17
  {%- endform -%}
17
18
  </gp-product>
18
- `};export{o as default};
19
+ `};export{a as default};
@@ -1,18 +1,18 @@
1
- import{RenderIf as t,template 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 e from"./ProductListGridItem.liquid.js";import{getStaticLocale as d}from"../../../helpers.js";let a=a=>{let{setting:n,builderProps:p,styles:c,productListId:m,productSrc:l}=a,{gridLayoutStyle:u}=o(a),{gridLayoutClass:f}=s(a),{productListAttr:g}=r(a),$=()=>i`
1
+ import{RenderIf as t,template 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 a=a=>{let{setting:n,builderProps:m,styles:c,productListId:p,productSrc:l}=a,{gridLayoutStyle:u}=o(a),{gridLayoutClass:f}=s(a),{productListAttr:g}=r(a),$=()=>i`
2
2
  {%- assign count = 0 -%}
3
3
  {%- for product in products limit: limit -%}
4
4
  {%- if product.id != empty -%}
5
5
  {%- assign count = count | plus: 1 -%}
6
6
  {%- assign variant = product.selected_or_first_available_variant -%}
7
- {%- assign product_form_id = 'product-form-' | append: "${p?.uid}" | append: product.id -%}
8
- ${e({...a})}
7
+ {%- assign product_form_id = 'product-form-' | append: "${m?.uid}" | append: product.id -%}
8
+ ${d({...a})}
9
9
  {%- endif -%}
10
10
  {% endfor %}
11
- {%- if count == 0 and ${m?.length} == 0 -%}
11
+ {%- if count == 0 and ${p?.length} == 0 -%}
12
12
  {% if '${l}' == 'RelatedProduct' -%}
13
- <div>${d("ProductList","no_related_products")}</div>
13
+ <div>${e("ProductList","no_related_products")}</div>
14
14
  {% else %}
15
- <div>${d("ProductList","no_products_found")}</div>
15
+ <div>${e("ProductList","no_products_found")}</div>
16
16
  {%- endif -%}
17
17
  {%- endif -%}
18
18
  `;return i`
@@ -25,9 +25,7 @@ import{RenderIf as t,template as i}from"@gem-sdk/core";import{getStyle as o}from
25
25
  <gp-same-height
26
26
  class="gp-contents"
27
27
  style="visibility: hidden"
28
- >
29
- <script gp-data type="application/json">${JSON.stringify({targetUid:p?.builderData?.childrens?.[0],slidesToShow:n?.slidesToShow,rowGap:c?.horizontalGutter})}
30
- </script>
28
+ gp-data='${JSON.stringify({targetUid:m?.builderData?.childrens?.[0],slidesToShow:n?.slidesToShow,rowGap:c?.horizontalGutter})}'>
31
29
  ${`${$()}`}
32
30
  </gp-same-height>
33
31
  `)}
@@ -1,11 +1,11 @@
1
- import{dataStringify as r,template as e,baseAssetURL as o,isLocalEnv as s}from"@gem-sdk/core";import{getSettingPreloadData as p}from"../../../helpers.js";import t from"../../../text/components/Text.liquid.js";import{createClass as c,createAttr as m,createStateOrContext as i,Liquid as a}from"@gem-sdk/system";import{getWrapperClasses as l}from"./common/classes.js";import{getAttrs as d}from"./common/attrs.js";import{getTextProps as n}from"./common/helpers.js";let u=u=>{let{style:f,setting:y,builderProps:$,pageContext:h}=u,g=c(l(u)),j=m(d(u)),P=n(u),_=i({priceType:y?.priceType,uid:$?.uid,locale:"{{shop.locale}}",currency:"{{shop.currency}}",moneyFormat:`{{ ${h?.showPriceCurrency?"shop.money_with_currency_format":"shop.money_format"} | replace: '"', '\\"' | escape }}`});return a(e`
1
+ import{dataStringify as r,template as e,baseAssetURL as o,isLocalEnv as s}from"@gem-sdk/core";import{getSettingPreloadData as p}from"../../../helpers.js";import t from"../../../text/components/Text.liquid.js";import{createClass as c,createAttr as m,createStateOrContext as i,Liquid as l}from"@gem-sdk/system";import{getWrapperClasses as a}from"./common/classes.js";import{getAttrs as d}from"./common/attrs.js";import{getTextProps as u}from"./common/helpers.js";let n=n=>{let{style:f,setting:y,builderProps:$,pageContext:h}=n,g=c(a(n)),j=m(d(n)),P=u(n),_=i({priceType:y?.priceType,uid:$?.uid,locale:"{{shop.locale}}",currency:"{{shop.currency}}",moneyFormat:`{{ ${h?.showPriceCurrency?"shop.money_with_currency_format":"shop.money_format"} | replace: '"', '\\"' | escape }}`});return l(e`
2
2
  <gp-product-price
3
3
  ${j}
4
4
  class="${g}"
5
5
  style="${f}"
6
+ gp-data='${r(_)}'
6
7
  >
7
- <script gp-data type="application/json">${r(_)}</script>
8
8
  ${t({...P})}
9
9
  </gp-product-price>
10
10
  ${(()=>{let r=s?"{{ 'gp-product-price-v7-5.js' | asset_url }}":`${o}/assets-v2/gp-product-price-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}`;return`<script ${p('class="gps-link" delay',"src")}="${r}" defer="defer"></script>`})()}
11
- `)};export{u as ProductPrice,u as default};
11
+ `)};export{n as ProductPrice,n as default};
@@ -1,7 +1,6 @@
1
- import{template as t,baseAssetURL as e,isLocalEnv 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 p=({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}`:"";return u?.disableHoverColor&&delete u.underlineLink,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"})}
1
+ import{template as e,baseAssetURL as t,isLocalEnv 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 i=({setting:i,styles:p,advanced:c,builderProps:d})=>{let n=p?.typo?.attrs?.transform==="capitalize",m=i?.label&&i.label.trim().length?`${n?i.label.toString().toLocaleLowerCase():i.label}`:"";return p?.disableHoverColor&&delete p.underlineLink,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:p,setting:{...i,text:`${o("currentVariant.sku.size > 0 ",`${m} ${u(n,"{{ currentVariant.sku | downcase }}","{{ currentVariant.sku }}")}`)}`,excludeFlex:!0,isForceValue:!0},advanced:c,builderProps:d,className:"gp-product-sku"})}
6
5
  </gp-product-sku>
7
- ${(()=>{let t=r?"{{ 'gp-product-sku-v7-5.js' | asset_url }}":`${e}/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>`})()}`)}`};export{p as default};
6
+ ${(()=>{let e=r?"{{ 'gp-product-sku-v7-5.js' | asset_url }}":`${t}/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>`})()}`)}`};export{i as default};
@@ -1,9 +1,10 @@
1
- import{dataStringify as t,template as r,baseAssetURL as e,isLocalEnv as p}from"@gem-sdk/core";import{getStaticLocale as o,getSettingPreloadData as s}from"../../../helpers.js";import i from"../../../text/components/Text.liquid.js";import{createAttr as l,createClass as d,createStateOrContext as c,LiquidUnless as u,If as m}from"@gem-sdk/system";import{getTextProps as a}from"./common/helpers.js";let n=n=>{let{setting:$,builderProps:f}=n,g=`<p>${o("ProductTitle","product_not_found")}</p>`,k=()=>i(a(n)),j=l({href:"{{ product.url }}",title:"{{ product.title }}"}),P=$?.linkProduct,S=d({"gp-product-title-link-wrapper":!0}),h=c({setting:{linkProduct:$?.linkProduct},uid:f?.uid});return u("product",`${g}`,r`
2
- <gp-product-title>
3
- <script gp-data type="application/json">${t(h)}</script>
4
- ${m(P,r`<a ${j} class="${S}">
1
+ import{dataStringify as t,template as r,baseAssetURL as e,isLocalEnv as o}from"@gem-sdk/core";import{getStaticLocale as p,getSettingPreloadData as s}from"../../../helpers.js";import i from"../../../text/components/Text.liquid.js";import{createAttr as l,createClass as d,createStateOrContext as u,LiquidUnless as c,If as m}from"@gem-sdk/system";import{getTextProps as a}from"./common/helpers.js";let n=n=>{let{setting:$,builderProps:f}=n,g=`<p>${p("ProductTitle","product_not_found")}</p>`,k=()=>i(a(n)),P=l({href:"{{ product.url }}",title:"{{ product.title }}"}),j=$?.linkProduct,S=d({"gp-product-title-link-wrapper":!0}),h=u({setting:{linkProduct:$?.linkProduct},uid:f?.uid});return c("product",`${g}`,r`
2
+ <gp-product-title
3
+ gp-data='${t(h)}'
4
+ >
5
+ ${m(j,r`<a ${P} class="${S}">
5
6
  ${k()}
6
7
  </a>`,r`${k()}`)}
7
8
  </gp-product-title>
8
- ${(()=>{let t=p?"{{ 'gp-product-title-v7-5.js' | asset_url }}":`${e}/assets-v2/gp-product-title-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}`;return`<script ${s('class="gps-link" delay',"src")}="${t}" defer="defer"></script>`})()}
9
+ ${(()=>{let t=o?"{{ 'gp-product-title-v7-5.js' | asset_url }}":`${e}/assets-v2/gp-product-title-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}`;return`<script ${s('class="gps-link" delay',"src")}="${t}" defer="defer"></script>`})()}
9
10
  `)};export{n as default};