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

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 (492) 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/EssentPreorderBackInStock.js +2 -0
  218. package/dist/cjs/third-party/components/EssentPreorderBackInStock.liquid.js +8 -0
  219. package/dist/cjs/third-party/components/Stamped/LiquidTemplateByWidget.js +1 -1
  220. package/dist/cjs/third-party/components/SubscribfySubscriptionsApp.js +2 -0
  221. package/dist/cjs/third-party/components/SubscribfySubscriptionsApp.liquid.js +1 -0
  222. package/dist/cjs/third-party/components/WcWishlistBackInStock.liquid.js +19 -1
  223. package/dist/cjs/third-party/configs/AppstleLoyaltyRewardProgram.js +1 -0
  224. package/dist/cjs/third-party/configs/EssentPreorderBackInStock.js +1 -0
  225. package/dist/cjs/third-party/configs/SubscribfySubscriptionsApp.js +1 -0
  226. package/dist/cjs/third-party/configs/WcWishlistBackInStock.js +1 -1
  227. package/dist/cjs/third-party/index.js +1 -1
  228. package/dist/cjs/third-party/next.js +1 -1
  229. package/dist/cjs/third-party/settings/AppstleLoyaltyRewardProgram/index.js +4 -0
  230. package/dist/cjs/third-party/settings/AppstleLoyaltyRewardProgram/uiV2.js +1 -0
  231. package/dist/cjs/third-party/settings/EssentPreorderBackInStock/index.js +4 -0
  232. package/dist/cjs/third-party/settings/EssentPreorderBackInStock/uiV2.js +1 -0
  233. package/dist/cjs/third-party/settings/SubscribfySubscriptionsApp/index.js +4 -0
  234. package/dist/cjs/third-party/settings/SubscribfySubscriptionsApp/uiV2.js +1 -0
  235. package/dist/cjs/third-party/settings/WcWishlistBackInStock/index.js +5 -2
  236. package/dist/cjs/video/common/helpers.js +1 -1
  237. package/dist/cjs/video/components/LiteVimeoEmbed.liquid.js +5 -4
  238. package/dist/cjs/video/components/LiteYouTubeEmbed.liquid.js +15 -14
  239. package/dist/cjs/video/hooks/useLiteYoutubeEmbed.js +1 -1
  240. package/dist/esm/accordion/components/Accordion.liquid.js +8 -9
  241. package/dist/esm/accordion/settings/configs/ui-v2.js +1 -1
  242. package/dist/esm/article/components/ArticleReadMore.liquid.js +4 -4
  243. package/dist/esm/article/settings/configs/article-author/ui-v2.js +1 -1
  244. package/dist/esm/article/settings/configs/article-category/ui-v2.js +1 -1
  245. package/dist/esm/article/settings/configs/article-content/ui-v2.js +1 -1
  246. package/dist/esm/article/settings/configs/article-date/ui-v2.js +1 -1
  247. package/dist/esm/article/settings/configs/article-excerpt/ui-v2.js +1 -1
  248. package/dist/esm/article/settings/configs/article-image/ui-v2.js +1 -1
  249. package/dist/esm/article/settings/configs/article-list/ui-v2.js +1 -1
  250. package/dist/esm/article/settings/configs/article-read-more/ui-v2.js +1 -1
  251. package/dist/esm/article/settings/configs/article-tag/ui-v2.js +1 -1
  252. package/dist/esm/article/settings/configs/article-title/ui-v2.js +1 -1
  253. package/dist/esm/breadcrumb/settings/configs/ui-v2.js +1 -1
  254. package/dist/esm/builder.js +1 -1
  255. package/dist/esm/button/common/helpers.js +2 -2
  256. package/dist/esm/button/components/Button.liquid.js +19 -19
  257. package/dist/esm/button/settings/configs/ui-v2.js +1 -1
  258. package/dist/esm/carousel/components/dot/Dots.js +1 -1
  259. package/dist/esm/carousel/components/root/Carousel.liquid.js +4 -3
  260. package/dist/esm/carousel-v3/components/arrow/Arrow.liquid.js +6 -6
  261. package/dist/esm/carousel-v3/components/arrow/common/classes.js +1 -1
  262. package/dist/esm/carousel-v3/components/dot/Dots.js +1 -1
  263. package/dist/esm/carousel-v3/components/dot/common/helpers.js +1 -1
  264. package/dist/esm/carousel-v3/components/item/CarouselItem.js +1 -1
  265. package/dist/esm/carousel-v3/components/root/Carousel.js +1 -1
  266. package/dist/esm/carousel-v3/components/root/Carousel.liquid.js +6 -5
  267. package/dist/esm/carousel-v3/components/swiper/Swiper.js +1 -1
  268. package/dist/esm/carousel-v3/hooks/useCarousel.js +1 -1
  269. package/dist/esm/carousel-v3/index.js +1 -1
  270. package/dist/esm/carousel-v3/settings/configs/settings-v2.js +3 -3
  271. package/dist/esm/carousel-v3/settings/configs/ui-v2.js +1 -1
  272. package/dist/esm/cart/components/CartList.js +1 -1
  273. package/dist/esm/cart/components/shop-pay-button/ShopPayButton.liquid.js +2 -2
  274. package/dist/esm/cart/index.js +1 -1
  275. package/dist/esm/code/common/styles.js +1 -1
  276. package/dist/esm/code/components/CSSCode.liquid.js +6 -6
  277. package/dist/esm/code/hooks/useCSSCode.js +3 -10
  278. package/dist/esm/collection/components/collection-description/CollectionDescription.js +1 -1
  279. package/dist/esm/collection/components/collection-description/CollectionDescription.liquid.js +6 -7
  280. package/dist/esm/collection/components/collection-paginator/CollectionPaginator.liquid.js +4 -3
  281. package/dist/esm/collection/components/collection-toolbar/CollectionToolbar.liquid.js +3 -3
  282. package/dist/esm/collection/index.js +1 -1
  283. package/dist/esm/collection/settings/collection-banner/configs/ui-v2.js +1 -1
  284. package/dist/esm/collection/settings/collection-description/configs/ui-v2.js +1 -1
  285. package/dist/esm/collection/settings/collection-paginator/configs/ui-v2.js +1 -1
  286. package/dist/esm/collection/settings/collection-title/configs/ui-v2.js +1 -1
  287. package/dist/esm/collection/settings/collection-toolbar/configs/ui-v2.js +1 -1
  288. package/dist/esm/countdown-timer/components/Countdown.liquid.js +21 -20
  289. package/dist/esm/countdown-timer/settings/configs/ui-v2.js +1 -1
  290. package/dist/esm/coupon/settings/configs/ui-v2.js +1 -1
  291. package/dist/esm/dialog/settings/configs/ui-v2.js +1 -1
  292. package/dist/esm/estimate-delivery/settings/configs/ui-v2.js +1 -1
  293. package/dist/esm/form/settings/contact/configs/ui-v2.js +1 -1
  294. package/dist/esm/form/settings/form-checkbox/configs/ui-v2.js +1 -1
  295. package/dist/esm/form/settings/form-dropdown/configs/ui-v2.js +1 -1
  296. package/dist/esm/form/settings/form-email/configs/ui-v2.js +1 -1
  297. package/dist/esm/form/settings/form-textarea/configs/ui-v2.js +1 -1
  298. package/dist/esm/form/settings/newsletter/configs/ui-v2.js +1 -1
  299. package/dist/esm/form/settings/submit-button/configs/ui-v2.js +1 -1
  300. package/dist/esm/form/settings/text-field/configs/ui-v2.js +1 -1
  301. package/dist/esm/grid/components/row/Row.js +1 -1
  302. package/dist/esm/grid/components/row/Row.liquid.js +10 -5
  303. package/dist/esm/grid/components/section/Section.js +1 -1
  304. package/dist/esm/grid/components/section/lazyload/LazySectionWrapper.js +1 -0
  305. package/dist/esm/grid/components/section/lazyload/lazyInteractionTrigger.js +1 -0
  306. package/dist/esm/grid/components/section/lazyload/lazySectionCoordinator.js +1 -0
  307. package/dist/esm/grid/index.js +1 -1
  308. package/dist/esm/grid/next.js +1 -1
  309. package/dist/esm/grid/settings/configs/row/ui-v2.js +1 -1
  310. package/dist/esm/grid/settings/configs/section/ui-v2.js +1 -1
  311. package/dist/esm/header/components/kind/basic/index.js +1 -1
  312. package/dist/esm/header/components/kind/modern/index.js +1 -1
  313. package/dist/esm/header/index.js +1 -1
  314. package/dist/esm/heading/next.js +1 -1
  315. package/dist/esm/heading/settings/configs/ui-v2.js +1 -1
  316. package/dist/esm/headless.js +1 -0
  317. package/dist/esm/helpers.js +1 -1
  318. package/dist/esm/hero-banner/common/helpers.js +1 -1
  319. package/dist/esm/hero-banner/components/HeroBanner.liquid.js +5 -5
  320. package/dist/esm/hero-banner/index.js +1 -1
  321. package/dist/esm/hero-banner/settings/configs/ui-v2.js +1 -1
  322. package/dist/esm/icon/settings/configs/ui-v2.js +1 -1
  323. package/dist/esm/icon-list/settings/configs/ui-v2.js +1 -1
  324. package/dist/esm/icon-list-hoz/settings/configs/uiV2.js +1 -1
  325. package/dist/esm/icon-list-v2/components/IconList.liquid.js +3 -3
  326. package/dist/esm/icon-list-v2/settings/configs/ui-v2.js +1 -1
  327. package/dist/esm/image/common/const.js +1 -0
  328. package/dist/esm/image/common/helpers.js +2 -2
  329. package/dist/esm/image/next.js +1 -1
  330. package/dist/esm/image/settings/configs/ui-v2.js +1 -1
  331. package/dist/esm/image-comparison/common/classes.js +1 -1
  332. package/dist/esm/image-comparison/components/CompareImage.liquid.js +5 -5
  333. package/dist/esm/image-comparison/settings/configs/ui-v2.js +1 -1
  334. package/dist/esm/index.js +1 -1
  335. package/dist/esm/index.liquid.js +1 -1
  336. package/dist/esm/line/settings/configs/ui-v2.js +1 -1
  337. package/dist/esm/marquee/components/Marquee.liquid.js +21 -21
  338. package/dist/esm/marquee/settings/configs/child-image-template.js +1 -1
  339. package/dist/esm/marquee/settings/configs/ui-v2.js +1 -1
  340. package/dist/esm/modal/components/Modal.js +1 -1
  341. package/dist/esm/modal/index.js +1 -1
  342. package/dist/esm/post-purchase/callout-banner/index.js +1 -1
  343. package/dist/esm/post-purchase/link/components/PostPurchaseLink.js +1 -1
  344. package/dist/esm/post-purchase/link/settings/configs/settings.js +1 -1
  345. package/dist/esm/post-purchase/link/settings/configs/ui-v2.js +1 -1
  346. package/dist/esm/post-purchase/product/components/ProductPrice.js +1 -1
  347. package/dist/esm/post-purchase/product/components/ProductQuantity.js +1 -1
  348. package/dist/esm/post-purchase/product/components/product-image/FeatureImage.js +1 -1
  349. package/dist/esm/post-purchase/product/components/product-image/carousel-post-purchase/CarouselWrapperPostPurchase.js +1 -1
  350. package/dist/esm/post-purchase/product/components/product-image/layouts/OnlyGalleryImage.js +1 -1
  351. package/dist/esm/post-purchase/product/components/product-offer/components/ProductOfferItem.js +1 -1
  352. package/dist/esm/post-purchase/product/components/product-offer/context/PrdOfferSubscriptionPresenceContext.js +2 -0
  353. package/dist/esm/post-purchase/product/components/product-offer/helpers/scanSubscriptionBlocks.js +1 -0
  354. package/dist/esm/post-purchase/product/components/product-offer/hooks/useProductOfferSubscriptionBlocksObserver.js +1 -0
  355. package/dist/esm/post-purchase/product/components/product-subscription/hooks/useSubscriptionVisibility.js +1 -1
  356. package/dist/esm/post-purchase/product/components/product-variant/components/ProductVariant.js +1 -1
  357. package/dist/esm/post-purchase/product/components/product-variant/components/variants/Dropdown.js +1 -1
  358. package/dist/esm/post-purchase/product/components/product-variant/components/variants/DropdownOption.js +1 -1
  359. package/dist/esm/post-purchase/product/index.js +1 -1
  360. package/dist/esm/post-purchase/product/settings/product-quantity/configs/settings.js +1 -1
  361. package/dist/esm/post-purchase/product/settings/product-quantity/configs/ui-v2.js +1 -1
  362. package/dist/esm/post-purchase/text/components/Text.js +2 -2
  363. package/dist/esm/product/components/ProductImages.liquid.js +12 -12
  364. package/dist/esm/product/components/dynamic-checkout/Button.liquid.js +14 -14
  365. package/dist/esm/product/components/file-upload/UploadFile.liquid.js +3 -4
  366. package/dist/esm/product/components/file-upload/settings/configs/ui-v2.js +1 -1
  367. package/dist/esm/product/components/product-badge/ProductBadge.js +1 -1
  368. package/dist/esm/product/components/product-badge/ProductBadge.liquid.js +20 -20
  369. package/dist/esm/product/components/product-badge/common/attrs.js +1 -1
  370. package/dist/esm/product/components/product-badge/common/classes.js +1 -1
  371. package/dist/esm/product/components/product-badge/utils/injectBadgeStateExtras.js +1 -0
  372. package/dist/esm/product/components/product-badge/utils/renderBadgeILP.js +1 -1
  373. package/dist/esm/product/components/product-badge/utils/renderBadgeLiquid.js +5 -3
  374. package/dist/esm/product/components/product-bundle/ProductBundleDiscount.js +1 -1
  375. package/dist/esm/product/components/product-bundle/ProductBundleDiscount.liquid.js +8 -7
  376. package/dist/esm/product/components/product-bundle/setting/configs/ui-v2.js +1 -1
  377. package/dist/esm/product/components/product-button/ProductButton.liquid.js +14 -11
  378. package/dist/esm/product/components/product-button/common/helpers.js +1 -1
  379. package/dist/esm/product/components/product-button/hooks/useAddToCart.js +1 -1
  380. package/dist/esm/product/components/product-description/ProductDescription.js +1 -1
  381. package/dist/esm/product/components/product-description/ProductDescription.liquid.js +5 -6
  382. package/dist/esm/product/components/product-description/hooks/useGpDescription.js +1 -1
  383. package/dist/esm/product/components/product-discount-tag/ProductDiscountTag.js +1 -1
  384. package/dist/esm/product/components/product-discount-tag/ProductDiscountTag.liquid.js +8 -8
  385. package/dist/esm/product/components/product-images/ProductFeaturedImage.liquid.js +1 -1
  386. package/dist/esm/product/components/product-images-v2/ProductImagesV2.liquid.js +21 -21
  387. package/dist/esm/product/components/product-images-v2/components/feature-gallery/FeatureImageWithGallery.liquid.js +1 -1
  388. package/dist/esm/product/components/product-images-v2/components/gallery-grid/GalleryGrid.liquid.js +1 -1
  389. package/dist/esm/product/components/product-images-v3/ProductImagesV3.liquid.js +22 -22
  390. package/dist/esm/product/components/product-images-v3/common/productFeaturedImage.js +1 -1
  391. package/dist/esm/product/components/product-images-v3/components/child/ProductFeatureVideo.js +1 -1
  392. package/dist/esm/product/components/product-images-v3/components/child/ProductFeaturedImageOnly.js +1 -1
  393. package/dist/esm/product/components/product-images-v3/components/child/ProductGalleryGrid.js +2 -2
  394. package/dist/esm/product/components/product-images-v3/components/feature-gallery/FeatureImageWithGallery.liquid.js +17 -16
  395. package/dist/esm/product/components/product-images-v3/components/gallery-grid/GalleryGrid.liquid.js +20 -17
  396. package/dist/esm/product/components/product-images-v3/components/lightbox/ProductImagesLightBox.js +1 -1
  397. package/dist/esm/product/components/product-images-v3/composables/getProductImagesClassName.js +1 -1
  398. package/dist/esm/product/components/product-list/ProductList.js +1 -1
  399. package/dist/esm/product/components/product-list/ProductList.liquid.js +18 -17
  400. package/dist/esm/product/components/product-list/ProductListCarouselItem.liquid.js +5 -6
  401. package/dist/esm/product/components/product-list/ProductListGridItem.liquid.js +7 -8
  402. package/dist/esm/product/components/product-list/ProductListGridLayout.liquid.js +9 -7
  403. package/dist/esm/product/components/product-list-v3/ProductList.js +1 -1
  404. package/dist/esm/product/components/product-list-v3/ProductList.liquid.js +20 -19
  405. package/dist/esm/product/components/product-list-v3/ProductListCarouselItem.liquid.js +6 -6
  406. package/dist/esm/product/components/product-list-v3/ProductListGridItem.liquid.js +7 -8
  407. package/dist/esm/product/components/product-list-v3/ProductListGridLayout.liquid.js +9 -7
  408. package/dist/esm/product/components/product-list-v3/common/classes.js +1 -1
  409. package/dist/esm/product/components/product-list-v3/common/helpers.js +1 -1
  410. package/dist/esm/product/components/product-list-v3/constants/index.js +1 -1
  411. package/dist/esm/product/components/product-list-v3/hooks/useCollectionQuery.js +1 -1
  412. package/dist/esm/product/components/product-list-v3/hooks/useMainRelatedProductQuery.js +1 -1
  413. package/dist/esm/product/components/product-list-v3/hooks/useProductRelatedQuery.js +1 -1
  414. package/dist/esm/product/components/product-list-v3/hooks/useProductsQuery.js +1 -1
  415. package/dist/esm/product/components/product-list-v3/hooks/useRelatedProductIDAssigned.js +1 -0
  416. package/dist/esm/product/components/product-price/ProductPrice.liquid.js +3 -3
  417. package/dist/esm/product/components/product-sku/Sku.js +1 -1
  418. package/dist/esm/product/components/product-sku/Sku.liquid.js +6 -5
  419. package/dist/esm/product/components/product-title/ProductTitle.liquid.js +5 -6
  420. package/dist/esm/product/components/product-variants/ProductVariants.liquid.js +48 -48
  421. package/dist/esm/product/components/product-variants/common/const.js +1 -1
  422. package/dist/esm/product/components/product-wrap/Product.liquid.js +5 -5
  423. package/dist/esm/product/components/product-wrap/hook/useProductQuery.js +1 -1
  424. package/dist/esm/product/index.js +1 -1
  425. package/dist/esm/product/settings/dynamic-checkout/configs/ui-v2.js +1 -1
  426. package/dist/esm/product/settings/product/configs/ui-v2.js +1 -1
  427. package/dist/esm/product/settings/product-badge/configs/ui-v2.js +1 -1
  428. package/dist/esm/product/settings/product-button/configs/ui-v2.js +1 -1
  429. package/dist/esm/product/settings/product-image-v2/configs/ui-v2.js +1 -1
  430. package/dist/esm/product/settings/product-image-v3/configs/setting-v2/ProductFeatureImage.js +1 -1
  431. package/dist/esm/product/settings/product-image-v3/configs/setting-v2/ProductGalleryImage.js +2 -2
  432. package/dist/esm/product/settings/product-image-v3/configs/ui-v2.js +1 -1
  433. package/dist/esm/product/settings/product-list/configs/ui-v2.js +1 -1
  434. package/dist/esm/product/settings/product-list-v3/configs/ui-v2.js +1 -1
  435. package/dist/esm/product/settings/product-properties/configs/ui-v2.js +1 -1
  436. package/dist/esm/product/settings/product-quantity/configs/ui-v2.js +1 -1
  437. package/dist/esm/product/settings/product-title/configs/ui-v2.js +1 -1
  438. package/dist/esm/product/settings/product-variant/configs/ui-v2.js +1 -1
  439. package/dist/esm/product/settings/product-vendor/configs/ui-v2.js +1 -1
  440. package/dist/esm/product/settings/product-view-more/configs/ui-v2.js +1 -1
  441. package/dist/esm/sticky/common/classes.js +1 -1
  442. package/dist/esm/sticky/components/Sticky.liquid.js +11 -12
  443. package/dist/esm/sticky/hooks/useSticky.js +1 -1
  444. package/dist/esm/sticky/settings/configs/ui-v2.js +1 -1
  445. package/dist/esm/stock-counter/common/classes.js +1 -1
  446. package/dist/esm/stock-counter/components/StockCounter.liquid.js +27 -24
  447. package/dist/esm/stock-counter/settings/configs/ui-v2.js +1 -1
  448. package/dist/esm/tab/components/Tabs.liquid.js +12 -11
  449. package/dist/esm/tab/settings/configs/ui-v2.js +1 -1
  450. package/dist/esm/text/components/Text.liquid.js +3 -3
  451. package/dist/esm/text/next.js +1 -1
  452. package/dist/esm/text/settings/configs/ui-v2.js +1 -1
  453. package/dist/esm/third-party/components/AppstleLoyaltyRewardProgram.js +2 -0
  454. package/dist/esm/third-party/components/AppstleLoyaltyRewardProgram.liquid.js +16 -0
  455. package/dist/esm/third-party/components/BonySubscriptionsApp.liquid.js +11 -4
  456. package/dist/esm/third-party/components/EssentPreorderBackInStock.js +2 -0
  457. package/dist/esm/third-party/components/EssentPreorderBackInStock.liquid.js +8 -0
  458. package/dist/esm/third-party/components/Stamped/LiquidTemplateByWidget.js +1 -1
  459. package/dist/esm/third-party/components/SubscribfySubscriptionsApp.js +2 -0
  460. package/dist/esm/third-party/components/SubscribfySubscriptionsApp.liquid.js +1 -0
  461. package/dist/esm/third-party/components/WcWishlistBackInStock.liquid.js +19 -1
  462. package/dist/esm/third-party/configs/AppstleLoyaltyRewardProgram.js +1 -0
  463. package/dist/esm/third-party/configs/EssentPreorderBackInStock.js +1 -0
  464. package/dist/esm/third-party/configs/SubscribfySubscriptionsApp.js +1 -0
  465. package/dist/esm/third-party/configs/WcWishlistBackInStock.js +1 -1
  466. package/dist/esm/third-party/index.js +1 -1
  467. package/dist/esm/third-party/next.js +1 -1
  468. package/dist/esm/third-party/settings/AppstleLoyaltyRewardProgram/index.js +4 -0
  469. package/dist/esm/third-party/settings/AppstleLoyaltyRewardProgram/uiV2.js +1 -0
  470. package/dist/esm/third-party/settings/EssentPreorderBackInStock/index.js +4 -0
  471. package/dist/esm/third-party/settings/EssentPreorderBackInStock/uiV2.js +1 -0
  472. package/dist/esm/third-party/settings/SubscribfySubscriptionsApp/index.js +4 -0
  473. package/dist/esm/third-party/settings/SubscribfySubscriptionsApp/uiV2.js +1 -0
  474. package/dist/esm/third-party/settings/WcWishlistBackInStock/index.js +5 -2
  475. package/dist/esm/video/common/helpers.js +1 -1
  476. package/dist/esm/video/components/LiteVimeoEmbed.liquid.js +3 -2
  477. package/dist/esm/video/components/LiteYouTubeEmbed.liquid.js +14 -13
  478. package/dist/esm/video/hooks/useLiteYoutubeEmbed.js +1 -1
  479. package/dist/types/index.d.ts +267 -30
  480. package/package.json +5 -5
  481. package/dist/cjs/modal/components/ZoomButton.js +0 -2
  482. package/dist/cjs/product/components/product-images-v3/components/child/ProductImagesLightBoxPreview.js +0 -1
  483. package/dist/cjs/product/components/product-images-v3/components/lightbox/LightBoxCarousel.js +0 -2
  484. package/dist/cjs/product/components/product-images-v3/components/lightbox/LightBoxGalleryCarousel.js +0 -2
  485. package/dist/cjs/product/components/product-images-v3/components/lightbox/LightBoxImageZoom.js +0 -2
  486. package/dist/cjs/product/components/product-images-v3/components/lightbox/constants.js +0 -1
  487. package/dist/esm/modal/components/ZoomButton.js +0 -2
  488. package/dist/esm/product/components/product-images-v3/components/child/ProductImagesLightBoxPreview.js +0 -1
  489. package/dist/esm/product/components/product-images-v3/components/lightbox/LightBoxCarousel.js +0 -2
  490. package/dist/esm/product/components/product-images-v3/components/lightbox/LightBoxGalleryCarousel.js +0 -2
  491. package/dist/esm/product/components/product-images-v3/components/lightbox/LightBoxImageZoom.js +0 -2
  492. 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};