@gem-sdk/components 17.0.0-dev.13 → 17.0.0-dev.130

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 (480) hide show
  1. package/dist/cjs/accordion/components/Accordion.liquid.js +4 -5
  2. package/dist/cjs/accordion/settings/configs/ui-v2.js +1 -1
  3. package/dist/cjs/article/components/ArticleReadMore.liquid.js +4 -4
  4. package/dist/cjs/article/settings/configs/article-author/ui-v2.js +1 -1
  5. package/dist/cjs/article/settings/configs/article-category/ui-v2.js +1 -1
  6. package/dist/cjs/article/settings/configs/article-content/ui-v2.js +1 -1
  7. package/dist/cjs/article/settings/configs/article-date/ui-v2.js +1 -1
  8. package/dist/cjs/article/settings/configs/article-excerpt/ui-v2.js +1 -1
  9. package/dist/cjs/article/settings/configs/article-image/ui-v2.js +1 -1
  10. package/dist/cjs/article/settings/configs/article-list/ui-v2.js +1 -1
  11. package/dist/cjs/article/settings/configs/article-read-more/ui-v2.js +1 -1
  12. package/dist/cjs/article/settings/configs/article-tag/ui-v2.js +1 -1
  13. package/dist/cjs/article/settings/configs/article-title/ui-v2.js +1 -1
  14. package/dist/cjs/breadcrumb/settings/configs/ui-v2.js +1 -1
  15. package/dist/cjs/builder.js +1 -1
  16. package/dist/cjs/button/common/helpers.js +2 -2
  17. package/dist/cjs/button/components/Button.liquid.js +14 -14
  18. package/dist/cjs/button/settings/configs/ui-v2.js +1 -1
  19. package/dist/cjs/carousel/components/dot/Dots.js +1 -1
  20. package/dist/cjs/carousel/components/root/Carousel.liquid.js +5 -4
  21. package/dist/cjs/carousel-v3/components/arrow/Arrow.liquid.js +8 -8
  22. package/dist/cjs/carousel-v3/components/arrow/common/classes.js +1 -1
  23. package/dist/cjs/carousel-v3/components/arrow/common/styles.js +17 -17
  24. package/dist/cjs/carousel-v3/components/dot/Dots.js +1 -1
  25. package/dist/cjs/carousel-v3/components/dot/common/helpers.js +1 -1
  26. package/dist/cjs/carousel-v3/components/item/CarouselItem.js +1 -1
  27. package/dist/cjs/carousel-v3/components/root/Carousel.js +1 -1
  28. package/dist/cjs/carousel-v3/components/root/Carousel.liquid.js +6 -5
  29. package/dist/cjs/carousel-v3/components/swiper/Swiper.js +1 -1
  30. package/dist/cjs/carousel-v3/hooks/useCarousel.js +1 -1
  31. package/dist/cjs/carousel-v3/index.js +1 -1
  32. package/dist/cjs/carousel-v3/settings/configs/settings-v2.js +3 -3
  33. package/dist/cjs/carousel-v3/settings/configs/ui-v2.js +1 -1
  34. package/dist/cjs/cart/components/CartList.js +1 -1
  35. package/dist/cjs/cart/components/shop-pay-button/ShopPayButton.liquid.js +2 -2
  36. package/dist/cjs/cart/index.js +1 -1
  37. package/dist/cjs/code/common/styles.js +1 -1
  38. package/dist/cjs/collection/components/collection-description/CollectionDescription.js +1 -1
  39. package/dist/cjs/collection/components/collection-description/CollectionDescription.liquid.js +7 -8
  40. package/dist/cjs/collection/components/collection-paginator/CollectionPaginator.liquid.js +4 -3
  41. package/dist/cjs/collection/components/collection-toolbar/CollectionToolbar.liquid.js +1 -1
  42. package/dist/cjs/collection/index.js +1 -1
  43. package/dist/cjs/collection/settings/collection-banner/configs/ui-v2.js +1 -1
  44. package/dist/cjs/collection/settings/collection-description/configs/ui-v2.js +1 -1
  45. package/dist/cjs/collection/settings/collection-paginator/configs/ui-v2.js +1 -1
  46. package/dist/cjs/collection/settings/collection-title/configs/ui-v2.js +1 -1
  47. package/dist/cjs/collection/settings/collection-toolbar/configs/ui-v2.js +1 -1
  48. package/dist/cjs/countdown-timer/components/Countdown.liquid.js +16 -15
  49. package/dist/cjs/countdown-timer/settings/configs/ui-v2.js +1 -1
  50. package/dist/cjs/coupon/settings/configs/ui-v2.js +1 -1
  51. package/dist/cjs/dialog/settings/configs/ui-v2.js +1 -1
  52. package/dist/cjs/estimate-delivery/settings/configs/ui-v2.js +1 -1
  53. package/dist/cjs/form/settings/contact/configs/ui-v2.js +1 -1
  54. package/dist/cjs/form/settings/form-checkbox/configs/ui-v2.js +1 -1
  55. package/dist/cjs/form/settings/form-dropdown/configs/ui-v2.js +1 -1
  56. package/dist/cjs/form/settings/form-email/configs/ui-v2.js +1 -1
  57. package/dist/cjs/form/settings/form-textarea/configs/ui-v2.js +1 -1
  58. package/dist/cjs/form/settings/newsletter/configs/ui-v2.js +1 -1
  59. package/dist/cjs/form/settings/submit-button/configs/ui-v2.js +1 -1
  60. package/dist/cjs/form/settings/text-field/configs/ui-v2.js +1 -1
  61. package/dist/cjs/grid/components/row/Row.js +1 -1
  62. package/dist/cjs/grid/components/row/Row.liquid.js +7 -2
  63. package/dist/cjs/grid/components/section/Section.js +1 -1
  64. package/dist/cjs/grid/components/section/lazyload/LazySectionWrapper.js +1 -0
  65. package/dist/cjs/grid/components/section/lazyload/lazyInteractionTrigger.js +1 -0
  66. package/dist/cjs/grid/components/section/lazyload/lazySectionCoordinator.js +1 -0
  67. package/dist/cjs/grid/index.js +1 -1
  68. package/dist/cjs/grid/next.js +1 -1
  69. package/dist/cjs/grid/settings/configs/row/ui-v2.js +1 -1
  70. package/dist/cjs/grid/settings/configs/section/ui-v2.js +1 -1
  71. package/dist/cjs/header/components/kind/basic/index.js +1 -1
  72. package/dist/cjs/header/components/kind/modern/index.js +1 -1
  73. package/dist/cjs/header/index.js +1 -1
  74. package/dist/cjs/heading/next.js +1 -1
  75. package/dist/cjs/heading/settings/configs/ui-v2.js +1 -1
  76. package/dist/cjs/headless.js +1 -0
  77. package/dist/cjs/helpers.js +1 -1
  78. package/dist/cjs/hero-banner/common/helpers.js +1 -1
  79. package/dist/cjs/hero-banner/components/HeroBanner.liquid.js +3 -3
  80. package/dist/cjs/hero-banner/index.js +1 -1
  81. package/dist/cjs/hero-banner/settings/configs/ui-v2.js +1 -1
  82. package/dist/cjs/icon/settings/configs/ui-v2.js +1 -1
  83. package/dist/cjs/icon-list/settings/configs/ui-v2.js +1 -1
  84. package/dist/cjs/icon-list-hoz/settings/configs/uiV2.js +1 -1
  85. package/dist/cjs/icon-list-v2/components/IconList.liquid.js +5 -5
  86. package/dist/cjs/icon-list-v2/settings/configs/ui-v2.js +1 -1
  87. package/dist/cjs/image/common/const.js +1 -0
  88. package/dist/cjs/image/common/helpers.js +2 -2
  89. package/dist/cjs/image/next.js +1 -1
  90. package/dist/cjs/image/settings/configs/ui-v2.js +1 -1
  91. package/dist/cjs/image-comparison/common/classes.js +1 -1
  92. package/dist/cjs/image-comparison/components/CompareImage.liquid.js +4 -4
  93. package/dist/cjs/image-comparison/components/ImageComparison.js +1 -1
  94. package/dist/cjs/image-comparison/components/ImageComparison.liquid.js +2 -2
  95. package/dist/cjs/image-comparison/settings/configs/ui-v2.js +1 -1
  96. package/dist/cjs/index.js +1 -1
  97. package/dist/cjs/index.liquid.js +1 -1
  98. package/dist/cjs/line/settings/configs/ui-v2.js +1 -1
  99. package/dist/cjs/marquee/components/Marquee.liquid.js +21 -21
  100. package/dist/cjs/marquee/settings/configs/child-image-template.js +1 -1
  101. package/dist/cjs/marquee/settings/configs/ui-v2.js +1 -1
  102. package/dist/cjs/modal/components/Modal.js +1 -1
  103. package/dist/cjs/modal/index.js +1 -1
  104. package/dist/cjs/post-purchase/callout-banner/index.js +1 -1
  105. package/dist/cjs/post-purchase/link/components/PostPurchaseLink.js +1 -1
  106. package/dist/cjs/post-purchase/link/settings/configs/settings.js +1 -1
  107. package/dist/cjs/post-purchase/link/settings/configs/ui-v2.js +1 -1
  108. package/dist/cjs/post-purchase/product/components/ProductPrice.js +1 -1
  109. package/dist/cjs/post-purchase/product/components/ProductQuantity.js +1 -1
  110. package/dist/cjs/post-purchase/product/components/product-image/FeatureImage.js +1 -1
  111. package/dist/cjs/post-purchase/product/components/product-image/carousel-post-purchase/CarouselWrapperPostPurchase.js +1 -1
  112. package/dist/cjs/post-purchase/product/components/product-image/layouts/OnlyGalleryImage.js +1 -1
  113. package/dist/cjs/post-purchase/product/components/product-offer/components/ProductOfferItem.js +1 -1
  114. package/dist/cjs/post-purchase/product/components/product-offer/context/PrdOfferSubscriptionPresenceContext.js +2 -0
  115. package/dist/cjs/post-purchase/product/components/product-offer/helpers/scanSubscriptionBlocks.js +1 -0
  116. package/dist/cjs/post-purchase/product/components/product-offer/hooks/useProductOfferSubscriptionBlocksObserver.js +1 -0
  117. package/dist/cjs/post-purchase/product/components/product-subscription/hooks/useSubscriptionVisibility.js +1 -1
  118. package/dist/cjs/post-purchase/product/components/product-variant/components/ProductVariant.js +1 -1
  119. package/dist/cjs/post-purchase/product/components/product-variant/components/variants/Dropdown.js +1 -1
  120. package/dist/cjs/post-purchase/product/components/product-variant/components/variants/DropdownOption.js +1 -1
  121. package/dist/cjs/post-purchase/product/index.js +1 -1
  122. package/dist/cjs/post-purchase/product/settings/product-quantity/configs/settings.js +1 -1
  123. package/dist/cjs/post-purchase/product/settings/product-quantity/configs/ui-v2.js +1 -1
  124. package/dist/cjs/post-purchase/text/components/Text.js +2 -2
  125. package/dist/cjs/product/components/ProductImages.liquid.js +9 -9
  126. package/dist/cjs/product/components/dynamic-checkout/Button.liquid.js +9 -9
  127. package/dist/cjs/product/components/file-upload/UploadFile.liquid.js +2 -3
  128. package/dist/cjs/product/components/file-upload/settings/configs/ui-v2.js +1 -1
  129. package/dist/cjs/product/components/product-badge/ProductBadge.js +1 -1
  130. package/dist/cjs/product/components/product-badge/ProductBadge.liquid.js +18 -18
  131. package/dist/cjs/product/components/product-badge/common/attrs.js +1 -1
  132. package/dist/cjs/product/components/product-badge/common/classes.js +1 -1
  133. package/dist/cjs/product/components/product-badge/utils/injectBadgeStateExtras.js +1 -0
  134. package/dist/cjs/product/components/product-badge/utils/renderBadgeILP.js +1 -1
  135. package/dist/cjs/product/components/product-badge/utils/renderBadgeLiquid.js +3 -1
  136. package/dist/cjs/product/components/product-bundle/ProductBundleDiscount.js +1 -1
  137. package/dist/cjs/product/components/product-bundle/ProductBundleDiscount.liquid.js +4 -3
  138. package/dist/cjs/product/components/product-bundle/setting/configs/ui-v2.js +1 -1
  139. package/dist/cjs/product/components/product-button/ProductButton.liquid.js +14 -11
  140. package/dist/cjs/product/components/product-button/common/helpers.js +1 -1
  141. package/dist/cjs/product/components/product-button/hooks/useAddToCart.js +1 -1
  142. package/dist/cjs/product/components/product-description/ProductDescription.js +1 -1
  143. package/dist/cjs/product/components/product-description/ProductDescription.liquid.js +3 -4
  144. package/dist/cjs/product/components/product-description/hooks/useGpDescription.js +1 -1
  145. package/dist/cjs/product/components/product-discount-tag/ProductDiscountTag.js +1 -1
  146. package/dist/cjs/product/components/product-discount-tag/ProductDiscountTag.liquid.js +5 -5
  147. package/dist/cjs/product/components/product-images-v2/ProductImagesV2.liquid.js +26 -29
  148. package/dist/cjs/product/components/product-images-v3/ProductImagesV3.liquid.js +26 -29
  149. package/dist/cjs/product/components/product-images-v3/common/productFeaturedImage.js +1 -1
  150. package/dist/cjs/product/components/product-images-v3/components/child/ProductFeatureVideo.js +1 -1
  151. package/dist/cjs/product/components/product-images-v3/components/child/ProductFeaturedImageOnly.js +1 -1
  152. package/dist/cjs/product/components/product-images-v3/components/child/ProductGalleryGrid.js +2 -2
  153. package/dist/cjs/product/components/product-images-v3/components/feature-gallery/FeatureImageWithGallery.liquid.js +34 -33
  154. package/dist/cjs/product/components/product-images-v3/components/gallery-grid/GalleryGrid.liquid.js +19 -16
  155. package/dist/cjs/product/components/product-images-v3/components/lightbox/ProductImagesLightBox.js +1 -1
  156. package/dist/cjs/product/components/product-images-v3/composables/getProductImagesClassName.js +1 -1
  157. package/dist/cjs/product/components/product-list/ProductList.js +1 -1
  158. package/dist/cjs/product/components/product-list/ProductList.liquid.js +10 -9
  159. package/dist/cjs/product/components/product-list/ProductListCarouselItem.liquid.js +5 -6
  160. package/dist/cjs/product/components/product-list/ProductListGridItem.liquid.js +7 -8
  161. package/dist/cjs/product/components/product-list/ProductListGridLayout.liquid.js +6 -4
  162. package/dist/cjs/product/components/product-list-v3/ProductList.js +1 -1
  163. package/dist/cjs/product/components/product-list-v3/ProductList.liquid.js +12 -11
  164. package/dist/cjs/product/components/product-list-v3/ProductListCarouselItem.liquid.js +6 -6
  165. package/dist/cjs/product/components/product-list-v3/ProductListGridItem.liquid.js +7 -8
  166. package/dist/cjs/product/components/product-list-v3/ProductListGridLayout.liquid.js +6 -4
  167. package/dist/cjs/product/components/product-list-v3/common/helpers.js +1 -1
  168. package/dist/cjs/product/components/product-list-v3/constants/index.js +1 -1
  169. package/dist/cjs/product/components/product-list-v3/hooks/useCollectionQuery.js +1 -1
  170. package/dist/cjs/product/components/product-list-v3/hooks/useMainRelatedProductQuery.js +1 -1
  171. package/dist/cjs/product/components/product-list-v3/hooks/useProductRelatedQuery.js +1 -1
  172. package/dist/cjs/product/components/product-list-v3/hooks/useProductsQuery.js +1 -1
  173. package/dist/cjs/product/components/product-list-v3/hooks/useRelatedProductIDAssigned.js +1 -0
  174. package/dist/cjs/product/components/product-price/ProductPrice.liquid.js +4 -4
  175. package/dist/cjs/product/components/product-sku/Sku.js +1 -1
  176. package/dist/cjs/product/components/product-sku/Sku.liquid.js +4 -3
  177. package/dist/cjs/product/components/product-title/ProductTitle.liquid.js +7 -8
  178. package/dist/cjs/product/components/product-variants/ProductVariants.liquid.js +43 -43
  179. package/dist/cjs/product/components/product-variants/common/const.js +1 -1
  180. package/dist/cjs/product/components/product-wrap/Product.liquid.js +1 -1
  181. package/dist/cjs/product/components/product-wrap/hook/useProductQuery.js +1 -1
  182. package/dist/cjs/product/index.js +1 -1
  183. package/dist/cjs/product/settings/dynamic-checkout/configs/ui-v2.js +1 -1
  184. package/dist/cjs/product/settings/product/configs/ui-v2.js +1 -1
  185. package/dist/cjs/product/settings/product-badge/configs/ui-v2.js +1 -1
  186. package/dist/cjs/product/settings/product-button/configs/ui-v2.js +1 -1
  187. package/dist/cjs/product/settings/product-image-v2/configs/ui-v2.js +1 -1
  188. package/dist/cjs/product/settings/product-image-v3/configs/setting-v2/ProductFeatureImage.js +1 -1
  189. package/dist/cjs/product/settings/product-image-v3/configs/setting-v2/ProductGalleryImage.js +2 -2
  190. package/dist/cjs/product/settings/product-image-v3/configs/ui-v2.js +1 -1
  191. package/dist/cjs/product/settings/product-list/configs/ui-v2.js +1 -1
  192. package/dist/cjs/product/settings/product-list-v3/configs/ui-v2.js +1 -1
  193. package/dist/cjs/product/settings/product-properties/configs/ui-v2.js +1 -1
  194. package/dist/cjs/product/settings/product-quantity/configs/ui-v2.js +1 -1
  195. package/dist/cjs/product/settings/product-title/configs/ui-v2.js +1 -1
  196. package/dist/cjs/product/settings/product-variant/configs/ui-v2.js +1 -1
  197. package/dist/cjs/product/settings/product-vendor/configs/ui-v2.js +1 -1
  198. package/dist/cjs/product/settings/product-view-more/configs/ui-v2.js +1 -1
  199. package/dist/cjs/sticky/common/classes.js +1 -1
  200. package/dist/cjs/sticky/components/Sticky.liquid.js +4 -5
  201. package/dist/cjs/sticky/hooks/useSticky.js +1 -1
  202. package/dist/cjs/sticky/settings/configs/ui-v2.js +1 -1
  203. package/dist/cjs/stock-counter/settings/configs/ui-v2.js +1 -1
  204. package/dist/cjs/tab/components/Tabs.liquid.js +7 -6
  205. package/dist/cjs/tab/settings/configs/ui-v2.js +1 -1
  206. package/dist/cjs/text/components/Text.liquid.js +3 -3
  207. package/dist/cjs/text/next.js +1 -1
  208. package/dist/cjs/text/settings/configs/ui-v2.js +1 -1
  209. package/dist/cjs/third-party/components/AppstleLoyaltyRewardProgram.js +2 -0
  210. package/dist/cjs/third-party/components/AppstleLoyaltyRewardProgram.liquid.js +16 -0
  211. package/dist/cjs/third-party/components/BonySubscriptionsApp.liquid.js +10 -3
  212. package/dist/cjs/third-party/components/EssentPreorderBackInStock.js +2 -0
  213. package/dist/cjs/third-party/components/EssentPreorderBackInStock.liquid.js +8 -0
  214. package/dist/cjs/third-party/components/SubscribfySubscriptionsApp.js +2 -0
  215. package/dist/cjs/third-party/components/SubscribfySubscriptionsApp.liquid.js +1 -0
  216. package/dist/cjs/third-party/components/WcWishlistBackInStock.liquid.js +19 -1
  217. package/dist/cjs/third-party/configs/AppstleLoyaltyRewardProgram.js +1 -0
  218. package/dist/cjs/third-party/configs/EssentPreorderBackInStock.js +1 -0
  219. package/dist/cjs/third-party/configs/SubscribfySubscriptionsApp.js +1 -0
  220. package/dist/cjs/third-party/configs/WcWishlistBackInStock.js +1 -1
  221. package/dist/cjs/third-party/index.js +1 -1
  222. package/dist/cjs/third-party/next.js +1 -1
  223. package/dist/cjs/third-party/settings/AppstleLoyaltyRewardProgram/index.js +4 -0
  224. package/dist/cjs/third-party/settings/AppstleLoyaltyRewardProgram/uiV2.js +1 -0
  225. package/dist/cjs/third-party/settings/EssentPreorderBackInStock/index.js +4 -0
  226. package/dist/cjs/third-party/settings/EssentPreorderBackInStock/uiV2.js +1 -0
  227. package/dist/cjs/third-party/settings/SubscribfySubscriptionsApp/index.js +4 -0
  228. package/dist/cjs/third-party/settings/SubscribfySubscriptionsApp/uiV2.js +1 -0
  229. package/dist/cjs/third-party/settings/WcWishlistBackInStock/index.js +5 -2
  230. package/dist/cjs/video/common/helpers.js +1 -1
  231. package/dist/cjs/video/components/LiteVimeoEmbed.liquid.js +5 -4
  232. package/dist/cjs/video/components/LiteYouTubeEmbed.liquid.js +15 -14
  233. package/dist/cjs/video/hooks/useLiteYoutubeEmbed.js +1 -1
  234. package/dist/esm/accordion/components/Accordion.liquid.js +8 -9
  235. package/dist/esm/accordion/settings/configs/ui-v2.js +1 -1
  236. package/dist/esm/article/components/ArticleReadMore.liquid.js +4 -4
  237. package/dist/esm/article/settings/configs/article-author/ui-v2.js +1 -1
  238. package/dist/esm/article/settings/configs/article-category/ui-v2.js +1 -1
  239. package/dist/esm/article/settings/configs/article-content/ui-v2.js +1 -1
  240. package/dist/esm/article/settings/configs/article-date/ui-v2.js +1 -1
  241. package/dist/esm/article/settings/configs/article-excerpt/ui-v2.js +1 -1
  242. package/dist/esm/article/settings/configs/article-image/ui-v2.js +1 -1
  243. package/dist/esm/article/settings/configs/article-list/ui-v2.js +1 -1
  244. package/dist/esm/article/settings/configs/article-read-more/ui-v2.js +1 -1
  245. package/dist/esm/article/settings/configs/article-tag/ui-v2.js +1 -1
  246. package/dist/esm/article/settings/configs/article-title/ui-v2.js +1 -1
  247. package/dist/esm/breadcrumb/settings/configs/ui-v2.js +1 -1
  248. package/dist/esm/builder.js +1 -1
  249. package/dist/esm/button/common/helpers.js +2 -2
  250. package/dist/esm/button/components/Button.liquid.js +19 -19
  251. package/dist/esm/button/settings/configs/ui-v2.js +1 -1
  252. package/dist/esm/carousel/components/dot/Dots.js +1 -1
  253. package/dist/esm/carousel/components/root/Carousel.liquid.js +4 -3
  254. package/dist/esm/carousel-v3/components/arrow/Arrow.liquid.js +6 -6
  255. package/dist/esm/carousel-v3/components/arrow/common/classes.js +1 -1
  256. package/dist/esm/carousel-v3/components/arrow/common/styles.js +17 -17
  257. package/dist/esm/carousel-v3/components/dot/Dots.js +1 -1
  258. package/dist/esm/carousel-v3/components/dot/common/helpers.js +1 -1
  259. package/dist/esm/carousel-v3/components/item/CarouselItem.js +1 -1
  260. package/dist/esm/carousel-v3/components/root/Carousel.js +1 -1
  261. package/dist/esm/carousel-v3/components/root/Carousel.liquid.js +6 -5
  262. package/dist/esm/carousel-v3/components/swiper/Swiper.js +1 -1
  263. package/dist/esm/carousel-v3/hooks/useCarousel.js +1 -1
  264. package/dist/esm/carousel-v3/index.js +1 -1
  265. package/dist/esm/carousel-v3/settings/configs/settings-v2.js +3 -3
  266. package/dist/esm/carousel-v3/settings/configs/ui-v2.js +1 -1
  267. package/dist/esm/cart/components/CartList.js +1 -1
  268. package/dist/esm/cart/components/shop-pay-button/ShopPayButton.liquid.js +2 -2
  269. package/dist/esm/cart/index.js +1 -1
  270. package/dist/esm/code/common/styles.js +1 -1
  271. package/dist/esm/collection/components/collection-description/CollectionDescription.js +1 -1
  272. package/dist/esm/collection/components/collection-description/CollectionDescription.liquid.js +6 -7
  273. package/dist/esm/collection/components/collection-paginator/CollectionPaginator.liquid.js +4 -3
  274. package/dist/esm/collection/components/collection-toolbar/CollectionToolbar.liquid.js +3 -3
  275. package/dist/esm/collection/index.js +1 -1
  276. package/dist/esm/collection/settings/collection-banner/configs/ui-v2.js +1 -1
  277. package/dist/esm/collection/settings/collection-description/configs/ui-v2.js +1 -1
  278. package/dist/esm/collection/settings/collection-paginator/configs/ui-v2.js +1 -1
  279. package/dist/esm/collection/settings/collection-title/configs/ui-v2.js +1 -1
  280. package/dist/esm/collection/settings/collection-toolbar/configs/ui-v2.js +1 -1
  281. package/dist/esm/countdown-timer/components/Countdown.liquid.js +21 -20
  282. package/dist/esm/countdown-timer/settings/configs/ui-v2.js +1 -1
  283. package/dist/esm/coupon/settings/configs/ui-v2.js +1 -1
  284. package/dist/esm/dialog/settings/configs/ui-v2.js +1 -1
  285. package/dist/esm/estimate-delivery/settings/configs/ui-v2.js +1 -1
  286. package/dist/esm/form/settings/contact/configs/ui-v2.js +1 -1
  287. package/dist/esm/form/settings/form-checkbox/configs/ui-v2.js +1 -1
  288. package/dist/esm/form/settings/form-dropdown/configs/ui-v2.js +1 -1
  289. package/dist/esm/form/settings/form-email/configs/ui-v2.js +1 -1
  290. package/dist/esm/form/settings/form-textarea/configs/ui-v2.js +1 -1
  291. package/dist/esm/form/settings/newsletter/configs/ui-v2.js +1 -1
  292. package/dist/esm/form/settings/submit-button/configs/ui-v2.js +1 -1
  293. package/dist/esm/form/settings/text-field/configs/ui-v2.js +1 -1
  294. package/dist/esm/grid/components/row/Row.js +1 -1
  295. package/dist/esm/grid/components/row/Row.liquid.js +10 -5
  296. package/dist/esm/grid/components/section/Section.js +1 -1
  297. package/dist/esm/grid/components/section/lazyload/LazySectionWrapper.js +1 -0
  298. package/dist/esm/grid/components/section/lazyload/lazyInteractionTrigger.js +1 -0
  299. package/dist/esm/grid/components/section/lazyload/lazySectionCoordinator.js +1 -0
  300. package/dist/esm/grid/index.js +1 -1
  301. package/dist/esm/grid/next.js +1 -1
  302. package/dist/esm/grid/settings/configs/row/ui-v2.js +1 -1
  303. package/dist/esm/grid/settings/configs/section/ui-v2.js +1 -1
  304. package/dist/esm/header/components/kind/basic/index.js +1 -1
  305. package/dist/esm/header/components/kind/modern/index.js +1 -1
  306. package/dist/esm/header/index.js +1 -1
  307. package/dist/esm/heading/next.js +1 -1
  308. package/dist/esm/heading/settings/configs/ui-v2.js +1 -1
  309. package/dist/esm/headless.js +1 -0
  310. package/dist/esm/helpers.js +1 -1
  311. package/dist/esm/hero-banner/common/helpers.js +1 -1
  312. package/dist/esm/hero-banner/components/HeroBanner.liquid.js +5 -5
  313. package/dist/esm/hero-banner/index.js +1 -1
  314. package/dist/esm/hero-banner/settings/configs/ui-v2.js +1 -1
  315. package/dist/esm/icon/settings/configs/ui-v2.js +1 -1
  316. package/dist/esm/icon-list/settings/configs/ui-v2.js +1 -1
  317. package/dist/esm/icon-list-hoz/settings/configs/uiV2.js +1 -1
  318. package/dist/esm/icon-list-v2/components/IconList.liquid.js +3 -3
  319. package/dist/esm/icon-list-v2/settings/configs/ui-v2.js +1 -1
  320. package/dist/esm/image/common/const.js +1 -0
  321. package/dist/esm/image/common/helpers.js +2 -2
  322. package/dist/esm/image/next.js +1 -1
  323. package/dist/esm/image/settings/configs/ui-v2.js +1 -1
  324. package/dist/esm/image-comparison/common/classes.js +1 -1
  325. package/dist/esm/image-comparison/components/CompareImage.liquid.js +5 -5
  326. package/dist/esm/image-comparison/components/ImageComparison.js +1 -1
  327. package/dist/esm/image-comparison/components/ImageComparison.liquid.js +3 -3
  328. package/dist/esm/image-comparison/settings/configs/ui-v2.js +1 -1
  329. package/dist/esm/index.js +1 -1
  330. package/dist/esm/index.liquid.js +1 -1
  331. package/dist/esm/line/settings/configs/ui-v2.js +1 -1
  332. package/dist/esm/marquee/components/Marquee.liquid.js +21 -21
  333. package/dist/esm/marquee/settings/configs/child-image-template.js +1 -1
  334. package/dist/esm/marquee/settings/configs/ui-v2.js +1 -1
  335. package/dist/esm/modal/components/Modal.js +1 -1
  336. package/dist/esm/modal/index.js +1 -1
  337. package/dist/esm/post-purchase/callout-banner/index.js +1 -1
  338. package/dist/esm/post-purchase/link/components/PostPurchaseLink.js +1 -1
  339. package/dist/esm/post-purchase/link/settings/configs/settings.js +1 -1
  340. package/dist/esm/post-purchase/link/settings/configs/ui-v2.js +1 -1
  341. package/dist/esm/post-purchase/product/components/ProductPrice.js +1 -1
  342. package/dist/esm/post-purchase/product/components/ProductQuantity.js +1 -1
  343. package/dist/esm/post-purchase/product/components/product-image/FeatureImage.js +1 -1
  344. package/dist/esm/post-purchase/product/components/product-image/carousel-post-purchase/CarouselWrapperPostPurchase.js +1 -1
  345. package/dist/esm/post-purchase/product/components/product-image/layouts/OnlyGalleryImage.js +1 -1
  346. package/dist/esm/post-purchase/product/components/product-offer/components/ProductOfferItem.js +1 -1
  347. package/dist/esm/post-purchase/product/components/product-offer/context/PrdOfferSubscriptionPresenceContext.js +2 -0
  348. package/dist/esm/post-purchase/product/components/product-offer/helpers/scanSubscriptionBlocks.js +1 -0
  349. package/dist/esm/post-purchase/product/components/product-offer/hooks/useProductOfferSubscriptionBlocksObserver.js +1 -0
  350. package/dist/esm/post-purchase/product/components/product-subscription/hooks/useSubscriptionVisibility.js +1 -1
  351. package/dist/esm/post-purchase/product/components/product-variant/components/ProductVariant.js +1 -1
  352. package/dist/esm/post-purchase/product/components/product-variant/components/variants/Dropdown.js +1 -1
  353. package/dist/esm/post-purchase/product/components/product-variant/components/variants/DropdownOption.js +1 -1
  354. package/dist/esm/post-purchase/product/index.js +1 -1
  355. package/dist/esm/post-purchase/product/settings/product-quantity/configs/settings.js +1 -1
  356. package/dist/esm/post-purchase/product/settings/product-quantity/configs/ui-v2.js +1 -1
  357. package/dist/esm/post-purchase/text/components/Text.js +2 -2
  358. package/dist/esm/product/components/ProductImages.liquid.js +12 -12
  359. package/dist/esm/product/components/dynamic-checkout/Button.liquid.js +14 -14
  360. package/dist/esm/product/components/file-upload/UploadFile.liquid.js +3 -4
  361. package/dist/esm/product/components/file-upload/settings/configs/ui-v2.js +1 -1
  362. package/dist/esm/product/components/product-badge/ProductBadge.js +1 -1
  363. package/dist/esm/product/components/product-badge/ProductBadge.liquid.js +20 -20
  364. package/dist/esm/product/components/product-badge/common/attrs.js +1 -1
  365. package/dist/esm/product/components/product-badge/common/classes.js +1 -1
  366. package/dist/esm/product/components/product-badge/utils/injectBadgeStateExtras.js +1 -0
  367. package/dist/esm/product/components/product-badge/utils/renderBadgeILP.js +1 -1
  368. package/dist/esm/product/components/product-badge/utils/renderBadgeLiquid.js +5 -3
  369. package/dist/esm/product/components/product-bundle/ProductBundleDiscount.js +1 -1
  370. package/dist/esm/product/components/product-bundle/ProductBundleDiscount.liquid.js +8 -7
  371. package/dist/esm/product/components/product-bundle/setting/configs/ui-v2.js +1 -1
  372. package/dist/esm/product/components/product-button/ProductButton.liquid.js +14 -11
  373. package/dist/esm/product/components/product-button/common/helpers.js +1 -1
  374. package/dist/esm/product/components/product-button/hooks/useAddToCart.js +1 -1
  375. package/dist/esm/product/components/product-description/ProductDescription.js +1 -1
  376. package/dist/esm/product/components/product-description/ProductDescription.liquid.js +5 -6
  377. package/dist/esm/product/components/product-description/hooks/useGpDescription.js +1 -1
  378. package/dist/esm/product/components/product-discount-tag/ProductDiscountTag.js +1 -1
  379. package/dist/esm/product/components/product-discount-tag/ProductDiscountTag.liquid.js +8 -8
  380. package/dist/esm/product/components/product-images-v2/ProductImagesV2.liquid.js +27 -30
  381. package/dist/esm/product/components/product-images-v3/ProductImagesV3.liquid.js +27 -30
  382. package/dist/esm/product/components/product-images-v3/common/productFeaturedImage.js +1 -1
  383. package/dist/esm/product/components/product-images-v3/components/child/ProductFeatureVideo.js +1 -1
  384. package/dist/esm/product/components/product-images-v3/components/child/ProductFeaturedImageOnly.js +1 -1
  385. package/dist/esm/product/components/product-images-v3/components/child/ProductGalleryGrid.js +2 -2
  386. package/dist/esm/product/components/product-images-v3/components/feature-gallery/FeatureImageWithGallery.liquid.js +17 -16
  387. package/dist/esm/product/components/product-images-v3/components/gallery-grid/GalleryGrid.liquid.js +19 -16
  388. package/dist/esm/product/components/product-images-v3/components/lightbox/ProductImagesLightBox.js +1 -1
  389. package/dist/esm/product/components/product-images-v3/composables/getProductImagesClassName.js +1 -1
  390. package/dist/esm/product/components/product-list/ProductList.js +1 -1
  391. package/dist/esm/product/components/product-list/ProductList.liquid.js +18 -17
  392. package/dist/esm/product/components/product-list/ProductListCarouselItem.liquid.js +5 -6
  393. package/dist/esm/product/components/product-list/ProductListGridItem.liquid.js +7 -8
  394. package/dist/esm/product/components/product-list/ProductListGridLayout.liquid.js +9 -7
  395. package/dist/esm/product/components/product-list-v3/ProductList.js +1 -1
  396. package/dist/esm/product/components/product-list-v3/ProductList.liquid.js +20 -19
  397. package/dist/esm/product/components/product-list-v3/ProductListCarouselItem.liquid.js +6 -6
  398. package/dist/esm/product/components/product-list-v3/ProductListGridItem.liquid.js +7 -8
  399. package/dist/esm/product/components/product-list-v3/ProductListGridLayout.liquid.js +9 -7
  400. package/dist/esm/product/components/product-list-v3/common/helpers.js +1 -1
  401. package/dist/esm/product/components/product-list-v3/constants/index.js +1 -1
  402. package/dist/esm/product/components/product-list-v3/hooks/useCollectionQuery.js +1 -1
  403. package/dist/esm/product/components/product-list-v3/hooks/useMainRelatedProductQuery.js +1 -1
  404. package/dist/esm/product/components/product-list-v3/hooks/useProductRelatedQuery.js +1 -1
  405. package/dist/esm/product/components/product-list-v3/hooks/useProductsQuery.js +1 -1
  406. package/dist/esm/product/components/product-list-v3/hooks/useRelatedProductIDAssigned.js +1 -0
  407. package/dist/esm/product/components/product-price/ProductPrice.liquid.js +3 -3
  408. package/dist/esm/product/components/product-sku/Sku.js +1 -1
  409. package/dist/esm/product/components/product-sku/Sku.liquid.js +6 -5
  410. package/dist/esm/product/components/product-title/ProductTitle.liquid.js +5 -6
  411. package/dist/esm/product/components/product-variants/ProductVariants.liquid.js +48 -48
  412. package/dist/esm/product/components/product-variants/common/const.js +1 -1
  413. package/dist/esm/product/components/product-wrap/Product.liquid.js +5 -5
  414. package/dist/esm/product/components/product-wrap/hook/useProductQuery.js +1 -1
  415. package/dist/esm/product/index.js +1 -1
  416. package/dist/esm/product/settings/dynamic-checkout/configs/ui-v2.js +1 -1
  417. package/dist/esm/product/settings/product/configs/ui-v2.js +1 -1
  418. package/dist/esm/product/settings/product-badge/configs/ui-v2.js +1 -1
  419. package/dist/esm/product/settings/product-button/configs/ui-v2.js +1 -1
  420. package/dist/esm/product/settings/product-image-v2/configs/ui-v2.js +1 -1
  421. package/dist/esm/product/settings/product-image-v3/configs/setting-v2/ProductFeatureImage.js +1 -1
  422. package/dist/esm/product/settings/product-image-v3/configs/setting-v2/ProductGalleryImage.js +2 -2
  423. package/dist/esm/product/settings/product-image-v3/configs/ui-v2.js +1 -1
  424. package/dist/esm/product/settings/product-list/configs/ui-v2.js +1 -1
  425. package/dist/esm/product/settings/product-list-v3/configs/ui-v2.js +1 -1
  426. package/dist/esm/product/settings/product-properties/configs/ui-v2.js +1 -1
  427. package/dist/esm/product/settings/product-quantity/configs/ui-v2.js +1 -1
  428. package/dist/esm/product/settings/product-title/configs/ui-v2.js +1 -1
  429. package/dist/esm/product/settings/product-variant/configs/ui-v2.js +1 -1
  430. package/dist/esm/product/settings/product-vendor/configs/ui-v2.js +1 -1
  431. package/dist/esm/product/settings/product-view-more/configs/ui-v2.js +1 -1
  432. package/dist/esm/sticky/common/classes.js +1 -1
  433. package/dist/esm/sticky/components/Sticky.liquid.js +11 -12
  434. package/dist/esm/sticky/hooks/useSticky.js +1 -1
  435. package/dist/esm/sticky/settings/configs/ui-v2.js +1 -1
  436. package/dist/esm/stock-counter/settings/configs/ui-v2.js +1 -1
  437. package/dist/esm/tab/components/Tabs.liquid.js +12 -11
  438. package/dist/esm/tab/settings/configs/ui-v2.js +1 -1
  439. package/dist/esm/text/components/Text.liquid.js +3 -3
  440. package/dist/esm/text/next.js +1 -1
  441. package/dist/esm/text/settings/configs/ui-v2.js +1 -1
  442. package/dist/esm/third-party/components/AppstleLoyaltyRewardProgram.js +2 -0
  443. package/dist/esm/third-party/components/AppstleLoyaltyRewardProgram.liquid.js +16 -0
  444. package/dist/esm/third-party/components/BonySubscriptionsApp.liquid.js +11 -4
  445. package/dist/esm/third-party/components/EssentPreorderBackInStock.js +2 -0
  446. package/dist/esm/third-party/components/EssentPreorderBackInStock.liquid.js +8 -0
  447. package/dist/esm/third-party/components/SubscribfySubscriptionsApp.js +2 -0
  448. package/dist/esm/third-party/components/SubscribfySubscriptionsApp.liquid.js +1 -0
  449. package/dist/esm/third-party/components/WcWishlistBackInStock.liquid.js +19 -1
  450. package/dist/esm/third-party/configs/AppstleLoyaltyRewardProgram.js +1 -0
  451. package/dist/esm/third-party/configs/EssentPreorderBackInStock.js +1 -0
  452. package/dist/esm/third-party/configs/SubscribfySubscriptionsApp.js +1 -0
  453. package/dist/esm/third-party/configs/WcWishlistBackInStock.js +1 -1
  454. package/dist/esm/third-party/index.js +1 -1
  455. package/dist/esm/third-party/next.js +1 -1
  456. package/dist/esm/third-party/settings/AppstleLoyaltyRewardProgram/index.js +4 -0
  457. package/dist/esm/third-party/settings/AppstleLoyaltyRewardProgram/uiV2.js +1 -0
  458. package/dist/esm/third-party/settings/EssentPreorderBackInStock/index.js +4 -0
  459. package/dist/esm/third-party/settings/EssentPreorderBackInStock/uiV2.js +1 -0
  460. package/dist/esm/third-party/settings/SubscribfySubscriptionsApp/index.js +4 -0
  461. package/dist/esm/third-party/settings/SubscribfySubscriptionsApp/uiV2.js +1 -0
  462. package/dist/esm/third-party/settings/WcWishlistBackInStock/index.js +5 -2
  463. package/dist/esm/video/common/helpers.js +1 -1
  464. package/dist/esm/video/components/LiteVimeoEmbed.liquid.js +3 -2
  465. package/dist/esm/video/components/LiteYouTubeEmbed.liquid.js +14 -13
  466. package/dist/esm/video/hooks/useLiteYoutubeEmbed.js +1 -1
  467. package/dist/types/index.d.ts +266 -29
  468. package/package.json +5 -5
  469. package/dist/cjs/modal/components/ZoomButton.js +0 -2
  470. package/dist/cjs/product/components/product-images-v3/components/child/ProductImagesLightBoxPreview.js +0 -1
  471. package/dist/cjs/product/components/product-images-v3/components/lightbox/LightBoxCarousel.js +0 -2
  472. package/dist/cjs/product/components/product-images-v3/components/lightbox/LightBoxGalleryCarousel.js +0 -2
  473. package/dist/cjs/product/components/product-images-v3/components/lightbox/LightBoxImageZoom.js +0 -2
  474. package/dist/cjs/product/components/product-images-v3/components/lightbox/constants.js +0 -1
  475. package/dist/esm/modal/components/ZoomButton.js +0 -2
  476. package/dist/esm/product/components/product-images-v3/components/child/ProductImagesLightBoxPreview.js +0 -1
  477. package/dist/esm/product/components/product-images-v3/components/lightbox/LightBoxCarousel.js +0 -2
  478. package/dist/esm/product/components/product-images-v3/components/lightbox/LightBoxGalleryCarousel.js +0 -2
  479. package/dist/esm/product/components/product-images-v3/components/lightbox/LightBoxImageZoom.js +0 -2
  480. package/dist/esm/product/components/product-images-v3/components/lightbox/constants.js +0 -1
@@ -1,20 +1,20 @@
1
- import{isLocalEnv as t,baseAssetURL as s,template as a}from"@gem-sdk/core";import{createClass as i,createStateOrContext as e,Liquid as o,LiquidFor as n,If as l}from"@gem-sdk/system";import{getSettingPreloadData as r}from"../../../helpers.js";import{getButtonClasses as d}from"./common/classes.js";import{getButtonStyles as p}from"./common/styles.js";let m=({setting:m,advanced:c,styles:u,builderProps:y,className:g=""})=>{let _=i({...!!g&&{[g]:!0},...d({styles:u,uid:y?.uid})}),f=p({styles:u,uid:y?.uid}),$=e({setting:{label:m?.label},totalVariant:"{{total_combinations}}"});return a`
2
- ${o("{%- assign total_combinations = 1 -%}")}
3
- ${n("option in product.options_with_values","{%- assign total_combinations = total_combinations | times: option.values.size -%}")}
4
- ${o(`
1
+ import{dataStringify as t,isLocalEnv as s,baseAssetURL as a,template as i}from"@gem-sdk/core";import{createClass as e,createStateOrContext as o,Liquid as n,LiquidFor as r,If as l}from"@gem-sdk/system";import{getSettingPreloadData as p}from"../../../helpers.js";import{getButtonClasses as d}from"./common/classes.js";import{getButtonStyles as m}from"./common/styles.js";let c=({setting:c,advanced:u,styles:y,builderProps:_,className:g=""})=>{let f=e({...!!g&&{[g]:!0},...d({styles:y,uid:_?.uid})}),$=m({styles:y,uid:_?.uid}),v=o({setting:{label:c?.label},totalVariant:"{{total_combinations}}"});return i`
2
+ ${n("{%- assign total_combinations = 1 -%}")}
3
+ ${r("option in product.options_with_values","{%- assign total_combinations = total_combinations | times: option.values.size -%}")}
4
+ ${n(`
5
5
  {%- liquid
6
6
  assign inventory_quantity = variant.inventory_quantity | default: 0
7
7
  assign supported_payment_methods = shop.enabled_payment_types
8
8
  -%}
9
9
  `)}
10
- <gp-product-dynamic data-id="${y?.uid}" data-translate-label='${m?.label}' class="${c?.cssClass}" gp-data='${JSON.stringify($).replaceAll("'","&#039;")}
11
- '>
12
- <div class="${_}">
13
- {{ form | payment_button }}
14
- </div>
15
- {% style %}
16
- ${f}
17
- {% endstyle %}
10
+ <gp-product-dynamic data-id="${_?.uid}" data-translate-label='${c?.label}' class="${u?.cssClass}">
11
+ <script gp-data type="application/json">${t(v)}</script>
12
+ <div class="${f}">
13
+ {{ form | payment_button }}
14
+ </div>
15
+ {% style %}
16
+ ${$}
17
+ {% endstyle %}
18
18
  </gp-product-dynamic>
19
- ${l(t,`<script ${r('class="gps-link" delay',"src")}="{{ 'gp-product-dynamic-v7-5.js' | asset_url }}" defer="defer"></script>`,`<script ${r('class="gps-link" delay',"src")}="${s}/assets-v2/gp-product-dynamic-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}" defer="defer"></script>`)}
20
- `};export{m as default};
19
+ ${l(s,`<script ${p('class="gps-link" delay',"src")}="{{ 'gp-product-dynamic-v7-5.js' | asset_url }}" defer="defer"></script>`,`<script ${p('class="gps-link" delay',"src")}="${a}/assets-v2/gp-product-dynamic-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}" defer="defer"></script>`)}
20
+ `};export{c as default};
@@ -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 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 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 S,createContainerStyles as h,createWrapContentWidthStyles as k,createContentWithStyles as q,createIconContainerStyles as w,createIconContentStyles as F}from"./common/style.js";import{getInputAttr as O}from"./common/attr.js";import{removeHoverStyles as x,getDisplayText as R}from"./common/helpers.js";let I=({setting:I,styles:P,builderProps:C,pageContext:J})=>{let L=t(v(I,C?.uid)),N=d({...x(E(I,P),P?.enableHoverEffect)}),U=t(f(P)),V=d({...x(H(P),P?.enableHoverEffect)}),_=t(m()),z=t(p()),A=t($()),B=t(n()),D=d(S()),G=t(u()),K=t(g()),M=t(y("gp-flex gp-items-center")),Q=o({...O(I?.isRequired,I?.numberOfFiles)}),T=d({...x(h(P?.align,P?.textColor),P?.enableHoverEffect)}),W=d({...x(k(I),P?.enableHoverEffect)}),X=t(b(C?.uid)),Y=d({...x(q(I,P),P?.enableHoverEffect)}),Z=d({...x(w(I),P?.enableHoverEffect)}),ee=t(j()),es=d({...x(F(I,P),P?.enableHoverEffect)}),ei=R("Liquid",{uid:C?.uid,setting:I,styles:P,pageContext:J}),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 S,createContainerStyles as h,createWrapContentWidthStyles as k,createContentWithStyles as q,createIconContainerStyles as w,createIconContentStyles as F}from"./common/style.js";import{getInputAttr as O}from"./common/attr.js";import{removeHoverStyles as x,getDisplayText as R}from"./common/helpers.js";let I=({setting:I,styles:P,builderProps:C,pageContext:J})=>{let L=t(v(I,C?.uid)),N=d({...x(E(I,P),P?.enableHoverEffect)}),U=t(f(P)),V=d({...x(H(P),P?.enableHoverEffect)}),_=t(p()),z=t(m()),A=t($()),B=t(n()),D=d(S()),G=t(u()),K=t(g()),M=t(y("gp-flex gp-items-center")),Q=o({...O(I?.isRequired,I?.numberOfFiles)}),T=d({...x(h(P?.align,P?.textColor),P?.enableHoverEffect)}),W=d({...x(k(I),P?.enableHoverEffect)}),X=t(b(C?.uid)),Y=d({...x(q(I,P),P?.enableHoverEffect)}),Z=d({...x(w(I),P?.enableHoverEffect)}),ee=t(j()),es=d({...x(F(I,P),P?.enableHoverEffect)}),ei=R("Liquid",{uid:C?.uid,setting:I,styles:P,pageContext:J}),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 +1 @@
1
- let t=[{label:"Layout",controls:[{setting:{id:"fileUploadLayout"},layout:"vertical",options:{isComboLayout:!0},controls:[{label:"Icon position",setting:{id:"positionVertical"},conditionDisplay:"fileUploadLayout === 'vertical'"},{label:"Icon position",setting:{id:"positionHorizontal"},conditionDisplay:"fileUploadLayout !== 'vertical'"},{label:"Arrange content",setting:{id:"arrangeContent"}},{type:"control",label:"Spacing",setting:{id:"spacing"}}]}]},{label:"Upload setting",controls:[{type:"control",label:"Required",setting:{id:"isRequired"}},{type:"control",label:"Click image to preview",setting:{id:"isShowPreviewImage"}},{type:"control",label:"Number of files",setting:{id:"numberOfFiles"}}]},{controls:[{label:"Icon",setting:{id:"iconVisible"},options:{labelVariant:"primary",toggleStyle:"switch"}},{type:"control",label:"Choose icon",setting:{id:"iconSvg"},conditionDisplay:"iconVisible === true"},{type:"control",label:"Size",setting:{id:"iconSize"},conditionDisplay:"iconVisible === true"},{type:"control",label:"Position",setting:{id:"iconAlignVertical"},conditionDisplay:'iconVisible === true && fileUploadLayout === "vertical"'},{type:"control",label:"Position",setting:{id:"iconAlignHorizontal"},conditionDisplay:'iconVisible === true && fileUploadLayout === "horizontal"'}]},{label:"Size",controls:[{id:"Width",label:"Width",controlConfig:{id:"width",type:"dropdown:input",label:"Width",inputType:"number",units:["px","%"],hideUnit:!1,linkWithSetting:{name:"size",field:"width"},displayOptions:[{label:"Fit content",value:"Auto",showValue:!0},{label:"Full",value:"100%",showValue:!0},{label:"Small",value:"100px",showValue:!0},{label:"Medium",value:"200px",showValue:!0},{label:"Large",value:"300px",showValue:!0}]},layout:"horizontal"},{id:"Height",label:"Height",controlConfig:{id:"height",type:"dropdown:input",label:"height",inputType:"number",units:["px"],hideUnit:!1,linkWithSetting:{name:"size",field:"height"},displayOptions:[{label:"Fit content",value:"Auto",showValue:!0},{label:"Small",value:"100px",showValue:!0},{label:"Medium",value:"200px",showValue:!0},{label:"Large",value:"300px",showValue:!0}]},layout:"horizontal"},{label:"Padding",controlConfig:{id:"padding",type:"padding-v2",linkWithSetting:{name:"paddingSize",field:"padding"},compoDefaultValue:{desktop:{default:{type:"custom",top:"12px",bottom:"12px",left:"32px",right:"32px"}}}}}]},{label:"Background",controls:[{label:"Color",setting:{id:"backgroundColor",state:"normal"}}]},{label:"Shape",controls:[{label:"Border",setting:{id:"borderBtn",state:"normal"}},{label:"Corner",setting:{id:"roundedBtn",state:"normal"}},{label:"Shadow",setting:{id:"boxShadowBtn",state:"normal"},options:{updateFields:[{field:"normal.enable",settingId:"hasBoxShadowBtn",state:"normal"}]},controlChangeTrigger:{settings:[{condition:"boxShadowBtn.normal.enable === true",source:["boxShadowBtn","hasBoxShadowBtn"],action:{controlId:"hasBoxShadowBtn",groupType:"style",controlType:"style",state:"normal",newValue:!0}},{condition:"boxShadowBtn.normal.enable === false",source:["boxShadowBtn","hasBoxShadowBtn"],action:{controlId:"hasBoxShadowBtn",groupType:"style",controlType:"style",state:"normal",newValue:!1}}],options:{noRecordHistory:!0}}}]},{label:"Text style",controls:[{type:"combo",label:"Content",iconName:"polaris-text-block",getValueFromSettingID:"textContent",isHideClear:!0,popoverLabel:"Content",controls:[{label:"Content",options:{fullWidth:!0},layout:"vertical",setting:{id:"textContent"}}]},{type:"control",setting:{id:"typo"},options:{updateFields:[{field:"attrs.textAlign",settingId:"textAlign"},{field:"attrs.color",settingId:"textColor",state:"normal"}]},layout:"vertical",controlChangeTrigger:{settings:[{action:{controlId:"textColor",valueFromField:"attrs.color",groupType:"style",controlType:"style",removeDevice:!0,state:"normal"}},{action:{controlId:"textAlign",valueFromField:"attrs.textAlign",groupType:"style",controlType:"style"}}],options:{noRecordHistory:!0}}}]},{label:"Effect",controls:[{label:"Hover",type:"combo",setting:{id:"enableHoverEffect"},fixedValue:"Styled",iconName:"polaris-check-hover",popoverLabel:"Hover",state:"hover",controls:[{label:"Background",type:"group",controls:[{label:"Color",type:"control",setting:{id:"backgroundColor",state:"hover"}}]},{label:"Text & icon",type:"group",controls:[{label:"Text color",setting:{id:"textColor",state:"hover"}}]},{label:"Shape",type:"group",controls:[{label:"Border",setting:{id:"borderBtn",state:"hover"}},{label:"Corner",setting:{id:"roundedBtn",state:"hover"}},{label:"Shadow",setting:{id:"boxShadowBtn",state:"hover"}}]}],controlChangeTrigger:{settings:[{action:{controlId:"backgroundColor",groupType:"style",controlType:"style",state:"hover",newValue:"#DDDDDD"}}]}}]},{controls:[{label:"Align",conditionEnable:'!size.width?.includes("%") || (parseInt(size.width) < 100 && size.width?.includes("%"))',setting:{id:"align"},options:{labelVariant:"primary",fullWidth:!0,disableMessage:"Horizontal alignment is disabled when the width is set to 100% or greater"}}]}];export{t as SettingUIV2};
1
+ let t=[{label:"Layout",controls:[{setting:{id:"fileUploadLayout"},layout:"vertical",options:{isComboLayout:!0},controls:[{label:"Icon position",setting:{id:"positionVertical"},conditionDisplay:"fileUploadLayout === 'vertical'"},{label:"Icon position",setting:{id:"positionHorizontal"},conditionDisplay:"fileUploadLayout !== 'vertical'"},{label:"Arrange content",setting:{id:"arrangeContent"}},{type:"control",label:"Spacing",setting:{id:"spacing"}}]}]},{label:"Upload setting",controls:[{type:"control",label:"Required",setting:{id:"isRequired"}},{type:"control",label:"Click image to preview",setting:{id:"isShowPreviewImage"}},{type:"control",label:"Number of files",setting:{id:"numberOfFiles"}}]},{controls:[{label:"Icon",setting:{id:"iconVisible"},options:{labelVariant:"primary",toggleStyle:"switch"}},{type:"control",label:"Choose icon",setting:{id:"iconSvg"},conditionDisplay:"iconVisible === true"},{type:"control",label:"Size",setting:{id:"iconSize"},conditionDisplay:"iconVisible === true"},{type:"control",label:"Position",setting:{id:"iconAlignVertical"},conditionDisplay:'iconVisible === true && fileUploadLayout === "vertical"'},{type:"control",label:"Position",setting:{id:"iconAlignHorizontal"},conditionDisplay:'iconVisible === true && fileUploadLayout === "horizontal"'}]},{label:"Size",hiddenOnMobile:!0,controls:[{id:"Width",label:"Width",controlConfig:{id:"width",type:"dropdown:input",label:"Width",inputType:"number",units:["px","%"],hideUnit:!1,linkWithSetting:{name:"size",field:"width"},displayOptions:[{label:"Fit content",value:"Auto",showValue:!0},{label:"Full",value:"100%",showValue:!0},{label:"Small",value:"100px",showValue:!0},{label:"Medium",value:"200px",showValue:!0},{label:"Large",value:"300px",showValue:!0}]},layout:"horizontal"},{id:"Height",label:"Height",controlConfig:{id:"height",type:"dropdown:input",label:"height",inputType:"number",units:["px"],hideUnit:!1,linkWithSetting:{name:"size",field:"height"},displayOptions:[{label:"Fit content",value:"Auto",showValue:!0},{label:"Small",value:"100px",showValue:!0},{label:"Medium",value:"200px",showValue:!0},{label:"Large",value:"300px",showValue:!0}]},layout:"horizontal"},{label:"Padding",controlConfig:{id:"padding",type:"padding-v2",linkWithSetting:{name:"paddingSize",field:"padding"},compoDefaultValue:{desktop:{default:{type:"custom",top:"12px",bottom:"12px",left:"32px",right:"32px"}}}}}]},{label:"Background",controls:[{label:"Color",setting:{id:"backgroundColor",state:"normal"}}]},{label:"Shape",hiddenOnMobile:!0,controls:[{label:"Border",setting:{id:"borderBtn",state:"normal"}},{label:"Corner",setting:{id:"roundedBtn",state:"normal"}},{label:"Shadow",setting:{id:"boxShadowBtn",state:"normal"},options:{updateFields:[{field:"normal.enable",settingId:"hasBoxShadowBtn",state:"normal"}]},controlChangeTrigger:{settings:[{condition:"boxShadowBtn.normal.enable === true",source:["boxShadowBtn","hasBoxShadowBtn"],action:{controlId:"hasBoxShadowBtn",groupType:"style",controlType:"style",state:"normal",newValue:!0}},{condition:"boxShadowBtn.normal.enable === false",source:["boxShadowBtn","hasBoxShadowBtn"],action:{controlId:"hasBoxShadowBtn",groupType:"style",controlType:"style",state:"normal",newValue:!1}}],options:{noRecordHistory:!0}}}]},{label:"Text style",controls:[{type:"combo",label:"Content",iconName:"polaris-text-block",getValueFromSettingID:"textContent",isHideClear:!0,popoverLabel:"Content",controls:[{label:"Content",options:{fullWidth:!0},layout:"vertical",setting:{id:"textContent"}}]},{type:"control",setting:{id:"typo"},options:{updateFields:[{field:"attrs.textAlign",settingId:"textAlign"},{field:"attrs.color",settingId:"textColor",state:"normal"}]},layout:"vertical",controlChangeTrigger:{settings:[{action:{controlId:"textColor",valueFromField:"attrs.color",groupType:"style",controlType:"style",removeDevice:!0,state:"normal"}},{action:{controlId:"textAlign",valueFromField:"attrs.textAlign",groupType:"style",controlType:"style"}}],options:{noRecordHistory:!0}}}]},{label:"Effect",hiddenOnMobile:!0,controls:[{label:"Hover",type:"combo",setting:{id:"enableHoverEffect"},fixedValue:"Styled",iconName:"polaris-check-hover",popoverLabel:"Hover",state:"hover",controls:[{label:"Background",type:"group",controls:[{label:"Color",type:"control",setting:{id:"backgroundColor",state:"hover"}}]},{label:"Text & icon",type:"group",controls:[{label:"Text color",setting:{id:"textColor",state:"hover"}}]},{label:"Shape",type:"group",controls:[{label:"Border",setting:{id:"borderBtn",state:"hover"}},{label:"Corner",setting:{id:"roundedBtn",state:"hover"}},{label:"Shadow",setting:{id:"boxShadowBtn",state:"hover"}}]}],controlChangeTrigger:{settings:[{action:{controlId:"backgroundColor",groupType:"style",controlType:"style",state:"hover",newValue:"#DDDDDD"}}]}}]},{controls:[{label:"Align",hiddenOnMobile:!0,conditionEnable:'!size.width?.includes("%") || (parseInt(size.width) < 100 && size.width?.includes("%"))',setting:{id:"align"},options:{labelVariant:"primary",fullWidth:!0,disableMessage:"Horizontal alignment is disabled when the width is set to 100% or greater"}}]}];export{t as SettingUIV2};
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import{jsxs as e,jsx as s}from"react/jsx-runtime";import{useI18nStore as m,useProduct as o,useCurrentVariant as t,useMoneyFormat as r,useCurrentDevice as l,useProductBundleDiscount as i,useEditorMode as a,useRenderMode as c,usePageType as n,filterToolbarPreview as d}from"@gem-sdk/core";import{getBadgeContent as p,getIsNoDiscountState as y}from"./utils/common.js";import"./constants.js";import f from"../../../common/components/NoDataState.js";import h from"../../../common/components/TooltipHover.js";import{createClass as N,createStyle as j,createAttr as u,If as v}from"@gem-sdk/system";import{getEditTooltipAttrs as g,getSubWrapperAttrs as T,getContainerAttrs as k,getTextContentAttrs as x,getImageAttr as C}from"./common/attrs.js";import{getContainerClasses as S,getWrapperClasses as b,getSubWrapperClass as w,getTextContainerClasses as A,getTextWrapperClasses as B,getTextContentClasses as D,getImageContainerClasses as H,getImageClasses as I}from"./common/classes.js";import{getContainerStyle as M,getSubWrapperStyle as P,getContentStyleInternal as q,getTextBadgeWrapperStyles as z,getTextContentStyle as E,getImageContainerStyles as F}from"./common/styles.js";let G=G=>{let{t:J}=m(),{setting:K,styles:L,children:O,builderAttrs:Q,...R}=G,U=o(),V=t(),{moneyFormat:W}=r(),X=l(),{useProductCompareAtPrice:Y}=i(),Z=R?.["bundle-item"],$=a(),{isEditMode:_}=c(),ee="STATIC"===n(),es=p({detail:U,currentVariant:V,bundleItem:Z,useProductCompareAtPrice:Y},K?.displayContent,W),em=y({props:G,product:U,currentVariant:V,moneyFormat:W,useProductCompareAtPrice:Y}),eo=N({...S({mode:$,isInstant:ee,product:U,currentVariant:V,props:G})}),et=j({...M(G)}),er=u({...g(G)}),el=N({...b(G)}),ei=N({...w(G,X)}),ea=j({...P({props:G,product:U,currentVariant:V,isEditMode:_})}),ec=u({...T(G,U)}),en=q(G),ed=N({...A()}),ep=u({...k(G)}),ey=N({...B()}),ef=j({...z({setting:K,styles:L})}),eh=N({...D(L)}),eN=j({...E({setting:K,styles:L})}),ej=u({...x()}),eu=N({...H()}),ev=j({...F({setting:K,styles:L})}),eg=N({...I()}),eT=u({...C({setting:K})});return U?e("div",{...ep,style:et,className:eo,children:[v(_&&em,s(h,{...er,children:s(f,{...Q,elementType:"secondary",description:J("No discount"),rawMode:!0})}),s("div",{className:el,children:e("div",{...ec,className:ei,style:ea,children:[s("style",{children:en}),v(K?.shape!=="image",s("div",{className:ed,children:s("div",{className:ey,style:ef,children:s("pre",{...ej,className:eh,style:eN,children:es})})}),s("div",{className:eu,style:ev,children:s("img",{...eT,className:eg,alt:""})}))]})})),d(O,!0)]}):null};export{G as default};
2
+ import{jsxs as e,jsx as s}from"react/jsx-runtime";import{useI18nStore as m,useProduct as o,useCurrentVariant as t,useMoneyFormat as r,useCurrentDevice as i,useProductBundleDiscount as l,useEditorMode as a,useRenderMode as c,usePageType as n,useSafeGetProductListSettings as d,filterToolbarPreview as p}from"@gem-sdk/core";import{getBadgeContent as h,getIsNoDiscountState as y}from"./utils/common.js";import"./constants.js";import f from"../../../common/components/NoDataState.js";import N from"../../../common/components/TooltipHover.js";import{createClass as j,createStyle as u,createAttr as g,If as v}from"@gem-sdk/system";import{getEditTooltipAttrs as T,getSubWrapperAttrs as k,getContainerAttrs as x,getTextContentAttrs as C,getImageAttr as H}from"./common/attrs.js";import{getContainerClasses as S,getWrapperClasses as b,getSubWrapperClass as w,getTextContainerClasses as A,getTextWrapperClasses as B,getTextContentClasses as D,getImageContainerClasses as I,getImageClasses as M}from"./common/classes.js";import{getContainerStyle as P,getSubWrapperStyle as q,getContentStyleInternal as z,getTextBadgeWrapperStyles as E,getTextContentStyle as F,getImageContainerStyles as G}from"./common/styles.js";let J=J=>{let{t:K}=m(),{setting:L,styles:O,children:Q,builderAttrs:R,...U}=J,V=o(),W=t(),{moneyFormat:X}=r(),Y=i(),{useProductCompareAtPrice:Z}=l(),$=U?.["bundle-item"],_=a(),{isEditMode:ee}=c(),es="STATIC"===n(),{settings:em}=d(),eo=em?.sameHeight,et=h({detail:V,currentVariant:W,bundleItem:$,useProductCompareAtPrice:Z},L?.displayContent,X),er=y({props:J,product:V,currentVariant:W,moneyFormat:X,useProductCompareAtPrice:Z}),ei=j({...S({mode:_,isInstant:es,product:V,currentVariant:W,props:J,isSameHeightInProductList:eo})}),el=u({...P(J)}),ea=g({...T(J,ee)}),ec=j({...b(J)}),en=j({...w(J,Y)}),ed=u({...q({props:J,product:V,currentVariant:W,isEditMode:ee})}),ep=g({...k(J,V)}),eh=z(J),ey=j({...A()}),ef=g({...x(J)}),eN=j({...B()}),ej=u({...E({setting:L,styles:O})}),eu=j({...D(O)}),eg=u({...F({setting:L,styles:O})}),ev=g({...C()}),eT=j({...I()}),ek=u({...G({setting:L,styles:O})}),ex=j({...M()}),eC=g({...H({setting:L})});return V?e("div",{...ef,style:el,className:ei,children:[v(ee&&er,s(N,{...ea,children:s(f,{...R,elementType:"secondary",description:K("No discount"),rawMode:!0})}),s("div",{className:ec,children:e("div",{...ep,className:en,style:ed,children:[s("style",{children:eh}),v(L?.shape!=="image",s("div",{className:ey,children:s("div",{className:eN,style:ej,children:s("pre",{...ev,className:eu,style:eg,children:et})})}),s("div",{className:eT,style:ek,children:s("img",{...eC,className:ex,alt:""})}))]})})),p(Q,!0)]}):null};export{J as default};
@@ -1,39 +1,39 @@
1
- import{dataStringify as e,sanitizeLiquid as t,RenderIf as s,template as i,isLocalEnv as r,baseAssetURL as a}from"@gem-sdk/core";import{getDynamicSourceLocales as o,getSettingPreloadData as c}from"../../../helpers.js";import{generateBadgeContent as n}from"./utils/generateLiquidContent.js";import{renderBadgeInFirstTime as p}from"./utils/renderBadgeLiquid.js";import{createClass as d,createStyle as l,createAttr as u,createStateOrContext as m}from"@gem-sdk/system";import{IS_LIQUID as g}from"./constants.js";import{getContainerStyle as y,getSubWrapperStyle as $,getContentStyleInternal as v,getTextBadgeWrapperStyles as f,getTextContentStyle as j,getImageContainerStyles as P}from"./common/styles.js";import{getContainerClasses as D,getWrapperClasses as V,getSubWrapperClass as S,getTextContainerClasses as b,getTextWrapperClasses as C,getTextContentClasses as I,getImageContainerClasses as T,getImageClasses as k}from"./common/classes.js";import{getSubWrapperAttrs as q,getContainerAttrs as A,getTextContentAttrs as E,getImageAttr as K}from"./common/attrs.js";import{checkDiscountContentProductBadge as N}from"./utils/common.js";import{ProductBadge as _}from"../../settings/product-badge/configs/translate.js";let h=h=>{let{styles:B,setting:L,builderProps:O,pageContext:Q}=h,w=L?.shape!=="image",G=w&&L?.displayContent?.trim()==="",J=N(L?.displayContent),x=d({...D({isInstant:!1,props:h})}),M=l({...y(h,g)}),R=d({...V(h)}),Y=d({...S(h)}),z=l({...$({props:h})}),F=u({...q(h)}),H=v(h),U=d({...b()}),W=u({...A(h)}),X=d({...C()}),Z=l({...f({setting:L,styles:B})}),ee=d({...I(B)}),et=l({...j({setting:L,styles:B})}),es=u({...E()}),ei=d({...T()}),er=l({...P({setting:L,styles:B})}),ea=d({...k()}),eo=u({...K({setting:L})}),ec=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:h.builderProps?.uid,productCreatedAt:'{{product.created_at | date: "%Y-%m-%d" }}',productTags:"{{ product.tags | join: \",\" | replace: '\"', '\\\"' | escape }}",isTextBadge:w}),{displayContent:en}=L??{},ep=o({val:en?.trim(),uid:O?.uid,settingId:_?.displayContent?.id,isLiquid:!0,pageContext:Q});return i`
1
+ import{sanitizeLiquid as t,RenderIf as e,template as s,isLocalEnv as i,baseAssetURL as r}from"@gem-sdk/core";import{getDynamicSourceLocales as a,getSettingPreloadData as o}from"../../../helpers.js";import{generateBadgeContent as n}from"./utils/generateLiquidContent.js";import{renderBadgeInFirstTime as c}from"./utils/renderBadgeLiquid.js";import{createClass as d,createStyle as p,createAttr as l,createStateOrContext as m}from"@gem-sdk/system";import{IS_LIQUID as u}from"./constants.js";import{getContainerStyle as g,getSubWrapperStyle as y,getContentStyleInternal as $,getTextBadgeWrapperStyles as v,getTextContentStyle as f,getImageContainerStyles as j}from"./common/styles.js";import{getContainerClasses as P,getWrapperClasses as S,getSubWrapperClass as D,getTextContainerClasses as V,getTextWrapperClasses as b,getTextContentClasses as h,getImageContainerClasses as C,getImageClasses as E}from"./common/classes.js";import{getSubWrapperAttrs as I,getContainerAttrs as L,getTextContentAttrs as k,getImageAttr as q}from"./common/attrs.js";import{checkDiscountContentProductBadge as B}from"./utils/common.js";import{injectBadgeStateExtras as K}from"./utils/injectBadgeStateExtras.js";import{ProductBadge as T}from"../../settings/product-badge/configs/translate.js";let _=_=>{let{styles:A,setting:N,builderProps:Q,pageContext:w}=_,x=N?.shape!=="image",G=x&&N?.displayContent?.trim()==="",H=B(N?.displayContent),O=d({...P({isInstant:!1,props:_})}),J=p({...g(_,u)}),M=d({...S(_)}),R=d({...D(_)}),Y=p({...y({props:_})}),z=l({...I(_)}),F=$(_),U=d({...V()}),W=l({...L(_)}),X=d({...b()}),Z=p({...v({setting:N,styles:A})}),tt=d({...h(A)}),te=p({...f({setting:N,styles:A})}),ts=l({...k()}),ti=d({...C()}),tr=p({...j({setting:N,styles:A})}),ta=d({...E()}),to=l({...q({setting:N})}),tn=m({minPrice:"{{ minPriceValue | escape }}",variantIDs:"{{ product.variants | map: 'id' | json | escape }}",variantInventoryQuantities:"{{ product.variants | map: 'inventory_quantity' | json | escape }}",amountDiscount:"{{ amountDiscountValue | escape }}",percentDiscount:"{{percentDiscountValue}}",price:"{{price}}",displayTrigger:N?.displayTrigger??[],uid:_.builderProps?.uid,productCreatedAt:"{{ product.created_at | date: '%Y-%m-%d' }}",isTextBadge:x,isSettingSameHeightProductList:"{{ isSettingSameHeightProductList }}"}),tc=K(JSON.stringify(tn)),{displayContent:td}=N??{},tp=a({val:td?.trim(),uid:Q?.uid,settingId:T?.displayContent?.id,isLiquid:!0,pageContext:w});return s`
2
2
  {% if product %}
3
- ${n(ep,Q?.isPreviewing)}
4
- ${p(L?.displayTrigger,!G,J)}
3
+ ${n(tp,w?.isPreviewing)}
4
+ ${c(N?.displayTrigger,!G,H)}
5
5
  <gp-product-badge
6
6
  ${{...W}}
7
- gp-data='${e(ec)}'
8
- class="${x} {{ className }}"
9
- style="${M}"
10
- data-display-content="${Q?.isPreviewing?ep:t(`{{${ep}}}`)}"
7
+ class="${O} {{ className }}"
8
+ style="${J}"
9
+ data-display-content="${w?.isPreviewing?tp:t(`{{${tp}}}`)}"
11
10
  >
12
- <div class="${R}">
11
+ <script gp-data type="application/json">${tc}</script>
12
+ <div class="${M}">
13
13
  <div
14
- ${{...F}}
15
- class="${Y}"
16
- style="${z}"
14
+ ${{...z}}
15
+ class="${R}"
16
+ style="${Y}"
17
17
  >
18
- <style>${H}</style>
19
- ${s(w,i`
18
+ <style>${F}</style>
19
+ ${e(x,s`
20
20
  <div class="${U}">
21
21
  <div
22
22
  class="${X}"
23
23
  style="${Z}"
24
24
  >
25
25
  <pre
26
- ${{...es}}
27
- class="${ee}"
28
- style="${et}"
26
+ ${{...ts}}
27
+ class="${tt}"
28
+ style="${te}"
29
29
  >{{ content | replace: percentDiscountKey, percentDiscountValue | replace: amountDiscountKey, amountDiscountValue | replace: inventoryQuantityKey, inventoryQuantityValue | replace: minPriceKey, minPriceValue }}</pre>
30
30
  </div>
31
- </div>`,i`<div class="${ei}" style="${er}">
32
- <img ${{...eo}} class="${ea}" alt="" />
31
+ </div>`,s`<div class="${ti}" style="${tr}">
32
+ <img ${{...to}} class="${ta}" alt="" />
33
33
  </div>`)}
34
34
  </div>
35
35
  </div>
36
36
  </gp-product-badge>
37
- ${s(r,`<script ${c('class="gps-link" delay',"src")}="{{ 'gp-product-badge-v7-5.js' | asset_url }}" defer="defer"></script>`,`<script ${c('class="gps-link" delay',"src")}="${a}/assets-v2/gp-product-badge-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}" defer="defer"></script>`)}
37
+ ${e(i,`<script ${o('class="gps-link" delay',"src")}="{{ 'gp-product-badge-v7-5.js' | asset_url }}" defer="defer"></script>`,`<script ${o('class="gps-link" delay',"src")}="${r}/assets-v2/gp-product-badge-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}" defer="defer"></script>`)}
38
38
  {% endif %}
39
- `};export{h as default};
39
+ `};export{_ as default};
@@ -1 +1 @@
1
- import{t}from"@gem-sdk/core";let e=({setting:t})=>({src:t?.image?.src,alt:t?.image?.alt,loading:"lazy"}),d=t=>{let{builderAttrs:e,builderProps:d}=t;return{...e,"data-id":d?.uid||"",id:`g-product-badge-${d?.uid}`,"gp-data-hidden":"false"}},i=e=>{let{setting:d}=e,i=d?.positionWithImage==="outside";return{enable:!0,text:t("Not be displayed when published"),position:i?"bottom":"right",width:"205px"}},r=(t,e)=>{let{builderProps:d}=t,i=e?e?.baseID?.replace("gid://shopify/Product/",""):"";return{"data-product-id":i||"",id:d?.uid||""}},a=()=>({id:"product-badge-content"});export{d as getContainerAttrs,i as getEditTooltipAttrs,e as getImageAttr,r as getSubWrapperAttrs,a as getTextContentAttrs};
1
+ import{t}from"@gem-sdk/core";let e=({setting:t})=>({src:t?.image?.src,alt:t?.image?.alt,loading:"lazy"}),d=t=>{let{builderAttrs:e,builderProps:d}=t;return{...e,"data-id":d?.uid||"",id:`g-product-badge-${d?.uid}`,"gp-data-hidden":"false"}},i=(e,d)=>{let{setting:i}=e,r=i?.positionWithImage==="outside";return{enable:!0,text:d&&t("Not be displayed when published"),position:r?"bottom":"right",width:"205px"}},r=(t,e)=>{let{builderProps:d}=t,i=e?e?.baseID?.replace("gid://shopify/Product/",""):"";return{"data-product-id":i||"",id:d?.uid||""}},a=()=>({id:"product-badge-content"});export{d as getContainerAttrs,i as getEditTooltipAttrs,e as getImageAttr,r as getSubWrapperAttrs,a as getTextContentAttrs};
@@ -1 +1 @@
1
- import{composeClasses as e,composeTypographyClassName as t}from"@gem-sdk/core";import{toggleBadge as s}from"../utils/renderBadgeILP.js";import{getAlignShape as r,getShapePlacementClass as g}from"../utils/common.js";let l=({mode:t,isInstant:r,product:g,currentVariant:l,props:p})=>{let{setting:i,builderProps:o}=p,n="gp-shrink-0 product-badge ",a=!t&&r?s(i?.displayTrigger,g,l):`${o?.uid}`,d=o?.builderData?.advanced?.cssClass||"";return a&&(n+=`${a} `),d&&(n+=`${d} `),o?.uid&&(n+=`${o?.uid} `),i?.positionWithImage==="inside"&&(n+="inside-image "),{...e(n)}},p=()=>({...e("gp-w-full gp-h-full gp-overflow-hidden product-badge-item")}),i=()=>({...e("gp-w-full gp-h-full gp-flex gp-items-center gp-justify-center gp-overflow-hidden")}),o=s=>{let r="gp-break-words gp-text-center ",g=t(s?.typo);return g&&(r+=`${g} `),{...e(r)}},n=()=>({...e("product-badge-item gp-w-full gp-h-full gp-overflow-hidden")}),a=()=>({...e("gp-object-cover gp-w-full gp-h-full gp-pointer-events-none")}),d=t=>{let{styles:s,setting:g}=t,{align:l}=s??{},p=g?.positionWithImage==="outside",i=p?"gp-flex ":"gp-h-full",o=r(l);return p&&o&&(i+=`${o} `),{...e(i)}},u=(t,s)=>{let{setting:r,style:l}=t,p=r?.positionWithImage==="inside",i=!p&&s?g(p,l,s):"gp-h-full";return{...e(i)}};export{l as getContainerClasses,a as getImageClasses,n as getImageContainerClasses,u as getSubWrapperClass,p as getTextContainerClasses,o as getTextContentClasses,i as getTextWrapperClasses,d as getWrapperClasses};
1
+ import{composeClasses as e,composeTypographyClassName as t}from"@gem-sdk/core";import{toggleBadge as r}from"../utils/renderBadgeILP.js";import{getAlignShape as s,getShapePlacementClass as g}from"../utils/common.js";let l=({mode:t,isInstant:s,product:g,currentVariant:l,props:i,isSameHeightInProductList:p})=>{let{setting:o,builderProps:a}=i,n="gp-shrink-0 product-badge ",d=!t&&s?r({triggers:o?.displayTrigger,productDetail:g,productVariant:l,isSameHeightInProductList:p}):`${a?.uid}`,u=a?.builderData?.advanced?.cssClass||"";return d&&(n+=`${d} `),u&&(n+=`${u} `),a?.uid&&(n+=`${a?.uid} `),o?.positionWithImage==="inside"&&(n+="inside-image "),{...e(n)}},i=()=>({...e("gp-w-full gp-h-full gp-overflow-hidden product-badge-item")}),p=()=>({...e("gp-w-full gp-h-full gp-flex gp-items-center gp-justify-center gp-overflow-hidden")}),o=r=>{let s="gp-break-words gp-text-center ",g=t(r?.typo);return g&&(s+=`${g} `),{...e(s)}},a=()=>({...e("product-badge-item gp-w-full gp-h-full gp-overflow-hidden")}),n=()=>({...e("gp-object-cover gp-w-full gp-h-full gp-pointer-events-none")}),d=t=>{let{styles:r,setting:g}=t,{align:l}=r??{},i=g?.positionWithImage==="outside",p=i?"gp-flex ":"gp-h-full",o=s(l);return i&&o&&(p+=`${o} `),{...e(p)}},u=(t,r)=>{let{setting:s,style:l}=t,i=s?.positionWithImage==="inside",p=!i&&r?g(i,l,r):"gp-h-full";return{...e(p)}};export{l as getContainerClasses,n as getImageClasses,a as getImageContainerClasses,u as getSubWrapperClass,i as getTextContainerClasses,o as getTextContentClasses,p as getTextWrapperClasses,d as getWrapperClasses};
@@ -0,0 +1 @@
1
+ let t=t=>{let e=t.slice(0,-1);return`${e},"productTags":{{ product.tags | json }}}`};export{t as injectBadgeStateExtras};
@@ -1 +1 @@
1
- import{CompareType as e}from"../types.js";let t=(e,t,o)=>{let n=r(e,t,o);return n?"":"!gp-hidden"},r=(e,t,r)=>{if(!r)return;let o=t?.createdAt||"",n=t?.tags||[],p={...r,product_created_at:o,product_tags:n},d=e?.map(e=>{switch(e?.triggerEvent){case"inventory_status":return i(p,e);case"discount_price":return a(p,e);case"price_range":return c(p,e);case"creation_date":return u(p,e);case"product_tags":return m(p,e);default:return!1}});return d?.every(e=>!0===e)},o=(e,t,r)=>{switch(r){case"exact":return e===t.from;case"above":return e>t.from;case"below":return e<t.from;case"exact_or_above":return e>=t.from;case"exact_or_below":return e<=t.from;case"between":return e>=t.from&&e<=t.to;default:return!1}},n=t=>t===e.ABOVE?0:t===e.BELOW?2:1,i=(t,r)=>{if(void 0===t.inventoryQuantity)return!1;if("in_stock"===r.type){if(!1===t.manageInventory||t.inventoryPolicy?.toLowerCase()=="continue")return!0;if(r.conditionType===e.BELOW||r.conditionType===e.EXACT_OR_BELOW){let i=n(r.conditionType);return o(t?.inventoryQuantity,{from:1,to:Number(r.from)-i+1},e.BETWEEN)}return o(t?.inventoryQuantity,{from:Number(r.from),to:Number(r?.to)},r.conditionType)}return!1!==t.manageInventory&&t.inventoryPolicy?.toLowerCase()!="continue"&&o(t.inventoryQuantity,{from:0,to:0},e.EXACT_OR_BELOW)},a=(e,t)=>{if(e?.compare_at_price===void 0||void 0===e.price||e.compare_at_price<e.price)return!1;let r=(e.compare_at_price-e.price)/100,n=r/(e.compare_at_price/100),i="fixed"===t.discountType?r:Math.round(100*n);return o(i,{from:Number(t.from),to:Number(t.to)},t.conditionType)},c=(e,t)=>{if(void 0===e.price)return!1;let r=e.price/100;return o(r,{from:Number(t.from),to:Number(t.to)},t.conditionType)},u=(t,r)=>{if(!t.product_created_at)return!1;let n=new Date(new Date(t.product_created_at).setHours(0,0,0,0)),i=new Date(r.from),a=new Date(r.to),c=n.getTime();if("exact_date"===r.type)return o(c,{from:i.getTime(),to:0},e.EXACT);if("duration"===r.type){let e=new Date().setHours(0,0,0,0),t=(e-n.getTime())/864e5;if(t>=0&&t<=Number(r.days))return!0}return!(i.getTime()>=a.getTime())&&o(c,{from:i.getTime(),to:a.getTime()},e.BETWEEN)},m=(e,t)=>{let r=e.product_tags||[],o=t.searchTag;return o.some(e=>r.includes(e))};export{r as checkShowBadge,t as toggleBadge};
1
+ import{CompareType as e}from"../types.js";let t=({triggers:e,productDetail:t,productVariant:o,isSameHeightInProductList:n})=>{let i=r(e,t,o);return i?"":n?"!gp-invisible":"!gp-hidden"},r=(e,t,r)=>{if(!r)return;let o=t?.createdAt||"",n=t?.tags||[],p={...r,product_created_at:o,product_tags:n},d=e?.map(e=>{switch(e?.triggerEvent){case"inventory_status":return i(p,e);case"discount_price":return a(p,e);case"price_range":return c(p,e);case"creation_date":return u(p,e);case"product_tags":return m(p,e);default:return!1}});return d?.every(e=>!0===e)},o=(e,t,r)=>{switch(r){case"exact":return e===t.from;case"above":return e>t.from;case"below":return e<t.from;case"exact_or_above":return e>=t.from;case"exact_or_below":return e<=t.from;case"between":return e>=t.from&&e<=t.to;default:return!1}},n=t=>t===e.ABOVE?0:t===e.BELOW?2:1,i=(t,r)=>{if(void 0===t.inventoryQuantity)return!1;if("in_stock"===r.type){if(!1===t.manageInventory||t.inventoryPolicy?.toLowerCase()=="continue")return!0;if(r.conditionType===e.BELOW||r.conditionType===e.EXACT_OR_BELOW){let i=n(r.conditionType);return o(t?.inventoryQuantity,{from:1,to:Number(r.from)-i+1},e.BETWEEN)}return o(t?.inventoryQuantity,{from:Number(r.from),to:Number(r?.to)},r.conditionType)}return!1!==t.manageInventory&&t.inventoryPolicy?.toLowerCase()!="continue"&&o(t.inventoryQuantity,{from:0,to:0},e.EXACT_OR_BELOW)},a=(e,t)=>{if(e?.compare_at_price===void 0||void 0===e.price||e.compare_at_price<e.price)return!1;let r=(e.compare_at_price-e.price)/100,n=r/(e.compare_at_price/100),i="fixed"===t.discountType?r:Math.round(100*n);return o(i,{from:Number(t.from),to:Number(t.to)},t.conditionType)},c=(e,t)=>{if(void 0===e.price)return!1;let r=e.price/100;return o(r,{from:Number(t.from),to:Number(t.to)},t.conditionType)},u=(t,r)=>{if(!t.product_created_at)return!1;let n=new Date(new Date(t.product_created_at).setHours(0,0,0,0)),i=new Date(r.from),a=new Date(r.to),c=n.getTime();if("exact_date"===r.type)return o(c,{from:i.getTime(),to:0},e.EXACT);if("duration"===r.type){let e=new Date().setHours(0,0,0,0),t=(e-n.getTime())/864e5;if(t>=0&&t<=Number(r.days))return!0}return!(i.getTime()>=a.getTime())&&o(c,{from:i.getTime(),to:a.getTime()},e.BETWEEN)},m=(e,t)=>{let r=e.product_tags||[],o=t.searchTag;return o.some(e=>r.includes(e))};export{r as checkShowBadge,t as toggleBadge};
@@ -27,10 +27,12 @@ import{CompareType as e}from"../types.js";let i=i=>i===e.ABOVE?0:i===e.BELOW?2:1
27
27
  {% endif %}
28
28
  {% if isShow and isNotDiscount == false %}
29
29
  {% assign className = "" %}
30
+ {% elsif isSettingSameHeightProductList %}
31
+ {% assign className = "!gp-invisible" %}
30
32
  {% else %}
31
33
  {% assign className = "!gp-hidden" %}
32
34
  {% endif %}
33
- `,s=e=>e?.length?e.map(e=>{switch(e?.triggerEvent){case"discount_price":return t(e);case"price_range":return o(e);case"inventory_status":return g(e);case"product_tags":return d(e);case"creation_date":return c(e);default:return""}}).join(" "):"",a=e=>e.replace(/[%$]/g,""),r=()=>`
35
+ `,s=e=>e?.length?e.map(e=>{switch(e?.triggerEvent){case"discount_price":return t(e);case"price_range":return o(e);case"inventory_status":return g(e);case"product_tags":return c(e);case"creation_date":return d(e);default:return""}}).join(" "):"",a=e=>e.replace(/[%$]/g,""),r=()=>`
34
36
  {% assign enabled = false %}
35
37
  {% case conditionType %}
36
38
  {% when "exact" %}
@@ -131,7 +133,7 @@ import{CompareType as e}from"../types.js";let i=i=>i===e.ABOVE?0:i===e.BELOW?2:1
131
133
  {% assign conditionTriggers = conditionTriggers | append: "," | append: false %}
132
134
  {% endif %}
133
135
 
134
- `},d=e=>{let{searchTag:i}=e,n=i.map(e=>e.replaceAll("'","&#039;")).join(", ");return`
136
+ `},c=e=>{let{searchTag:i}=e,n=i.map(e=>e.replaceAll("&","&amp;").replaceAll("<","&lt;").replaceAll(">","&gt;").replaceAll("'","&#39;").replaceAll('"',"&quot;")).join(", ");return`
135
137
  {% assign productTags = product.tags | escape %}
136
138
  {% assign searchTag = '${n}' %}
137
139
  {% for tag in productTags %}
@@ -141,7 +143,7 @@ import{CompareType as e}from"../types.js";let i=i=>i===e.ABOVE?0:i===e.BELOW?2:1
141
143
  {% endif %}
142
144
  {% endfor %}
143
145
  {% assign conditionTriggers = conditionTriggers | append: "," | append: isProductTag %}
144
- `},c=e=>{let{days:i,from:n,to:s,type:t,conditionType:o}=e;return`
146
+ `},d=e=>{let{days:i,from:n,to:s,type:t,conditionType:o}=e;return`
145
147
  {% assign type = "${t}" %}
146
148
  {% assign days = ${a(i)} %}
147
149
  {% assign from = "${n}" | date: "%Y-%m-%d" | date: "%s" | times: 1000 %}
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import{jsx as e,jsxs as t}from"react/jsx-runtime";import{useRenderMode as o,useI18nStore as s,isEmptyChildren as n}from"@gem-sdk/core";import{isValidElement as r}from"react";import i from"../../../common/components/NoDataState.js";import{createClass as l,createStyle as m,If as d}from"@gem-sdk/system";import{getSizeSettings as c,getContainerStyles as u}from"./common/styles.js";import{getContainerClasses as a,getNoDiscountClasses as p}from"./common/classes.js";import f from"./hooks/useProductBundleDataState.js";import h from"./hooks/useProductBundleDiscountState.js";import y from"./ProductBundleDiscountChildrenItem.js";let b=({builderAttrs:b,style:I,children:g,setting:j,styles:k,advanced:D})=>{let{isEditMode:S,isPreviewSharePageMode:x}=o(),{isSelected:B,setSelected:N}=h(j),{emitRedirectSetupPage:P,redirectGuideline:T,svgVertical:v,svgHorizontal:A}=f(),{t:C}=s(),q=l(a(j,D?.cssClass)),w=l(p),z=m(c(k)?.gap),M=m(u(z,k,I));if(!j?.bundleItems?.length&&S)return e(i,{elementType:"secondary",description:C("Increase AOV with bundle quantity."),descriptionActions:[{text:C("Setup bundle discount"),callback:P},{text:C("read guideline"),callback:T}],additionalMedia:j?.layout=="horizontal-layout"?A:v});let O=(t,o)=>{if(j?.hideNoDiscountItem&&t?.discountType==="no_discount")return null;let s=g?.[o];if(r(s))return e(y,{index:o,childItem:s,setting:j,styles:k,isSelected:B(o),setSelected:N,bundleItem:t},o)},V=(n(g)||j?.bundleItems?.length==0)&&!x;return t("div",{...b,className:q,style:M,children:[d(V,e("div",{className:w,children:"This product has no bundle discount"})),j?.bundleItems?.map((e,t)=>O(e,t))]})};export{b as default};
2
+ import{jsx as e,jsxs as t}from"react/jsx-runtime";import{useRenderMode as o,useI18nStore as s,isEmptyChildren as n}from"@gem-sdk/core";import{isValidElement as r}from"react";import i from"../../../common/components/NoDataState.js";import{createClass as l,createStyle as m,If as d}from"@gem-sdk/system";import{getSizeSettings as c,getContainerStyles as u}from"./common/styles.js";import{getContainerClasses as a,getNoDiscountClasses as p}from"./common/classes.js";import f from"./hooks/useProductBundleDataState.js";import h from"./hooks/useProductBundleDiscountState.js";import y from"./ProductBundleDiscountChildrenItem.js";let b=({builderAttrs:b,style:I,children:g,setting:j,styles:k,advanced:D})=>{let{isEditMode:S,isPreviewSharePageMode:x}=o(),{isSelected:B,setSelected:N}=h(j),{emitRedirectSetupPage:P,redirectGuideline:T,svgVertical:v,svgHorizontal:A}=f(),{t:C}=s(),q=l(a(j,D?.cssClass)),w=l(p),z=m(c(k)?.gap),M=m(u(z,k,I));if(!j?.bundleItems?.length&&S)return e(i,{elementType:"secondary",description:C("Increase AOV with bundle quantity."),descriptionActions:[{text:C("Setup bundle discount"),callback:P},{text:C("read guideline"),callback:T}],additionalMedia:j?.layout=="horizontal-layout"?A:v});let O=(t,o)=>{if(j?.hideNoDiscountItem&&t?.discountType==="no_discount")return null;let s=g?.[o];if(r(s))return e(y,{index:o,childItem:s,setting:j,styles:k,isSelected:B(o),setSelected:N,bundleItem:t},o)},V=(n(g)||j?.bundleItems?.length==0)&&!x;return t("div",{...b,className:q,style:M,children:[d(V,e("div",{className:w,children:C("This product has no bundle discount")})),j?.bundleItems?.map((e,t)=>O(e,t))]})};export{b as default};
@@ -1,15 +1,16 @@
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 a,createClass as o,createStateOrContext as i,Liquid as p,LiquidIf as n}from"@gem-sdk/system";import{getSizeSettings as l,getContainerStyles as u}from"./common/styles.js";import{getContainerClasses as c}from"./common/classes.js";import m from"./ProductBundleDiscountChildrenItem.liquid.js";let f=({rawChildren:f,setting:g,styles:I,advanced:$,style:P})=>{let y=g?.hasPreSelectItem?g?.selectItemDefault??0:-1,S=t=>y===t,_=(t,e)=>m({rawChildrenItem:f?.[e],setting:g,styles:I,isSelected:S(e),bundleItem:t}),h=a(l(I)?.gap),B=o(c(g,$?.cssClass)),A=a(u(h,I,P)),j=i({styles:I,settings:{useProductCompareAtPrice:g?.useProductCompareAtPrice,selectItemDefault:g?.selectItemDefault,hideNoDiscountItem:g?.hideNoDiscountItem,hasPreSelectItem:g?.hasPreSelectItem,iconItemColor:g?.iconItemColor,applyToInBetweenQuantities:g?.applyToInBetweenQuantities}});return t`
1
+ import{template as t,RenderIf as e,isLocalEnv as s,baseAssetURL as r}from"@gem-sdk/core";import{getSettingPreloadData as a}from"../../../helpers.js";import{createStyle as d,createClass as o,createStateOrContext as p,Liquid as i,LiquidIf as n}from"@gem-sdk/system";import{getSizeSettings as l,getContainerStyles as c}from"./common/styles.js";import{getContainerClasses as u}from"./common/classes.js";import m from"./ProductBundleDiscountChildrenItem.liquid.js";let f=({rawChildren:f,setting:g,styles:I,advanced:$,style:P})=>{let y=g?.hasPreSelectItem?g?.selectItemDefault??0:-1,S=t=>y===t,_=(t,e)=>m({rawChildrenItem:f?.[e],setting:g,styles:I,isSelected:S(e),bundleItem:t}),h=d(l(I)?.gap),B=o(u(g,$?.cssClass)),j=d(c(h,I,P)),A=p({styles:I,settings:{useProductCompareAtPrice:g?.useProductCompareAtPrice,selectItemDefault:g?.selectItemDefault,hideNoDiscountItem:g?.hideNoDiscountItem,hasPreSelectItem:g?.hasPreSelectItem,iconItemColor:g?.iconItemColor,applyToInBetweenQuantities:g?.applyToInBetweenQuantities}});return t`
2
2
  <gp-product-bundle-discount
3
- gp-data='${JSON.stringify(j)}'
4
- style="${A}"
5
- class="${B}">
6
- ${p(`
3
+ style="${j}"
4
+ class="${B}"
5
+ >
6
+ <script gp-data type="application/json">${JSON.stringify(A)}</script>
7
+ ${i(`
7
8
  {%- assign gempages_product_bundle = product.metafields.gp_discount.gp_discount_selected_products -%}
8
9
  {% assign productBundleItem = gempages_product_bundle | split: '($1)' %}
9
10
  `)}
10
11
  ${f?.map((e,s)=>t`
11
12
  {% for productBundle in productBundleItem %}
12
- ${p(`
13
+ ${i(`
13
14
  {% assign attrs = productBundle | split: '($3)' %}
14
15
  {% assign parsedAttrs = '' %}
15
16
  {% for attr in attrs %}
@@ -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
- ${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>`)}
32
+ ${e(s,`<script ${a('class="gps-link" delay',"src")}="{{ 'gp-product-bundle-discount-v7-5.js' | asset_url }}" defer="defer"></script>`,`<script ${a('class="gps-link" delay',"src")}="${r}/assets-v2/gp-product-bundle-discount-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}" defer="defer"></script>`)}
32
33
  {% endif %}
33
34
  `};export{f as default};
@@ -1 +1 @@
1
- let e=[{label:"Bundle management",controls:[{type:"control",layout:"vertical",setting:{id:"childItem"}}]},{label:"Item gap",controls:[{label:"Gap",controlConfig:{id:"gap",type:"input:slider",units:["px"],min:0,max:120,step:1,ignoreMax:!0,linkWithSetting:{name:"size",field:"gap"}},layout:"horizontal"}]},{controls:[{type:"control",label:"Radio icon",setting:{id:"enableIcon"},options:{labelVariant:"primary",toggleStyle:"switch"}},{conditionDisplay:'enableIcon == true && layout == "vertical-layout"',label:"Position",setting:{id:"iconPosition"}},{type:"control",conditionDisplay:'enableIcon == true && layout == "horizontal-layout"',label:"Position",setting:{id:"iconHorizontalPosition"}},{conditionDisplay:"enableIcon == true",type:"control",label:"Color",setting:{id:"iconItemColor"},controlConfig:{id:"icon-radio-color",type:"color-picker-v2",linkWithSetting:{name:"iconColor",field:"normal"}}},{type:"control",conditionDisplay:"enableIcon == true",label:"Size",setting:{id:"iconSize"}},{type:"control",conditionDisplay:"enableIcon == true",label:"Gap to content",setting:{id:"iconSpacing"}}]},{label:"Item style",controls:[{label:"Background",setting:{id:"backgroundColor",state:"normal"}},{label:"Border",setting:{id:"borderBundle",state:"normal"}},{label:"Corner",setting:{id:"roundedBundle",state:"normal"}},{label:"Shadow",setting:{id:"boxShadowBundle",state:"normal"},controlConfig:{id:"boxShadowBundle",type:"shadow-v2"},options:{updateFields:[{field:"normal.enable",settingId:"hasBoxShadowBundle",state:"normal"}]},controlChangeTrigger:{settings:[{condition:"boxShadowBundle.normal.enable === true",source:["boxShadowBundle","hasBoxShadowBundle"],action:{controlId:"hasBoxShadowBundle",groupType:"style",controlType:"style",state:"normal",newValue:!0}},{condition:"boxShadowBundle.normal.enable === false",source:["boxShadowBundle","hasBoxShadowBundle"],action:{controlId:"hasBoxShadowBundle",groupType:"style",controlType:"style",state:"normal",newValue:!1}}],options:{noRecordHistory:!0}}},{label:"Shadow",setting:{id:"hasBoxShadowBundle",state:"normal"},conditionDisplay:"false"},{label:"Shadow",setting:{id:"hasBoxShadowBundle",state:"hover"},conditionDisplay:"false"},{label:"Shadow",setting:{id:"hasBoxShadowBundle",state:"active"},conditionDisplay:"false"}]},{label:"Effect",controls:[{label:"Hover",type:"combo",iconName:"polaris-check-hover",fixedValue:"Styled",setting:{id:"enableHoverEffect"},state:"hover",popoverLabel:"Hover",controls:[{type:"group",label:"Background",controls:[{label:"Color",setting:{id:"backgroundColor",state:"hover"}}]},{label:"Icon",type:"group",controls:[{label:"Icon color",setting:{id:"iconColor",state:"hover"}}]},{label:"Shape",type:"group",controls:[{label:"Border",setting:{id:"borderBundle",state:"hover"}},{label:"Corner",setting:{id:"roundedBundle",state:"hover"}},{label:"Shadow",setting:{id:"boxShadowBundle",state:"hover"},controlConfig:{id:"boxShadowBundle",type:"shadow-v2"},options:{updateFields:[{field:"hover.enable",settingId:"hasBoxShadowBundle",state:"hover"}]},controlChangeTrigger:{settings:[{condition:"boxShadowBundle.hover.enable === true",source:["boxShadowBundle","hasBoxShadowBundle"],action:{controlId:"hasBoxShadowBundle",groupType:"style",controlType:"style",state:"hover",newValue:!0}},{condition:"boxShadowBundle.hover.enable === false",source:["boxShadowBundle","hasBoxShadowBundle"],action:{controlId:"hasBoxShadowBundle",groupType:"style",controlType:"style",state:"hover",newValue:!1}}],options:{noRecordHistory:!0}}}]}]},{label:"Active",type:"combo",iconName:"polaris-status-active",fixedValue:"Styled",setting:{id:"enableActiveEffect"},state:"active",popoverLabel:"Active",controls:[{type:"group",label:"Background",controls:[{label:"Color",setting:{id:"backgroundColor",state:"active"}}]},{label:"Icon",type:"group",controls:[{label:"Icon color",setting:{id:"iconColor",state:"active"}}]},{label:"Shape",type:"group",controls:[{label:"Border",setting:{id:"borderBundle",state:"active"}},{label:"Corner",setting:{id:"roundedBundle",state:"active"}},{label:"Shadow",setting:{id:"boxShadowBundle",state:"active"},controlConfig:{id:"boxShadowBundle",type:"shadow-v2"},options:{updateFields:[{field:"active.enable",settingId:"hasBoxShadowBundle",state:"active"}]},controlChangeTrigger:{settings:[{condition:"boxShadowBundle.active.enable === true",source:["boxShadowBundle","hasBoxShadowBundle"],action:{controlId:"hasBoxShadowBundle",groupType:"style",controlType:"style",state:"active",newValue:!0}},{condition:"boxShadowBundle.active.enable === false",source:["boxShadowBundle","hasBoxShadowBundle"],action:{controlId:"hasBoxShadowBundle",groupType:"style",controlType:"style",state:"active",newValue:!1}}],options:{noRecordHistory:!0}}}]}]}]},{label:"Size",controls:[{id:"Width",label:"Width",controlConfig:{id:"width",type:"dropdown:input",label:"Width",inputType:"number",units:["px","%"],hideUnit:!1,linkWithSetting:{name:"size",field:"width"},displayOptions:[{label:"Fit content",value:"Auto",showValue:!0},{label:"Full",value:"100%",showValue:!0},{label:"Small",value:"100px",showValue:!0},{label:"Medium",value:"200px",showValue:!0},{label:"Large",value:"300px",showValue:!0}]},layout:"horizontal"},{label:"Padding",controlConfig:{id:"padding",type:"padding-v2",linkWithSetting:{name:"size",field:"padding"},compoDefaultValue:{desktop:{default:{type:"custom",top:"12px",bottom:"12px",left:"32px",right:"32px"}}}}}]},{label:"Shape",conditionDisplay:'pageType != "POST_PURCHASE"',controls:[{label:"Border",setting:{id:"border",state:"normal"}},{label:"Corner",setting:{id:"rounded",state:"normal"}},{label:"Shadow",setting:{id:"boxShadow",state:"normal"},options:{updateFields:[{field:"normal.enable",settingId:"hasBoxShadow",state:"normal"}]},controlChangeTrigger:{settings:[{condition:"boxShadow.normal.enable === true",source:["boxShadow","hasBoxShadow"],action:{controlId:"hasBoxShadow",groupType:"advanced",controlType:"advanced",state:"normal",newValue:!0}},{condition:"boxShadow.normal.enable === false",source:["boxShadow","hasBoxShadow"],action:{controlId:"hasBoxShadow",groupType:"advanced",controlType:"advanced",state:"normal",newValue:!1}}],options:{noRecordHistory:!0}}}]},{label:"Display condition",conditionDisplay:"enableDisplayCondition == true",controls:[{label:"Default item",setting:{id:"hasPreSelectItem"}},{layout:"vertical",setting:{id:"selectItemDefault"},conditionDisplay:"hasPreSelectItem == true"},{label:"Compare price",setting:{id:"useProductCompareAtPrice"}},{label:"Display item",setting:{id:"hideNoDiscountItem"}}]},{controls:[{label:"Align",conditionEnable:'!(parseInt(size.width) >= 100 && size.width?.includes("%"))',setting:{id:"align"},options:{labelVariant:"primary",fullWidth:!0,disableMessage:"Horizontal alignment is disabled when the width is set to 100% or greater"}}]}];export{e as default};
1
+ let e=[{label:"Bundle management",controls:[{type:"control",layout:"vertical",setting:{id:"childItem"}}]},{label:"Item gap",controls:[{label:"Gap",controlConfig:{id:"gap",type:"input:slider",units:["px"],min:0,max:120,step:1,ignoreMax:!0,linkWithSetting:{name:"size",field:"gap"}},layout:"horizontal"}]},{controls:[{type:"control",label:"Radio icon",setting:{id:"enableIcon"},options:{labelVariant:"primary",toggleStyle:"switch"}},{conditionDisplay:'enableIcon == true && layout == "vertical-layout"',label:"Position",setting:{id:"iconPosition"}},{type:"control",conditionDisplay:'enableIcon == true && layout == "horizontal-layout"',label:"Position",setting:{id:"iconHorizontalPosition"}},{conditionDisplay:"enableIcon == true",type:"control",label:"Color",setting:{id:"iconItemColor"},controlConfig:{id:"icon-radio-color",type:"color-picker-v2",linkWithSetting:{name:"iconColor",field:"normal"}}},{type:"control",conditionDisplay:"enableIcon == true",label:"Size",setting:{id:"iconSize"}},{type:"control",conditionDisplay:"enableIcon == true",label:"Gap to content",setting:{id:"iconSpacing"}}]},{label:"Item style",hiddenOnMobile:!0,controls:[{label:"Background",setting:{id:"backgroundColor",state:"normal"}},{label:"Border",setting:{id:"borderBundle",state:"normal"}},{label:"Corner",setting:{id:"roundedBundle",state:"normal"}},{label:"Shadow",setting:{id:"boxShadowBundle",state:"normal"},controlConfig:{id:"boxShadowBundle",type:"shadow-v2"},options:{updateFields:[{field:"normal.enable",settingId:"hasBoxShadowBundle",state:"normal"}]},controlChangeTrigger:{settings:[{condition:"boxShadowBundle.normal.enable === true",source:["boxShadowBundle","hasBoxShadowBundle"],action:{controlId:"hasBoxShadowBundle",groupType:"style",controlType:"style",state:"normal",newValue:!0}},{condition:"boxShadowBundle.normal.enable === false",source:["boxShadowBundle","hasBoxShadowBundle"],action:{controlId:"hasBoxShadowBundle",groupType:"style",controlType:"style",state:"normal",newValue:!1}}],options:{noRecordHistory:!0}}},{label:"Shadow",setting:{id:"hasBoxShadowBundle",state:"normal"},conditionDisplay:"false"},{label:"Shadow",setting:{id:"hasBoxShadowBundle",state:"hover"},conditionDisplay:"false"},{label:"Shadow",setting:{id:"hasBoxShadowBundle",state:"active"},conditionDisplay:"false"}]},{label:"Effect",hiddenOnMobile:!0,controls:[{label:"Hover",type:"combo",iconName:"polaris-check-hover",fixedValue:"Styled",setting:{id:"enableHoverEffect"},state:"hover",popoverLabel:"Hover",controls:[{type:"group",label:"Background",controls:[{label:"Color",setting:{id:"backgroundColor",state:"hover"}}]},{label:"Icon",type:"group",controls:[{label:"Icon color",setting:{id:"iconColor",state:"hover"}}]},{label:"Shape",type:"group",controls:[{label:"Border",setting:{id:"borderBundle",state:"hover"}},{label:"Corner",setting:{id:"roundedBundle",state:"hover"}},{label:"Shadow",setting:{id:"boxShadowBundle",state:"hover"},controlConfig:{id:"boxShadowBundle",type:"shadow-v2"},options:{updateFields:[{field:"hover.enable",settingId:"hasBoxShadowBundle",state:"hover"}]},controlChangeTrigger:{settings:[{condition:"boxShadowBundle.hover.enable === true",source:["boxShadowBundle","hasBoxShadowBundle"],action:{controlId:"hasBoxShadowBundle",groupType:"style",controlType:"style",state:"hover",newValue:!0}},{condition:"boxShadowBundle.hover.enable === false",source:["boxShadowBundle","hasBoxShadowBundle"],action:{controlId:"hasBoxShadowBundle",groupType:"style",controlType:"style",state:"hover",newValue:!1}}],options:{noRecordHistory:!0}}}]}]},{label:"Active",type:"combo",iconName:"polaris-status-active",fixedValue:"Styled",setting:{id:"enableActiveEffect"},state:"active",popoverLabel:"Active",controls:[{type:"group",label:"Background",controls:[{label:"Color",setting:{id:"backgroundColor",state:"active"}}]},{label:"Icon",type:"group",controls:[{label:"Icon color",setting:{id:"iconColor",state:"active"}}]},{label:"Shape",type:"group",controls:[{label:"Border",setting:{id:"borderBundle",state:"active"}},{label:"Corner",setting:{id:"roundedBundle",state:"active"}},{label:"Shadow",setting:{id:"boxShadowBundle",state:"active"},controlConfig:{id:"boxShadowBundle",type:"shadow-v2"},options:{updateFields:[{field:"active.enable",settingId:"hasBoxShadowBundle",state:"active"}]},controlChangeTrigger:{settings:[{condition:"boxShadowBundle.active.enable === true",source:["boxShadowBundle","hasBoxShadowBundle"],action:{controlId:"hasBoxShadowBundle",groupType:"style",controlType:"style",state:"active",newValue:!0}},{condition:"boxShadowBundle.active.enable === false",source:["boxShadowBundle","hasBoxShadowBundle"],action:{controlId:"hasBoxShadowBundle",groupType:"style",controlType:"style",state:"active",newValue:!1}}],options:{noRecordHistory:!0}}}]}]}]},{label:"Size",hiddenOnMobile:!0,controls:[{id:"Width",label:"Width",controlConfig:{id:"width",type:"dropdown:input",label:"Width",inputType:"number",units:["px","%"],hideUnit:!1,linkWithSetting:{name:"size",field:"width"},displayOptions:[{label:"Fit content",value:"Auto",showValue:!0},{label:"Full",value:"100%",showValue:!0},{label:"Small",value:"100px",showValue:!0},{label:"Medium",value:"200px",showValue:!0},{label:"Large",value:"300px",showValue:!0}]},layout:"horizontal"},{label:"Padding",controlConfig:{id:"padding",type:"padding-v2",linkWithSetting:{name:"size",field:"padding"},compoDefaultValue:{desktop:{default:{type:"custom",top:"12px",bottom:"12px",left:"32px",right:"32px"}}}}}]},{label:"Shape",hiddenOnMobile:!0,conditionDisplay:'pageType != "POST_PURCHASE"',controls:[{label:"Border",setting:{id:"border",state:"normal"}},{label:"Corner",setting:{id:"rounded",state:"normal"}},{label:"Shadow",setting:{id:"boxShadow",state:"normal"},options:{updateFields:[{field:"normal.enable",settingId:"hasBoxShadow",state:"normal"}]},controlChangeTrigger:{settings:[{condition:"boxShadow.normal.enable === true",source:["boxShadow","hasBoxShadow"],action:{controlId:"hasBoxShadow",groupType:"advanced",controlType:"advanced",state:"normal",newValue:!0}},{condition:"boxShadow.normal.enable === false",source:["boxShadow","hasBoxShadow"],action:{controlId:"hasBoxShadow",groupType:"advanced",controlType:"advanced",state:"normal",newValue:!1}}],options:{noRecordHistory:!0}}}]},{label:"Display condition",conditionDisplay:"enableDisplayCondition == true",controls:[{label:"Default item",setting:{id:"hasPreSelectItem"}},{layout:"vertical",setting:{id:"selectItemDefault"},conditionDisplay:"hasPreSelectItem == true"},{label:"Compare price",setting:{id:"useProductCompareAtPrice"}},{label:"Display item",setting:{id:"hideNoDiscountItem"}}]},{controls:[{label:"Align",hiddenOnMobile:!0,conditionEnable:'!(parseInt(size.width) >= 100 && size.width?.includes("%"))',setting:{id:"align"},options:{labelVariant:"primary",fullWidth:!0,disableMessage:"Horizontal alignment is disabled when the width is set to 100% or greater"}}]}];export{e as default};
@@ -1,23 +1,26 @@
1
- import{getSplitStyle as t}from"./common/styles.js";import{getGPProductButtonState as e}from"./common/helpers.js";import{template as s,isLocalEnv as o,baseAssetURL as r}from"@gem-sdk/core";import{createStateOrContext as a,Liquid as i,LiquidFor as l,If as n}from"@gem-sdk/system";import{getInsertLinkData as p,getSettingPreloadData as c}from"../../../helpers.js";import{getButtonDynamicSourceLocales as u}from"./helpers/getButtonDynamicSourceLocales.js";import{SoldOutButton as d}from"./SoldOutButton.liquid.js";import{AddToCartButton as m}from"./AddToCartButton.liquid.js";let f=f=>{let{setting:g,builderProps:b,style:y,styles:$,pageContext:v}=f,{wrapStyle:_,restStyle:h}=t(y),{outOfStockButtonLabel:S,unavailableButtonLabel:j,variantSelectionRequiredMessage:k,successMessage:E,errorMessage:q}=u({setting:g,pageContext:v,builderProps:b}),{urlData:A}=p("",g?.actionEffect==="open-cart-drawer"?{link:"/cart",target:"_self"}:g?.customURL),B=a(e({styles:$,setting:g,successMessage:E,errorMessage:q}));return s`
2
- ${i("{%- assign total_combinations = 1 -%}")}
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 l,If as p}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:A}=d({setting:$,pageContext:_,builderProps:y}),{urlData:M}=c("",$?.actionEffect==="open-cart-drawer"?{link:"/cart",target:"_self"}:$?.customURL),B=i(e({styles:v,setting:$})),G=s(E??$?.successMessage),P=s(A??$?.errorMessage),w=s(k??$?.variantSelectionRequiredMessage);return r`
2
+ ${n("{%- assign total_combinations = 1 -%}")}
3
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
7
7
  -%}
8
8
  <gp-product-button
9
- style="${_}"
9
+ style="${h}"
10
10
  gp-data-wrapper="true"
11
- gp-href="${A.href}"
11
+ gp-href="${M.href}"
12
12
  class="gp-product-button"
13
- gp-label-out-of-stock="${S}"
14
- gp-label-unavailable="${j}"
15
- gp-data='${JSON.stringify(B).replaceAll("'","&#039;")}'
16
- data-variant-selection-required-message="${k}"
13
+ gp-label-out-of-stock="${j}"
14
+ gp-label-unavailable="${q}"
15
+ data-variant-selection-required-message="${w}"
17
16
  gp-enable-third-partycart="{{shop.metafields.GEMPAGES.enableThirdPartyCart}}"
17
+ gp-error-message="${P}"
18
+ gp-success-message="${G}"
19
+ data-variant-selection-required-message="${k}"
18
20
  >
19
- ${m({...f,style:h})}
20
- ${d({...f,style:h,label:S})}
21
+ <script gp-data type="application/json">${JSON.stringify(B).replaceAll("'","&#039;")}</script>
22
+ ${g({...f,style:S})}
23
+ ${m({...f,style:S,label:j})}
21
24
  </gp-product-button>
22
- ${n(o,`<script ${c('class="gps-link" delay',"src")}="{{ 'gp-product-button-v7-5.js' | asset_url }}" defer="defer"></script>`,`<script ${c('class="gps-link" delay',"src")}="${r}/assets-v2/gp-product-button-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}" defer="defer"></script>`)}
25
+ ${p(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>`)}
23
26
  `};export{f as default};
@@ -1 +1 @@
1
- import{SEPARATOR as e}from"./constants.js";let t=e=>e?.enableIcon===!0,r=e=>({lineThrough:!1,typo:c(e?.priceTypo)}),a=e=>({lineThrough:!0,typo:c(e?.compareAtPriceTypo),opacityPrice:e?.opacityPrice}),o=({styles:e,setting:t,successMessage:r,errorMessage:a})=>({styles:{errorTypo:e?.errorTypo,successTypo:e?.successTypo},setting:{errorType:t?.errorType,actionEffect:t?.actionEffect,enableMessage:t?.enableMessage,label:t?.label?.replaceAll("'","&#039;"),errorMessage:a??t?.errorMessage?.replaceAll("'","&#039;"),successMessage:r??t?.successMessage?.replaceAll("'","&#039;"),outOfStockLabel:t?.outOfStockLabel?.replaceAll("'","&#039;"),customURL:{link:t?.customURL?.link?.replaceAll("'","&#039;"),target:t?.customURL?.target}},variantID:"{{variant.id}}",disabled:"{{variant.available}}",totalVariant:"{{total_combinations}}"}),l=t=>({dot:e.DOT,"vertical-line":e.VERTICAL_LINE,"horizontal-line":e.HORIZONTAL_LINE})[t??"horizontal-line"]??e.HORIZONTAL_LINE,c=e=>(e?.attrs&&e?.attrs.color&&delete e.attrs.color,e);export{t as checkIconVisibility,o as getGPProductButtonState,a as getRenderComparePriceSettings,r as getRenderRegularPriceSettings,l as renderSeparator};
1
+ import{SEPARATOR as e}from"./constants.js";let t=/^\s*\{\{[\s\S]*\}\}\s*$/,r=e=>e.replace(/\s*\}\}\s*$/," | escape }}"),o=e=>{if(null==e)return e;let o=e.toString();return t.test(o)?r(o):o.replaceAll("'","&#39;").replaceAll("’","&#39;").replaceAll('"',"&quot;")},a=e=>e?.enableIcon===!0,l=e=>({lineThrough:!1,typo:s(e?.priceTypo)}),i=e=>({lineThrough:!0,typo:s(e?.compareAtPriceTypo),opacityPrice:e?.opacityPrice}),c=({styles:e,setting:t})=>({styles:{errorTypo:e?.errorTypo,successTypo:e?.successTypo},setting:{errorType:t?.errorType,actionEffect:t?.actionEffect,enableMessage:t?.enableMessage,label:o(t?.label),outOfStockLabel:o(t?.outOfStockLabel),customURL:{link:o(t?.customURL?.link),target:t?.customURL?.target}},variantID:"{{variant.id}}",disabled:"{{variant.available}}",totalVariant:"{{total_combinations}}"}),n=t=>({dot:e.DOT,"vertical-line":e.VERTICAL_LINE,"horizontal-line":e.HORIZONTAL_LINE})[t??"horizontal-line"]??e.HORIZONTAL_LINE,s=e=>(e?.attrs&&e?.attrs.color&&delete e.attrs.color,e);export{a as checkIconVisibility,o as escapeSingleQuoteForAttr,c as getGPProductButtonState,i as getRenderComparePriceSettings,l as getRenderRegularPriceSettings,n as renderSeparator};
@@ -1 +1 @@
1
- import{useRenderMode as e,useProduct as t,useCurrency as r,useQuantity as i,useProductProperties as a,useCurrentVariant as s,useHasPreSelected as o,useStickyStore as n,useProductStore as u,useCreateCart as l,useAddToCart as d,convertDecimalToNumber as c,useCurrentVariantInStock as m}from"@gem-sdk/core";import{useRef as p,useEffect as b,useCallback as f}from"react";import{addToCartTracking as v}from"../../../helpers/tracking.js";import{useDispatchInteractionEvent as g,useDispatchCustomEvent as k}from"./useDispatchAfterSubmitEvent.js";import{useCartMessage as D}from"./useCartMessage.js";import{useCartOperations as I}from"./useCartOperations.js";let E=({styles:E,setting:y,builderProps:S})=>{let j=p(null),{isEditMode:C,isPreviewSharePageMode:M}=e(),h=t(),{currency:w}=r(),{quantity:A}=i(),L=a(),O=s(),{hasPreSelected:q}=o(),x=n(e=>e.setElement),B=u(e=>e.updateIsSubmit),T=g(S?.uid),U=k({product:h,currentVariant:O,quantity:A}),{showMessage:V,notiComponent:z}=D(E,y),{handleSuccess:F,handleError:G,cartId:H}=I({setting:y,showMessage:V,dispatchInteractionEvent:T,dispatchCustomEvent:U}),{isMutating:J,trigger:K}=l({onSuccess:F,onError:G}),{isMutating:N,trigger:P}=d({onSuccess:F,onError:G});b(()=>{let e=j.current;!(!e||e.closest(".sticky-wrapper"))&&S?.uid&&S.builderData?.advanced&&x({id:S.uid,element:e,deviceVisibility:S.builderData.advanced.d})},[]);let Q=f(()=>{if(!O?.baseID||!A||!h?.baseID||void 0!==q&&!q||C||M)return;let e=L?.some(e=>e.required&&!e.value);if(B(!0),e)return;let t=L?.filter(e=>!!e.value)?.map(e=>({key:e.key,value:e.value}));v({quantity:A,currency:w,id:h?.baseID,name:h?.title,brand:h?.vendor,sku:O.sku,price:c(O?.price),variant:O.title});let r={quantity:A,attributes:t,variantId:O.baseID};y?.actionEffect!=="buy-now"&&H?P({cartId:H,lines:[r]}):K({items:[r]})},[C,M,H,w,A,L,q,h?.title,h?.vendor,h?.baseID,O?.sku,O?.price,O?.title,O?.baseID,y?.actionEffect,K,P,B]),R=m(),W=O?y?.outOfStockLabel:"Unavailable";return{addToCartRef:j,isLoading:J||N,isInStock:R,notiComponent:z,outOfStockLabel:W,addToCart:Q}};export{E as useBtnAddToCart};
1
+ import{useRenderMode as e,useProduct as t,useCurrency as r,useQuantity as i,useProductProperties as a,useCurrentVariant as s,useHasPreSelected as o,useStickyStore as n,useProductStore as u,useCreateCart as l,useAddToCart as d,convertDecimalToNumber as c,useCurrentVariantInStock as m}from"@gem-sdk/core";import{useRef as p,useEffect as b,useCallback as f}from"react";import{addToCartTracking as v}from"../../../helpers/tracking.js";import{useDispatchInteractionEvent as g,useDispatchCustomEvent as k}from"./useDispatchAfterSubmitEvent.js";import{useCartMessage as D}from"./useCartMessage.js";import{useCartOperations as I}from"./useCartOperations.js";let E=({styles:E,setting:y,builderProps:S})=>{let j=p(null),{isEditMode:C,isPreviewSharePageMode:M}=e(),h=t(),{currency:w}=r(),{quantity:A}=i(),L=a(),O=s(),{hasPreSelected:$}=o(),q=n(e=>e.setElement),x=u(e=>e.updateIsSubmit),B=g(S?.uid),T=k({product:h,currentVariant:O,quantity:A}),{showMessage:U,notiComponent:V}=D(E,y),{handleSuccess:z,handleError:F,cartId:G}=I({setting:y,showMessage:U,dispatchInteractionEvent:B,dispatchCustomEvent:T}),{isMutating:H,trigger:J}=l({onSuccess:z,onError:F}),{isMutating:K,trigger:N}=d({onSuccess:z,onError:F});b(()=>{let e=j.current;!(!e||e.closest(".sticky-wrapper"))&&h?.id&&S?.uid&&S.builderData?.advanced&&q({id:`${S.uid}-${h.id}`,element:e,deviceVisibility:S.builderData.advanced.d})},[]);let P=f(()=>{if(!O?.baseID||!A||!h?.baseID||void 0!==$&&!$||C||M)return;let e=L?.some(e=>e.required&&!e.value);if(x(!0),e)return;let t=L?.filter(e=>!!e.value)?.map(e=>({key:e.key,value:e.value}));v({quantity:A,currency:w,id:h?.baseID,name:h?.title,brand:h?.vendor,sku:O.sku,price:c(O?.price),variant:O.title});let r={quantity:A,attributes:t,variantId:O.baseID};y?.actionEffect!=="buy-now"&&G?N({cartId:G,lines:[r]}):J({items:[r]})},[C,M,G,w,A,L,$,h?.title,h?.vendor,h?.baseID,O?.sku,O?.price,O?.title,O?.baseID,y?.actionEffect,J,N,x]),Q=m(),R=O?y?.outOfStockLabel:"Unavailable";return{addToCartRef:j,isLoading:H||K,isInStock:Q,notiComponent:V,outOfStockLabel:R,addToCart:P}};export{E as useBtnAddToCart};
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import{jsx as e,Fragment as t,jsxs as s}from"react/jsx-runtime";import{useProduct as o,useCurrentDevice as i,getResponsiveValueByScreen as r,useI18nStore as m,makeStyleResponsive as c,makeLineClamp as n}from"@gem-sdk/core";import l from"../../../common/components/NoDataState.js";import{ICON_SVG as a}from"./common/helpers.js";import{createClass as p,createStyle as d,createAttr as h,If as u}from"@gem-sdk/system";import{getClasses as y,getButtonClasses as g,getClassPreBuilt as f}from"./common/classes.js";import{getTextStyle as x,getButtonStyle as k,getStaticCss as N}from"./common/styles.js";import{useGpDescription as j}from"./hooks/useGpDescription.js";let w=w=>{let{setting:L,advanced:b,builderProps:v}=w,{htmlTag:C}=L??{},H=o(),T=i(),M=r(L?.hasLineClamp,T),{ref:_,open:D,isShowViewMore:I,handleToggleShowMore:S,mode:A,redirectProductShopifyLink:P}=j(L),{t:q}=m(),G=p({"gp-product-description":!0,[b?.cssClass]:!0}),V=p(y({setting:L,isLiquid:!1})),$=p(g({setting:L})),z=p({"gp-show-more-text":!0}),B=p({"gp-show-more-icon gp-ml-1":!0,...D?{"gp-rotate-180":!0}:{}}),E=p(f()),F=d({...x({setting:L}),...D?{}:c("line-clamp",n(L?.lineClamp,L?.hasLineClamp))}),J=d(k({setting:L})),K=h({"data-id":`${v?.uid}`}),O=h({"data-gp-text":""}),{gpDescriptionCss:Q,textDescriptionCss:R}=N(),U=!H?.descriptionHtml;return U&&"edit"===A?e(l,{elementType:"secondary",description:q("Highlight key benefits with product description."),descriptionActions:[{text:q("Add description"),callback:P},{text:q("sync data"),callback:"syncProduct"}]}):e(t,{children:u(U,"",s("div",{...K,className:G,children:[e("style",{children:R}),e("style",{children:Q}),e("div",{className:E}),e("html"===C?"div":"p",{ref:_,...O,className:V,style:F,dangerouslySetInnerHTML:{__html:H?.descriptionHtml||""}}),u(M&&I,s("button",{className:$,style:J,onClick:S,children:[e("span",{className:z,children:u(D,L?.viewLessText||"",L?.viewMoreText)}),u(L?.enableViewMoreIcon,e("span",{className:B,dangerouslySetInnerHTML:{__html:a}}))]})," ")]}))})};export{w as default};
2
+ import{jsx as e,Fragment as t,jsxs as s}from"react/jsx-runtime";import{useProduct as o,useCurrentDevice as i,getResponsiveValueByScreen as r,useI18nStore as m,makeStyleResponsive as c,makeLineClamp as n}from"@gem-sdk/core";import l from"../../../common/components/NoDataState.js";import{ICON_SVG as a}from"./common/helpers.js";import{createClass as p,createStyle as d,createAttr as h,If as u}from"@gem-sdk/system";import{getClasses as y,getButtonClasses as g,getClassPreBuilt as f}from"./common/classes.js";import{getTextStyle as x,getButtonStyle as k,getStaticCss as N}from"./common/styles.js";import{useGpDescription as j}from"./hooks/useGpDescription.js";let w=w=>{let{setting:L,advanced:b,builderProps:v}=w,{htmlTag:C}=L??{},H=o(),T=i(),M=r(L?.hasLineClamp,T),{ref:_,open:D,isShowViewMore:I,isOverflowChecked:S,handleToggleShowMore:A,mode:P,redirectProductShopifyLink:q}=j(L),{t:G}=m(),V=p({"gp-product-description":!0,[b?.cssClass]:!0}),$=p(y({setting:L,isLiquid:!1})),z=p(g({setting:L})),B=p({"gp-show-more-text":!0}),E=p({"gp-show-more-icon gp-ml-1":!0,...D?{"gp-rotate-180":!0}:{}}),F=p(f()),J=d({...x({setting:L}),...D||S&&!I?{}:c("line-clamp",n(L?.lineClamp,L?.hasLineClamp))}),K=d(k({setting:L})),O=h({"data-id":`${v?.uid}`}),Q=h({"data-gp-text":""}),{gpDescriptionCss:R,textDescriptionCss:U}=N(),W=!H?.descriptionHtml;return W&&"edit"===P?e(l,{elementType:"secondary",description:G("Highlight key benefits with product description."),descriptionActions:[{text:G("Add description"),callback:q},{text:G("sync data"),callback:"syncProduct"}]}):e(t,{children:u(W,"",s("div",{...O,className:V,children:[e("style",{children:U}),e("style",{children:R}),e("div",{className:F}),e("html"===C?"div":"p",{ref:_,...Q,className:$,style:J,dangerouslySetInnerHTML:{__html:H?.descriptionHtml||""}}),u(M&&I,s("button",{className:z,style:K,onClick:A,children:[e("span",{className:B,children:u(D,L?.viewLessText||"",L?.viewMoreText)}),u(L?.enableViewMoreIcon,e("span",{className:E,dangerouslySetInnerHTML:{__html:a}}))]})," ")]}))})};export{w as default};
@@ -1,13 +1,12 @@
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 $,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 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(y({setting:S})),R=c({"data-id":`${L?.uid}`}),z=c({"data-gp-text":""}),{textDescriptionCss:B,gpDescriptionCss:F}=C(),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 $(J,"",u(i`
1
+ import{makeStyleResponsive as e,makeLineClamp as t,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 l,createAttr as c,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=l({...h({setting:S,renderMaxHeight:!0}),...e("line-clamp",t(S?.lineClamp,S?.hasLineClamp))}),N=d(w()),O=l(y({setting:S})),R=c({"data-id":`${L?.uid}`}),z=c({"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`
2
2
  <gp-product-description
3
3
  ${R}
4
4
  class="${A}"
5
- gp-data='${s(U).replaceAll("'","&#039;")}'
6
5
  data-view-more-text="${K}"
7
6
  data-view-less-text="${Q}"
8
7
  >
9
- <style>${B}</style>
10
- <style>${F}</style>
8
+ <script gp-data type="application/json">${s(U).replaceAll("'","&#039;")}</script>
9
+ <style>${B}${F}</style>
11
10
  <div class="${N}" ></div>
12
11
  ${g("product","<p>Product not found</p>",i`<${V} ${z} class="${D}" style="${H}">
13
12
  {{product.description}}
@@ -16,9 +15,9 @@ import{makeStyleResponsive as e,makeLineClamp as t,dataStringify as s,template a
16
15
  <span class="${_}">
17
16
  ${v(!1,Q?.toString(),K?.toString())}
18
17
  </span>
19
- ${v(S?.enableViewMoreIcon,i`<span class="${q}">${b}</span>`," ")}
18
+ ${v(S?.enableViewMoreIcon,i`<span class="${q}">${j}</span>`," ")}
20
19
  </button>`)}`)}
21
20
  </gp-product-description>
22
21
 
23
- ${(()=>{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>`})()}
22
+ ${(()=>{let e=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")}="${e}" defer="defer"></script>`})()}
24
23
  `))};export{M as default};
@@ -1 +1 @@
1
- import{useRef as e,useState as t,useCallback as r,useEffect as l}from"react";import{useProduct as i,useCurrentDevice as o,getResponsiveValueByScreen as n,useProductShopifyEditLink as m,useEditorMode as c,isSafari as p}from"@gem-sdk/core";let s=s=>{let u=e(null),[a,h]=t(!1),[g,d]=t(!1),H=i(),y=o(),x=n(s?.hasLineClamp,y),f=n(s?.lineClamp,y),{redirectProductShopifyLink:C}=m(),w=c(),k=r(()=>`calc(${f} * 1lh)`,[f]),v=r(e=>x&&f&&e||"auto",[x,f]),D=r(()=>{u.current&&(u.current.style.maxHeight=a?k():"none",h(e=>!e))},[a,k]);return l(()=>{v(k())},[s?.typo?.custom,v,k]),l(()=>{let e=u.current;if(h(!1),!e)return;let t=x&&H?.descriptionHtml;t?setTimeout(()=>{let t=e?.scrollHeight??0,r=e?.clientHeight??0,l=window.getComputedStyle(e).getPropertyValue("line-height"),i=parseInt(l,10)||1,o=void 0!==f&&f<Math.round((t??0)/i),n=p()?o:r<t;e.style.maxHeight=k(),f&&n?d(()=>!0):d(()=>!1)},100):e.style.maxHeight="none"},[x,f,H?.descriptionHtml,k]),{ref:u,open:a,isShowViewMore:g,handleToggleShowMore:D,mode:w,redirectProductShopifyLink:C}};export{s as useGpDescription};
1
+ import{useRef as e,useState as t,useCallback as r,useEffect as n}from"react";import{useProduct as i,useCurrentDevice as l,getResponsiveValueByScreen as o,useProductShopifyEditLink as c,useEditorMode as s}from"@gem-sdk/core";let u=u=>{let m=e(null),a=e(!1),[p,h]=t(!1),[H,g]=t(!1),[d,f]=t(!1),x=i(),y=l(),w=o(u?.hasLineClamp,y),b=o(u?.lineClamp,y),{redirectProductShopifyLink:v}=c(),C=s(),T=r(()=>`calc(${b} * 1lh)`,[b]),k=r(e=>w&&b&&e||"auto",[w,b]),z=r(()=>{if(!m.current)return;let e=!p;a.current=e,m.current.style.maxHeight=e?"none":T(),h(e)},[p,T]);return n(()=>{k(T())},[u?.typo?.custom,k,T]),n(()=>{let e=m.current;if(a.current=!1,h(!1),f(!1),!e)return;if(!w||!x?.descriptionHtml||!b){e.style.maxHeight="none",g(!1),f(!0);return}let t=()=>{if(a.current){e.style.maxHeight="none";return}e.style.maxHeight=T();let t=e.scrollHeight-e.clientHeight>1;t||(e.style.maxHeight="none"),g(t),f(!0)},r=window.setTimeout(t,100),n=new ResizeObserver(()=>{t()});return n.observe(e),()=>{window.clearTimeout(r),n.disconnect()}},[w,b,x?.descriptionHtml,T]),{ref:m,open:p,isShowViewMore:H,isOverflowChecked:d,handleToggleShowMore:z,mode:C,redirectProductShopifyLink:v}};export{u as useGpDescription};
@@ -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",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 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};
@@ -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 $}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`
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`
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(j):j}
6
+ assign prefixVal = ${_?.isPreviewing?JSON.stringify(C):C}
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% '",`| ${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} %}
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} %}
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 }}"}'
20
19
  price-save="{{priceSave}}"
21
20
  >
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:{...y,text:"{{ pricePercentage }}",excludeFlex:!0,isForceValue:!0}})}
24
+ ${p({styles:S,id:`p-tag-${P?.uid}`,setting:{...$,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{y as default};
30
+ `};export{$ as default};