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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (480) hide show
  1. package/dist/cjs/accordion/components/Accordion.liquid.js +4 -5
  2. package/dist/cjs/accordion/settings/configs/ui-v2.js +1 -1
  3. package/dist/cjs/article/components/ArticleReadMore.liquid.js +4 -4
  4. package/dist/cjs/article/settings/configs/article-author/ui-v2.js +1 -1
  5. package/dist/cjs/article/settings/configs/article-category/ui-v2.js +1 -1
  6. package/dist/cjs/article/settings/configs/article-content/ui-v2.js +1 -1
  7. package/dist/cjs/article/settings/configs/article-date/ui-v2.js +1 -1
  8. package/dist/cjs/article/settings/configs/article-excerpt/ui-v2.js +1 -1
  9. package/dist/cjs/article/settings/configs/article-image/ui-v2.js +1 -1
  10. package/dist/cjs/article/settings/configs/article-list/ui-v2.js +1 -1
  11. package/dist/cjs/article/settings/configs/article-read-more/ui-v2.js +1 -1
  12. package/dist/cjs/article/settings/configs/article-tag/ui-v2.js +1 -1
  13. package/dist/cjs/article/settings/configs/article-title/ui-v2.js +1 -1
  14. package/dist/cjs/breadcrumb/settings/configs/ui-v2.js +1 -1
  15. package/dist/cjs/builder.js +1 -1
  16. package/dist/cjs/button/common/helpers.js +2 -2
  17. package/dist/cjs/button/components/Button.liquid.js +14 -14
  18. package/dist/cjs/button/settings/configs/ui-v2.js +1 -1
  19. package/dist/cjs/carousel/components/dot/Dots.js +1 -1
  20. package/dist/cjs/carousel/components/root/Carousel.liquid.js +5 -4
  21. package/dist/cjs/carousel-v3/components/arrow/Arrow.liquid.js +8 -8
  22. package/dist/cjs/carousel-v3/components/arrow/common/classes.js +1 -1
  23. package/dist/cjs/carousel-v3/components/arrow/common/styles.js +17 -17
  24. package/dist/cjs/carousel-v3/components/dot/Dots.js +1 -1
  25. package/dist/cjs/carousel-v3/components/dot/common/helpers.js +1 -1
  26. package/dist/cjs/carousel-v3/components/item/CarouselItem.js +1 -1
  27. package/dist/cjs/carousel-v3/components/root/Carousel.js +1 -1
  28. package/dist/cjs/carousel-v3/components/root/Carousel.liquid.js +6 -5
  29. package/dist/cjs/carousel-v3/components/swiper/Swiper.js +1 -1
  30. package/dist/cjs/carousel-v3/hooks/useCarousel.js +1 -1
  31. package/dist/cjs/carousel-v3/index.js +1 -1
  32. package/dist/cjs/carousel-v3/settings/configs/settings-v2.js +3 -3
  33. package/dist/cjs/carousel-v3/settings/configs/ui-v2.js +1 -1
  34. package/dist/cjs/cart/components/CartList.js +1 -1
  35. package/dist/cjs/cart/components/shop-pay-button/ShopPayButton.liquid.js +2 -2
  36. package/dist/cjs/cart/index.js +1 -1
  37. package/dist/cjs/code/common/styles.js +1 -1
  38. package/dist/cjs/collection/components/collection-description/CollectionDescription.js +1 -1
  39. package/dist/cjs/collection/components/collection-description/CollectionDescription.liquid.js +7 -8
  40. package/dist/cjs/collection/components/collection-paginator/CollectionPaginator.liquid.js +4 -3
  41. package/dist/cjs/collection/components/collection-toolbar/CollectionToolbar.liquid.js +1 -1
  42. package/dist/cjs/collection/index.js +1 -1
  43. package/dist/cjs/collection/settings/collection-banner/configs/ui-v2.js +1 -1
  44. package/dist/cjs/collection/settings/collection-description/configs/ui-v2.js +1 -1
  45. package/dist/cjs/collection/settings/collection-paginator/configs/ui-v2.js +1 -1
  46. package/dist/cjs/collection/settings/collection-title/configs/ui-v2.js +1 -1
  47. package/dist/cjs/collection/settings/collection-toolbar/configs/ui-v2.js +1 -1
  48. package/dist/cjs/countdown-timer/components/Countdown.liquid.js +16 -15
  49. package/dist/cjs/countdown-timer/settings/configs/ui-v2.js +1 -1
  50. package/dist/cjs/coupon/settings/configs/ui-v2.js +1 -1
  51. package/dist/cjs/dialog/settings/configs/ui-v2.js +1 -1
  52. package/dist/cjs/estimate-delivery/settings/configs/ui-v2.js +1 -1
  53. package/dist/cjs/form/settings/contact/configs/ui-v2.js +1 -1
  54. package/dist/cjs/form/settings/form-checkbox/configs/ui-v2.js +1 -1
  55. package/dist/cjs/form/settings/form-dropdown/configs/ui-v2.js +1 -1
  56. package/dist/cjs/form/settings/form-email/configs/ui-v2.js +1 -1
  57. package/dist/cjs/form/settings/form-textarea/configs/ui-v2.js +1 -1
  58. package/dist/cjs/form/settings/newsletter/configs/ui-v2.js +1 -1
  59. package/dist/cjs/form/settings/submit-button/configs/ui-v2.js +1 -1
  60. package/dist/cjs/form/settings/text-field/configs/ui-v2.js +1 -1
  61. package/dist/cjs/grid/components/row/Row.js +1 -1
  62. package/dist/cjs/grid/components/row/Row.liquid.js +7 -2
  63. package/dist/cjs/grid/components/section/Section.js +1 -1
  64. package/dist/cjs/grid/components/section/lazyload/LazySectionWrapper.js +1 -0
  65. package/dist/cjs/grid/components/section/lazyload/lazyInteractionTrigger.js +1 -0
  66. package/dist/cjs/grid/components/section/lazyload/lazySectionCoordinator.js +1 -0
  67. package/dist/cjs/grid/index.js +1 -1
  68. package/dist/cjs/grid/next.js +1 -1
  69. package/dist/cjs/grid/settings/configs/row/ui-v2.js +1 -1
  70. package/dist/cjs/grid/settings/configs/section/ui-v2.js +1 -1
  71. package/dist/cjs/header/components/kind/basic/index.js +1 -1
  72. package/dist/cjs/header/components/kind/modern/index.js +1 -1
  73. package/dist/cjs/header/index.js +1 -1
  74. package/dist/cjs/heading/next.js +1 -1
  75. package/dist/cjs/heading/settings/configs/ui-v2.js +1 -1
  76. package/dist/cjs/headless.js +1 -0
  77. package/dist/cjs/helpers.js +1 -1
  78. package/dist/cjs/hero-banner/common/helpers.js +1 -1
  79. package/dist/cjs/hero-banner/components/HeroBanner.liquid.js +3 -3
  80. package/dist/cjs/hero-banner/index.js +1 -1
  81. package/dist/cjs/hero-banner/settings/configs/ui-v2.js +1 -1
  82. package/dist/cjs/icon/settings/configs/ui-v2.js +1 -1
  83. package/dist/cjs/icon-list/settings/configs/ui-v2.js +1 -1
  84. package/dist/cjs/icon-list-hoz/settings/configs/uiV2.js +1 -1
  85. package/dist/cjs/icon-list-v2/components/IconList.liquid.js +5 -5
  86. package/dist/cjs/icon-list-v2/settings/configs/ui-v2.js +1 -1
  87. package/dist/cjs/image/common/const.js +1 -0
  88. package/dist/cjs/image/common/helpers.js +2 -2
  89. package/dist/cjs/image/next.js +1 -1
  90. package/dist/cjs/image/settings/configs/ui-v2.js +1 -1
  91. package/dist/cjs/image-comparison/common/classes.js +1 -1
  92. package/dist/cjs/image-comparison/components/CompareImage.liquid.js +4 -4
  93. package/dist/cjs/image-comparison/components/ImageComparison.js +1 -1
  94. package/dist/cjs/image-comparison/components/ImageComparison.liquid.js +2 -2
  95. package/dist/cjs/image-comparison/settings/configs/ui-v2.js +1 -1
  96. package/dist/cjs/index.js +1 -1
  97. package/dist/cjs/index.liquid.js +1 -1
  98. package/dist/cjs/line/settings/configs/ui-v2.js +1 -1
  99. package/dist/cjs/marquee/components/Marquee.liquid.js +21 -21
  100. package/dist/cjs/marquee/settings/configs/child-image-template.js +1 -1
  101. package/dist/cjs/marquee/settings/configs/ui-v2.js +1 -1
  102. package/dist/cjs/modal/components/Modal.js +1 -1
  103. package/dist/cjs/modal/index.js +1 -1
  104. package/dist/cjs/post-purchase/callout-banner/index.js +1 -1
  105. package/dist/cjs/post-purchase/link/components/PostPurchaseLink.js +1 -1
  106. package/dist/cjs/post-purchase/link/settings/configs/settings.js +1 -1
  107. package/dist/cjs/post-purchase/link/settings/configs/ui-v2.js +1 -1
  108. package/dist/cjs/post-purchase/product/components/ProductPrice.js +1 -1
  109. package/dist/cjs/post-purchase/product/components/ProductQuantity.js +1 -1
  110. package/dist/cjs/post-purchase/product/components/product-image/FeatureImage.js +1 -1
  111. package/dist/cjs/post-purchase/product/components/product-image/carousel-post-purchase/CarouselWrapperPostPurchase.js +1 -1
  112. package/dist/cjs/post-purchase/product/components/product-image/layouts/OnlyGalleryImage.js +1 -1
  113. package/dist/cjs/post-purchase/product/components/product-offer/components/ProductOfferItem.js +1 -1
  114. package/dist/cjs/post-purchase/product/components/product-offer/context/PrdOfferSubscriptionPresenceContext.js +2 -0
  115. package/dist/cjs/post-purchase/product/components/product-offer/helpers/scanSubscriptionBlocks.js +1 -0
  116. package/dist/cjs/post-purchase/product/components/product-offer/hooks/useProductOfferSubscriptionBlocksObserver.js +1 -0
  117. package/dist/cjs/post-purchase/product/components/product-subscription/hooks/useSubscriptionVisibility.js +1 -1
  118. package/dist/cjs/post-purchase/product/components/product-variant/components/ProductVariant.js +1 -1
  119. package/dist/cjs/post-purchase/product/components/product-variant/components/variants/Dropdown.js +1 -1
  120. package/dist/cjs/post-purchase/product/components/product-variant/components/variants/DropdownOption.js +1 -1
  121. package/dist/cjs/post-purchase/product/index.js +1 -1
  122. package/dist/cjs/post-purchase/product/settings/product-quantity/configs/settings.js +1 -1
  123. package/dist/cjs/post-purchase/product/settings/product-quantity/configs/ui-v2.js +1 -1
  124. package/dist/cjs/post-purchase/text/components/Text.js +2 -2
  125. package/dist/cjs/product/components/ProductImages.liquid.js +9 -9
  126. package/dist/cjs/product/components/dynamic-checkout/Button.liquid.js +9 -9
  127. package/dist/cjs/product/components/file-upload/UploadFile.liquid.js +2 -3
  128. package/dist/cjs/product/components/file-upload/settings/configs/ui-v2.js +1 -1
  129. package/dist/cjs/product/components/product-badge/ProductBadge.js +1 -1
  130. package/dist/cjs/product/components/product-badge/ProductBadge.liquid.js +18 -18
  131. package/dist/cjs/product/components/product-badge/common/attrs.js +1 -1
  132. package/dist/cjs/product/components/product-badge/common/classes.js +1 -1
  133. package/dist/cjs/product/components/product-badge/utils/injectBadgeStateExtras.js +1 -0
  134. package/dist/cjs/product/components/product-badge/utils/renderBadgeILP.js +1 -1
  135. package/dist/cjs/product/components/product-badge/utils/renderBadgeLiquid.js +3 -1
  136. package/dist/cjs/product/components/product-bundle/ProductBundleDiscount.js +1 -1
  137. package/dist/cjs/product/components/product-bundle/ProductBundleDiscount.liquid.js +4 -3
  138. package/dist/cjs/product/components/product-bundle/setting/configs/ui-v2.js +1 -1
  139. package/dist/cjs/product/components/product-button/ProductButton.liquid.js +14 -11
  140. package/dist/cjs/product/components/product-button/common/helpers.js +1 -1
  141. package/dist/cjs/product/components/product-button/hooks/useAddToCart.js +1 -1
  142. package/dist/cjs/product/components/product-description/ProductDescription.js +1 -1
  143. package/dist/cjs/product/components/product-description/ProductDescription.liquid.js +3 -4
  144. package/dist/cjs/product/components/product-description/hooks/useGpDescription.js +1 -1
  145. package/dist/cjs/product/components/product-discount-tag/ProductDiscountTag.js +1 -1
  146. package/dist/cjs/product/components/product-discount-tag/ProductDiscountTag.liquid.js +5 -5
  147. package/dist/cjs/product/components/product-images-v2/ProductImagesV2.liquid.js +26 -29
  148. package/dist/cjs/product/components/product-images-v3/ProductImagesV3.liquid.js +26 -29
  149. package/dist/cjs/product/components/product-images-v3/common/productFeaturedImage.js +1 -1
  150. package/dist/cjs/product/components/product-images-v3/components/child/ProductFeatureVideo.js +1 -1
  151. package/dist/cjs/product/components/product-images-v3/components/child/ProductFeaturedImageOnly.js +1 -1
  152. package/dist/cjs/product/components/product-images-v3/components/child/ProductGalleryGrid.js +2 -2
  153. package/dist/cjs/product/components/product-images-v3/components/feature-gallery/FeatureImageWithGallery.liquid.js +34 -33
  154. package/dist/cjs/product/components/product-images-v3/components/gallery-grid/GalleryGrid.liquid.js +19 -16
  155. package/dist/cjs/product/components/product-images-v3/components/lightbox/ProductImagesLightBox.js +1 -1
  156. package/dist/cjs/product/components/product-images-v3/composables/getProductImagesClassName.js +1 -1
  157. package/dist/cjs/product/components/product-list/ProductList.js +1 -1
  158. package/dist/cjs/product/components/product-list/ProductList.liquid.js +10 -9
  159. package/dist/cjs/product/components/product-list/ProductListCarouselItem.liquid.js +5 -6
  160. package/dist/cjs/product/components/product-list/ProductListGridItem.liquid.js +7 -8
  161. package/dist/cjs/product/components/product-list/ProductListGridLayout.liquid.js +6 -4
  162. package/dist/cjs/product/components/product-list-v3/ProductList.js +1 -1
  163. package/dist/cjs/product/components/product-list-v3/ProductList.liquid.js +12 -11
  164. package/dist/cjs/product/components/product-list-v3/ProductListCarouselItem.liquid.js +6 -6
  165. package/dist/cjs/product/components/product-list-v3/ProductListGridItem.liquid.js +7 -8
  166. package/dist/cjs/product/components/product-list-v3/ProductListGridLayout.liquid.js +6 -4
  167. package/dist/cjs/product/components/product-list-v3/common/helpers.js +1 -1
  168. package/dist/cjs/product/components/product-list-v3/constants/index.js +1 -1
  169. package/dist/cjs/product/components/product-list-v3/hooks/useCollectionQuery.js +1 -1
  170. package/dist/cjs/product/components/product-list-v3/hooks/useMainRelatedProductQuery.js +1 -1
  171. package/dist/cjs/product/components/product-list-v3/hooks/useProductRelatedQuery.js +1 -1
  172. package/dist/cjs/product/components/product-list-v3/hooks/useProductsQuery.js +1 -1
  173. package/dist/cjs/product/components/product-list-v3/hooks/useRelatedProductIDAssigned.js +1 -0
  174. package/dist/cjs/product/components/product-price/ProductPrice.liquid.js +4 -4
  175. package/dist/cjs/product/components/product-sku/Sku.js +1 -1
  176. package/dist/cjs/product/components/product-sku/Sku.liquid.js +4 -3
  177. package/dist/cjs/product/components/product-title/ProductTitle.liquid.js +7 -8
  178. package/dist/cjs/product/components/product-variants/ProductVariants.liquid.js +43 -43
  179. package/dist/cjs/product/components/product-variants/common/const.js +1 -1
  180. package/dist/cjs/product/components/product-wrap/Product.liquid.js +1 -1
  181. package/dist/cjs/product/components/product-wrap/hook/useProductQuery.js +1 -1
  182. package/dist/cjs/product/index.js +1 -1
  183. package/dist/cjs/product/settings/dynamic-checkout/configs/ui-v2.js +1 -1
  184. package/dist/cjs/product/settings/product/configs/ui-v2.js +1 -1
  185. package/dist/cjs/product/settings/product-badge/configs/ui-v2.js +1 -1
  186. package/dist/cjs/product/settings/product-button/configs/ui-v2.js +1 -1
  187. package/dist/cjs/product/settings/product-image-v2/configs/ui-v2.js +1 -1
  188. package/dist/cjs/product/settings/product-image-v3/configs/setting-v2/ProductFeatureImage.js +1 -1
  189. package/dist/cjs/product/settings/product-image-v3/configs/setting-v2/ProductGalleryImage.js +2 -2
  190. package/dist/cjs/product/settings/product-image-v3/configs/ui-v2.js +1 -1
  191. package/dist/cjs/product/settings/product-list/configs/ui-v2.js +1 -1
  192. package/dist/cjs/product/settings/product-list-v3/configs/ui-v2.js +1 -1
  193. package/dist/cjs/product/settings/product-properties/configs/ui-v2.js +1 -1
  194. package/dist/cjs/product/settings/product-quantity/configs/ui-v2.js +1 -1
  195. package/dist/cjs/product/settings/product-title/configs/ui-v2.js +1 -1
  196. package/dist/cjs/product/settings/product-variant/configs/ui-v2.js +1 -1
  197. package/dist/cjs/product/settings/product-vendor/configs/ui-v2.js +1 -1
  198. package/dist/cjs/product/settings/product-view-more/configs/ui-v2.js +1 -1
  199. package/dist/cjs/sticky/common/classes.js +1 -1
  200. package/dist/cjs/sticky/components/Sticky.liquid.js +4 -5
  201. package/dist/cjs/sticky/hooks/useSticky.js +1 -1
  202. package/dist/cjs/sticky/settings/configs/ui-v2.js +1 -1
  203. package/dist/cjs/stock-counter/settings/configs/ui-v2.js +1 -1
  204. package/dist/cjs/tab/components/Tabs.liquid.js +7 -6
  205. package/dist/cjs/tab/settings/configs/ui-v2.js +1 -1
  206. package/dist/cjs/text/components/Text.liquid.js +3 -3
  207. package/dist/cjs/text/next.js +1 -1
  208. package/dist/cjs/text/settings/configs/ui-v2.js +1 -1
  209. package/dist/cjs/third-party/components/AppstleLoyaltyRewardProgram.js +2 -0
  210. package/dist/cjs/third-party/components/AppstleLoyaltyRewardProgram.liquid.js +16 -0
  211. package/dist/cjs/third-party/components/BonySubscriptionsApp.liquid.js +10 -3
  212. package/dist/cjs/third-party/components/EssentPreorderBackInStock.js +2 -0
  213. package/dist/cjs/third-party/components/EssentPreorderBackInStock.liquid.js +8 -0
  214. package/dist/cjs/third-party/components/SubscribfySubscriptionsApp.js +2 -0
  215. package/dist/cjs/third-party/components/SubscribfySubscriptionsApp.liquid.js +1 -0
  216. package/dist/cjs/third-party/components/WcWishlistBackInStock.liquid.js +19 -1
  217. package/dist/cjs/third-party/configs/AppstleLoyaltyRewardProgram.js +1 -0
  218. package/dist/cjs/third-party/configs/EssentPreorderBackInStock.js +1 -0
  219. package/dist/cjs/third-party/configs/SubscribfySubscriptionsApp.js +1 -0
  220. package/dist/cjs/third-party/configs/WcWishlistBackInStock.js +1 -1
  221. package/dist/cjs/third-party/index.js +1 -1
  222. package/dist/cjs/third-party/next.js +1 -1
  223. package/dist/cjs/third-party/settings/AppstleLoyaltyRewardProgram/index.js +4 -0
  224. package/dist/cjs/third-party/settings/AppstleLoyaltyRewardProgram/uiV2.js +1 -0
  225. package/dist/cjs/third-party/settings/EssentPreorderBackInStock/index.js +4 -0
  226. package/dist/cjs/third-party/settings/EssentPreorderBackInStock/uiV2.js +1 -0
  227. package/dist/cjs/third-party/settings/SubscribfySubscriptionsApp/index.js +4 -0
  228. package/dist/cjs/third-party/settings/SubscribfySubscriptionsApp/uiV2.js +1 -0
  229. package/dist/cjs/third-party/settings/WcWishlistBackInStock/index.js +5 -2
  230. package/dist/cjs/video/common/helpers.js +1 -1
  231. package/dist/cjs/video/components/LiteVimeoEmbed.liquid.js +5 -4
  232. package/dist/cjs/video/components/LiteYouTubeEmbed.liquid.js +15 -14
  233. package/dist/cjs/video/hooks/useLiteYoutubeEmbed.js +1 -1
  234. package/dist/esm/accordion/components/Accordion.liquid.js +8 -9
  235. package/dist/esm/accordion/settings/configs/ui-v2.js +1 -1
  236. package/dist/esm/article/components/ArticleReadMore.liquid.js +4 -4
  237. package/dist/esm/article/settings/configs/article-author/ui-v2.js +1 -1
  238. package/dist/esm/article/settings/configs/article-category/ui-v2.js +1 -1
  239. package/dist/esm/article/settings/configs/article-content/ui-v2.js +1 -1
  240. package/dist/esm/article/settings/configs/article-date/ui-v2.js +1 -1
  241. package/dist/esm/article/settings/configs/article-excerpt/ui-v2.js +1 -1
  242. package/dist/esm/article/settings/configs/article-image/ui-v2.js +1 -1
  243. package/dist/esm/article/settings/configs/article-list/ui-v2.js +1 -1
  244. package/dist/esm/article/settings/configs/article-read-more/ui-v2.js +1 -1
  245. package/dist/esm/article/settings/configs/article-tag/ui-v2.js +1 -1
  246. package/dist/esm/article/settings/configs/article-title/ui-v2.js +1 -1
  247. package/dist/esm/breadcrumb/settings/configs/ui-v2.js +1 -1
  248. package/dist/esm/builder.js +1 -1
  249. package/dist/esm/button/common/helpers.js +2 -2
  250. package/dist/esm/button/components/Button.liquid.js +19 -19
  251. package/dist/esm/button/settings/configs/ui-v2.js +1 -1
  252. package/dist/esm/carousel/components/dot/Dots.js +1 -1
  253. package/dist/esm/carousel/components/root/Carousel.liquid.js +4 -3
  254. package/dist/esm/carousel-v3/components/arrow/Arrow.liquid.js +6 -6
  255. package/dist/esm/carousel-v3/components/arrow/common/classes.js +1 -1
  256. package/dist/esm/carousel-v3/components/arrow/common/styles.js +17 -17
  257. package/dist/esm/carousel-v3/components/dot/Dots.js +1 -1
  258. package/dist/esm/carousel-v3/components/dot/common/helpers.js +1 -1
  259. package/dist/esm/carousel-v3/components/item/CarouselItem.js +1 -1
  260. package/dist/esm/carousel-v3/components/root/Carousel.js +1 -1
  261. package/dist/esm/carousel-v3/components/root/Carousel.liquid.js +6 -5
  262. package/dist/esm/carousel-v3/components/swiper/Swiper.js +1 -1
  263. package/dist/esm/carousel-v3/hooks/useCarousel.js +1 -1
  264. package/dist/esm/carousel-v3/index.js +1 -1
  265. package/dist/esm/carousel-v3/settings/configs/settings-v2.js +3 -3
  266. package/dist/esm/carousel-v3/settings/configs/ui-v2.js +1 -1
  267. package/dist/esm/cart/components/CartList.js +1 -1
  268. package/dist/esm/cart/components/shop-pay-button/ShopPayButton.liquid.js +2 -2
  269. package/dist/esm/cart/index.js +1 -1
  270. package/dist/esm/code/common/styles.js +1 -1
  271. package/dist/esm/collection/components/collection-description/CollectionDescription.js +1 -1
  272. package/dist/esm/collection/components/collection-description/CollectionDescription.liquid.js +6 -7
  273. package/dist/esm/collection/components/collection-paginator/CollectionPaginator.liquid.js +4 -3
  274. package/dist/esm/collection/components/collection-toolbar/CollectionToolbar.liquid.js +3 -3
  275. package/dist/esm/collection/index.js +1 -1
  276. package/dist/esm/collection/settings/collection-banner/configs/ui-v2.js +1 -1
  277. package/dist/esm/collection/settings/collection-description/configs/ui-v2.js +1 -1
  278. package/dist/esm/collection/settings/collection-paginator/configs/ui-v2.js +1 -1
  279. package/dist/esm/collection/settings/collection-title/configs/ui-v2.js +1 -1
  280. package/dist/esm/collection/settings/collection-toolbar/configs/ui-v2.js +1 -1
  281. package/dist/esm/countdown-timer/components/Countdown.liquid.js +21 -20
  282. package/dist/esm/countdown-timer/settings/configs/ui-v2.js +1 -1
  283. package/dist/esm/coupon/settings/configs/ui-v2.js +1 -1
  284. package/dist/esm/dialog/settings/configs/ui-v2.js +1 -1
  285. package/dist/esm/estimate-delivery/settings/configs/ui-v2.js +1 -1
  286. package/dist/esm/form/settings/contact/configs/ui-v2.js +1 -1
  287. package/dist/esm/form/settings/form-checkbox/configs/ui-v2.js +1 -1
  288. package/dist/esm/form/settings/form-dropdown/configs/ui-v2.js +1 -1
  289. package/dist/esm/form/settings/form-email/configs/ui-v2.js +1 -1
  290. package/dist/esm/form/settings/form-textarea/configs/ui-v2.js +1 -1
  291. package/dist/esm/form/settings/newsletter/configs/ui-v2.js +1 -1
  292. package/dist/esm/form/settings/submit-button/configs/ui-v2.js +1 -1
  293. package/dist/esm/form/settings/text-field/configs/ui-v2.js +1 -1
  294. package/dist/esm/grid/components/row/Row.js +1 -1
  295. package/dist/esm/grid/components/row/Row.liquid.js +10 -5
  296. package/dist/esm/grid/components/section/Section.js +1 -1
  297. package/dist/esm/grid/components/section/lazyload/LazySectionWrapper.js +1 -0
  298. package/dist/esm/grid/components/section/lazyload/lazyInteractionTrigger.js +1 -0
  299. package/dist/esm/grid/components/section/lazyload/lazySectionCoordinator.js +1 -0
  300. package/dist/esm/grid/index.js +1 -1
  301. package/dist/esm/grid/next.js +1 -1
  302. package/dist/esm/grid/settings/configs/row/ui-v2.js +1 -1
  303. package/dist/esm/grid/settings/configs/section/ui-v2.js +1 -1
  304. package/dist/esm/header/components/kind/basic/index.js +1 -1
  305. package/dist/esm/header/components/kind/modern/index.js +1 -1
  306. package/dist/esm/header/index.js +1 -1
  307. package/dist/esm/heading/next.js +1 -1
  308. package/dist/esm/heading/settings/configs/ui-v2.js +1 -1
  309. package/dist/esm/headless.js +1 -0
  310. package/dist/esm/helpers.js +1 -1
  311. package/dist/esm/hero-banner/common/helpers.js +1 -1
  312. package/dist/esm/hero-banner/components/HeroBanner.liquid.js +5 -5
  313. package/dist/esm/hero-banner/index.js +1 -1
  314. package/dist/esm/hero-banner/settings/configs/ui-v2.js +1 -1
  315. package/dist/esm/icon/settings/configs/ui-v2.js +1 -1
  316. package/dist/esm/icon-list/settings/configs/ui-v2.js +1 -1
  317. package/dist/esm/icon-list-hoz/settings/configs/uiV2.js +1 -1
  318. package/dist/esm/icon-list-v2/components/IconList.liquid.js +3 -3
  319. package/dist/esm/icon-list-v2/settings/configs/ui-v2.js +1 -1
  320. package/dist/esm/image/common/const.js +1 -0
  321. package/dist/esm/image/common/helpers.js +2 -2
  322. package/dist/esm/image/next.js +1 -1
  323. package/dist/esm/image/settings/configs/ui-v2.js +1 -1
  324. package/dist/esm/image-comparison/common/classes.js +1 -1
  325. package/dist/esm/image-comparison/components/CompareImage.liquid.js +5 -5
  326. package/dist/esm/image-comparison/components/ImageComparison.js +1 -1
  327. package/dist/esm/image-comparison/components/ImageComparison.liquid.js +3 -3
  328. package/dist/esm/image-comparison/settings/configs/ui-v2.js +1 -1
  329. package/dist/esm/index.js +1 -1
  330. package/dist/esm/index.liquid.js +1 -1
  331. package/dist/esm/line/settings/configs/ui-v2.js +1 -1
  332. package/dist/esm/marquee/components/Marquee.liquid.js +21 -21
  333. package/dist/esm/marquee/settings/configs/child-image-template.js +1 -1
  334. package/dist/esm/marquee/settings/configs/ui-v2.js +1 -1
  335. package/dist/esm/modal/components/Modal.js +1 -1
  336. package/dist/esm/modal/index.js +1 -1
  337. package/dist/esm/post-purchase/callout-banner/index.js +1 -1
  338. package/dist/esm/post-purchase/link/components/PostPurchaseLink.js +1 -1
  339. package/dist/esm/post-purchase/link/settings/configs/settings.js +1 -1
  340. package/dist/esm/post-purchase/link/settings/configs/ui-v2.js +1 -1
  341. package/dist/esm/post-purchase/product/components/ProductPrice.js +1 -1
  342. package/dist/esm/post-purchase/product/components/ProductQuantity.js +1 -1
  343. package/dist/esm/post-purchase/product/components/product-image/FeatureImage.js +1 -1
  344. package/dist/esm/post-purchase/product/components/product-image/carousel-post-purchase/CarouselWrapperPostPurchase.js +1 -1
  345. package/dist/esm/post-purchase/product/components/product-image/layouts/OnlyGalleryImage.js +1 -1
  346. package/dist/esm/post-purchase/product/components/product-offer/components/ProductOfferItem.js +1 -1
  347. package/dist/esm/post-purchase/product/components/product-offer/context/PrdOfferSubscriptionPresenceContext.js +2 -0
  348. package/dist/esm/post-purchase/product/components/product-offer/helpers/scanSubscriptionBlocks.js +1 -0
  349. package/dist/esm/post-purchase/product/components/product-offer/hooks/useProductOfferSubscriptionBlocksObserver.js +1 -0
  350. package/dist/esm/post-purchase/product/components/product-subscription/hooks/useSubscriptionVisibility.js +1 -1
  351. package/dist/esm/post-purchase/product/components/product-variant/components/ProductVariant.js +1 -1
  352. package/dist/esm/post-purchase/product/components/product-variant/components/variants/Dropdown.js +1 -1
  353. package/dist/esm/post-purchase/product/components/product-variant/components/variants/DropdownOption.js +1 -1
  354. package/dist/esm/post-purchase/product/index.js +1 -1
  355. package/dist/esm/post-purchase/product/settings/product-quantity/configs/settings.js +1 -1
  356. package/dist/esm/post-purchase/product/settings/product-quantity/configs/ui-v2.js +1 -1
  357. package/dist/esm/post-purchase/text/components/Text.js +2 -2
  358. package/dist/esm/product/components/ProductImages.liquid.js +12 -12
  359. package/dist/esm/product/components/dynamic-checkout/Button.liquid.js +14 -14
  360. package/dist/esm/product/components/file-upload/UploadFile.liquid.js +3 -4
  361. package/dist/esm/product/components/file-upload/settings/configs/ui-v2.js +1 -1
  362. package/dist/esm/product/components/product-badge/ProductBadge.js +1 -1
  363. package/dist/esm/product/components/product-badge/ProductBadge.liquid.js +20 -20
  364. package/dist/esm/product/components/product-badge/common/attrs.js +1 -1
  365. package/dist/esm/product/components/product-badge/common/classes.js +1 -1
  366. package/dist/esm/product/components/product-badge/utils/injectBadgeStateExtras.js +1 -0
  367. package/dist/esm/product/components/product-badge/utils/renderBadgeILP.js +1 -1
  368. package/dist/esm/product/components/product-badge/utils/renderBadgeLiquid.js +5 -3
  369. package/dist/esm/product/components/product-bundle/ProductBundleDiscount.js +1 -1
  370. package/dist/esm/product/components/product-bundle/ProductBundleDiscount.liquid.js +8 -7
  371. package/dist/esm/product/components/product-bundle/setting/configs/ui-v2.js +1 -1
  372. package/dist/esm/product/components/product-button/ProductButton.liquid.js +14 -11
  373. package/dist/esm/product/components/product-button/common/helpers.js +1 -1
  374. package/dist/esm/product/components/product-button/hooks/useAddToCart.js +1 -1
  375. package/dist/esm/product/components/product-description/ProductDescription.js +1 -1
  376. package/dist/esm/product/components/product-description/ProductDescription.liquid.js +5 -6
  377. package/dist/esm/product/components/product-description/hooks/useGpDescription.js +1 -1
  378. package/dist/esm/product/components/product-discount-tag/ProductDiscountTag.js +1 -1
  379. package/dist/esm/product/components/product-discount-tag/ProductDiscountTag.liquid.js +8 -8
  380. package/dist/esm/product/components/product-images-v2/ProductImagesV2.liquid.js +27 -30
  381. package/dist/esm/product/components/product-images-v3/ProductImagesV3.liquid.js +27 -30
  382. package/dist/esm/product/components/product-images-v3/common/productFeaturedImage.js +1 -1
  383. package/dist/esm/product/components/product-images-v3/components/child/ProductFeatureVideo.js +1 -1
  384. package/dist/esm/product/components/product-images-v3/components/child/ProductFeaturedImageOnly.js +1 -1
  385. package/dist/esm/product/components/product-images-v3/components/child/ProductGalleryGrid.js +2 -2
  386. package/dist/esm/product/components/product-images-v3/components/feature-gallery/FeatureImageWithGallery.liquid.js +17 -16
  387. package/dist/esm/product/components/product-images-v3/components/gallery-grid/GalleryGrid.liquid.js +19 -16
  388. package/dist/esm/product/components/product-images-v3/components/lightbox/ProductImagesLightBox.js +1 -1
  389. package/dist/esm/product/components/product-images-v3/composables/getProductImagesClassName.js +1 -1
  390. package/dist/esm/product/components/product-list/ProductList.js +1 -1
  391. package/dist/esm/product/components/product-list/ProductList.liquid.js +18 -17
  392. package/dist/esm/product/components/product-list/ProductListCarouselItem.liquid.js +5 -6
  393. package/dist/esm/product/components/product-list/ProductListGridItem.liquid.js +7 -8
  394. package/dist/esm/product/components/product-list/ProductListGridLayout.liquid.js +9 -7
  395. package/dist/esm/product/components/product-list-v3/ProductList.js +1 -1
  396. package/dist/esm/product/components/product-list-v3/ProductList.liquid.js +20 -19
  397. package/dist/esm/product/components/product-list-v3/ProductListCarouselItem.liquid.js +6 -6
  398. package/dist/esm/product/components/product-list-v3/ProductListGridItem.liquid.js +7 -8
  399. package/dist/esm/product/components/product-list-v3/ProductListGridLayout.liquid.js +9 -7
  400. package/dist/esm/product/components/product-list-v3/common/helpers.js +1 -1
  401. package/dist/esm/product/components/product-list-v3/constants/index.js +1 -1
  402. package/dist/esm/product/components/product-list-v3/hooks/useCollectionQuery.js +1 -1
  403. package/dist/esm/product/components/product-list-v3/hooks/useMainRelatedProductQuery.js +1 -1
  404. package/dist/esm/product/components/product-list-v3/hooks/useProductRelatedQuery.js +1 -1
  405. package/dist/esm/product/components/product-list-v3/hooks/useProductsQuery.js +1 -1
  406. package/dist/esm/product/components/product-list-v3/hooks/useRelatedProductIDAssigned.js +1 -0
  407. package/dist/esm/product/components/product-price/ProductPrice.liquid.js +3 -3
  408. package/dist/esm/product/components/product-sku/Sku.js +1 -1
  409. package/dist/esm/product/components/product-sku/Sku.liquid.js +6 -5
  410. package/dist/esm/product/components/product-title/ProductTitle.liquid.js +5 -6
  411. package/dist/esm/product/components/product-variants/ProductVariants.liquid.js +48 -48
  412. package/dist/esm/product/components/product-variants/common/const.js +1 -1
  413. package/dist/esm/product/components/product-wrap/Product.liquid.js +5 -5
  414. package/dist/esm/product/components/product-wrap/hook/useProductQuery.js +1 -1
  415. package/dist/esm/product/index.js +1 -1
  416. package/dist/esm/product/settings/dynamic-checkout/configs/ui-v2.js +1 -1
  417. package/dist/esm/product/settings/product/configs/ui-v2.js +1 -1
  418. package/dist/esm/product/settings/product-badge/configs/ui-v2.js +1 -1
  419. package/dist/esm/product/settings/product-button/configs/ui-v2.js +1 -1
  420. package/dist/esm/product/settings/product-image-v2/configs/ui-v2.js +1 -1
  421. package/dist/esm/product/settings/product-image-v3/configs/setting-v2/ProductFeatureImage.js +1 -1
  422. package/dist/esm/product/settings/product-image-v3/configs/setting-v2/ProductGalleryImage.js +2 -2
  423. package/dist/esm/product/settings/product-image-v3/configs/ui-v2.js +1 -1
  424. package/dist/esm/product/settings/product-list/configs/ui-v2.js +1 -1
  425. package/dist/esm/product/settings/product-list-v3/configs/ui-v2.js +1 -1
  426. package/dist/esm/product/settings/product-properties/configs/ui-v2.js +1 -1
  427. package/dist/esm/product/settings/product-quantity/configs/ui-v2.js +1 -1
  428. package/dist/esm/product/settings/product-title/configs/ui-v2.js +1 -1
  429. package/dist/esm/product/settings/product-variant/configs/ui-v2.js +1 -1
  430. package/dist/esm/product/settings/product-vendor/configs/ui-v2.js +1 -1
  431. package/dist/esm/product/settings/product-view-more/configs/ui-v2.js +1 -1
  432. package/dist/esm/sticky/common/classes.js +1 -1
  433. package/dist/esm/sticky/components/Sticky.liquid.js +11 -12
  434. package/dist/esm/sticky/hooks/useSticky.js +1 -1
  435. package/dist/esm/sticky/settings/configs/ui-v2.js +1 -1
  436. package/dist/esm/stock-counter/settings/configs/ui-v2.js +1 -1
  437. package/dist/esm/tab/components/Tabs.liquid.js +12 -11
  438. package/dist/esm/tab/settings/configs/ui-v2.js +1 -1
  439. package/dist/esm/text/components/Text.liquid.js +3 -3
  440. package/dist/esm/text/next.js +1 -1
  441. package/dist/esm/text/settings/configs/ui-v2.js +1 -1
  442. package/dist/esm/third-party/components/AppstleLoyaltyRewardProgram.js +2 -0
  443. package/dist/esm/third-party/components/AppstleLoyaltyRewardProgram.liquid.js +16 -0
  444. package/dist/esm/third-party/components/BonySubscriptionsApp.liquid.js +11 -4
  445. package/dist/esm/third-party/components/EssentPreorderBackInStock.js +2 -0
  446. package/dist/esm/third-party/components/EssentPreorderBackInStock.liquid.js +8 -0
  447. package/dist/esm/third-party/components/SubscribfySubscriptionsApp.js +2 -0
  448. package/dist/esm/third-party/components/SubscribfySubscriptionsApp.liquid.js +1 -0
  449. package/dist/esm/third-party/components/WcWishlistBackInStock.liquid.js +19 -1
  450. package/dist/esm/third-party/configs/AppstleLoyaltyRewardProgram.js +1 -0
  451. package/dist/esm/third-party/configs/EssentPreorderBackInStock.js +1 -0
  452. package/dist/esm/third-party/configs/SubscribfySubscriptionsApp.js +1 -0
  453. package/dist/esm/third-party/configs/WcWishlistBackInStock.js +1 -1
  454. package/dist/esm/third-party/index.js +1 -1
  455. package/dist/esm/third-party/next.js +1 -1
  456. package/dist/esm/third-party/settings/AppstleLoyaltyRewardProgram/index.js +4 -0
  457. package/dist/esm/third-party/settings/AppstleLoyaltyRewardProgram/uiV2.js +1 -0
  458. package/dist/esm/third-party/settings/EssentPreorderBackInStock/index.js +4 -0
  459. package/dist/esm/third-party/settings/EssentPreorderBackInStock/uiV2.js +1 -0
  460. package/dist/esm/third-party/settings/SubscribfySubscriptionsApp/index.js +4 -0
  461. package/dist/esm/third-party/settings/SubscribfySubscriptionsApp/uiV2.js +1 -0
  462. package/dist/esm/third-party/settings/WcWishlistBackInStock/index.js +5 -2
  463. package/dist/esm/video/common/helpers.js +1 -1
  464. package/dist/esm/video/components/LiteVimeoEmbed.liquid.js +3 -2
  465. package/dist/esm/video/components/LiteYouTubeEmbed.liquid.js +14 -13
  466. package/dist/esm/video/hooks/useLiteYoutubeEmbed.js +1 -1
  467. package/dist/types/index.d.ts +266 -29
  468. package/package.json +5 -5
  469. package/dist/cjs/modal/components/ZoomButton.js +0 -2
  470. package/dist/cjs/product/components/product-images-v3/components/child/ProductImagesLightBoxPreview.js +0 -1
  471. package/dist/cjs/product/components/product-images-v3/components/lightbox/LightBoxCarousel.js +0 -2
  472. package/dist/cjs/product/components/product-images-v3/components/lightbox/LightBoxGalleryCarousel.js +0 -2
  473. package/dist/cjs/product/components/product-images-v3/components/lightbox/LightBoxImageZoom.js +0 -2
  474. package/dist/cjs/product/components/product-images-v3/components/lightbox/constants.js +0 -1
  475. package/dist/esm/modal/components/ZoomButton.js +0 -2
  476. package/dist/esm/product/components/product-images-v3/components/child/ProductImagesLightBoxPreview.js +0 -1
  477. package/dist/esm/product/components/product-images-v3/components/lightbox/LightBoxCarousel.js +0 -2
  478. package/dist/esm/product/components/product-images-v3/components/lightbox/LightBoxGalleryCarousel.js +0 -2
  479. package/dist/esm/product/components/product-images-v3/components/lightbox/LightBoxImageZoom.js +0 -2
  480. package/dist/esm/product/components/product-images-v3/components/lightbox/constants.js +0 -1
@@ -1,6 +1,6 @@
1
- import{RenderIf as e,isLocalEnv as s,baseAssetURL as t,template as i}from"@gem-sdk/core";import{getSettingPreloadData as d,getStaticLocale as o}from"../../../helpers.js";import{If as r}from"@gem-sdk/system";import a from"./ProductListCarouselLayout.liquid.js";import n from"./ProductListGridLayout.liquid.js";import{getStyle as c}from"./common/styles.js";import{getClass as l}from"./common/classes.js";import{getDataLiquid as u}from"./common/helpers.js";let g=g=>{let{setting:p,styles:f,pageContext:m}=g,$=m?.pageType==="GP_FUNNEL_PAGE";if($)return"";let{hasRelatedExclude:P,relatedExcludeTrim:h,collectionID:_,isLatestProducts:y,isGrid:v,numberOfProducts:E,productListId:k,productListHandles:x,sortedBy:S,isReverse:b,productSrc:A,productNumber:L,isSorted:R,relatedTag:I,collectionHandle:F}=u(g),j=()=>i`
2
- ${e("RelatedProduct"===A,`
3
- assign relatedTag = '${I}'
1
+ import{RenderIf as e,isLocalEnv as s,baseAssetURL as t,template as i}from"@gem-sdk/core";import{getSettingPreloadData as d,getStaticLocale as o}from"../../../helpers.js";import{If as r}from"@gem-sdk/system";import a from"./ProductListCarouselLayout.liquid.js";import n from"./ProductListGridLayout.liquid.js";import{getStyle as c}from"./common/styles.js";import{getClass as l}from"./common/classes.js";import{getDataLiquid as g}from"./common/helpers.js";let u=u=>{let{setting:p,styles:f,pageContext:m}=u,$=m?.pageType==="GP_FUNNEL_PAGE";if($)return"";let{hasRelatedExclude:P,relatedExcludeTrim:h,collectionID:_,isLatestProducts:y,isGrid:v,numberOfProducts:E,productListId:k,productListHandles:S,sortedBy:x,isReverse:b,productSrc:L,productNumber:A,isSorted:R,relatedTag:H,collectionHandle:I}=g(u),F=()=>i`
2
+ ${e("RelatedProduct"===L,`
3
+ assign relatedTag = '${H}'
4
4
  assign assignProduct = product
5
5
  assign idAssignProduct = assignProduct.id
6
6
  paginate collections.all.products by 10000
@@ -95,7 +95,7 @@ import{RenderIf as e,isLocalEnv as s,baseAssetURL as t,template as i}from"@gem-s
95
95
  assign products = products
96
96
  endpaginate
97
97
  `)}
98
- `,{productListWrapStyle:w,productListContentStyle:H,productListWrapAlignStyle:q}=c(g),{productListWrapClass:G}=l(g);return i`
98
+ `,{productListWrapStyle:j,productListContentStyle:w,productListWrapAlignStyle:q}=c(u),{productListWrapClass:G}=l(u);return i`
99
99
  ${e(s,`
100
100
  <script ${d('class="gps-link" delay',"src")}="{{ 'gp-product-v7-5.js' | asset_url }}" defer="defer"></script>
101
101
  ${p?.sameHeight?`<script ${d('class="gps-link" delay',"src")}="{{ 'gp-same-height-v7-5.js' | asset_url }}" defer="defer"></script>`:""}
@@ -107,16 +107,16 @@ import{RenderIf as e,isLocalEnv as s,baseAssetURL as t,template as i}from"@gem-s
107
107
  ${e(!!f?.preloadBgImage,`${e(!!f?.backgroundImage?.desktop?.image?.src,`<link rel="preload" href="${f?.backgroundImage?.desktop?.image?.src}" as="image" />`)}${e(!!f?.backgroundImage?.tablet?.image?.src,`<link rel="preload" href="${f?.backgroundImage?.tablet?.image?.src}" as="image" />`)}${e(!!f?.backgroundImage?.mobile?.image?.src,`<link rel="preload" href="${f?.backgroundImage?.mobile?.image?.src}" as="image" />`)}`)}
108
108
  <div
109
109
  class="${G}"
110
- style="${w}"
110
+ style="${j}"
111
111
  >
112
112
  <div class='gp-flex gp-w-full' style="${q}">
113
113
  <div
114
- style="${H}"
114
+ style="${w}"
115
115
  >
116
116
  {%- assign gpBkProduct = product -%}
117
117
  {%- assign gpBkProducts = products -%}
118
- ${(()=>{let e=F?`
119
- assign target_collection = collections['${F}']
118
+ ${(()=>{let e=I?`
119
+ assign target_collection = collections['${I}']
120
120
  if target_collection == empty
121
121
  for collection in collections
122
122
  if collection.id == ${_}
@@ -134,12 +134,13 @@ import{RenderIf as e,isLocalEnv as s,baseAssetURL as t,template as i}from"@gem-s
134
134
  endfor
135
135
  `;return i`
136
136
  {%- liquid
137
- assign productHandles = '${x.toString()}'| split: ','
137
+ assign productHandles = '${S.toString()}'| split: ','
138
138
  assign products = null
139
139
  assign target_collection = null
140
- assign productSrc = '${A}'
140
+ assign productSrc = '${L}'
141
141
  assign c = 0
142
- assign limit = ${L??4}
142
+ assign limit = ${A??4}
143
+ assign isSettingSameHeightProductList = ${p?.sameHeight??!1}
143
144
 
144
145
  if request.page_type == 'collection' or preview_page_type == 'collection'
145
146
  assign target_collection = collection
@@ -151,11 +152,11 @@ import{RenderIf as e,isLocalEnv as s,baseAssetURL as t,template as i}from"@gem-s
151
152
  endif
152
153
  endif
153
154
  paginate target_collection.products by ${E||4}
154
- assign products = target_collection.products ${R?S:""} ${b?"| reverse":""}
155
+ assign products = target_collection.products ${R?x:""} ${b?"| reverse":""}
155
156
  endpaginate
156
157
  else
157
158
  if productSrc == 'RelatedProduct'
158
- ${j()}
159
+ ${F()}
159
160
  elsif productSrc == 'PickProduct'
160
161
  unless ${y}
161
162
  assign products = null | sort
@@ -178,7 +179,7 @@ import{RenderIf as e,isLocalEnv as s,baseAssetURL as t,template as i}from"@gem-s
178
179
  ${e}
179
180
  endif
180
181
  paginate target_collection.products by ${E||4}
181
- assign products = target_collection.products ${R?S:""} ${b?"| reverse":""}
182
+ assign products = target_collection.products ${R?x:""} ${b?"| reverse":""}
182
183
  endpaginate
183
184
  endif
184
185
  endif
@@ -187,14 +188,14 @@ import{RenderIf as e,isLocalEnv as s,baseAssetURL as t,template as i}from"@gem-s
187
188
  ${i`
188
189
  {%- if products == null -%}
189
190
  {%- if count == 0 and ${k.length} == 0 -%}
190
- {% if '${A}' == 'RelatedProduct' -%}
191
+ {% if '${L}' == 'RelatedProduct' -%}
191
192
  <div>${o("ProductList","no_related_products")}</div>
192
193
  {% else %}
193
194
  <div>${o("ProductList","no_products_found")}</div>
194
195
  {%- endif -%}
195
196
  {%- endif -%}
196
197
  {%-else-%}
197
- ${r(v,i`${n({...g,productListId:k,productSrc:A})}`,i`${a({...g,productListId:k,productSrc:A})}`)}
198
+ ${r(v,i`${n({...u,productListId:k,productSrc:L})}`,i`${a({...u,productListId:k,productSrc:L})}`)}
198
199
  {%- endif -%}
199
200
  `}
200
201
  {%- assign product = gpBkProduct -%}
@@ -202,4 +203,4 @@ import{RenderIf as e,isLocalEnv as s,baseAssetURL as t,template as i}from"@gem-s
202
203
  </div>
203
204
  </div>
204
205
  </div>
205
- `};export{g as default};
206
+ `};export{u as default};
@@ -1,15 +1,14 @@
1
- import{template as t}from"@gem-sdk/core";import{getClass as e}from"./common/classes.js";import{filterPageContext as n}from"../../../helpers.js";let o=o=>{let{pageContext:a,children:r}=o,{productItemClass:i,gpProductClass:c}=e(o);return t`
1
+ import{template as t}from"@gem-sdk/core";import{getClass as n}from"./common/classes.js";let o=o=>{let{pageContext:e,children:a}=o,{productItemClass:r,gpProductClass:i}=n(o);return t`
2
2
  <gp-product
3
3
  gp-context='{"variantSelected": {{ variant | json | escape }}, "inventory_management": {{ variant.inventory_management | json | escape }}, "inventory_policy": {{ variant.inventory_policy | json | escape }}, "quantity": 1 , "inventoryQuantity": {{ variant.inventory_quantity | default: 0 }}, "formId": "{{ product_form_id }}"}'
4
- gp-data='{"variantSelected": {{ variant | json | escape }}, "quantity": 1, "productUrl":{{ product.url | json | escape }}, "productHandle":{{ product.handle | json | escape }}, "collectionUrl": {{ collection.url | json | escape }}, "collectionHandle": {{ collection.handle | json | escape }},"pageContext" : ${JSON.stringify(n(a))}}'
5
- class="${c}"
6
-
4
+ class="${i}"
7
5
  >
8
- {%- form 'product', product, id: product_form_id, class: 'form contents ${i}', data-type: 'add-to-cart-form', autocomplete: 'off' -%}
6
+ <script gp-data type="application/json">{"variantSelected": {{ variant | json }}, "quantity": 1, "productUrl":{{ product.url | json }}, "productHandle":{{ product.handle | json }}, "collectionUrl": {{ collection.url | json }}, "collectionHandle": {{ collection.handle | json }},"pageContext" : ${JSON.stringify(e)}}</script>
7
+ {%- form 'product', product, id: product_form_id, class: 'form contents ${r}', data-type: 'add-to-cart-form', autocomplete: 'off' -%}
9
8
  <input type="hidden" name="id" value="{{ variant.id }}" />
10
9
  <input type="hidden" min="1" name="quantity" value="{{ quantity }}" />
11
10
  <button type="submit" onclick="return false;" style="display:none;"></button>
12
- ${r}
11
+ ${a}
13
12
  {%- endform -%}
14
13
  </gp-product>
15
14
  `};export{o as default};
@@ -1,19 +1,18 @@
1
- import{template as t,RenderChildren as e}from"@gem-sdk/core";import{getClass as n}from"./common/classes.js";import{filterPageContext as o}from"../../../helpers.js";let a=a=>{let{pageContext:r,rawChildren:i}=a,{productItemClass:c,gpProductClass:p}=n(a);return t`
1
+ import{template as t,RenderChildren as n}from"@gem-sdk/core";import{getClass as e}from"./common/classes.js";let o=o=>{let{pageContext:a,rawChildren:r}=o,{productItemClass:i,gpProductClass:c}=e(o);return t`
2
2
  <gp-product
3
3
  gp-context='{"variantSelected": {{ variant | json | escape }}, "inventory_management": {{ variant.inventory_management | json | escape }}, "inventory_policy": {{ variant.inventory_policy | json | escape }}, "quantity": 1 , "inventoryQuantity": {{ variant.inventory_quantity | default: 0 }}, "formId": "{{ product_form_id }}"}'
4
- gp-data='{"variantSelected": {{ variant | json | escape }}, "quantity": 1, "productUrl":{{ product.url | json | escape }}, "productHandle":{{ product.handle | json | escape }}, "collectionUrl": {{ collection.url | json | escape }}, "collectionHandle": {{ collection.handle | json | escape }},"pageContext" : ${JSON.stringify(o(r))}}'
5
- class="${p}"
6
-
4
+ class="${c}"
7
5
  >
8
- {%- form 'product', product, id: product_form_id, class: 'form contents ${c}', data-type: 'add-to-cart-form', autocomplete: 'off' -%}
6
+ <script gp-data type="application/json">{"variantSelected": {{ variant | json }}, "quantity": 1, "productUrl":{{ product.url | json }}, "productHandle":{{ product.handle | json }}, "collectionUrl": {{ collection.url | json }}, "collectionHandle": {{ collection.handle | json }},"pageContext" : ${JSON.stringify(a)}}</script>
7
+ {%- form 'product', product, id: product_form_id, class: 'form contents ${i}', data-type: 'add-to-cart-form', autocomplete: 'off' -%}
9
8
  <input type="hidden" name="id" value="{{ variant.id }}" />
10
9
  <input type="hidden" min="1" name="quantity" value="{{ quantity }}" />
11
10
  <button type="submit" onclick="return false;" style="display:none;"></button>
12
11
  ${t`
13
- ${i?.map((n,o)=>{if(n)return t`
14
- ${e({...n,index:o})}
12
+ ${r?.map((e,o)=>{if(e)return t`
13
+ ${n({...e,index:o})}
15
14
  `}).join("")}
16
15
  `}
17
16
  {%- endform -%}
18
17
  </gp-product>
19
- `};export{a as default};
18
+ `};export{o as default};
@@ -1,18 +1,18 @@
1
- import{RenderIf as t,template as i}from"@gem-sdk/core";import{getStyle as o}from"./common/styles.js";import{getClass as s}from"./common/classes.js";import{getAttr as r}from"./common/attrs.js";import d from"./ProductListGridItem.liquid.js";import{getStaticLocale as e}from"../../../helpers.js";let a=a=>{let{setting:n,builderProps:m,styles:c,productListId:p,productSrc:l}=a,{gridLayoutStyle:u}=o(a),{gridLayoutClass:f}=s(a),{productListAttr:g}=r(a),$=()=>i`
1
+ import{RenderIf as t,template as i}from"@gem-sdk/core";import{getStyle as o}from"./common/styles.js";import{getClass as s}from"./common/classes.js";import{getAttr as r}from"./common/attrs.js";import e from"./ProductListGridItem.liquid.js";import{getStaticLocale as d}from"../../../helpers.js";let a=a=>{let{setting:n,builderProps:p,styles:c,productListId:m,productSrc:l}=a,{gridLayoutStyle:u}=o(a),{gridLayoutClass:f}=s(a),{productListAttr:g}=r(a),$=()=>i`
2
2
  {%- assign count = 0 -%}
3
3
  {%- for product in products limit: limit -%}
4
4
  {%- if product.id != empty -%}
5
5
  {%- assign count = count | plus: 1 -%}
6
6
  {%- assign variant = product.selected_or_first_available_variant -%}
7
- {%- assign product_form_id = 'product-form-' | append: "${m?.uid}" | append: product.id -%}
8
- ${d({...a})}
7
+ {%- assign product_form_id = 'product-form-' | append: "${p?.uid}" | append: product.id -%}
8
+ ${e({...a})}
9
9
  {%- endif -%}
10
10
  {% endfor %}
11
- {%- if count == 0 and ${p?.length} == 0 -%}
11
+ {%- if count == 0 and ${m?.length} == 0 -%}
12
12
  {% if '${l}' == 'RelatedProduct' -%}
13
- <div>${e("ProductList","no_related_products")}</div>
13
+ <div>${d("ProductList","no_related_products")}</div>
14
14
  {% else %}
15
- <div>${e("ProductList","no_products_found")}</div>
15
+ <div>${d("ProductList","no_products_found")}</div>
16
16
  {%- endif -%}
17
17
  {%- endif -%}
18
18
  `;return i`
@@ -25,7 +25,9 @@ import{RenderIf as t,template as i}from"@gem-sdk/core";import{getStyle as o}from
25
25
  <gp-same-height
26
26
  class="gp-contents"
27
27
  style="visibility: hidden"
28
- gp-data='${JSON.stringify({targetUid:m?.builderData?.childrens?.[0],slidesToShow:n?.slidesToShow,rowGap:c?.horizontalGutter})}'>
28
+ >
29
+ <script gp-data type="application/json">${JSON.stringify({targetUid:p?.builderData?.childrens?.[0],slidesToShow:n?.slidesToShow,rowGap:c?.horizontalGutter})}
30
+ </script>
29
31
  ${`${$()}`}
30
32
  </gp-same-height>
31
33
  `)}
@@ -1 +1 @@
1
- import{jsx as e,Fragment as o,jsxs as t}from"react/jsx-runtime";import r from"next/dynamic";import d from"../../../common/components/Loading.js";import{useState as l,useRef as i,useMemo as a,useEffect as s}from"react";import{useRenderMode as c,useCurrentDevice as n,usePageType as m,usePageStore as u,flattenConnection as g,ProductListProvider as p,filterToolbarPreview as h}from"@gem-sdk/core";import f from"../SalePageProductListWarning.js";import P from"next/head";import k from"./ProductListGridLayout.js";import y from"./ProductListCarouselLayout.js";import{getStyle as I}from"./common/styles.js";import{If as T}from"@gem-sdk/system";import{getClass as b}from"./common/classes.js";import{getData as S}from"./common/helpers.js";import{getPropertyByDevice as j}from"../../../dialog/common/helpers.js";import{useProductsQuery as v}from"./hooks/useProductsQuery.js";import{useCollectionQuery as w}from"./hooks/useCollectionQuery.js";import C from"./hooks/useProductRelatedQuery.js";import L from"./hooks/useMainRelatedProductQuery.js";let G=r(()=>import("../ProductNotFound.js"),{loading:d}),O=r=>{let{children:O,styles:A,builderProps:N,setting:x,builderAttrs:B}=r,{isRelatedProduct:E,productSetting:z}=S(r),{isEditMode:M}=c(),Q=n(),D=m(),H=u(e=>e.dynamicCollection),[R,W]=l(1),[$,_]=l(!0),F=i(),V="GP_FUNNEL_PAGE"===D;"GP_COLLECTION"==D&&(z.productSrc="DynamicCollection",z.collectionId=H?.collectionId??"latest");let q=z?.productSrc??"Collection",{mainRelatedProduct:U,relatedProductIdAssigned:J}=L({productSrc:q,relatedProductId:z.relatedProductId}),K=z.relatedTag&&z.relatedTag[0],X=z.relatedTag&&"tags"===z.relatedTag[0]&&(!U?.tags||U?.tags.length===0),Y=z.relatedTag&&"collection"===z.relatedTag[0]&&(!U?.collections?.edges||U?.collections.edges.length===0),Z=z.relatedTag&&"vendor"===z.relatedTag[0]&&!U?.vendor,{isNotFoundRelatedProduct:ee,relatedProducts:eo}=C({isRelatedProduct:E,productSetting:z,setting:x,mainRelatedProduct:U,productSrc:q}),et=v({productIds:z?.productIds,defaultSelectedProductCount:z?.numOfSelectedProducts,productSrc:q}),er=w({productSrc:q,collectionID:z?.collectionId??"latest",numberOfProducts:x?.numberOfProducts??4,orderBy:x?.orderBy??"none"}),ed="PickProduct"===q?et.isLoading:er.isLoading,el="PickProduct"===q?et.error:er.error,ei="PickProduct"===q?et.isValidating:er.isValidating,ea=er.data?.collections?.edges?.[0]?.node,es="PickProduct"===q?g(et.data?.products):g(ea?.products),ec=u(e=>e.assignedProductIds),en=u(e=>e.isApplyAllProducts),em=a(()=>(ec??[]).length>0&&!en||en,[ec,en]),eu=eo?.data?.products&&em?g(eo?.data?.products):[],eg=E?eu:"PickProduct"===q&&z?.productIds?.length?z?.productIds?.map(e=>es?.find(o=>o?.baseID===e)).filter(Boolean)??es:"PickProduct"!==q?es:es.filter((e,o)=>o<(z?.numOfSelectedProducts??4)),ep=a(()=>ee&&E&&M||!eg.length&&!ed&&$&&M,[$,ed,ee,E,M,eg.length]),eh=a(()=>!eg||ee&&E,[ee,E,eg]),ef=a(()=>{if(!x?.sameHeight)return[];let e=0,o=Math.ceil((eg?.length??0)/+(x?.slidesToShow?.[Q]??1));return Array.from(Array(eg?.length??0)).map((t,r)=>(r>=+(x?.slidesToShow?.[Q]??1)*(e+1)&&++e,{gridRow:`${1+R*e}/${R+1+R*e}`,marginBottom:e+1<o?j(A?.horizontalGutter,Q):void 0}))},[x?.sameHeight,x?.slidesToShow,R,eg?.length,Q,A?.horizontalGutter]),eP=a(()=>ei||ed||el||!eg||ee&&E,[el,ed,ee,E,ei,eg]);s(()=>{if(!eP&&!ed&&!ei)return F.current=setTimeout(()=>{let{builderData:e}=N??{},o=e?.childrens?.[0];if(!o)return;let t=document.querySelector(`[data-id=${o}] div`);t&&W(t.childElementCount||1)},M?0:500),()=>{clearTimeout(F.current)}},[N,eP,M,ed,ei,eg]);let ek=a(()=>({collection:ea,products:eg,settings:{loop:x?.loop??{desktop:!1},scrollMode:x?.scrollMode??{desktop:"snap"},slidesToShow:x?.slidesToShow??{desktop:4,tablet:3,mobile:1},layout:A?.layout,dot:x?.dot,dotStyle:x?.dotStyle,arrow:x?.arrow,controlOverContent:x?.controlOverContent},styles:{horizontalGutter:A?.horizontalGutter,verticalGutter:A?.verticalGutter,fullWidth:A?.fullWidth,spacing:A?.spacing,width:A?.width,height:A?.height}}),[ea,eg,x,A]);if(N?.isPreview&&V)return e(o,{});if(ep)return e(o,{children:T($,e(G,{builderAttrs:B,collectionHandle:ea?.handle,productSrc:q,onClose:()=>_(!1),children:O,relatedTagString:K,assignProductNoTags:X||Y||Z,noAssignedProduct:!J}))});let{productListWrapStyle:ey,productListContentStyle:eI,productListWrapAlignStyle:eT}=I(r),{productListWrapClass:eb}=b(r);return t("div",{...B,className:eb,style:ey,children:[!!A?.preloadBgImage&&t(P,{children:[!!A.backgroundImage?.desktop?.image?.src&&e("link",{rel:"preload",href:A.backgroundImage.desktop.image.src,as:"image"}),!!A.backgroundImage?.tablet?.image?.src&&e("link",{rel:"preload",href:A.backgroundImage?.tablet?.image?.src,as:"image"}),!!A.backgroundImage?.mobile?.image?.src&&e("link",{rel:"preload",href:A.backgroundImage?.mobile?.image?.src,as:"image"})]}),ed||ei?e(d,{}):el?t("div",{children:["Error: ",el?.message]}):eh?e("div",{children:"Products not found"}):e(p,{...ek,children:e("div",{className:"gp-flex gp-w-full",style:eT,children:t("div",{style:eI,children:[V&&e(f,{}),e(o,{children:T(A?.layout==="grid",e(k,{...r,productSortedById:eg,generateGridRowArray:ef}),e(y,{...r,productSortedById:eg}))})]})})}),h(O,!0)]})};export{O as default};
1
+ import{jsx as o,Fragment as e,jsxs as t}from"react/jsx-runtime";import r from"next/dynamic";import i from"../../../common/components/Loading.js";import{useState as l,useRef as d,useMemo as s,useEffect as c}from"react";import{useRenderMode as n,useCurrentDevice as a,usePageType as m,usePageStore as u,flattenConnection as g,ProductListProvider as p,filterToolbarPreview as h}from"@gem-sdk/core";import f from"../SalePageProductListWarning.js";import P from"next/head";import y from"./ProductListGridLayout.js";import k from"./ProductListCarouselLayout.js";import{getStyle as I}from"./common/styles.js";import{If as b}from"@gem-sdk/system";import{getClass as S}from"./common/classes.js";import{getData as j}from"./common/helpers.js";import{getPropertyByDevice as C}from"../../../dialog/common/helpers.js";import{useProductsQuery as L}from"./hooks/useProductsQuery.js";import{useCollectionQuery as v}from"./hooks/useCollectionQuery.js";import w from"./hooks/useProductRelatedQuery.js";import{PRODUCT_SOURCE as N,DEFAULT_COLLECTION_NUMBER_OF_PRODUCTS as G}from"./constants/index.js";import T from"./hooks/useRelatedProductIDAssigned.js";let A=r(()=>import("../ProductNotFound.js"),{loading:i}),O=r=>{let{children:O,styles:x,builderProps:D,setting:B,builderAttrs:E}=r,{isRelatedProduct:H,productSetting:z}=j(r),{isEditMode:M}=n(),Q=a(),R=m(),W=u(o=>o.dynamicCollection),[$,_]=l(1),[F,V]=l(!0),q=d(),U="GP_FUNNEL_PAGE"===R;"GP_COLLECTION"!=R||[N.Collection,N.DynamicCollection].includes(z?.productSrc)||(z.productSrc=N.DynamicCollection);let J=z?.productSrc??N.Collection;J===N.DynamicCollection&&(z.collectionId=W?.collectionId||"latest");let{relatedProductIdAssigned:K}=T({productSetting:z}),{isNotFoundRelatedProduct:X,relatedProducts:Y,isNoRelatedProductData:Z,relatedTagString:oo,isLoading:oe}=w({setting:B,productSetting:z,isRelatedProduct:H,relatedProductIdAssigned:K}),ot=L({productIds:z?.productIds,defaultSelectedProductCount:z?.numOfSelectedProducts,productSrc:J}),or=Number(B?.numberOfProducts),oi=v({productSrc:J,collectionID:z?.collectionId??"latest",numberOfProducts:Number.isNaN(or)?G:or,orderBy:B?.orderBy??"none"}),ol=oe||(J===N.PickProduct?ot.isLoading:oi.isLoading),od=J===N.PickProduct?ot.error:oi.error,os=J===N.PickProduct?ot.isValidating:oi.isValidating,oc=oi.data?.collections?.edges?.[0]?.node,on=J===N.PickProduct?g(ot.data?.products):g(oc?.products),oa=u(o=>o.assignedProductIds),om=u(o=>o.isApplyAllProducts),ou=s(()=>(oa??[]).length>0&&!om||om,[oa,om]),og=Y?.data?.products&&ou?g(Y?.data?.products):[],op=H?og:J===N.PickProduct&&z?.productIds?.length?z?.productIds?.map(o=>on?.find(e=>e?.baseID===o)).filter(Boolean)??on:J!==N.PickProduct?on:on.filter((o,e)=>e<(z?.numOfSelectedProducts??4)),oh=s(()=>X&&H&&M||!op.length&&!ol&&F&&M,[F,ol,X,H,M,op.length]),of=s(()=>!op||X&&H,[X,H,op]),oP=s(()=>{if(!B?.sameHeight)return[];let o=0,e=Math.ceil((op?.length??0)/+(B?.slidesToShow?.[Q]??1));return Array.from(Array(op?.length??0)).map((t,r)=>(r>=+(B?.slidesToShow?.[Q]??1)*(o+1)&&++o,{gridRow:`${1+$*o}/${$+1+$*o}`,marginBottom:o+1<e?C(x?.horizontalGutter,Q):void 0}))},[B?.sameHeight,B?.slidesToShow,$,op?.length,Q,x?.horizontalGutter]),oy=s(()=>os||ol||od||!op||X&&H,[od,ol,X,H,os,op]);c(()=>{if(!oy&&!ol&&!os)return q.current=setTimeout(()=>{let{builderData:o}=D??{},e=o?.childrens?.[0];if(!e)return;let t=document.querySelector(`[data-id=${e}] div`);t&&_(t.childElementCount||1)},M?0:500),()=>{clearTimeout(q.current)}},[D,oy,M,ol,os,op]);let ok=s(()=>({collection:oc,products:op,settings:{loop:B?.loop??{desktop:!1},scrollMode:B?.scrollMode??{desktop:"snap"},slidesToShow:B?.slidesToShow??{desktop:4,tablet:3,mobile:1},layout:x?.layout,dot:B?.dot,dotStyle:B?.dotStyle,arrow:B?.arrow,controlOverContent:B?.controlOverContent,sameHeight:B?.sameHeight},styles:{horizontalGutter:x?.horizontalGutter,verticalGutter:x?.verticalGutter,fullWidth:x?.fullWidth,spacing:x?.spacing,width:x?.width,height:x?.height}}),[oc,op,B,x]);if(D?.isPreview&&U)return o(e,{});if(oh)return o(e,{children:b(F,o(A,{builderAttrs:E,collectionHandle:oc?.handle,productSrc:J,onClose:()=>V(!1),children:O,relatedTagString:oo,assignProductNoTags:Z,noAssignedProduct:!K}))});let{productListWrapStyle:oI,productListContentStyle:ob,productListWrapAlignStyle:oS}=I(r),{productListWrapClass:oj}=S(r);return t("div",{...E,className:oj,style:oI,children:[!!x?.preloadBgImage&&t(P,{children:[!!x.backgroundImage?.desktop?.image?.src&&o("link",{rel:"preload",href:x.backgroundImage.desktop.image.src,as:"image"}),!!x.backgroundImage?.tablet?.image?.src&&o("link",{rel:"preload",href:x.backgroundImage?.tablet?.image?.src,as:"image"}),!!x.backgroundImage?.mobile?.image?.src&&o("link",{rel:"preload",href:x.backgroundImage?.mobile?.image?.src,as:"image"})]}),ol||os?o(i,{}):od?t("div",{children:["Error: ",od?.message]}):of?o("div",{children:"Products not found"}):o(p,{...ok,children:o("div",{className:"gp-flex gp-w-full",style:oS,children:t("div",{style:ob,children:[U&&o(f,{}),o(e,{children:b(x?.layout==="grid",o(y,{...r,productSortedById:op,generateGridRowArray:oP}),o(k,{...r,productSortedById:op}))})]})})}),h(O,!0)]})};export{O as default};
@@ -1,6 +1,6 @@
1
- import{RenderIf as e,isLocalEnv as s,baseAssetURL as t,template as i}from"@gem-sdk/core";import{getSettingPreloadData as d,getStaticLocale as o}from"../../../helpers.js";import{If as r}from"@gem-sdk/system";import n from"./ProductListCarouselLayout.liquid.js";import a from"./ProductListGridLayout.liquid.js";import{getStyle as c}from"./common/styles.js";import{getClass as l}from"./common/classes.js";import{getDataLiquid as u}from"./common/helpers.js";let g=g=>{let{setting:p,styles:f,pageContext:m}=g,$=m?.pageType==="GP_FUNNEL_PAGE";if($)return"";let{hasRelatedExclude:P,relatedExcludeTrim:h,collectionID:_,isLatestProducts:y,isGrid:v,numberOfProducts:E,productListId:k,productListHandles:x,sortedBy:S,isReverse:b,productSrc:A,productNumber:L,isSorted:R,relatedTag:I,collectionHandle:F}=u(g),j=()=>i`
2
- ${e("RelatedProduct"===A,`
3
- assign relatedTag = '${I}'
1
+ import{RenderIf as e,isLocalEnv as s,baseAssetURL as t,template as i}from"@gem-sdk/core";import{getSettingPreloadData as d,getStaticLocale as o}from"../../../helpers.js";import{If as r}from"@gem-sdk/system";import n from"./ProductListCarouselLayout.liquid.js";import a from"./ProductListGridLayout.liquid.js";import{getStyle as c}from"./common/styles.js";import{getClass as l}from"./common/classes.js";import{getDataLiquid as g}from"./common/helpers.js";let u=u=>{let{setting:p,styles:f,pageContext:m}=u,$=m?.pageType==="GP_FUNNEL_PAGE";if($)return"";let{hasRelatedExclude:P,relatedExcludeTrim:h,collectionID:_,isLatestProducts:y,isGrid:v,numberOfProducts:E,productListId:k,productListHandles:S,sortedBy:x,isReverse:b,productSrc:L,productNumber:A,isSorted:R,relatedTag:H,collectionHandle:I}=g(u),F=()=>i`
2
+ ${e("RelatedProduct"===L,`
3
+ assign relatedTag = '${H}'
4
4
  assign assignProduct = product
5
5
  assign idAssignProduct = assignProduct.id
6
6
  paginate collections.all.products by 10000
@@ -95,7 +95,7 @@ import{RenderIf as e,isLocalEnv as s,baseAssetURL as t,template as i}from"@gem-s
95
95
  assign products = products
96
96
  endpaginate
97
97
  `)}
98
- `,{productListWrapStyle:w,productListContentStyle:H,productListWrapAlignStyle:q}=c(g),{productListWrapClass:G}=l(g);return i`
98
+ `,{productListWrapStyle:j,productListContentStyle:w,productListWrapAlignStyle:q}=c(u),{productListWrapClass:G}=l(u);return i`
99
99
  ${e(s,`
100
100
  <script ${d('class="gps-link" delay',"src")}="{{ 'gp-product-v7-5.js' | asset_url }}" defer="defer"></script>
101
101
  ${p?.sameHeight?`<script ${d('class="gps-link" delay',"src")}="{{ 'gp-same-height-v7-5.js' | asset_url }}" defer="defer"></script>`:""}
@@ -107,16 +107,16 @@ import{RenderIf as e,isLocalEnv as s,baseAssetURL as t,template as i}from"@gem-s
107
107
  ${e(!!f?.preloadBgImage,`${e(!!f?.backgroundImage?.desktop?.image?.src,`<link rel="preload" href="${f?.backgroundImage?.desktop?.image?.src}" as="image" />`)}${e(!!f?.backgroundImage?.tablet?.image?.src,`<link rel="preload" href="${f?.backgroundImage?.tablet?.image?.src}" as="image" />`)}${e(!!f?.backgroundImage?.mobile?.image?.src,`<link rel="preload" href="${f?.backgroundImage?.mobile?.image?.src}" as="image" />`)}`)}
108
108
  <div
109
109
  class="${G}"
110
- style="${w}"
110
+ style="${j}"
111
111
  >
112
112
  <div class='gp-flex gp-w-full' style="${q}">
113
113
  <div
114
- style="${H}"
114
+ style="${w}"
115
115
  >
116
116
  {%- assign gpBkProduct = product -%}
117
117
  {%- assign gpBkProducts = products -%}
118
- ${(()=>{let e=F?`
119
- assign target_collection = collections['${F}']
118
+ ${(()=>{let e=I?`
119
+ assign target_collection = collections['${I}']
120
120
  if target_collection == empty
121
121
  for collection in collections
122
122
  if collection.id == ${_}
@@ -134,17 +134,18 @@ import{RenderIf as e,isLocalEnv as s,baseAssetURL as t,template as i}from"@gem-s
134
134
  endfor
135
135
  `;return i`
136
136
  {%- liquid
137
- assign productHandles = '${x.toString()}'| split: ','
138
- assign collection_handle = ${F}
137
+ assign productHandles = '${S.toString()}'| split: ','
138
+ assign collection_handle = '${I}'
139
139
  assign products = null
140
140
  assign target_collection = null
141
- assign productSrc = '${A}'
141
+ assign productSrc = '${L}'
142
142
  assign c = 0
143
- assign limit = ${L??4}
143
+ assign limit = ${A??4}
144
+ assign isSettingSameHeightProductList = ${p?.sameHeight??!1}
144
145
 
145
146
  if request.page_type == 'collection' or preview_page_type == 'collection'
146
147
  assign target_collection = collection
147
- if productSrc == 'Collection' and collection_handle != empty
148
+ if productSrc == 'Collection' and collection_handle != blank
148
149
  ${e}
149
150
  elsif target_collection == empty or target_collection == null
150
151
  if '${_.toLowerCase()}' == 'latest'
@@ -154,11 +155,11 @@ import{RenderIf as e,isLocalEnv as s,baseAssetURL as t,template as i}from"@gem-s
154
155
  endif
155
156
  endif
156
157
  paginate target_collection.products by ${E||4}
157
- assign products = target_collection.products ${R?S:""} ${b?"| reverse":""}
158
+ assign products = target_collection.products ${R?x:""} ${b?"| reverse":""}
158
159
  endpaginate
159
160
  else
160
161
  if productSrc == 'RelatedProduct'
161
- ${j()}
162
+ ${F()}
162
163
  elsif productSrc == 'PickProduct'
163
164
  unless ${y}
164
165
  assign products = null | sort
@@ -181,7 +182,7 @@ import{RenderIf as e,isLocalEnv as s,baseAssetURL as t,template as i}from"@gem-s
181
182
  ${e}
182
183
  endif
183
184
  paginate target_collection.products by ${E||4}
184
- assign products = target_collection.products ${R?S:""} ${b?"| reverse":""}
185
+ assign products = target_collection.products ${R?x:""} ${b?"| reverse":""}
185
186
  endpaginate
186
187
  endif
187
188
  endif
@@ -190,14 +191,14 @@ import{RenderIf as e,isLocalEnv as s,baseAssetURL as t,template as i}from"@gem-s
190
191
  ${i`
191
192
  {%- if products == null -%}
192
193
  {%- if count == 0 and ${k.length} == 0 -%}
193
- {% if '${A}' == 'RelatedProduct' -%}
194
+ {% if '${L}' == 'RelatedProduct' -%}
194
195
  <div>${o("ProductList","no_related_products")}</div>
195
196
  {% else %}
196
197
  <div>${o("ProductList","no_products_found")}</div>
197
198
  {%- endif -%}
198
199
  {%- endif -%}
199
200
  {%-else-%}
200
- ${r(v,i`${a({...g,productListId:k,productSrc:A})}`,i`${n({...g,productListId:k,productSrc:A})}`)}
201
+ ${r(v,i`${a({...u,productListId:k,productSrc:L})}`,i`${n({...u,productListId:k,productSrc:L})}`)}
201
202
  {%- endif -%}
202
203
  `}
203
204
  {%- assign product = gpBkProduct -%}
@@ -205,4 +206,4 @@ import{RenderIf as e,isLocalEnv as s,baseAssetURL as t,template as i}from"@gem-s
205
206
  </div>
206
207
  </div>
207
208
  </div>
208
- `};export{g as default};
209
+ `};export{u as default};
@@ -1,15 +1,15 @@
1
- import{template as t}from"@gem-sdk/core";import{getClass as e}from"./common/classes.js";import{filterPageContext as n}from"../../../helpers.js";let o=o=>{let{pageContext:a,children:r}=o,{productItemClass:i,gpProductClass:c}=e(o);return t`
1
+ import{template as t}from"@gem-sdk/core";import{getClass as n}from"./common/classes.js";let e=e=>{let{pageContext:o,children:a}=e,{productItemClass:i,gpProductClass:r}=n(e);return t`
2
2
  <gp-product
3
3
  gp-context='{"variantSelected": {{ variant | json | escape }}, "inventory_management": {{ variant.inventory_management | json | escape }}, "inventory_policy": {{ variant.inventory_policy | json | escape }}, "quantity": 1 ,"inventoryQuantity": {{ variant.inventory_quantity | default: 0 }}, "formId": "{{ product_form_id }}"}'
4
- gp-data='{"variantSelected": {{ variant | json | escape }}, "quantity": 1, "productUrl":{{ product.url | json | escape }}, "productHandle":{{ product.handle | json | escape }}, "collectionUrl": {{ collection.url | json | escape }}, "collectionHandle": {{ collection.handle | json | escape }},"pageContext" : ${JSON.stringify(n(a))}}'
5
- class="${c}"
6
-
4
+ gp-context='{"variantSelected": {{ variant | json | escape }}, "inventory_management": {{ variant.inventory_management | json | escape }}, "inventory_policy": {{ variant.inventory_policy | json | escape }}, "quantity": 1 ,"inventoryQuantity": {{ variant.inventory_quantity }}, "formId": "{{ product_form_id }}"}'
5
+ class="${r}"
7
6
  >
7
+ <script gp-data type="application/json">{"variantSelected": {{ variant | json }}, "quantity": 1, "productUrl":{{ product.url | json }}, "productHandle":{{ product.handle | json }}, "collectionUrl": {{ collection.url | json }}, "collectionHandle": {{ collection.handle | json }},"pageContext" : ${JSON.stringify(o)}}</script>
8
8
  {%- form 'product', product, id: product_form_id, class: 'form contents ${i}', data-type: 'add-to-cart-form', autocomplete: 'off' -%}
9
9
  <input type="hidden" name="id" value="{{ variant.id }}" />
10
10
  <input type="hidden" min="1" name="quantity" value="{{ quantity }}" />
11
11
  <button type="submit" onclick="return false;" style="display:none;"></button>
12
- ${r}
12
+ ${a}
13
13
  {%- endform -%}
14
14
  </gp-product>
15
- `};export{o as default};
15
+ `};export{e as default};
@@ -1,19 +1,18 @@
1
- import{template as t,RenderChildren as e}from"@gem-sdk/core";import{getClass as n}from"./common/classes.js";import{filterPageContext as o}from"../../../helpers.js";let a=a=>{let{pageContext:r,rawChildren:i}=a,{productItemClass:c,gpProductClass:p}=n(a);return t`
1
+ import{template as t,RenderChildren as n}from"@gem-sdk/core";import{getClass as e}from"./common/classes.js";let o=o=>{let{pageContext:a,rawChildren:r}=o,{productItemClass:i,gpProductClass:c}=e(o);return t`
2
2
  <gp-product
3
3
  gp-context='{"variantSelected": {{ variant | json | escape }}, "inventory_management": {{ variant.inventory_management | json | escape }}, "inventory_policy": {{ variant.inventory_policy | json | escape }}, "quantity": 1 ,"inventoryQuantity": {{ variant.inventory_quantity | default: 0 }}, "formId": "{{ product_form_id }}"}'
4
- gp-data='{"variantSelected": {{ variant | json | escape }}, "quantity": 1, "productUrl":{{ product.url | json | escape }}, "productHandle":{{ product.handle | json | escape }}, "collectionUrl": {{ collection.url | json | escape }}, "collectionHandle": {{ collection.handle | json | escape }},"pageContext" : ${JSON.stringify(o(r))}}'
5
- class="${p}"
6
-
4
+ class="${c}"
7
5
  >
8
- {%- form 'product', product, id: product_form_id, class: 'form contents ${c}', data-type: 'add-to-cart-form', autocomplete: 'off' -%}
6
+ <script gp-data type="application/json">{"variantSelected": {{ variant | json }}, "quantity": 1, "productUrl":{{ product.url | json }}, "productHandle":{{ product.handle | json }}, "collectionUrl": {{ collection.url | json }}, "collectionHandle": {{ collection.handle | json }},"pageContext" : ${JSON.stringify(a)}}</script>
7
+ {%- form 'product', product, id: product_form_id, class: 'form contents ${i}', data-type: 'add-to-cart-form', autocomplete: 'off' -%}
9
8
  <input type="hidden" name="id" value="{{ variant.id }}" />
10
9
  <input type="hidden" min="1" name="quantity" value="{{ quantity }}" />
11
10
  <button type="submit" onclick="return false;" style="display:none;"></button>
12
11
  ${t`
13
- ${i?.map((n,o)=>{if(n)return t`
14
- ${e({...n,index:o})}
12
+ ${r?.map((e,o)=>{if(e)return t`
13
+ ${n({...e,index:o})}
15
14
  `}).join("")}
16
15
  `}
17
16
  {%- endform -%}
18
17
  </gp-product>
19
- `};export{a as default};
18
+ `};export{o as default};
@@ -1,18 +1,18 @@
1
- import{RenderIf as t,template as i}from"@gem-sdk/core";import{getStyle as o}from"./common/styles.js";import{getClass as s}from"./common/classes.js";import{getAttr as r}from"./common/attrs.js";import d from"./ProductListGridItem.liquid.js";import{getStaticLocale as e}from"../../../helpers.js";let a=a=>{let{setting:n,builderProps:m,styles:c,productListId:p,productSrc:l}=a,{gridLayoutStyle:u}=o(a),{gridLayoutClass:f}=s(a),{productListAttr:g}=r(a),$=()=>i`
1
+ import{RenderIf as t,template as i}from"@gem-sdk/core";import{getStyle as o}from"./common/styles.js";import{getClass as s}from"./common/classes.js";import{getAttr as r}from"./common/attrs.js";import e from"./ProductListGridItem.liquid.js";import{getStaticLocale as d}from"../../../helpers.js";let a=a=>{let{setting:n,builderProps:p,styles:c,productListId:m,productSrc:l}=a,{gridLayoutStyle:u}=o(a),{gridLayoutClass:f}=s(a),{productListAttr:g}=r(a),$=()=>i`
2
2
  {%- assign count = 0 -%}
3
3
  {%- for product in products limit: limit -%}
4
4
  {%- if product.id != empty -%}
5
5
  {%- assign count = count | plus: 1 -%}
6
6
  {%- assign variant = product.selected_or_first_available_variant -%}
7
- {%- assign product_form_id = 'product-form-' | append: "${m?.uid}" | append: product.id -%}
8
- ${d({...a})}
7
+ {%- assign product_form_id = 'product-form-' | append: "${p?.uid}" | append: product.id -%}
8
+ ${e({...a})}
9
9
  {%- endif -%}
10
10
  {% endfor %}
11
- {%- if count == 0 and ${p?.length} == 0 -%}
11
+ {%- if count == 0 and ${m?.length} == 0 -%}
12
12
  {% if '${l}' == 'RelatedProduct' -%}
13
- <div>${e("ProductList","no_related_products")}</div>
13
+ <div>${d("ProductList","no_related_products")}</div>
14
14
  {% else %}
15
- <div>${e("ProductList","no_products_found")}</div>
15
+ <div>${d("ProductList","no_products_found")}</div>
16
16
  {%- endif -%}
17
17
  {%- endif -%}
18
18
  `;return i`
@@ -25,7 +25,9 @@ import{RenderIf as t,template as i}from"@gem-sdk/core";import{getStyle as o}from
25
25
  <gp-same-height
26
26
  class="gp-contents"
27
27
  style="visibility: hidden"
28
- gp-data='${JSON.stringify({targetUid:m?.builderData?.childrens?.[0],slidesToShow:n?.slidesToShow,rowGap:c?.horizontalGutter})}'>
28
+ >
29
+ <script gp-data type="application/json">${JSON.stringify({targetUid:p?.builderData?.childrens?.[0],slidesToShow:n?.slidesToShow,rowGap:c?.horizontalGutter})}
30
+ </script>
29
31
  ${`${$()}`}
30
32
  </gp-same-height>
31
33
  `)}
@@ -1 +1 @@
1
- import{getSizeSetting as t}from"../../../helpers/product.js";import{convertUnitToNumber as e}from"../../product-images/common/productFeaturedImage.js";import{getUpdatedDotStyle as o}from"../../../../carousel-v3/components/dot/common/helpers.js";let r=e=>{let{setting:r,styles:d}=e,c=r?.productSetting??{},l="RelatedProduct"===c.productSrc,i=o(r?.dot,r?.dotStyle),a={dotSize:{desktop:12},dotGapToCarousel:{desktop:16},arrowIconSize:{desktop:24},showWhenHover:!1,rtl:!1,...r};delete a.childItem;let p={...d,sizeSetting:{...t({adaptiveHeight:d?.adaptiveHeight,height:d?.height,fullWidth:{desktop:!0}})},spacing:d?.spacing};return delete p.backgroundColor,delete p.backgroundImage,{isRelatedProduct:l,productSetting:c,dotStyle:i,carouselConfigSetting:a,carouselConfigStyle:p}},d=t=>{let{setting:o,styles:r}=t,d=o?.productSetting,i=d?.relatedTag,a=d?.hasRelatedExclude,p=(i&&"collection"===i[0]?d?.relatedCollectionExclude:d?.relatedTagsExclude)??"",u=p?.split(",").map(t=>t.trim()).toString(),n=d?.productSrc??"Collection",s=d?.collectionId?.replace(c,"")??"latest",g=d?.productSrc==="PickProduct"&&d?.productIds?.length===0,m=r?.layout==="grid",h=e(o?.numberOfProducts,4),P="PickProduct"===n&&d?.productIds?.length?d?.productIds.map(t=>t.replace(l,"")):[],I="PickProduct"===n&&d?.productHandles?.length?d?.productHandles:[],S=o?.orderBy&&o?.orderBy!=="none",C=(d?.productSrc==="Collection"||d?.productSrc==="DynamicCollection")&&S?o?.orderBy?.split("_"):"none",k=S&&C?.[0]==="TITLE"?"| sort: 'title'":"| sort: 'updated_at'",f=C?.[C.length-1]==="DESC";return{hasRelatedExclude:a,relatedExcludeTrim:u,collectionID:s,isLatestProducts:g,isGrid:m,numberOfProducts:h,productListId:P,productListHandles:I,sortedBy:k,isReverse:f,productSrc:n,productSetting:d,isSorted:S,relatedTag:i,productNumber:"PickProduct"===n?g?4:d?.numOfSelectedProducts??4:h,collectionHandle:d?.collectionHandle}},c="gid://shopify/Collection/",l="gid://shopify/Product/";export{c as PREFIX_COLLECTION_ID,l as PREFIX_PRODUCT_ID,r as getData,d as getDataLiquid};
1
+ import{getSizeSetting as t}from"../../../helpers/product.js";import{convertUnitToNumber as e}from"../../product-images/common/productFeaturedImage.js";import{getUpdatedDotStyle as o}from"../../../../carousel-v3/components/dot/common/helpers.js";import{PRODUCT_SOURCE as r,RELATED_TAG_PRODUCT_SETTING as d}from"../constants/index.js";let c=e=>{let{setting:d,styles:c}=e,l=d?.productSetting??{},i=l.productSrc===r.RelatedProduct,n=o(d?.dot,d?.dotStyle),a={dotSize:{desktop:12},dotGapToCarousel:{desktop:16},arrowIconSize:{desktop:24},showWhenHover:!1,rtl:!1,...d};delete a.childItem;let p={...c,sizeSetting:{...t({adaptiveHeight:c?.adaptiveHeight,height:c?.height,fullWidth:{desktop:!0}})},spacing:c?.spacing};return delete p.backgroundColor,delete p.backgroundImage,{isRelatedProduct:i,productSetting:l,dotStyle:n,carouselConfigSetting:a,carouselConfigStyle:p}},l=t=>{let{setting:o,styles:c}=t,l=o?.productSetting,a=l?.relatedTag,p=l?.hasRelatedExclude,u=(a&&a[0]===d.Collection?l?.relatedCollectionExclude:l?.relatedTagsExclude)??"",s=u?.split(",").map(t=>t.trim()).toString(),g=l?.productSrc??r.Collection,m=l?.collectionId?.replace(i,"")??"latest",h=l?.productSrc===r.PickProduct&&l?.productIds?.length===0,P=c?.layout==="grid",I=e(o?.numberOfProducts,4),S=g===r.PickProduct&&l?.productIds?.length?l?.productIds.map(t=>t.replace(n,"")):[],C=g===r.PickProduct&&l?.productHandles?.length?l?.productHandles:[],k=o?.orderBy&&o?.orderBy!=="none",f=(l?.productSrc===r.Collection||l?.productSrc===r.DynamicCollection)&&k?o?.orderBy?.split("_"):"none",y=k&&f?.[0]==="TITLE"?"| sort: 'title'":"| sort: 'updated_at'",E=f?.[f.length-1]==="DESC";return{hasRelatedExclude:p,relatedExcludeTrim:s,collectionID:m,isLatestProducts:h,isGrid:P,numberOfProducts:I,productListId:S,productListHandles:C,sortedBy:y,isReverse:E,productSrc:g,productSetting:l,isSorted:k,relatedTag:a,productNumber:g===r.PickProduct?h?4:l?.numOfSelectedProducts??4:I,collectionHandle:l?.collectionHandle}},i="gid://shopify/Collection/",n="gid://shopify/Product/";export{i as PREFIX_COLLECTION_ID,n as PREFIX_PRODUCT_ID,c as getData,l as getDataLiquid};
@@ -1 +1 @@
1
- var o;!function(o){o.Collection="Collection",o.PickProduct="PickProduct",o.DynamicCollection="DynamicCollection",o.RelatedProduct="RelatedProduct"}(o||(o={}));export{o as PRODUCT_SOURCE};
1
+ var o,c;!function(o){o.Collection="Collection",o.PickProduct="PickProduct",o.DynamicCollection="DynamicCollection",o.RelatedProduct="RelatedProduct"}(o||(o={})),function(o){o.Tags="tags",o.Collection="collection",o.Vendor="vendor"}(c||(c={}));let t=4;export{t as DEFAULT_COLLECTION_NUMBER_OF_PRODUCTS,o as PRODUCT_SOURCE,c as RELATED_TAG_PRODUCT_SETTING};
@@ -1 +1 @@
1
- import{useFetchHandle as t,usePageStore as r,hasPublicStoreFrontData as o,createStoreFrontFetcher as i,useIsSampleProduct as e,useIsStorefrontProduct as a,generateCollectionQueryKey as n,getCollection as l}from"@gem-sdk/core";import{useMemo as m,useEffect as d}from"react";import s from"swr";import{PRODUCT_SOURCE as c}from"../constants/index.js";let u=({productSrc:u,numberOfProducts:p,orderBy:f,collectionID:g})=>{let C=t(),x=r(t=>t.publicStoreFrontData),y=m(()=>o(x)?i(x):C,[x]),D=e(),L=a(),V=m(()=>({id:g,numberOfProducts:p,orderBy:f}),[g,p,f]),b=s(n({...V,isSample:D,isStorefront:L}),([,t])=>l(y,t),{revalidateOnMount:!1});return d(()=>{if(u!==c.Collection&&u!==c.DynamicCollection)return;let t=!!b.error,r=b.isLoading||b.isValidating,o=!b.data&&!r;!t&&o&&b.mutate()},[u,b.data,b.error,b.isLoading,b.isValidating]),b};export{u as useCollectionQuery};
1
+ import{useFetchHandle as t,usePageStore as r,hasPublicStoreFrontData as e,createStoreFrontFetcher as o,useIsSampleProduct as i,useIsStorefrontProduct as a,generateCollectionQueryKey as l,getCollection as n}from"@gem-sdk/core";import{useMemo as m,useEffect as c}from"react";import d from"swr";import{PRODUCT_SOURCE as s}from"../constants/index.js";let u=({productSrc:u,numberOfProducts:f,orderBy:p,collectionID:g})=>{let C=t(),v=r(t=>t.publicStoreFrontData),y=m(()=>e(v)?o(v):C,[v]),D=i(),x=a(),I=m(()=>u!==s.Collection&&u!==s.DynamicCollection?null:l({id:g,numberOfProducts:f,orderBy:p,isSample:D,isStorefront:x}),[u,D,x,g,f,p]),L=d(I,([,t])=>n(y,t),{revalidateOnMount:!1,refreshInterval:0,revalidateIfStale:!1});return c(()=>{if(u!==s.Collection&&u!==s.DynamicCollection)return;let t=!!L.error,r=L.isLoading||L.isValidating,e=!L.data&&!r;!t&&e&&L.mutate()},[u,L.data,L.error,L.isLoading,L.isValidating]),L};export{u as useCollectionQuery};
@@ -1 +1 @@
1
- import{usePageStore as t}from"@gem-sdk/core";import r from"../../product-wrap/hook/useProductQuery.js";import{PRODUCT_SOURCE as d}from"../constants/index.js";let o=({productSrc:o,relatedProductId:e})=>{let u=t(t=>t.dynamicProduct),a=u?.productId&&u?.productId!==e?u?.productId:e,{productData:{data:c}}=r({id:o===d.RelatedProduct&&a?a:void 0});return{relatedProductIdAssigned:a,mainRelatedProduct:c}};export{o as default};
1
+ import t from"../../product-wrap/hook/useProductQuery.js";let r=({isRelatedProduct:r,relatedProductIdAssigned:e})=>{let{productData:{data:o,isLoading:u}}=t({id:r&&e?e:void 0});return{relatedProductIdAssigned:e,mainRelatedProduct:o,isLoading:u}};export{r as default};
@@ -1 +1 @@
1
- import{useState as e,useMemo as t,useEffect as r}from"react";import a from"swr";import{useFetchHandle as d,usePageStore as i,hasPublicStoreFrontData as s,createStoreFrontFetcher as o,getProductQueryAll as l}from"@gem-sdk/core";import{PRODUCT_SOURCE as n}from"../constants/index.js";let c=({productSrc:c,setting:u,isRelatedProduct:g,mainRelatedProduct:h,productSetting:m})=>{let[f,p]=e(!1),[P,b]=e(),T=d(),E=i(e=>e.publicStoreFrontData),W=t(()=>s(E)?o(E):T,[E]),v=a(P?["query/products",P]:null,async([,e])=>l(W,e),{revalidateOnMount:!1,keepPreviousData:!0,refreshInterval:0});return r(()=>{if(g&&h&&m.relatedTag&&"recommended-product"!==m.relatedType){let e;switch(p(!1),m.hasRelatedExclude&&(e=m?.relatedExclude&&m.relatedExclude.split(",").map(e=>e.trim())),m.relatedTag[0]){case"vendor":b({first:u?.numberOfProducts,vendor:m.relatedTag&&"vendor"===m.relatedTag[0]?h?.vendor:"",idNEQ:h.id});break;case"collection":{let t=h?.collections?.edges.map(e=>e.node?.id);if(!t||t?.length===0){p(!0);break}b(e&&e.length>0?{first:u?.numberOfProducts,idNEQ:h.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:t},{titleNotIn:e}]}]}:{first:u?.numberOfProducts,idNEQ:h.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:t}]}]});break}case"tags":if(!h.tags||0===h.tags.length){p(!0);break}b(e&&e.length>0?{first:u?.numberOfProducts,idNEQ:h.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:h.tags},{nameNotIn:e}]}]}:{first:u?.numberOfProducts,idNEQ:h.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:h.tags}]}]})}}},[h,m.relatedType,m.relatedTag,u?.numberOfProducts,m.relatedExclude,m.hasRelatedExclude,g]),r(()=>{if(c!==n.RelatedProduct||!P)return;let e=!!v.error,t=v.isLoading||v.isValidating,r=!v.data&&!t;!e&&r&&v.mutate()},[c,v.data,v.error,v.isLoading,v.isValidating,P]),{isNotFoundRelatedProduct:f,relatedProducts:v}};export{c as default};
1
+ import{useState as e,useMemo as t,useEffect as r}from"react";import a from"swr";import{useFetchHandle as i,usePageStore as d,hasPublicStoreFrontData as o,createStoreFrontFetcher as s,getProductQueryAll as l}from"@gem-sdk/core";import n from"./useMainRelatedProductQuery.js";import{RELATED_TAG_PRODUCT_SETTING as u}from"../constants/index.js";let c=({setting:c,isRelatedProduct:g,productSetting:f,relatedProductIdAssigned:h})=>{let[m,p]=e(!1),[T,P]=e(),{mainRelatedProduct:b,isLoading:E}=n({isRelatedProduct:g,relatedProductIdAssigned:h}),v=i(),I=d(e=>e.publicStoreFrontData),W=t(()=>o(I)?s(I):v,[I]),x=a(T?["query/products",T]:null,async([,e])=>l(W,e),{revalidateOnMount:!1,keepPreviousData:!0,refreshInterval:0,revalidateIfStale:!1}),N=f.relatedTag&&f.relatedTag[0],O=t(()=>{if(!N)return!1;let e=N===u.Tags&&!b?.tags?.length,t=N===u.Collection&&!b?.collections?.edges.length,r=N===u.Vendor&&!b?.vendor;return e||t||r},[N,b]),Q=t(()=>{if(!g)return!1;if(!b&&E)return!0;let e=!x.data&&!x.error&&!x.isLoading;return e||!x.error&&(x.isLoading||x.isValidating)},[g,b,E,x.error,x.isLoading,x.isValidating,x.data]);return r(()=>{if(g&&b&&f.relatedTag&&"recommended-product"!==f.relatedType){let e;switch(p(!1),f.hasRelatedExclude&&(e=f?.relatedExclude&&f.relatedExclude.split(",").map(e=>e.trim())),f.relatedTag[0]){case"vendor":P({first:c?.numberOfProducts,vendor:f.relatedTag&&"vendor"===f.relatedTag[0]?b?.vendor:"",idNEQ:b.id});break;case"collection":{let t=b?.collections?.edges.map(e=>e.node?.id);if(!t||t?.length===0){p(!0);break}P(e&&e.length>0?{first:c?.numberOfProducts,idNEQ:b.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:t},{titleNotIn:e}]}]}:{first:c?.numberOfProducts,idNEQ:b.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:t}]}]});break}case"tags":if(!b.tags||0===b.tags.length){p(!0);break}P(e&&e.length>0?{first:c?.numberOfProducts,idNEQ:b.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:b.tags},{nameNotIn:e}]}]}:{first:c?.numberOfProducts,idNEQ:b.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:b.tags}]}]})}}},[b,f.relatedType,f.relatedTag,c?.numberOfProducts,f.relatedExclude,f.hasRelatedExclude,g]),r(()=>{if(!g||!T)return;let e=!!x.error,t=x.isLoading||x.isValidating,r=!x.data&&!t;!e&&r&&x.mutate()},[g,x.data,x.error,x.isLoading,x.isValidating,T]),{isNotFoundRelatedProduct:m,relatedProducts:x,isNoRelatedProductData:O,relatedTagString:N,isLoading:Q}};export{c as default};
@@ -1 +1 @@
1
- import{useFetchHandle as r,usePageStore as t,hasPublicStoreFrontData as i,createStoreFrontFetcher as o,useIsSampleProduct as e,useIsStorefrontProduct as a,generateProductsQueryKey as n,getProducts as s}from"@gem-sdk/core";import{useMemo as d,useEffect as m}from"react";import u from"swr";import{PRODUCT_SOURCE as c}from"../constants/index.js";let l=({defaultSelectedProductCount:l,productIds:g,productSrc:p})=>{let f=r(),P=t(r=>r.publicStoreFrontData),k=d(()=>i(P)?o(P):f,[P]),x=e(),y=a(),L=n({ids:g??[],isSample:x,isStorefront:y,defaultSelectedProductCount:l}),V=u(L,async([,r])=>s(k,r),{revalidateOnMount:!1});return m(()=>{if(p!==c.PickProduct)return;let r=!!V.error,t=V.isLoading||V.isValidating,i=!V.data&&!t;!r&&i&&V.mutate()},[p,g?.length,V.data,V.error,V.isLoading,V.isValidating]),{...V}};export{l as useProductsQuery};
1
+ import{useFetchHandle as r,usePageStore as t,hasPublicStoreFrontData as e,createStoreFrontFetcher as a,useIsSampleProduct as i,useIsStorefrontProduct as o,generateProductsQueryKey as n,getProducts as d}from"@gem-sdk/core";import{useMemo as s,useEffect as l}from"react";import u from"swr";import{PRODUCT_SOURCE as c}from"../constants/index.js";let m=({defaultSelectedProductCount:m,productIds:f,productSrc:p})=>{let g=r(),P=t(r=>r.publicStoreFrontData),k=s(()=>e(P)?a(P):g,[P]),v=i(),x=o(),y=s(()=>p!==c.PickProduct?null:n({ids:f??[],isSample:v,isStorefront:x,defaultSelectedProductCount:m}),[p,f,v,x,m]),I=u(y,async([,r])=>d(k,r),{revalidateOnMount:!1,refreshInterval:0,revalidateIfStale:!1});return l(()=>{if(p!==c.PickProduct)return;let r=!!I.error,t=I.isLoading||I.isValidating,e=!I.data&&!t;!r&&e&&I.mutate()},[p,I.data,I.error,I.isLoading,I.isValidating]),{...I}};export{m as useProductsQuery};
@@ -0,0 +1 @@
1
+ import{usePageStore as d}from"@gem-sdk/core";function t({productSetting:t}){let r=d(d=>d.dynamicProduct),e=t.relatedProductId,o=r?.productId&&r?.productId!==e?r?.productId:e;return{relatedProductIdAssigned:o}}export{t as default};
@@ -1,11 +1,11 @@
1
- import{dataStringify as r,template as e,baseAssetURL as o,isLocalEnv as s}from"@gem-sdk/core";import{getSettingPreloadData as p}from"../../../helpers.js";import t from"../../../text/components/Text.liquid.js";import{createClass as c,createAttr as m,createStateOrContext as i,Liquid as l}from"@gem-sdk/system";import{getWrapperClasses as a}from"./common/classes.js";import{getAttrs as d}from"./common/attrs.js";import{getTextProps as u}from"./common/helpers.js";let n=n=>{let{style:f,setting:y,builderProps:$,pageContext:h}=n,g=c(a(n)),j=m(d(n)),P=u(n),_=i({priceType:y?.priceType,uid:$?.uid,locale:"{{shop.locale}}",currency:"{{shop.currency}}",moneyFormat:`{{ ${h?.showPriceCurrency?"shop.money_with_currency_format":"shop.money_format"} | replace: '"', '\\"' | escape }}`});return l(e`
1
+ import{dataStringify as r,template as e,baseAssetURL as o,isLocalEnv as s}from"@gem-sdk/core";import{getSettingPreloadData as p}from"../../../helpers.js";import t from"../../../text/components/Text.liquid.js";import{createClass as c,createAttr as m,createStateOrContext as i,Liquid as a}from"@gem-sdk/system";import{getWrapperClasses as l}from"./common/classes.js";import{getAttrs as d}from"./common/attrs.js";import{getTextProps as n}from"./common/helpers.js";let u=u=>{let{style:f,setting:y,builderProps:$,pageContext:h}=u,g=c(l(u)),j=m(d(u)),P=n(u),_=i({priceType:y?.priceType,uid:$?.uid,locale:"{{shop.locale}}",currency:"{{shop.currency}}",moneyFormat:`{{ ${h?.showPriceCurrency?"shop.money_with_currency_format":"shop.money_format"} | replace: '"', '\\"' | escape }}`});return a(e`
2
2
  <gp-product-price
3
3
  ${j}
4
4
  class="${g}"
5
5
  style="${f}"
6
- gp-data='${r(_)}'
7
6
  >
7
+ <script gp-data type="application/json">${r(_)}</script>
8
8
  ${t({...P})}
9
9
  </gp-product-price>
10
10
  ${(()=>{let r=s?"{{ 'gp-product-price-v7-5.js' | asset_url }}":`${o}/assets-v2/gp-product-price-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}`;return`<script ${p('class="gps-link" delay',"src")}="${r}" defer="defer"></script>`})()}
11
- `)};export{n as ProductPrice,n as default};
11
+ `)};export{u as ProductPrice,u as default};
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import{jsx as e}from"react/jsx-runtime";import{useCurrentVariant as t,useRenderMode as r}from"@gem-sdk/core";import l from"../../../text/components/Text.js";import{If as s}from"@gem-sdk/system";let o=({setting:o,builderProps:i,styles:d})=>{let m=t(),{isPreviewSharePageMode:p}=r();d?.disableHoverColor&&delete d.underlineLink;let n=o?.label&&o.label.trim().length?`${o.label} ${m?.sku??""}`:`${m?.sku??""}`,u=p?"":e("p",{className:"gp-p-2 gp-text-center gp-text-sm gp-font-semibold gp-text-gray-500",children:"This product does not have a SKU 123"});return e("div",{id:`sku-${i?.uid}`,children:s(!m?.sku,u,e(l,{builderProps:i,styles:d,setting:{...o,text:n,excludeFlex:!0}}))})};export{o as default};
2
+ import{jsx as e}from"react/jsx-runtime";import{useCurrentVariant as t,useRenderMode as r,t as o}from"@gem-sdk/core";import s from"../../../text/components/Text.js";import{If as l}from"@gem-sdk/system";let d=({setting:d,builderProps:i,styles:m})=>{let p=t(),{isPreviewSharePageMode:n,isEditMode:u}=r();m?.disableHoverColor&&delete m.underlineLink;let a=d?.label&&d.label.trim().length?`${d.label} ${p?.sku??""}`:`${p?.sku??""}`,c=n?"":e("p",{className:"gp-p-2 gp-text-center gp-text-sm gp-font-semibold gp-text-gray-500",children:u?o("This product does not have a SKU 123"):"This product does not have a SKU 123"});return e("div",{id:`sku-${i?.uid}`,children:l(!p?.sku,c,e(s,{builderProps:i,styles:m,setting:{...d,text:a,excludeFlex:!0}}))})};export{d as default};
@@ -1,6 +1,7 @@
1
- import{template as e,baseAssetURL as t,isLocalEnv as r}from"@gem-sdk/core";import{getSettingPreloadData as s}from"../../../helpers.js";import a from"../../../text/components/Text.liquid.js";import{LiquidUnless as l,LiquidIf as o,If as u}from"@gem-sdk/system";let i=({setting:i,styles:p,advanced:c,builderProps:d})=>{let n=p?.typo?.attrs?.transform==="capitalize",m=i?.label&&i.label.trim().length?`${n?i.label.toString().toLocaleLowerCase():i.label}`:"";return p?.disableHoverColor&&delete p.underlineLink,e`
2
- ${l("product","<p>Product not found</p>",`{% assign currentVariant = product.selected_or_first_available_variant %}
3
- <gp-product-sku gp-data='${JSON.stringify({label:m})}'>
4
- ${a({styles:p,setting:{...i,text:`${o("currentVariant.sku.size > 0 ",`${m} ${u(n,"{{ currentVariant.sku | downcase }}","{{ currentVariant.sku }}")}`)}`,excludeFlex:!0,isForceValue:!0},advanced:c,builderProps:d,className:"gp-product-sku"})}
1
+ import{template as t,baseAssetURL as e,isLocalEnv as r}from"@gem-sdk/core";import{getSettingPreloadData as s}from"../../../helpers.js";import a from"../../../text/components/Text.liquid.js";import{LiquidUnless as o,LiquidIf as l,If as i}from"@gem-sdk/system";let p=({setting:p,styles:u,advanced:c,builderProps:n})=>{let d=u?.typo?.attrs?.transform==="capitalize",m=p?.label&&p.label.trim().length?`${d?p.label.toString().toLocaleLowerCase():p.label}`:"";return u?.disableHoverColor&&delete u.underlineLink,t`
2
+ ${o("product","<p>Product not found</p>",`{% assign currentVariant = product.selected_or_first_available_variant %}
3
+ <gp-product-sku>
4
+ <script gp-data type="application/json">${JSON.stringify({label:m})}</script>
5
+ ${a({styles:u,setting:{...p,text:`${l("currentVariant.sku.size > 0 ",`${m} ${i(d,"{{ currentVariant.sku | downcase }}","{{ currentVariant.sku }}")}`)}`,excludeFlex:!0,isForceValue:!0},advanced:c,builderProps:n,className:"gp-product-sku"})}
5
6
  </gp-product-sku>
6
- ${(()=>{let e=r?"{{ 'gp-product-sku-v7-5.js' | asset_url }}":`${t}/assets-v2/gp-product-sku-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}`;return`<script ${s('class="gps-link" delay',"src")}="${e}" defer="defer"></script>`})()}`)}`};export{i as default};
7
+ ${(()=>{let t=r?"{{ 'gp-product-sku-v7-5.js' | asset_url }}":`${e}/assets-v2/gp-product-sku-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}`;return`<script ${s('class="gps-link" delay',"src")}="${t}" defer="defer"></script>`})()}`)}`};export{p as default};
@@ -1,10 +1,9 @@
1
- import{dataStringify as t,template as r,baseAssetURL as e,isLocalEnv as o}from"@gem-sdk/core";import{getStaticLocale as p,getSettingPreloadData as s}from"../../../helpers.js";import i from"../../../text/components/Text.liquid.js";import{createAttr as l,createClass as d,createStateOrContext as u,LiquidUnless as c,If as m}from"@gem-sdk/system";import{getTextProps as a}from"./common/helpers.js";let n=n=>{let{setting:$,builderProps:f}=n,g=`<p>${p("ProductTitle","product_not_found")}</p>`,k=()=>i(a(n)),P=l({href:"{{ product.url }}",title:"{{ product.title }}"}),j=$?.linkProduct,S=d({"gp-product-title-link-wrapper":!0}),h=u({setting:{linkProduct:$?.linkProduct},uid:f?.uid});return c("product",`${g}`,r`
2
- <gp-product-title
3
- gp-data='${t(h)}'
4
- >
5
- ${m(j,r`<a ${P} class="${S}">
1
+ import{dataStringify as t,template as r,baseAssetURL as e,isLocalEnv as p}from"@gem-sdk/core";import{getStaticLocale as o,getSettingPreloadData as s}from"../../../helpers.js";import i from"../../../text/components/Text.liquid.js";import{createAttr as l,createClass as d,createStateOrContext as c,LiquidUnless as u,If as m}from"@gem-sdk/system";import{getTextProps as a}from"./common/helpers.js";let n=n=>{let{setting:$,builderProps:f}=n,g=`<p>${o("ProductTitle","product_not_found")}</p>`,k=()=>i(a(n)),j=l({href:"{{ product.url }}",title:"{{ product.title }}"}),P=$?.linkProduct,S=d({"gp-product-title-link-wrapper":!0}),h=c({setting:{linkProduct:$?.linkProduct},uid:f?.uid});return u("product",`${g}`,r`
2
+ <gp-product-title>
3
+ <script gp-data type="application/json">${t(h)}</script>
4
+ ${m(P,r`<a ${j} class="${S}">
6
5
  ${k()}
7
6
  </a>`,r`${k()}`)}
8
7
  </gp-product-title>
9
- ${(()=>{let t=o?"{{ 'gp-product-title-v7-5.js' | asset_url }}":`${e}/assets-v2/gp-product-title-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}`;return`<script ${s('class="gps-link" delay',"src")}="${t}" defer="defer"></script>`})()}
8
+ ${(()=>{let t=p?"{{ 'gp-product-title-v7-5.js' | asset_url }}":`${e}/assets-v2/gp-product-title-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}`;return`<script ${s('class="gps-link" delay',"src")}="${t}" defer="defer"></script>`})()}
10
9
  `)};export{n as default};