@gem-sdk/components 17.0.0-dev.14 → 17.0.0-dev.141

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 (498) 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/dot/Dots.js +1 -1
  24. package/dist/cjs/carousel-v3/components/dot/common/helpers.js +1 -1
  25. package/dist/cjs/carousel-v3/components/item/CarouselItem.js +1 -1
  26. package/dist/cjs/carousel-v3/components/root/Carousel.js +1 -1
  27. package/dist/cjs/carousel-v3/components/root/Carousel.liquid.js +6 -5
  28. package/dist/cjs/carousel-v3/components/swiper/Swiper.js +1 -1
  29. package/dist/cjs/carousel-v3/hooks/useCarousel.js +1 -1
  30. package/dist/cjs/carousel-v3/index.js +1 -1
  31. package/dist/cjs/carousel-v3/settings/configs/settings-v2.js +3 -3
  32. package/dist/cjs/carousel-v3/settings/configs/ui-v2.js +1 -1
  33. package/dist/cjs/cart/components/CartList.js +1 -1
  34. package/dist/cjs/cart/components/shop-pay-button/ShopPayButton.liquid.js +2 -2
  35. package/dist/cjs/cart/index.js +1 -1
  36. package/dist/cjs/code/common/styles.js +1 -1
  37. package/dist/cjs/code/components/CSSCode.liquid.js +2 -2
  38. package/dist/cjs/code/hooks/useCSSCode.js +3 -10
  39. package/dist/cjs/collection/components/collection-description/CollectionDescription.js +1 -1
  40. package/dist/cjs/collection/components/collection-description/CollectionDescription.liquid.js +7 -8
  41. package/dist/cjs/collection/components/collection-paginator/CollectionPaginator.liquid.js +4 -3
  42. package/dist/cjs/collection/components/collection-toolbar/CollectionToolbar.liquid.js +1 -1
  43. package/dist/cjs/collection/index.js +1 -1
  44. package/dist/cjs/collection/settings/collection-banner/configs/ui-v2.js +1 -1
  45. package/dist/cjs/collection/settings/collection-description/configs/ui-v2.js +1 -1
  46. package/dist/cjs/collection/settings/collection-paginator/configs/ui-v2.js +1 -1
  47. package/dist/cjs/collection/settings/collection-title/configs/ui-v2.js +1 -1
  48. package/dist/cjs/collection/settings/collection-toolbar/configs/ui-v2.js +1 -1
  49. package/dist/cjs/countdown-timer/components/Countdown.liquid.js +16 -15
  50. package/dist/cjs/countdown-timer/settings/configs/ui-v2.js +1 -1
  51. package/dist/cjs/coupon/settings/configs/ui-v2.js +1 -1
  52. package/dist/cjs/dialog/settings/configs/ui-v2.js +1 -1
  53. package/dist/cjs/estimate-delivery/settings/configs/ui-v2.js +1 -1
  54. package/dist/cjs/form/settings/contact/configs/ui-v2.js +1 -1
  55. package/dist/cjs/form/settings/form-checkbox/configs/ui-v2.js +1 -1
  56. package/dist/cjs/form/settings/form-dropdown/configs/ui-v2.js +1 -1
  57. package/dist/cjs/form/settings/form-email/configs/ui-v2.js +1 -1
  58. package/dist/cjs/form/settings/form-textarea/configs/ui-v2.js +1 -1
  59. package/dist/cjs/form/settings/newsletter/configs/ui-v2.js +1 -1
  60. package/dist/cjs/form/settings/submit-button/configs/ui-v2.js +1 -1
  61. package/dist/cjs/form/settings/text-field/configs/ui-v2.js +1 -1
  62. package/dist/cjs/grid/components/row/Row.js +1 -1
  63. package/dist/cjs/grid/components/row/Row.liquid.js +7 -2
  64. package/dist/cjs/grid/components/section/Section.js +1 -1
  65. package/dist/cjs/grid/components/section/lazyload/LazySectionWrapper.js +1 -0
  66. package/dist/cjs/grid/components/section/lazyload/lazyInteractionTrigger.js +1 -0
  67. package/dist/cjs/grid/components/section/lazyload/lazySectionCoordinator.js +1 -0
  68. package/dist/cjs/grid/index.js +1 -1
  69. package/dist/cjs/grid/next.js +1 -1
  70. package/dist/cjs/grid/settings/configs/row/ui-v2.js +1 -1
  71. package/dist/cjs/grid/settings/configs/section/ui-v2.js +1 -1
  72. package/dist/cjs/header/components/kind/basic/index.js +1 -1
  73. package/dist/cjs/header/components/kind/modern/index.js +1 -1
  74. package/dist/cjs/header/index.js +1 -1
  75. package/dist/cjs/heading/next.js +1 -1
  76. package/dist/cjs/heading/settings/configs/ui-v2.js +1 -1
  77. package/dist/cjs/headless.js +1 -0
  78. package/dist/cjs/helpers.js +1 -1
  79. package/dist/cjs/hero-banner/common/helpers.js +1 -1
  80. package/dist/cjs/hero-banner/components/HeroBanner.liquid.js +3 -3
  81. package/dist/cjs/hero-banner/index.js +1 -1
  82. package/dist/cjs/hero-banner/settings/configs/ui-v2.js +1 -1
  83. package/dist/cjs/icon/settings/configs/ui-v2.js +1 -1
  84. package/dist/cjs/icon-list/settings/configs/ui-v2.js +1 -1
  85. package/dist/cjs/icon-list-hoz/settings/configs/uiV2.js +1 -1
  86. package/dist/cjs/icon-list-v2/components/IconList.liquid.js +5 -5
  87. package/dist/cjs/icon-list-v2/settings/configs/ui-v2.js +1 -1
  88. package/dist/cjs/image/common/const.js +1 -0
  89. package/dist/cjs/image/common/helpers.js +2 -2
  90. package/dist/cjs/image/next.js +1 -1
  91. package/dist/cjs/image/settings/configs/ui-v2.js +1 -1
  92. package/dist/cjs/image-comparison/common/classes.js +1 -1
  93. package/dist/cjs/image-comparison/components/CompareImage.liquid.js +4 -4
  94. package/dist/cjs/image-comparison/settings/configs/ui-v2.js +1 -1
  95. package/dist/cjs/index.js +1 -1
  96. package/dist/cjs/index.liquid.js +1 -1
  97. package/dist/cjs/line/settings/configs/ui-v2.js +1 -1
  98. package/dist/cjs/marquee/components/Marquee.liquid.js +21 -21
  99. package/dist/cjs/marquee/settings/configs/child-image-template.js +1 -1
  100. package/dist/cjs/marquee/settings/configs/ui-v2.js +1 -1
  101. package/dist/cjs/modal/components/Modal.js +1 -1
  102. package/dist/cjs/modal/index.js +1 -1
  103. package/dist/cjs/post-purchase/callout-banner/index.js +1 -1
  104. package/dist/cjs/post-purchase/link/components/PostPurchaseLink.js +1 -1
  105. package/dist/cjs/post-purchase/link/settings/configs/settings.js +1 -1
  106. package/dist/cjs/post-purchase/link/settings/configs/ui-v2.js +1 -1
  107. package/dist/cjs/post-purchase/product/components/ProductPrice.js +1 -1
  108. package/dist/cjs/post-purchase/product/components/ProductQuantity.js +1 -1
  109. package/dist/cjs/post-purchase/product/components/product-image/FeatureImage.js +1 -1
  110. package/dist/cjs/post-purchase/product/components/product-image/carousel-post-purchase/CarouselWrapperPostPurchase.js +1 -1
  111. package/dist/cjs/post-purchase/product/components/product-image/layouts/OnlyGalleryImage.js +1 -1
  112. package/dist/cjs/post-purchase/product/components/product-offer/components/ProductOfferItem.js +1 -1
  113. package/dist/cjs/post-purchase/product/components/product-offer/context/PrdOfferSubscriptionPresenceContext.js +2 -0
  114. package/dist/cjs/post-purchase/product/components/product-offer/helpers/scanSubscriptionBlocks.js +1 -0
  115. package/dist/cjs/post-purchase/product/components/product-offer/hooks/useProductOfferSubscriptionBlocksObserver.js +1 -0
  116. package/dist/cjs/post-purchase/product/components/product-subscription/hooks/useSubscriptionVisibility.js +1 -1
  117. package/dist/cjs/post-purchase/product/components/product-variant/components/ProductVariant.js +1 -1
  118. package/dist/cjs/post-purchase/product/components/product-variant/components/variants/Dropdown.js +1 -1
  119. package/dist/cjs/post-purchase/product/components/product-variant/components/variants/DropdownOption.js +1 -1
  120. package/dist/cjs/post-purchase/product/index.js +1 -1
  121. package/dist/cjs/post-purchase/product/settings/product-quantity/configs/settings.js +1 -1
  122. package/dist/cjs/post-purchase/product/settings/product-quantity/configs/ui-v2.js +1 -1
  123. package/dist/cjs/post-purchase/text/components/Text.js +2 -2
  124. package/dist/cjs/product/components/ProductImages.liquid.js +9 -9
  125. package/dist/cjs/product/components/dynamic-checkout/Button.liquid.js +9 -9
  126. package/dist/cjs/product/components/file-upload/UploadFile.liquid.js +2 -3
  127. package/dist/cjs/product/components/file-upload/settings/configs/ui-v2.js +1 -1
  128. package/dist/cjs/product/components/product-badge/ProductBadge.js +1 -1
  129. package/dist/cjs/product/components/product-badge/ProductBadge.liquid.js +18 -18
  130. package/dist/cjs/product/components/product-badge/common/attrs.js +1 -1
  131. package/dist/cjs/product/components/product-badge/common/classes.js +1 -1
  132. package/dist/cjs/product/components/product-badge/utils/injectBadgeStateExtras.js +1 -0
  133. package/dist/cjs/product/components/product-badge/utils/renderBadgeILP.js +1 -1
  134. package/dist/cjs/product/components/product-badge/utils/renderBadgeLiquid.js +3 -1
  135. package/dist/cjs/product/components/product-bundle/ProductBundleDiscount.js +1 -1
  136. package/dist/cjs/product/components/product-bundle/ProductBundleDiscount.liquid.js +4 -3
  137. package/dist/cjs/product/components/product-bundle/setting/configs/ui-v2.js +1 -1
  138. package/dist/cjs/product/components/product-button/ProductButton.liquid.js +14 -11
  139. package/dist/cjs/product/components/product-button/common/helpers.js +1 -1
  140. package/dist/cjs/product/components/product-button/hooks/useAddToCart.js +1 -1
  141. package/dist/cjs/product/components/product-description/ProductDescription.js +1 -1
  142. package/dist/cjs/product/components/product-description/ProductDescription.liquid.js +3 -4
  143. package/dist/cjs/product/components/product-description/hooks/useGpDescription.js +1 -1
  144. package/dist/cjs/product/components/product-discount-tag/ProductDiscountTag.js +1 -1
  145. package/dist/cjs/product/components/product-discount-tag/ProductDiscountTag.liquid.js +5 -5
  146. package/dist/cjs/product/components/product-images/ProductFeaturedImage.liquid.js +1 -1
  147. package/dist/cjs/product/components/product-images-v2/ProductImagesV2.liquid.js +22 -22
  148. package/dist/cjs/product/components/product-images-v2/components/feature-gallery/FeatureImageWithGallery.liquid.js +1 -1
  149. package/dist/cjs/product/components/product-images-v2/components/gallery-grid/GalleryGrid.liquid.js +1 -1
  150. package/dist/cjs/product/components/product-images-v3/ProductImagesV3.liquid.js +23 -23
  151. package/dist/cjs/product/components/product-images-v3/common/productFeaturedImage.js +1 -1
  152. package/dist/cjs/product/components/product-images-v3/components/child/ProductFeatureVideo.js +1 -1
  153. package/dist/cjs/product/components/product-images-v3/components/child/ProductFeaturedImageOnly.js +1 -1
  154. package/dist/cjs/product/components/product-images-v3/components/child/ProductGalleryGrid.js +2 -2
  155. package/dist/cjs/product/components/product-images-v3/components/feature-gallery/FeatureImageWithGallery.liquid.js +34 -33
  156. package/dist/cjs/product/components/product-images-v3/components/gallery-grid/GalleryGrid.liquid.js +19 -16
  157. package/dist/cjs/product/components/product-images-v3/components/lightbox/ProductImagesLightBox.js +1 -1
  158. package/dist/cjs/product/components/product-images-v3/composables/getProductImagesClassName.js +1 -1
  159. package/dist/cjs/product/components/product-list/ProductList.js +1 -1
  160. package/dist/cjs/product/components/product-list/ProductList.liquid.js +10 -9
  161. package/dist/cjs/product/components/product-list/ProductListCarouselItem.liquid.js +5 -6
  162. package/dist/cjs/product/components/product-list/ProductListGridItem.liquid.js +7 -8
  163. package/dist/cjs/product/components/product-list/ProductListGridLayout.liquid.js +6 -4
  164. package/dist/cjs/product/components/product-list-v3/ProductList.js +1 -1
  165. package/dist/cjs/product/components/product-list-v3/ProductList.liquid.js +12 -11
  166. package/dist/cjs/product/components/product-list-v3/ProductListCarouselItem.liquid.js +6 -6
  167. package/dist/cjs/product/components/product-list-v3/ProductListGridItem.liquid.js +7 -8
  168. package/dist/cjs/product/components/product-list-v3/ProductListGridLayout.liquid.js +6 -4
  169. package/dist/cjs/product/components/product-list-v3/common/classes.js +1 -1
  170. package/dist/cjs/product/components/product-list-v3/common/helpers.js +1 -1
  171. package/dist/cjs/product/components/product-list-v3/constants/index.js +1 -1
  172. package/dist/cjs/product/components/product-list-v3/hooks/useCollectionQuery.js +1 -1
  173. package/dist/cjs/product/components/product-list-v3/hooks/useMainRelatedProductQuery.js +1 -1
  174. package/dist/cjs/product/components/product-list-v3/hooks/useProductRelatedQuery.js +1 -1
  175. package/dist/cjs/product/components/product-list-v3/hooks/useProductsQuery.js +1 -1
  176. package/dist/cjs/product/components/product-list-v3/hooks/useRelatedProductIDAssigned.js +1 -0
  177. package/dist/cjs/product/components/product-price/ProductPrice.liquid.js +4 -4
  178. package/dist/cjs/product/components/product-sku/Sku.js +1 -1
  179. package/dist/cjs/product/components/product-sku/Sku.liquid.js +4 -3
  180. package/dist/cjs/product/components/product-title/ProductTitle.liquid.js +7 -8
  181. package/dist/cjs/product/components/product-variants/ProductVariants.liquid.js +43 -43
  182. package/dist/cjs/product/components/product-variants/common/const.js +1 -1
  183. package/dist/cjs/product/components/product-wrap/Product.liquid.js +1 -1
  184. package/dist/cjs/product/components/product-wrap/hook/useProductQuery.js +1 -1
  185. package/dist/cjs/product/index.js +1 -1
  186. package/dist/cjs/product/settings/dynamic-checkout/configs/ui-v2.js +1 -1
  187. package/dist/cjs/product/settings/product/configs/ui-v2.js +1 -1
  188. package/dist/cjs/product/settings/product-badge/configs/ui-v2.js +1 -1
  189. package/dist/cjs/product/settings/product-button/configs/ui-v2.js +1 -1
  190. package/dist/cjs/product/settings/product-image-v2/configs/ui-v2.js +1 -1
  191. package/dist/cjs/product/settings/product-image-v3/configs/setting-v2/ProductFeatureImage.js +1 -1
  192. package/dist/cjs/product/settings/product-image-v3/configs/setting-v2/ProductGalleryImage.js +2 -2
  193. package/dist/cjs/product/settings/product-image-v3/configs/ui-v2.js +1 -1
  194. package/dist/cjs/product/settings/product-list/configs/ui-v2.js +1 -1
  195. package/dist/cjs/product/settings/product-list-v3/configs/ui-v2.js +1 -1
  196. package/dist/cjs/product/settings/product-properties/configs/ui-v2.js +1 -1
  197. package/dist/cjs/product/settings/product-quantity/configs/ui-v2.js +1 -1
  198. package/dist/cjs/product/settings/product-title/configs/ui-v2.js +1 -1
  199. package/dist/cjs/product/settings/product-variant/configs/ui-v2.js +1 -1
  200. package/dist/cjs/product/settings/product-vendor/configs/ui-v2.js +1 -1
  201. package/dist/cjs/product/settings/product-view-more/configs/ui-v2.js +1 -1
  202. package/dist/cjs/sticky/common/classes.js +1 -1
  203. package/dist/cjs/sticky/components/Sticky.liquid.js +4 -5
  204. package/dist/cjs/sticky/hooks/useSticky.js +1 -1
  205. package/dist/cjs/sticky/settings/configs/ui-v2.js +1 -1
  206. package/dist/cjs/stock-counter/common/classes.js +1 -1
  207. package/dist/cjs/stock-counter/components/StockCounter.liquid.js +11 -8
  208. package/dist/cjs/stock-counter/settings/configs/ui-v2.js +1 -1
  209. package/dist/cjs/tab/components/Tabs.liquid.js +7 -6
  210. package/dist/cjs/tab/settings/configs/ui-v2.js +1 -1
  211. package/dist/cjs/text/components/Text.liquid.js +3 -3
  212. package/dist/cjs/text/next.js +1 -1
  213. package/dist/cjs/text/settings/configs/ui-v2.js +1 -1
  214. package/dist/cjs/third-party/components/AppstleLoyaltyRewardProgram.js +2 -0
  215. package/dist/cjs/third-party/components/AppstleLoyaltyRewardProgram.liquid.js +16 -0
  216. package/dist/cjs/third-party/components/BonySubscriptionsApp.liquid.js +10 -3
  217. package/dist/cjs/third-party/components/EcomsendBackInStockAlert.js +1 -1
  218. package/dist/cjs/third-party/components/EssentPreorderBackInStock.js +2 -0
  219. package/dist/cjs/third-party/components/EssentPreorderBackInStock.liquid.js +8 -0
  220. package/dist/cjs/third-party/components/Stamped/LiquidTemplateByWidget.js +1 -1
  221. package/dist/cjs/third-party/components/SubscribfySubscriptionsApp.js +2 -0
  222. package/dist/cjs/third-party/components/SubscribfySubscriptionsApp.liquid.js +1 -0
  223. package/dist/cjs/third-party/components/WcWishlistBackInStock.liquid.js +19 -1
  224. package/dist/cjs/third-party/configs/AppstleLoyaltyRewardProgram.js +1 -0
  225. package/dist/cjs/third-party/configs/EcomsendBackInStockAlert.js +1 -1
  226. package/dist/cjs/third-party/configs/EssentPreorderBackInStock.js +1 -0
  227. package/dist/cjs/third-party/configs/SubscribfySubscriptionsApp.js +1 -0
  228. package/dist/cjs/third-party/configs/WcWishlistBackInStock.js +1 -1
  229. package/dist/cjs/third-party/index.js +1 -1
  230. package/dist/cjs/third-party/next.js +1 -1
  231. package/dist/cjs/third-party/settings/AppstleLoyaltyRewardProgram/index.js +4 -0
  232. package/dist/cjs/third-party/settings/AppstleLoyaltyRewardProgram/uiV2.js +1 -0
  233. package/dist/cjs/third-party/settings/EcomsendBackInStockAlert/index.js +4 -4
  234. package/dist/cjs/third-party/settings/EssentPreorderBackInStock/index.js +4 -0
  235. package/dist/cjs/third-party/settings/EssentPreorderBackInStock/uiV2.js +1 -0
  236. package/dist/cjs/third-party/settings/SubscribfySubscriptionsApp/index.js +4 -0
  237. package/dist/cjs/third-party/settings/SubscribfySubscriptionsApp/uiV2.js +1 -0
  238. package/dist/cjs/third-party/settings/WcWishlistBackInStock/index.js +5 -2
  239. package/dist/cjs/video/common/helpers.js +1 -1
  240. package/dist/cjs/video/components/LiteVimeoEmbed.liquid.js +5 -4
  241. package/dist/cjs/video/components/LiteYouTubeEmbed.liquid.js +15 -14
  242. package/dist/cjs/video/hooks/useLiteYoutubeEmbed.js +1 -1
  243. package/dist/esm/accordion/components/Accordion.liquid.js +8 -9
  244. package/dist/esm/accordion/settings/configs/ui-v2.js +1 -1
  245. package/dist/esm/article/components/ArticleReadMore.liquid.js +4 -4
  246. package/dist/esm/article/settings/configs/article-author/ui-v2.js +1 -1
  247. package/dist/esm/article/settings/configs/article-category/ui-v2.js +1 -1
  248. package/dist/esm/article/settings/configs/article-content/ui-v2.js +1 -1
  249. package/dist/esm/article/settings/configs/article-date/ui-v2.js +1 -1
  250. package/dist/esm/article/settings/configs/article-excerpt/ui-v2.js +1 -1
  251. package/dist/esm/article/settings/configs/article-image/ui-v2.js +1 -1
  252. package/dist/esm/article/settings/configs/article-list/ui-v2.js +1 -1
  253. package/dist/esm/article/settings/configs/article-read-more/ui-v2.js +1 -1
  254. package/dist/esm/article/settings/configs/article-tag/ui-v2.js +1 -1
  255. package/dist/esm/article/settings/configs/article-title/ui-v2.js +1 -1
  256. package/dist/esm/breadcrumb/settings/configs/ui-v2.js +1 -1
  257. package/dist/esm/builder.js +1 -1
  258. package/dist/esm/button/common/helpers.js +2 -2
  259. package/dist/esm/button/components/Button.liquid.js +19 -19
  260. package/dist/esm/button/settings/configs/ui-v2.js +1 -1
  261. package/dist/esm/carousel/components/dot/Dots.js +1 -1
  262. package/dist/esm/carousel/components/root/Carousel.liquid.js +4 -3
  263. package/dist/esm/carousel-v3/components/arrow/Arrow.liquid.js +6 -6
  264. package/dist/esm/carousel-v3/components/arrow/common/classes.js +1 -1
  265. package/dist/esm/carousel-v3/components/dot/Dots.js +1 -1
  266. package/dist/esm/carousel-v3/components/dot/common/helpers.js +1 -1
  267. package/dist/esm/carousel-v3/components/item/CarouselItem.js +1 -1
  268. package/dist/esm/carousel-v3/components/root/Carousel.js +1 -1
  269. package/dist/esm/carousel-v3/components/root/Carousel.liquid.js +6 -5
  270. package/dist/esm/carousel-v3/components/swiper/Swiper.js +1 -1
  271. package/dist/esm/carousel-v3/hooks/useCarousel.js +1 -1
  272. package/dist/esm/carousel-v3/index.js +1 -1
  273. package/dist/esm/carousel-v3/settings/configs/settings-v2.js +3 -3
  274. package/dist/esm/carousel-v3/settings/configs/ui-v2.js +1 -1
  275. package/dist/esm/cart/components/CartList.js +1 -1
  276. package/dist/esm/cart/components/shop-pay-button/ShopPayButton.liquid.js +2 -2
  277. package/dist/esm/cart/index.js +1 -1
  278. package/dist/esm/code/common/styles.js +1 -1
  279. package/dist/esm/code/components/CSSCode.liquid.js +6 -6
  280. package/dist/esm/code/hooks/useCSSCode.js +3 -10
  281. package/dist/esm/collection/components/collection-description/CollectionDescription.js +1 -1
  282. package/dist/esm/collection/components/collection-description/CollectionDescription.liquid.js +6 -7
  283. package/dist/esm/collection/components/collection-paginator/CollectionPaginator.liquid.js +4 -3
  284. package/dist/esm/collection/components/collection-toolbar/CollectionToolbar.liquid.js +3 -3
  285. package/dist/esm/collection/index.js +1 -1
  286. package/dist/esm/collection/settings/collection-banner/configs/ui-v2.js +1 -1
  287. package/dist/esm/collection/settings/collection-description/configs/ui-v2.js +1 -1
  288. package/dist/esm/collection/settings/collection-paginator/configs/ui-v2.js +1 -1
  289. package/dist/esm/collection/settings/collection-title/configs/ui-v2.js +1 -1
  290. package/dist/esm/collection/settings/collection-toolbar/configs/ui-v2.js +1 -1
  291. package/dist/esm/countdown-timer/components/Countdown.liquid.js +21 -20
  292. package/dist/esm/countdown-timer/settings/configs/ui-v2.js +1 -1
  293. package/dist/esm/coupon/settings/configs/ui-v2.js +1 -1
  294. package/dist/esm/dialog/settings/configs/ui-v2.js +1 -1
  295. package/dist/esm/estimate-delivery/settings/configs/ui-v2.js +1 -1
  296. package/dist/esm/form/settings/contact/configs/ui-v2.js +1 -1
  297. package/dist/esm/form/settings/form-checkbox/configs/ui-v2.js +1 -1
  298. package/dist/esm/form/settings/form-dropdown/configs/ui-v2.js +1 -1
  299. package/dist/esm/form/settings/form-email/configs/ui-v2.js +1 -1
  300. package/dist/esm/form/settings/form-textarea/configs/ui-v2.js +1 -1
  301. package/dist/esm/form/settings/newsletter/configs/ui-v2.js +1 -1
  302. package/dist/esm/form/settings/submit-button/configs/ui-v2.js +1 -1
  303. package/dist/esm/form/settings/text-field/configs/ui-v2.js +1 -1
  304. package/dist/esm/grid/components/row/Row.js +1 -1
  305. package/dist/esm/grid/components/row/Row.liquid.js +10 -5
  306. package/dist/esm/grid/components/section/Section.js +1 -1
  307. package/dist/esm/grid/components/section/lazyload/LazySectionWrapper.js +1 -0
  308. package/dist/esm/grid/components/section/lazyload/lazyInteractionTrigger.js +1 -0
  309. package/dist/esm/grid/components/section/lazyload/lazySectionCoordinator.js +1 -0
  310. package/dist/esm/grid/index.js +1 -1
  311. package/dist/esm/grid/next.js +1 -1
  312. package/dist/esm/grid/settings/configs/row/ui-v2.js +1 -1
  313. package/dist/esm/grid/settings/configs/section/ui-v2.js +1 -1
  314. package/dist/esm/header/components/kind/basic/index.js +1 -1
  315. package/dist/esm/header/components/kind/modern/index.js +1 -1
  316. package/dist/esm/header/index.js +1 -1
  317. package/dist/esm/heading/next.js +1 -1
  318. package/dist/esm/heading/settings/configs/ui-v2.js +1 -1
  319. package/dist/esm/headless.js +1 -0
  320. package/dist/esm/helpers.js +1 -1
  321. package/dist/esm/hero-banner/common/helpers.js +1 -1
  322. package/dist/esm/hero-banner/components/HeroBanner.liquid.js +5 -5
  323. package/dist/esm/hero-banner/index.js +1 -1
  324. package/dist/esm/hero-banner/settings/configs/ui-v2.js +1 -1
  325. package/dist/esm/icon/settings/configs/ui-v2.js +1 -1
  326. package/dist/esm/icon-list/settings/configs/ui-v2.js +1 -1
  327. package/dist/esm/icon-list-hoz/settings/configs/uiV2.js +1 -1
  328. package/dist/esm/icon-list-v2/components/IconList.liquid.js +3 -3
  329. package/dist/esm/icon-list-v2/settings/configs/ui-v2.js +1 -1
  330. package/dist/esm/image/common/const.js +1 -0
  331. package/dist/esm/image/common/helpers.js +2 -2
  332. package/dist/esm/image/next.js +1 -1
  333. package/dist/esm/image/settings/configs/ui-v2.js +1 -1
  334. package/dist/esm/image-comparison/common/classes.js +1 -1
  335. package/dist/esm/image-comparison/components/CompareImage.liquid.js +5 -5
  336. package/dist/esm/image-comparison/settings/configs/ui-v2.js +1 -1
  337. package/dist/esm/index.js +1 -1
  338. package/dist/esm/index.liquid.js +1 -1
  339. package/dist/esm/line/settings/configs/ui-v2.js +1 -1
  340. package/dist/esm/marquee/components/Marquee.liquid.js +21 -21
  341. package/dist/esm/marquee/settings/configs/child-image-template.js +1 -1
  342. package/dist/esm/marquee/settings/configs/ui-v2.js +1 -1
  343. package/dist/esm/modal/components/Modal.js +1 -1
  344. package/dist/esm/modal/index.js +1 -1
  345. package/dist/esm/post-purchase/callout-banner/index.js +1 -1
  346. package/dist/esm/post-purchase/link/components/PostPurchaseLink.js +1 -1
  347. package/dist/esm/post-purchase/link/settings/configs/settings.js +1 -1
  348. package/dist/esm/post-purchase/link/settings/configs/ui-v2.js +1 -1
  349. package/dist/esm/post-purchase/product/components/ProductPrice.js +1 -1
  350. package/dist/esm/post-purchase/product/components/ProductQuantity.js +1 -1
  351. package/dist/esm/post-purchase/product/components/product-image/FeatureImage.js +1 -1
  352. package/dist/esm/post-purchase/product/components/product-image/carousel-post-purchase/CarouselWrapperPostPurchase.js +1 -1
  353. package/dist/esm/post-purchase/product/components/product-image/layouts/OnlyGalleryImage.js +1 -1
  354. package/dist/esm/post-purchase/product/components/product-offer/components/ProductOfferItem.js +1 -1
  355. package/dist/esm/post-purchase/product/components/product-offer/context/PrdOfferSubscriptionPresenceContext.js +2 -0
  356. package/dist/esm/post-purchase/product/components/product-offer/helpers/scanSubscriptionBlocks.js +1 -0
  357. package/dist/esm/post-purchase/product/components/product-offer/hooks/useProductOfferSubscriptionBlocksObserver.js +1 -0
  358. package/dist/esm/post-purchase/product/components/product-subscription/hooks/useSubscriptionVisibility.js +1 -1
  359. package/dist/esm/post-purchase/product/components/product-variant/components/ProductVariant.js +1 -1
  360. package/dist/esm/post-purchase/product/components/product-variant/components/variants/Dropdown.js +1 -1
  361. package/dist/esm/post-purchase/product/components/product-variant/components/variants/DropdownOption.js +1 -1
  362. package/dist/esm/post-purchase/product/index.js +1 -1
  363. package/dist/esm/post-purchase/product/settings/product-quantity/configs/settings.js +1 -1
  364. package/dist/esm/post-purchase/product/settings/product-quantity/configs/ui-v2.js +1 -1
  365. package/dist/esm/post-purchase/text/components/Text.js +2 -2
  366. package/dist/esm/product/components/ProductImages.liquid.js +12 -12
  367. package/dist/esm/product/components/dynamic-checkout/Button.liquid.js +14 -14
  368. package/dist/esm/product/components/file-upload/UploadFile.liquid.js +3 -4
  369. package/dist/esm/product/components/file-upload/settings/configs/ui-v2.js +1 -1
  370. package/dist/esm/product/components/product-badge/ProductBadge.js +1 -1
  371. package/dist/esm/product/components/product-badge/ProductBadge.liquid.js +20 -20
  372. package/dist/esm/product/components/product-badge/common/attrs.js +1 -1
  373. package/dist/esm/product/components/product-badge/common/classes.js +1 -1
  374. package/dist/esm/product/components/product-badge/utils/injectBadgeStateExtras.js +1 -0
  375. package/dist/esm/product/components/product-badge/utils/renderBadgeILP.js +1 -1
  376. package/dist/esm/product/components/product-badge/utils/renderBadgeLiquid.js +5 -3
  377. package/dist/esm/product/components/product-bundle/ProductBundleDiscount.js +1 -1
  378. package/dist/esm/product/components/product-bundle/ProductBundleDiscount.liquid.js +8 -7
  379. package/dist/esm/product/components/product-bundle/setting/configs/ui-v2.js +1 -1
  380. package/dist/esm/product/components/product-button/ProductButton.liquid.js +14 -11
  381. package/dist/esm/product/components/product-button/common/helpers.js +1 -1
  382. package/dist/esm/product/components/product-button/hooks/useAddToCart.js +1 -1
  383. package/dist/esm/product/components/product-description/ProductDescription.js +1 -1
  384. package/dist/esm/product/components/product-description/ProductDescription.liquid.js +5 -6
  385. package/dist/esm/product/components/product-description/hooks/useGpDescription.js +1 -1
  386. package/dist/esm/product/components/product-discount-tag/ProductDiscountTag.js +1 -1
  387. package/dist/esm/product/components/product-discount-tag/ProductDiscountTag.liquid.js +8 -8
  388. package/dist/esm/product/components/product-images/ProductFeaturedImage.liquid.js +1 -1
  389. package/dist/esm/product/components/product-images-v2/ProductImagesV2.liquid.js +21 -21
  390. package/dist/esm/product/components/product-images-v2/components/feature-gallery/FeatureImageWithGallery.liquid.js +1 -1
  391. package/dist/esm/product/components/product-images-v2/components/gallery-grid/GalleryGrid.liquid.js +1 -1
  392. package/dist/esm/product/components/product-images-v3/ProductImagesV3.liquid.js +22 -22
  393. package/dist/esm/product/components/product-images-v3/common/productFeaturedImage.js +1 -1
  394. package/dist/esm/product/components/product-images-v3/components/child/ProductFeatureVideo.js +1 -1
  395. package/dist/esm/product/components/product-images-v3/components/child/ProductFeaturedImageOnly.js +1 -1
  396. package/dist/esm/product/components/product-images-v3/components/child/ProductGalleryGrid.js +2 -2
  397. package/dist/esm/product/components/product-images-v3/components/feature-gallery/FeatureImageWithGallery.liquid.js +17 -16
  398. package/dist/esm/product/components/product-images-v3/components/gallery-grid/GalleryGrid.liquid.js +20 -17
  399. package/dist/esm/product/components/product-images-v3/components/lightbox/ProductImagesLightBox.js +1 -1
  400. package/dist/esm/product/components/product-images-v3/composables/getProductImagesClassName.js +1 -1
  401. package/dist/esm/product/components/product-list/ProductList.js +1 -1
  402. package/dist/esm/product/components/product-list/ProductList.liquid.js +18 -17
  403. package/dist/esm/product/components/product-list/ProductListCarouselItem.liquid.js +5 -6
  404. package/dist/esm/product/components/product-list/ProductListGridItem.liquid.js +7 -8
  405. package/dist/esm/product/components/product-list/ProductListGridLayout.liquid.js +9 -7
  406. package/dist/esm/product/components/product-list-v3/ProductList.js +1 -1
  407. package/dist/esm/product/components/product-list-v3/ProductList.liquid.js +20 -19
  408. package/dist/esm/product/components/product-list-v3/ProductListCarouselItem.liquid.js +6 -6
  409. package/dist/esm/product/components/product-list-v3/ProductListGridItem.liquid.js +7 -8
  410. package/dist/esm/product/components/product-list-v3/ProductListGridLayout.liquid.js +9 -7
  411. package/dist/esm/product/components/product-list-v3/common/classes.js +1 -1
  412. package/dist/esm/product/components/product-list-v3/common/helpers.js +1 -1
  413. package/dist/esm/product/components/product-list-v3/constants/index.js +1 -1
  414. package/dist/esm/product/components/product-list-v3/hooks/useCollectionQuery.js +1 -1
  415. package/dist/esm/product/components/product-list-v3/hooks/useMainRelatedProductQuery.js +1 -1
  416. package/dist/esm/product/components/product-list-v3/hooks/useProductRelatedQuery.js +1 -1
  417. package/dist/esm/product/components/product-list-v3/hooks/useProductsQuery.js +1 -1
  418. package/dist/esm/product/components/product-list-v3/hooks/useRelatedProductIDAssigned.js +1 -0
  419. package/dist/esm/product/components/product-price/ProductPrice.liquid.js +3 -3
  420. package/dist/esm/product/components/product-sku/Sku.js +1 -1
  421. package/dist/esm/product/components/product-sku/Sku.liquid.js +6 -5
  422. package/dist/esm/product/components/product-title/ProductTitle.liquid.js +5 -6
  423. package/dist/esm/product/components/product-variants/ProductVariants.liquid.js +48 -48
  424. package/dist/esm/product/components/product-variants/common/const.js +1 -1
  425. package/dist/esm/product/components/product-wrap/Product.liquid.js +5 -5
  426. package/dist/esm/product/components/product-wrap/hook/useProductQuery.js +1 -1
  427. package/dist/esm/product/index.js +1 -1
  428. package/dist/esm/product/settings/dynamic-checkout/configs/ui-v2.js +1 -1
  429. package/dist/esm/product/settings/product/configs/ui-v2.js +1 -1
  430. package/dist/esm/product/settings/product-badge/configs/ui-v2.js +1 -1
  431. package/dist/esm/product/settings/product-button/configs/ui-v2.js +1 -1
  432. package/dist/esm/product/settings/product-image-v2/configs/ui-v2.js +1 -1
  433. package/dist/esm/product/settings/product-image-v3/configs/setting-v2/ProductFeatureImage.js +1 -1
  434. package/dist/esm/product/settings/product-image-v3/configs/setting-v2/ProductGalleryImage.js +2 -2
  435. package/dist/esm/product/settings/product-image-v3/configs/ui-v2.js +1 -1
  436. package/dist/esm/product/settings/product-list/configs/ui-v2.js +1 -1
  437. package/dist/esm/product/settings/product-list-v3/configs/ui-v2.js +1 -1
  438. package/dist/esm/product/settings/product-properties/configs/ui-v2.js +1 -1
  439. package/dist/esm/product/settings/product-quantity/configs/ui-v2.js +1 -1
  440. package/dist/esm/product/settings/product-title/configs/ui-v2.js +1 -1
  441. package/dist/esm/product/settings/product-variant/configs/ui-v2.js +1 -1
  442. package/dist/esm/product/settings/product-vendor/configs/ui-v2.js +1 -1
  443. package/dist/esm/product/settings/product-view-more/configs/ui-v2.js +1 -1
  444. package/dist/esm/sticky/common/classes.js +1 -1
  445. package/dist/esm/sticky/components/Sticky.liquid.js +11 -12
  446. package/dist/esm/sticky/hooks/useSticky.js +1 -1
  447. package/dist/esm/sticky/settings/configs/ui-v2.js +1 -1
  448. package/dist/esm/stock-counter/common/classes.js +1 -1
  449. package/dist/esm/stock-counter/components/StockCounter.liquid.js +27 -24
  450. package/dist/esm/stock-counter/settings/configs/ui-v2.js +1 -1
  451. package/dist/esm/tab/components/Tabs.liquid.js +12 -11
  452. package/dist/esm/tab/settings/configs/ui-v2.js +1 -1
  453. package/dist/esm/text/components/Text.liquid.js +3 -3
  454. package/dist/esm/text/next.js +1 -1
  455. package/dist/esm/text/settings/configs/ui-v2.js +1 -1
  456. package/dist/esm/third-party/components/AppstleLoyaltyRewardProgram.js +2 -0
  457. package/dist/esm/third-party/components/AppstleLoyaltyRewardProgram.liquid.js +16 -0
  458. package/dist/esm/third-party/components/BonySubscriptionsApp.liquid.js +11 -4
  459. package/dist/esm/third-party/components/EcomsendBackInStockAlert.js +1 -1
  460. package/dist/esm/third-party/components/EssentPreorderBackInStock.js +2 -0
  461. package/dist/esm/third-party/components/EssentPreorderBackInStock.liquid.js +8 -0
  462. package/dist/esm/third-party/components/Stamped/LiquidTemplateByWidget.js +1 -1
  463. package/dist/esm/third-party/components/SubscribfySubscriptionsApp.js +2 -0
  464. package/dist/esm/third-party/components/SubscribfySubscriptionsApp.liquid.js +1 -0
  465. package/dist/esm/third-party/components/WcWishlistBackInStock.liquid.js +19 -1
  466. package/dist/esm/third-party/configs/AppstleLoyaltyRewardProgram.js +1 -0
  467. package/dist/esm/third-party/configs/EcomsendBackInStockAlert.js +1 -1
  468. package/dist/esm/third-party/configs/EssentPreorderBackInStock.js +1 -0
  469. package/dist/esm/third-party/configs/SubscribfySubscriptionsApp.js +1 -0
  470. package/dist/esm/third-party/configs/WcWishlistBackInStock.js +1 -1
  471. package/dist/esm/third-party/index.js +1 -1
  472. package/dist/esm/third-party/next.js +1 -1
  473. package/dist/esm/third-party/settings/AppstleLoyaltyRewardProgram/index.js +4 -0
  474. package/dist/esm/third-party/settings/AppstleLoyaltyRewardProgram/uiV2.js +1 -0
  475. package/dist/esm/third-party/settings/EcomsendBackInStockAlert/index.js +4 -4
  476. package/dist/esm/third-party/settings/EssentPreorderBackInStock/index.js +4 -0
  477. package/dist/esm/third-party/settings/EssentPreorderBackInStock/uiV2.js +1 -0
  478. package/dist/esm/third-party/settings/SubscribfySubscriptionsApp/index.js +4 -0
  479. package/dist/esm/third-party/settings/SubscribfySubscriptionsApp/uiV2.js +1 -0
  480. package/dist/esm/third-party/settings/WcWishlistBackInStock/index.js +5 -2
  481. package/dist/esm/video/common/helpers.js +1 -1
  482. package/dist/esm/video/components/LiteVimeoEmbed.liquid.js +3 -2
  483. package/dist/esm/video/components/LiteYouTubeEmbed.liquid.js +14 -13
  484. package/dist/esm/video/hooks/useLiteYoutubeEmbed.js +1 -1
  485. package/dist/types/index.d.ts +267 -30
  486. package/package.json +5 -5
  487. package/dist/cjs/modal/components/ZoomButton.js +0 -2
  488. package/dist/cjs/product/components/product-images-v3/components/child/ProductImagesLightBoxPreview.js +0 -1
  489. package/dist/cjs/product/components/product-images-v3/components/lightbox/LightBoxCarousel.js +0 -2
  490. package/dist/cjs/product/components/product-images-v3/components/lightbox/LightBoxGalleryCarousel.js +0 -2
  491. package/dist/cjs/product/components/product-images-v3/components/lightbox/LightBoxImageZoom.js +0 -2
  492. package/dist/cjs/product/components/product-images-v3/components/lightbox/constants.js +0 -1
  493. package/dist/esm/modal/components/ZoomButton.js +0 -2
  494. package/dist/esm/product/components/product-images-v3/components/child/ProductImagesLightBoxPreview.js +0 -1
  495. package/dist/esm/product/components/product-images-v3/components/lightbox/LightBoxCarousel.js +0 -2
  496. package/dist/esm/product/components/product-images-v3/components/lightbox/LightBoxGalleryCarousel.js +0 -2
  497. package/dist/esm/product/components/product-images-v3/components/lightbox/LightBoxImageZoom.js +0 -2
  498. package/dist/esm/product/components/product-images-v3/components/lightbox/constants.js +0 -1
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import{jsx as e,Fragment as t,jsxs as r}from"react/jsx-runtime";import o from"./variants/VariantGroup.js";import{createClass as i,createStyle as n}from"@gem-sdk/system";import{getDefaultVariantClasses as s,getContainerClasses as a,getDropdownVariantWrapperClasses as d}from"../common/classes.js";import{getWrapperStyles as l}from"../common/styles.js";import c from"./ProductOption.js";import{useVariants as m,useProduct as p,useIsSyncProduct as u,useSelectedOption as f,useEditorMode as h,useInitialSwatchesOptions as w,useSwatchesOptions as v,DEVICES as g,getSelectedVariant as P}from"@gem-sdk/core";import{useTransition as y}from"../hooks/useTransition.js";import{useState as L,useEffect as j,useMemo as N,useCallback as O}from"react";import{checkDefaultVariant as E}from"../../../../../product/helpers/product.js";let S=({builderProps:S,style:V,styles:b,setting:k})=>{let{hasPreSelected:x}=k??{},I="variant",R=!1,{dropdownItemWidth:U}=b??{},{optionType:G,variantPresets:J}=k??{},T=m(),A=p(),W=u(),{selectedOptions:q,setSelectedOption:z,forceSelectedOption:B}=f(),[C,D]=L(""),F=h();j(()=>{let e=new URL(window.location.href),t=e.searchParams.get(I);t&&D(t)},[]);let H=()=>{let e=new URL(window.location.href),t=e.searchParams.get(I);if(t){let e=T.find(e=>e?.id===t);return e}return null};j(()=>{let e=H();if(e){let t=e?.selectedOptions.reduce((e,t)=>t.name?{...e,[t.name]:t.value}:e,{})??{};B(t,A?.id,!0)}},[]);let K=A?.options;w(K);let M=v(K),[Q,X]=L(!1),Y=E(A),Z=N(()=>"groupOption"===G,[G]),$=()=>{let e={};return g.forEach(t=>{e[t]=U?.[t]==="fill"}),e},_=O(e=>{let t=J?.find(t=>t.optionName===e);return t||J?.find(e=>"base"===e.optionName)},[J]),ee=O(e=>{let t=e.detail,r=A?.id;X(!0),W&&t&&r==t.productId&&z(t.optionId,t.optionValue,r,!0)},[W,A?.id,z]),et=O(e=>{let t=e.detail,r=A?.id;X(!0),W&&t&&r==t.productId&&B(t.selectedOption,r,!0)},[B,W,A?.id]),er=e=>{let t=new URL(window.location.href);e?t.searchParams.set(I,e):t.searchParams.delete(I),history.replaceState(null,"",t.toString())};j(()=>(window.addEventListener("set-selected-option",ee),window.addEventListener("force-selected-option",et),()=>{window.removeEventListener("set-selected-option",ee),window.removeEventListener("force-selected-option",et)}),[et,ee]),y(e=>{if(!R){R=!0;return}let t=JSON.stringify(e),r=JSON.stringify(q);if(e&&t!==r){let e=P(T,q);er(e?.id||"")}},[q]);let eo=i({...s()}),ei=i({...a()}),en=i({...d(b,Z)}),es=n({...l({setting:k,styles:b,style:V})});return e(t,{children:Y?e("div",{children:"edit"===F&&e("p",{className:eo,children:"This product has only default variant"})}):r("div",{className:ei,style:es,children:[!Z&&M?.map((t,r)=>e(c,{option:t,indexOption:r,productVariantSettings:{getVariantConfiguration:_,getSwatchDropdownAutoWidth:$,hasPreSelected:x,variantId:C,selectedOptions:q,isChangeVariant:Q},setting:k,styles:b,builderProps:S,optionLength:M.length},t.id)),Z&&e("div",{className:en,children:e(o,{...b,...k,variantGroup:!0,label:"Variants",swatchAutoWidth:$()})})]})})};export{S as default};
2
+ import{jsx as e,Fragment as t,jsxs as r}from"react/jsx-runtime";import o from"./variants/VariantGroup.js";import{createClass as i,createStyle as n}from"@gem-sdk/system";import{getDefaultVariantClasses as s,getContainerClasses as a,getDropdownVariantWrapperClasses as d}from"../common/classes.js";import{getWrapperStyles as l}from"../common/styles.js";import c from"./ProductOption.js";import{useVariants as m,useProduct as p,useIsSyncProduct as u,useSelectedOption as f,useEditorMode as h,useInitialSwatchesOptions as w,useSwatchesOptions as v,t as g,DEVICES as P,getSelectedVariant as y}from"@gem-sdk/core";import{useTransition as L}from"../hooks/useTransition.js";import{useState as j,useEffect as N,useMemo as O,useCallback as E}from"react";import{checkDefaultVariant as S}from"../../../../../product/helpers/product.js";let V=({builderProps:V,style:b,styles:k,setting:x})=>{let{hasPreSelected:I}=x??{},R="variant",U=!1,{dropdownItemWidth:G}=k??{},{optionType:J,variantPresets:T}=x??{},A=m(),W=p(),q=u(),{selectedOptions:z,setSelectedOption:B,forceSelectedOption:C}=f(),[D,F]=j(""),H=h();N(()=>{let e=new URL(window.location.href),t=e.searchParams.get(R);t&&F(t)},[]);let K=()=>{let e=new URL(window.location.href),t=e.searchParams.get(R);if(t){let e=A.find(e=>e?.id===t);return e}return null};N(()=>{let e=K();if(e){let t=e?.selectedOptions.reduce((e,t)=>t.name?{...e,[t.name]:t.value}:e,{})??{};C(t,W?.id,!0)}},[]);let M=W?.options;w(M);let Q=v(M),[X,Y]=j(!1),Z=S(W),$=O(()=>"groupOption"===J,[J]),_=()=>{let e={};return P.forEach(t=>{e[t]=G?.[t]==="fill"}),e},ee=E(e=>{let t=T?.find(t=>t.optionName===e);return t||T?.find(e=>"base"===e.optionName)},[T]),et=E(e=>{let t=e.detail,r=W?.id;Y(!0),q&&t&&r==t.productId&&B(t.optionId,t.optionValue,r,!0)},[q,W?.id,B]),er=E(e=>{let t=e.detail,r=W?.id;Y(!0),q&&t&&r==t.productId&&C(t.selectedOption,r,!0)},[C,q,W?.id]),eo=e=>{let t=new URL(window.location.href);e?t.searchParams.set(R,e):t.searchParams.delete(R),history.replaceState(null,"",t.toString())};N(()=>(window.addEventListener("set-selected-option",et),window.addEventListener("force-selected-option",er),()=>{window.removeEventListener("set-selected-option",et),window.removeEventListener("force-selected-option",er)}),[er,et]),L(e=>{if(!U){U=!0;return}let t=JSON.stringify(e),r=JSON.stringify(z);if(e&&t!==r){let e=y(A,z);eo(e?.id||"")}},[z]);let ei=i({...s()}),en=i({...a()}),es=i({...d(k,$)}),ea=n({...l({setting:x,styles:k,style:b})});return e(t,{children:Z?e("div",{children:"edit"===H&&e("p",{className:ei,children:g("This product has only default variant")})}):r("div",{className:en,style:ea,children:[!$&&Q?.map((t,r)=>e(c,{option:t,indexOption:r,productVariantSettings:{getVariantConfiguration:ee,getSwatchDropdownAutoWidth:_,hasPreSelected:I,variantId:D,selectedOptions:z,isChangeVariant:X},setting:x,styles:k,builderProps:V,optionLength:Q.length},t.id)),$&&e("div",{className:es,children:e(o,{...k,...x,variantGroup:!0,label:"Variants",swatchAutoWidth:_()})})]})})};export{V as default};
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import{jsx as e,jsxs as p,Fragment as t}from"react/jsx-runtime";import{useSelectedOption as a,useProduct as n,makeStyleResponsive as l,makeWidth as i,parseSelectedOption as r}from"@gem-sdk/core";import o from"./DropdownOption.js";import{useMemo as g,useState as s,useEffect as d}from"react";import c from"./VariantOption.js";let m=({option:m,optionPosition:u,optionNumber:x,variantGroup:h,variants:f,price:v,blankText:w,combineWidth:b,combineFullWidth:N,label:y,initValue:k,hasPreSelected:O,soldOutStyle:j,soldOutMark:P,preset:C})=>{let{setSelectedOption:D,forceSelectedOption:I,selectedOptions:M}=a(),Q=n(),S=g(()=>"Disable"===j&&P,[j,P]),V=e=>{let p=f?.find(p=>p?.id===e);if(p&&p.selectedOptions){let e=r(p.selectedOptions);e&&I(e,Q?.id)}},[W,_]=s(O?k:"blank");d(()=>{_(M?.[m?.name??"blank"])},[M,m]),d(()=>{O||_("blank")},[O]);let B=e=>!!e&&(e?.inventoryQuantity&&e.inventoryQuantity>0||!e?.manageInventory||"CONTINUE"===e.inventoryPolicy),E=g(()=>h?l("w",i(b,N)):l("w",i(C?.width,C?.fullWidth)),[C?.width,C?.fullWidth,h,b,N]);return e("div",{className:"gp-grid gp-w-full gp-gap-y-[9px] gp-leading-[1.3]",style:{...E},children:p("div",{className:"gp-relative",children:[e("label",{className:"!gp-max-w-[calc(100%_-_66px)] gp-absolute gp-left-[12px] gp-top-[6px] gp-p-0 gp-text-xs gp-leading-[1.3] gp-text-[#737373] gp-transition-[top]",children:e("span",{className:"gp-max-w-full",children:e("span",{className:"gp-block gp-overflow-hidden",children:y})})}),e("select",{autoComplete:"off",name:m?.name||"Select Option",className:"gp-min-h-[47px] gp-appearance-none gp-bg-transparent gp-w-full gp-whitespace-nowrap gp-rounded-[5px] gp-border gp-border-[#d9d9d9] gp-pb-[6px] gp-pl-[11px] gp-pr-[40px] gp-pt-[21px] gp-text-[14px] gp-outline-none gp-text-[#545454]",value:W??k,onChange:e=>{h?V(e.target?.value):D(m?.name,e.target?.value,Q?.id)},children:p(t,{children:[!O&&e("option",{value:"blank",children:w??"Please select an option"}),m?.values?.map(p=>e(o,{value:p,optionName:m.name,optionPosition:u,optionNumber:x,isSoldOutMark:S},p?.id)),h&&f?.map(p=>e(c,{disabled:!B(p)&&S,value:p?.id,variant:p,includePrice:v},p?.id))]})}),e("div",{className:"gp-pointer-events-none gp-absolute gp-right-[2px] gp-top-[50%] gp-flex gp-h-[43%] gp-w-[40px] gp-translate-y-[-50%] gp-items-center gp-justify-center gp-border-l-[1px] gp-bg-white gp-border-[#545454]",children:e("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",focusable:"false","aria-hidden":"true",role:"presentation",className:"gp-h-[10px] gp-w-[10px]",children:e("path",{d:"M0 5h20L10 15"})})})]})})};export{m as default};
2
+ import{jsx as e,jsxs as p,Fragment as t}from"react/jsx-runtime";import{useSelectedOption as a,useProduct as n,makeStyleResponsive as l,makeWidth as i,parseSelectedOption as r}from"@gem-sdk/core";import o from"./DropdownOption.js";import{useMemo as g,useState as d,useEffect as s}from"react";import c from"./VariantOption.js";let m=({option:m,optionPosition:u,optionNumber:x,variantGroup:h,variants:b,price:f,blankText:v,combineWidth:w,combineFullWidth:N,label:y,initValue:k,hasPreSelected:O,soldOutStyle:j,soldOutMark:P,preset:C})=>{let{setSelectedOption:D,forceSelectedOption:I,selectedOptions:M,offerSingleVariantID:Q}=a(),S=n(),V=g(()=>"Disable"===j&&P,[j,P]),W=e=>{let p=b?.find(p=>p?.id===e);if(p&&p.selectedOptions){let e=r(p.selectedOptions);e&&I(e,S?.id)}},[_,B]=d(O?k:"blank");s(()=>{B(M?.[m?.name??"blank"])},[M,m]),s(()=>{O||B("blank")},[O]);let E=e=>!!e&&(e?.inventoryQuantity&&e.inventoryQuantity>0||!e?.manageInventory||"CONTINUE"===e.inventoryPolicy),L=g(()=>h?l("w",i(w,N)):l("w",i(C?.width,C?.fullWidth)),[C?.width,C?.fullWidth,h,w,N]);return e("div",{className:"gp-grid gp-w-full gp-gap-y-[9px] gp-leading-[1.3]",style:{...L},children:p("div",{className:"gp-relative",children:[e("label",{className:"!gp-max-w-[calc(100%_-_66px)] gp-absolute gp-left-[12px] gp-top-[6px] gp-p-0 gp-text-xs gp-leading-[1.3] gp-text-[#737373] gp-transition-[top]",children:e("span",{className:"gp-max-w-full",children:e("span",{className:"gp-block gp-overflow-hidden",children:y})})}),e("select",{autoComplete:"off",name:m?.name||"Select Option",className:"gp-min-h-[47px] gp-appearance-none gp-bg-transparent gp-w-full gp-whitespace-nowrap gp-rounded-[5px] gp-border gp-border-[#d9d9d9] gp-pb-[6px] gp-pl-[11px] gp-pr-[40px] gp-pt-[21px] gp-text-[14px] gp-outline-none gp-text-[#545454]",value:_??k,onChange:e=>{h?W(e.target?.value):D(m?.name,e.target?.value,S?.id)},children:p(t,{children:[!O&&e("option",{value:"blank",children:v??"Please select an option"}),m?.values?.map(p=>e(o,{value:p,optionName:m.name,optionPosition:u,optionNumber:x,isSoldOutMark:V,disabled:!!Q&&p.label!==_},p?.id)),h&&b?.map(p=>e(c,{disabled:!E(p)&&V||!!Q&&p?.id!==Q,value:p?.id,variant:p,includePrice:f},p?.id))]})}),e("div",{className:"gp-pointer-events-none gp-absolute gp-right-[2px] gp-top-[50%] gp-flex gp-h-[43%] gp-w-[40px] gp-translate-y-[-50%] gp-items-center gp-justify-center gp-border-l-[1px] gp-bg-white gp-border-[#545454]",children:e("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",focusable:"false","aria-hidden":"true",role:"presentation",className:"gp-h-[10px] gp-w-[10px]",children:e("path",{d:"M0 5h20L10 15"})})})]})})};export{m as default};
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import{jsx as e}from"react/jsx-runtime";import{useVariantOutStock as t}from"@gem-sdk/core";import"react";let o=({optionPosition:o,optionNumber:r,value:a,optionName:l,isSoldOutMark:i})=>{let p=t(l??"",a?.label??"",{position:o||0,optionNumber:r||0});return e("option",{className:"gp-text-[14px] gp-text-black",disabled:!p&&i,value:a?.label,children:a?.label},a?.id)};export{o as default};
2
+ import{jsx as e}from"react/jsx-runtime";import{useVariantOutStock as t,cls as o}from"@gem-sdk/core";import"react";let r=({optionPosition:r,optionNumber:a,value:l,optionName:i,isSoldOutMark:p,disabled:m})=>{let n=t(i??"",l?.label??"",{position:r||0,optionNumber:a||0}),d=m||!n&&p;return e("option",{className:o("gp-text-[14px]",d?"":"gp-text-black"),disabled:d,value:l?.label,children:l?.label},l?.id)};export{r as default};
@@ -1 +1 @@
1
- import"react/jsx-runtime";import"@gem-sdk/core";import"@gem-sdk/system";import"react";import"./components/product-subscription/types.js";import"./constants/index.js";import"./components/product-variant/components/variants/VariantItem.js";import"next/link";import"next/head";import"next/image";import"react-youtube";import"./components/product-subscription/components/OneTimePurchaseTooltip.js";import"../image/components/Img.js";import t from"./settings/product-title/ProductTitle.js";import o from"./settings/product-description/ProductDescription.js";import r from"./settings/product-price/ProductPrice.js";import s from"./settings/product-variants/ProductVariant.js";import i from"./settings/accept-button/index.js";import e from"./settings/product-quantity/index.js";import c from"./settings/product-offer/index.js";import n from"./settings/product-price-breakdown/index.js";import p from"./settings/product-discount-tag/ProductDiscountTag.js";import u from"./settings/product-subscription/index.js";import m from"./settings/product-image/ProductImages.js";let P={PostPurchaseProductTitle:t,PostPurchaseProductDescription:o,PostPurchaseProductPrice:r,PostPurchaseProductVariants:s,PostPurchaseAcceptButton:i,PostPurchaseProductQuantity:e,PostPurchaseProductPriceBreakdown:n,PostPurchaseProductOffer:c,PostPurchaseProductDiscountTag:p,PostPurchaseProductImages:m,PostPurchaseProductSubscription:u};export{P as postPurchaseProductSetting};
1
+ import"react/jsx-runtime";import"@gem-sdk/core";import"@gem-sdk/system";import"react";import"./components/product-subscription/types.js";import"./constants/index.js";import"./components/product-variant/components/variants/VariantItem.js";import"next/link";import"next/head";import"next/image";import"react-youtube";import"../../grid/components/section/lazyload/lazyInteractionTrigger.js";import"./components/product-subscription/components/OneTimePurchaseTooltip.js";import"../image/components/Img.js";import t from"./settings/product-title/ProductTitle.js";import o from"./settings/product-description/ProductDescription.js";import r from"./settings/product-price/ProductPrice.js";import s from"./settings/product-variants/ProductVariant.js";import i from"./settings/accept-button/index.js";import e from"./settings/product-quantity/index.js";import c from"./settings/product-offer/index.js";import n from"./settings/product-price-breakdown/index.js";import p from"./settings/product-discount-tag/ProductDiscountTag.js";import u from"./settings/product-subscription/index.js";import m from"./settings/product-image/ProductImages.js";let a={PostPurchaseProductTitle:t,PostPurchaseProductDescription:o,PostPurchaseProductPrice:r,PostPurchaseProductVariants:s,PostPurchaseAcceptButton:i,PostPurchaseProductQuantity:e,PostPurchaseProductPriceBreakdown:n,PostPurchaseProductOffer:c,PostPurchaseProductDiscountTag:p,PostPurchaseProductImages:m,PostPurchaseProductSubscription:u};export{a as postPurchaseProductSetting};
@@ -1 +1 @@
1
- let t=[{id:"setting",controls:[{id:"title",label:"Label title",type:"input",placeholder:"Add...",default:"Quantity",fallbackValue:"Quantity",clearButton:!1},{id:"defaultQtyValue",label:"Text",type:"input:stepper",min:1,default:1,disableDecimal:!0}]},{id:"style",controls:[{id:"dimensions",type:"group",label:"Dimensions",controls:[{id:"fullWidth",label:"Full Width",type:"toggle",devices:{desktop:{default:!1}}},{id:"inputWidth",type:"dropdown:input",label:"Width",inputType:"number",units:["px","%"],hideUnit:!1,devices:{desktop:{default:"100%"}},displayOptions:[{label:"Full",value:"100%",showValue:!0}]}]},{id:"align",label:"Alignment",type:"option:value",options:[{label:"Left",value:"start",type:"align",tooltip:"Align left",iconName:"gp-align-left"},{label:"Center",value:"center",type:"align",tooltip:"Align center",iconName:"gp-align-center"},{label:"Right",value:"end",type:"align",tooltip:"Align right",iconName:"gp-align-right"}],default:"start"}]}];export{t as ProductQuantitySettings};
1
+ let e=[{id:"setting",controls:[{id:"title",label:"Label title",type:"input",placeholder:"Add...",default:"Quantity",fallbackValue:"Quantity",clearButton:!1},{id:"defaultQtyValue",label:"Text",type:"input:stepper",min:1,default:1,disableDecimal:!0},{id:"updatePrice",label:"Update price",type:"toggle",default:!0}]},{id:"style",controls:[{id:"dimensions",type:"group",label:"Dimensions",controls:[{id:"fullWidth",label:"Full Width",type:"toggle",devices:{desktop:{default:!1}}},{id:"inputWidth",type:"dropdown:input",label:"Width",inputType:"number",units:["px","%"],hideUnit:!1,devices:{desktop:{default:"100%"}},displayOptions:[{label:"Full",value:"100%",showValue:!0}]}]},{id:"align",label:"Alignment",type:"option:value",options:[{label:"Left",value:"start",type:"align",tooltip:"Align left",iconName:"gp-align-left"},{label:"Center",value:"center",type:"align",tooltip:"Align center",iconName:"gp-align-center"},{label:"Right",value:"end",type:"align",tooltip:"Align right",iconName:"gp-align-right"}],default:"start"}]}];export{e as ProductQuantitySettings};
@@ -1 +1 @@
1
- let t=[{label:"Size",controls:[{type:"control",label:"Width",setting:{id:"inputWidth"},layout:"horizontal"}]},{label:"Display options",controls:[{label:"Default quantity",setting:{id:"defaultQtyValue"},layout:"horizontal"},{type:"combo",label:"Label title",iconName:"polaris-text-block",getValueFromSettingID:"title",disableClearMessage:"This label title is needed for customers <br> to adjust the product's quantity",controls:[{label:"Content",setting:{id:"title"},layout:"vertical",options:{clearButton:!1}}]}]},{controls:[{type:"control",label:"Align",setting:{id:"align"},conditionEnable:'!(parseInt(inputWidth) >= 100 && inputWidth?.includes("%"))',options:{labelVariant:"primary",fullWidth:!0,disableMessage:"Horizontal alignment is disabled when the width is set to 100% or greater"},layout:"horizontal"}]}];export{t as SettingUIV2};
1
+ let t=[{label:"Size",controls:[{type:"control",label:"Width",setting:{id:"inputWidth"},layout:"horizontal"}]},{label:"Display options",controls:[{label:"Default quantity",setting:{id:"defaultQtyValue"},layout:"horizontal"},{label:"Update price",setting:{id:"updatePrice"}},{type:"combo",label:"Label title",iconName:"polaris-text-block",getValueFromSettingID:"title",disableClearMessage:"This label title is needed for customers <br> to adjust the product's quantity",controls:[{label:"Content",setting:{id:"title"},layout:"vertical",options:{clearButton:!1}}]}]},{controls:[{type:"control",label:"Align",setting:{id:"align"},conditionEnable:'!(parseInt(inputWidth) >= 100 && inputWidth?.includes("%"))',options:{labelVariant:"primary",fullWidth:!0,disableMessage:"Horizontal alignment is disabled when the width is set to 100% or greater"},layout:"horizontal"}]}];export{t as SettingUIV2};
@@ -1,3 +1,3 @@
1
1
  'use client';
2
- import{jsx as t}from"react/jsx-runtime";import{getContainerClasses as e,getWrapperClasses as o,getTextClasses as r}from"../common/classes.js";import{getContainerStyles as s,getWrapperStyles as m,getTextStyles as i}from"../common/styles.js";import{createClass as l,createStyle as n,createAttr as a}from"@gem-sdk/system";import{createContent as c}from"../common/helpers.js";import{useMemo as d}from"react";import{getTextAttrs as p}from"../common/attrs.js";let f=({styles:f,builderAttrs:x,style:h,setting:u,advanced:y,builderProps:j,className:g,children:T,textClassWrapper:v,textClass:N,...b})=>{let{text:w,options:C}=u??{},{textAlign:$,typo:_,align:k,direction:z}=f??{},H=d(()=>c(w,_?.textTransform,_?.textColor),[w,_?.textTransform,_?.textColor]),I=l({...e({className:g,uid:j?.uid,align:k})}),L=l({...o({textClassWrapper:v})}),M=l({...r({textClass:N})}),R=n({...s({style:h})}),S=n({...m({styles:f})}),q=n({...i({textAlign:$,typo:_})}),A=a({...x}),B=a({...p({options:C})});return t("div",{...b,...A,className:I,style:{...R},children:t("div",{className:L,style:{...S},children:t("div",{className:M,...B,style:{...q},dangerouslySetInnerHTML:{__html:H?`<bdo dir="${z}" >${H}</bdo>`:`<span style="color: #9e9e9e; font-size: 12.28px; font-weight: 400; line-height: 18px;
3
- text-decoration: unset;">Replace this text with your content</span>`}})})})};export{f as default};
2
+ import{jsx as t}from"react/jsx-runtime";import{getContainerClasses as e,getWrapperClasses as o,getTextClasses as r}from"../common/classes.js";import{getContainerStyles as s,getWrapperStyles as m,getTextStyles as i}from"../common/styles.js";import{createClass as l,createStyle as n,createAttr as a}from"@gem-sdk/system";import{createContent as c}from"../common/helpers.js";import{useMemo as d}from"react";import{getTextAttrs as p}from"../common/attrs.js";import{useI18nStore as f,useRenderMode as x}from"@gem-sdk/core";let h=({styles:h,builderAttrs:u,style:y,setting:g,advanced:j,builderProps:T,className:v,children:N,textClassWrapper:$,textClass:b,...k})=>{let{text:w,options:C}=g??{},{textAlign:_,typo:z,align:H,direction:I}=h??{},{t:L}=f(),{isEditMode:M}=x(),R=d(()=>c(w,z?.textTransform,z?.textColor),[w,z?.textTransform,z?.textColor]),S=l({...e({className:v,uid:T?.uid,align:H})}),q=l({...o({textClassWrapper:$})}),A=l({...r({textClass:b})}),B=n({...s({style:y})}),D=n({...m({styles:h})}),E=n({...i({textAlign:_,typo:z})}),F=a({...u}),G=a({...p({options:C})}),J=M?L("Replace this text with your content"):"";return t("div",{...k,...F,className:S,style:{...B},children:t("div",{className:q,style:{...D},children:t("div",{className:A,...G,style:{...E},dangerouslySetInnerHTML:{__html:R?`<bdo dir="${I}" >${R}</bdo>`:`<span style="color: #9e9e9e; font-size: 12.28px; font-weight: 400; line-height: 18px;
3
+ text-decoration: unset;">${J}</span>`}})})})};export{h as default};
@@ -1,9 +1,9 @@
1
- import{cls as e,makeStyle as t,RenderIf as i,isLocalEnv as r,baseAssetURL as s,template as o,getResponsiveValueByScreen as l}from"@gem-sdk/core";import{getFlexDirection as a}from"../helpers/product-image.js";import{checkAddOverFlowClass as p,getStyleAlignment as d,getDisplayStyle as m}from"./product-images/common/helpers.js";import g from"./product-images/ProductFeaturedImage.liquid.js";import u from"./product-images/ProductGalleryCarousel.liquid.js";import c from"./product-images/ProductGalleryGrid.liquid.js";import{getStyleGallerySpacing as f,getStyleWidthForGallery as n}from"./product-images/common/productGallery.js";import{getSettingPreloadData as b}from"../../helpers.js";let y=y=>{let{setting:$,styles:j,builderProps:h,style:v}=y,S={...y.styles,...y.setting},w={...y.styles,...y.setting},x=e=>l(j?.position,e),I=`
1
+ import{cls as t,makeStyle as e,RenderIf as i,isLocalEnv as r,baseAssetURL as s,template as o,getResponsiveValueByScreen as l}from"@gem-sdk/core";import{getFlexDirection as a}from"../helpers/product-image.js";import{checkAddOverFlowClass as p,getStyleAlignment as d,getDisplayStyle as m}from"./product-images/common/helpers.js";import g from"./product-images/ProductFeaturedImage.liquid.js";import u from"./product-images/ProductGalleryCarousel.liquid.js";import c from"./product-images/ProductGalleryGrid.liquid.js";import{getStyleGallerySpacing as n,getStyleWidthForGallery as f}from"./product-images/common/productGallery.js";import{getSettingPreloadData as y}from"../../helpers.js";let b=b=>{let{setting:j,styles:$,builderProps:h,style:v}=b,S={...b.styles,...b.setting},w={...b.styles,...b.setting},x=t=>l($?.position,t),I=`
2
2
  {
3
3
  "id":${JSON.stringify(h?.uid)},
4
- "setting":${JSON.stringify($)},
5
- "styles":${JSON.stringify(j)},
6
- "product":{{ product | json | escape }}
4
+ "setting":${JSON.stringify(j)},
5
+ "styles":${JSON.stringify($)},
6
+ "product":{{ product | json }}
7
7
  }
8
8
  `;return o`
9
9
  {% assign featured_image = product.featured_image %}
@@ -11,19 +11,19 @@ import{cls as e,makeStyle as t,RenderIf as i,isLocalEnv as r,baseAssetURL as s,t
11
11
  {% assign featured_image = variant.featured_image %}
12
12
  {%- endif -%}
13
13
  <gp-product-images
14
- gp-data='${I}'
15
14
  style="${{...v}}"
16
- class="${e({"gp-overflow-hidden":p(v)})}"
15
+ class="${t({"gp-overflow-hidden":p(v)})}"
17
16
  >
17
+ <script gp-data type="application/json">${I}</script>
18
18
  <div
19
- class="${e("gp-flex gp-w-full",{...a(y)})}"
20
- style="${{...d(j?.align,j?.position)}}"
19
+ class="${t("gp-flex gp-w-full",{...a(b)})}"
20
+ style="${{...d($?.align,$?.position)}}"
21
21
  >
22
22
  ${g({...S})}
23
23
  {%- if product.media.size > 1 -%}
24
24
  <div
25
- class="${e("gallery-wrapper gp-product-images-gallery gp-inline-flex gp-h-fit gp-max-w-full",{"gp-justify-start":"bottom-left"==x("desktop"),"tablet:gp-justify-start":"bottom-left"==x("tablet"),"mobile:gp-justify-start":"bottom-left"==x("mobile"),"gp-justify-center":"bottom-center"==x("desktop"),"tablet:gp-justify-center":"bottom-center"==x("tablet"),"mobile:gp-justify-center":"bottom-center"==x("mobile"),"gp-mx-auto":"bottom-center"==x("desktop"),"tablet:gp-mx-auto":"bottom-center"==x("tablet"),"mobile:gp-mx-auto":"bottom-center"==x("mobile")})}"
26
- style="${{...t({fs:"1.23"}),...m(e=>!!$?.galleryVisible&&!l($?.galleryVisible,e),"inline-flex"),...n({galleryVisible:$?.galleryVisible,featureImageVisible:$?.featureImageVisible,position:j?.position,width:j?.width,widthHorizontalLayout:j?.widthHorizontalLayout}),...f(j?.position,j?.gallerySpacing)}}"
25
+ class="${t("gallery-wrapper gp-product-images-gallery gp-inline-flex gp-h-fit gp-max-w-full",{"gp-justify-start":"bottom-left"==x("desktop"),"tablet:gp-justify-start":"bottom-left"==x("tablet"),"mobile:gp-justify-start":"bottom-left"==x("mobile"),"gp-justify-center":"bottom-center"==x("desktop"),"tablet:gp-justify-center":"bottom-center"==x("tablet"),"mobile:gp-justify-center":"bottom-center"==x("mobile"),"gp-mx-auto":"bottom-center"==x("desktop"),"tablet:gp-mx-auto":"bottom-center"==x("tablet"),"mobile:gp-mx-auto":"bottom-center"==x("mobile")})}"
26
+ style="${{...e({fs:"1.23"}),...m(t=>!!j?.galleryVisible&&!l(j?.galleryVisible,t),"inline-flex"),...f({galleryVisible:j?.galleryVisible,featureImageVisible:j?.featureImageVisible,position:$?.position,width:$?.width,widthHorizontalLayout:$?.widthHorizontalLayout}),...n($?.position,$?.gallerySpacing)}}"
27
27
  >
28
28
  ${u({builderPropUID:h?.uid,...w})}
29
29
  ${c({builderPropUID:h?.uid,...w})}
@@ -31,5 +31,5 @@ import{cls as e,makeStyle as t,RenderIf as i,isLocalEnv as r,baseAssetURL as s,t
31
31
  {%- endif -%}
32
32
  </div>
33
33
  </gp-product-images>
34
- ${i(r,`<script ${b('class="gps-link" delay',"src")}="{{ 'gp-product-images.js' | asset_url }}" defer="defer"></script>`,`<script ${b('class="gps-link" delay',"src")}="${s}/assets-v2/gp-product-images.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}" defer="defer"></script>`)}
35
- `};export{y as default};
34
+ ${i(r,`<script ${y('class="gps-link" delay',"src")}="{{ 'gp-product-images.js' | asset_url }}" defer="defer"></script>`,`<script ${y('class="gps-link" delay',"src")}="${s}/assets-v2/gp-product-images.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}" defer="defer"></script>`)}
35
+ `};export{b as default};
@@ -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};