@gem-sdk/components 4.1.9 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (334) hide show
  1. package/dist/cjs/article/settings/ArticleList.js +1 -1
  2. package/dist/cjs/article/settings/configs/article-read-more/settings.js +1 -1
  3. package/dist/cjs/builder.js +1 -1
  4. package/dist/cjs/carousel/components/arrow/common/helpers.js +1 -1
  5. package/dist/cjs/carousel/settings/configs/presets.js +4 -4
  6. package/dist/cjs/carousel-v3/common/helpers.js +1 -0
  7. package/dist/cjs/carousel-v3/components/arrow/Arrow.js +10 -0
  8. package/dist/cjs/carousel-v3/components/arrow/Arrow.liquid.js +26 -0
  9. package/dist/cjs/carousel-v3/components/arrow/common/classes.js +1 -0
  10. package/dist/cjs/carousel-v3/components/arrow/common/helpers.js +1 -0
  11. package/dist/cjs/carousel-v3/components/arrow/common/styles.js +33 -0
  12. package/dist/cjs/carousel-v3/components/dot/Dots.js +2 -0
  13. package/dist/cjs/carousel-v3/components/dot/Dots.liquid.js +7 -0
  14. package/dist/cjs/carousel-v3/components/dot/common/classes.js +1 -0
  15. package/dist/cjs/carousel-v3/components/dot/common/helpers.js +1 -0
  16. package/dist/cjs/carousel-v3/components/dot/common/styles.js +1 -0
  17. package/dist/cjs/carousel-v3/components/item/CarouselItem.js +2 -0
  18. package/dist/cjs/carousel-v3/components/item/CarouselItem.liquid.js +22 -0
  19. package/dist/cjs/carousel-v3/components/item/common/classes.js +1 -0
  20. package/dist/cjs/carousel-v3/components/item/common/styles.js +1 -0
  21. package/dist/cjs/carousel-v3/components/root/Carousel.js +2 -0
  22. package/dist/cjs/carousel-v3/components/root/Carousel.liquid.js +23 -0
  23. package/dist/cjs/carousel-v3/components/root/common/attrs.js +1 -0
  24. package/dist/cjs/carousel-v3/components/root/common/classes.js +1 -0
  25. package/dist/cjs/carousel-v3/components/root/common/helpers.js +1 -0
  26. package/dist/cjs/carousel-v3/components/root/common/styles.js +1 -0
  27. package/dist/cjs/carousel-v3/components/swiper/Swiper.js +1 -0
  28. package/dist/cjs/carousel-v3/components/swiper/SwiperSlide.js +1 -0
  29. package/dist/cjs/carousel-v3/components/swiper/common/styles.js +1 -0
  30. package/dist/cjs/carousel-v3/hooks/useCarouseItem.js +1 -0
  31. package/dist/cjs/carousel-v3/hooks/useCarousel.js +1 -0
  32. package/dist/cjs/carousel-v3/hooks/useDotsSetting.js +1 -0
  33. package/dist/cjs/carousel-v3/hooks/useTrackPreviewPause.js +1 -0
  34. package/dist/cjs/carousel-v3/index.js +1 -0
  35. package/dist/cjs/{carousel → carousel-v3}/next.js +1 -1
  36. package/dist/cjs/carousel-v3/plugins/animation.js +1 -0
  37. package/dist/cjs/carousel-v3/settings/Carousel.js +5 -0
  38. package/dist/cjs/carousel-v3/settings/CarouselItem.js +1 -0
  39. package/dist/cjs/carousel-v3/settings/configs/presets.js +114 -0
  40. package/dist/cjs/carousel-v3/settings/configs/settings-v2.js +3 -0
  41. package/dist/cjs/carousel-v3/settings/configs/ui-v1.js +1 -0
  42. package/dist/cjs/carousel-v3/settings/configs/ui-v2.js +1 -0
  43. package/dist/cjs/countdown-timer/common/helpers.js +1 -1
  44. package/dist/cjs/coupon/settings/configs/presets.js +1 -1
  45. package/dist/cjs/form/settings/contact/Contact.js +1 -1
  46. package/dist/cjs/form/settings/newsletter/Newsletter.js +1 -1
  47. package/dist/cjs/grid/components/row/common/helpers.js +1 -1
  48. package/dist/cjs/hero-banner/common/const.js +1 -0
  49. package/dist/cjs/hero-banner/common/helpers.js +1 -1
  50. package/dist/cjs/index.js +1 -1
  51. package/dist/cjs/index.liquid.js +1 -1
  52. package/dist/cjs/marquee/hooks/useMarqueeScrollToItem.js +1 -1
  53. package/dist/cjs/marquee/settings/Marquee.js +1 -1
  54. package/dist/cjs/next.js +1 -1
  55. package/dist/cjs/product/components/dynamic-checkout/common/styles.js +4 -3
  56. package/dist/cjs/product/components/product-badge/utils/common.js +1 -1
  57. package/dist/cjs/product/components/product-description/common/helpers.js +2 -2
  58. package/dist/cjs/product/components/product-description/common/styles.js +2 -2
  59. package/dist/cjs/product/components/product-description/hooks/useGpDescription.js +1 -1
  60. package/dist/cjs/product/components/product-images/ProductGalleryCarousel.js +1 -1
  61. package/dist/cjs/product/components/product-images/ProductGalleryCarousel.liquid.js +1 -1
  62. package/dist/cjs/product/components/product-images/ProductImagesLightBox.js +1 -1
  63. package/dist/cjs/product/components/product-images-v3/ProductImageV3.js +26 -0
  64. package/dist/cjs/product/components/product-images-v3/ProductImagesV3.liquid.js +44 -0
  65. package/dist/cjs/product/components/product-images-v3/common/attrs.js +1 -0
  66. package/dist/cjs/product/components/product-images-v3/common/classes.js +1 -0
  67. package/dist/cjs/product/components/product-images-v3/common/common.js +1 -0
  68. package/dist/cjs/product/components/product-images-v3/common/getBorderActiveCss.js +20 -0
  69. package/dist/cjs/product/components/product-images-v3/common/hoverAction.js +1 -0
  70. package/dist/cjs/product/components/product-images-v3/common/productFeaturedImage.js +1 -0
  71. package/dist/cjs/product/components/product-images-v3/common/productGallery.js +1 -0
  72. package/dist/cjs/product/components/product-images-v3/common/styles.js +1 -0
  73. package/dist/cjs/product/components/product-images-v3/components/child/MediaIcon.js +2 -0
  74. package/dist/cjs/product/components/product-images-v3/components/child/ProductFeatureVideo.js +1 -0
  75. package/dist/cjs/product/components/product-images-v3/components/child/ProductFeaturedImageCarousel.js +1 -0
  76. package/dist/cjs/product/components/product-images-v3/components/child/ProductFeaturedImageOnly.js +2 -0
  77. package/dist/cjs/product/components/product-images-v3/components/child/ProductGalleryGrid.js +2 -0
  78. package/dist/cjs/product/components/product-images-v3/components/feature-gallery/FeatureImageWithGallery.js +1 -0
  79. package/dist/cjs/product/components/product-images-v3/components/feature-gallery/FeatureImageWithGallery.liquid.js +118 -0
  80. package/dist/cjs/product/components/product-images-v3/components/feature-only/OnlyFeatureImage.js +2 -0
  81. package/dist/cjs/product/components/product-images-v3/components/gallery-carousel/GalleryCarousel.js +1 -0
  82. package/dist/cjs/product/components/product-images-v3/components/gallery-carousel/GalleryCarousel.liquid.js +46 -0
  83. package/dist/cjs/product/components/product-images-v3/components/gallery-grid/GalleryGrid.js +2 -0
  84. package/dist/cjs/product/components/product-images-v3/components/gallery-grid/GalleryGrid.liquid.js +93 -0
  85. package/dist/cjs/product/components/product-images-v3/components/lightbox/ButtonOpenLightBox.js +2 -0
  86. package/dist/cjs/product/components/product-images-v3/components/lightbox/ProductImagesLightBox.js +2 -0
  87. package/dist/cjs/product/components/product-images-v3/composables/getProductImagesAttr.js +1 -0
  88. package/dist/cjs/product/components/product-images-v3/composables/getProductImagesClassName.js +1 -0
  89. package/dist/cjs/product/components/product-images-v3/composables/getProductImagesStyles.js +1 -0
  90. package/dist/cjs/product/components/product-images-v3/hooks/useFeatureImageWithGallery.js +1 -0
  91. package/dist/cjs/product/components/product-images-v3/hooks/useFilterImagesByVariant.js +1 -0
  92. package/dist/cjs/product/components/product-images-v3/hooks/useGalleryCarousel.js +1 -0
  93. package/dist/cjs/product/components/product-images-v3/hooks/useProductFeaturedImageCarousel.js +1 -0
  94. package/dist/cjs/product/components/product-images-v3/hooks/useProductGalleryGrid.js +1 -0
  95. package/dist/cjs/product/components/product-list-v3/ProductList.js +1 -0
  96. package/dist/cjs/product/components/product-list-v3/ProductList.liquid.js +205 -0
  97. package/dist/cjs/product/components/product-list-v3/ProductListCarouselItem.liquid.js +15 -0
  98. package/dist/cjs/product/components/product-list-v3/ProductListCarouselLayout.js +1 -0
  99. package/dist/cjs/product/components/product-list-v3/ProductListCarouselLayout.liquid.js +22 -0
  100. package/dist/cjs/product/components/product-list-v3/ProductListGridItem.liquid.js +19 -0
  101. package/dist/cjs/product/components/product-list-v3/ProductListGridLayout.js +1 -0
  102. package/dist/cjs/product/components/product-list-v3/ProductListGridLayout.liquid.js +34 -0
  103. package/dist/cjs/product/components/product-list-v3/common/attrs.js +1 -0
  104. package/dist/cjs/product/components/product-list-v3/common/classes.js +1 -0
  105. package/dist/cjs/product/components/product-list-v3/common/helpers.js +1 -0
  106. package/dist/cjs/product/components/product-list-v3/common/styles.js +1 -0
  107. package/dist/cjs/product/index.js +1 -1
  108. package/dist/cjs/product/next.js +1 -1
  109. package/dist/cjs/product/settings/Product.js +1 -1
  110. package/dist/cjs/product/settings/ProductBadge.js +1 -1
  111. package/dist/cjs/product/settings/ProductList.js +1 -1
  112. package/dist/cjs/product/settings/ProductListV3.js +8 -0
  113. package/dist/cjs/product/settings/product/configs/product-presets/product-1-col.js +2 -2
  114. package/dist/cjs/product/settings/product/configs/product-presets/product-2-col.js +2 -2
  115. package/dist/cjs/product/settings/product/configs/product-presets/product-default.js +2 -2
  116. package/dist/cjs/product/settings/product-image-v2/ProductImages.js +2 -2
  117. package/dist/cjs/product/settings/product-image-v3/ProductFeatureImage.js +1 -0
  118. package/dist/cjs/product/settings/product-image-v3/ProductGalleryImage.js +1 -0
  119. package/dist/cjs/product/settings/product-image-v3/ProductImages.js +21 -0
  120. package/dist/cjs/product/settings/product-image-v3/configs/setting-v2/ProductFeatureImage.js +2 -0
  121. package/dist/cjs/product/settings/product-image-v3/configs/setting-v2/ProductGalleryImage.js +2 -0
  122. package/dist/cjs/product/settings/product-image-v3/configs/setting-v2/index.js +1 -0
  123. package/dist/cjs/product/settings/product-image-v3/configs/ui/FeatureDots.js +1 -0
  124. package/dist/cjs/product/settings/product-image-v3/configs/ui/FeatureNavigation.js +1 -0
  125. package/dist/cjs/product/settings/product-image-v3/configs/ui/ImageListNavigation.js +1 -0
  126. package/dist/cjs/product/settings/product-image-v3/configs/ui-v1.js +1 -0
  127. package/dist/cjs/product/settings/product-image-v3/configs/ui-v2.js +1 -0
  128. package/dist/cjs/product/settings/product-list/configs/presets.js +2 -2
  129. package/dist/cjs/product/settings/product-list-v3/configs/presets.js +37 -0
  130. package/dist/cjs/product/settings/product-list-v3/configs/settings-v2.js +1 -0
  131. package/dist/cjs/product/settings/product-list-v3/configs/ui-v1.js +1 -0
  132. package/dist/cjs/product/settings/product-list-v3/configs/ui-v2.js +1 -0
  133. package/dist/cjs/product/settings/product-variant/configs/settings.js +1 -1
  134. package/dist/cjs/setting.js +1 -1
  135. package/dist/cjs/sticky/settings/configs/presets.js +3 -3
  136. package/dist/cjs/third-party/components/BloyRewardsProgramLoyalty.js +2 -0
  137. package/dist/cjs/third-party/components/BloyRewardsProgramLoyalty.liquid.js +1 -0
  138. package/dist/cjs/third-party/components/KachingSubscriptionsApp.js +2 -0
  139. package/dist/cjs/third-party/components/KachingSubscriptionsApp.liquid.js +8 -0
  140. package/dist/cjs/third-party/components/Trustoo.liquid.js +5 -5
  141. package/dist/cjs/third-party/components/UppromoteAffiliateMarketing.liquid.js +89 -1
  142. package/dist/cjs/third-party/configs/BloyRewardsProgramLoyalty.js +1 -0
  143. package/dist/cjs/third-party/configs/KachingSubscriptionsApp.js +1 -0
  144. package/dist/cjs/third-party/index.js +1 -1
  145. package/dist/cjs/third-party/next.js +1 -1
  146. package/dist/cjs/third-party/setting/KachingSubscriptionsApp/index.js +4 -0
  147. package/dist/cjs/third-party/setting/KachingSubscriptionsApp/uiV1.js +1 -0
  148. package/dist/cjs/third-party/setting/KachingSubscriptionsApp/uiV2.js +1 -0
  149. package/dist/cjs/third-party/settings/BloyRewardsProgramLoyalty/index.js +4 -0
  150. package/dist/cjs/third-party/settings/BloyRewardsProgramLoyalty/uiV2.js +1 -0
  151. package/dist/cjs/third-party/settings/BonLoyaltyRewardsReferrals/index.js +1 -1
  152. package/dist/cjs/third-party/settings/FeraReviews/index.js +1 -1
  153. package/dist/cjs/third-party/settings/JudgemeReviews/index.js +1 -1
  154. package/dist/cjs/third-party/settings/KoalaBundleQuantityDiscount/index.js +1 -1
  155. package/dist/cjs/third-party/settings/LaiProductReviews/index.js +1 -1
  156. package/dist/cjs/third-party/settings/LoopSubscriptions/index.js +1 -1
  157. package/dist/cjs/third-party/settings/Opinew/index.js +1 -1
  158. package/dist/cjs/third-party/settings/RequestQuoteHidePrice/index.js +1 -1
  159. package/dist/cjs/third-party/settings/Trustoo/index.js +1 -1
  160. package/dist/cjs/third-party/settings/Trustoo/uiV2.js +1 -1
  161. package/dist/cjs/third-party/settings/UltimateSalesBoost/index.js +1 -1
  162. package/dist/cjs/third-party/settings/UppromoteAffiliateMarketing/setting.js +1 -1
  163. package/dist/cjs/third-party/settings/UppromoteAffiliateMarketing/uiV2.js +1 -1
  164. package/dist/cjs/video/common/helpers.js +1 -1
  165. package/dist/cjs/video/components/HTML5Embed.js +1 -1
  166. package/dist/cjs/video/components/HTML5Embed.liquid.js +6 -8
  167. package/dist/esm/article/settings/ArticleList.js +1 -1
  168. package/dist/esm/article/settings/configs/article-read-more/settings.js +1 -1
  169. package/dist/esm/builder.js +1 -1
  170. package/dist/esm/carousel/components/arrow/common/helpers.js +1 -1
  171. package/dist/esm/carousel/settings/configs/presets.js +4 -4
  172. package/dist/esm/carousel-v3/common/helpers.js +1 -0
  173. package/dist/esm/carousel-v3/components/arrow/Arrow.js +10 -0
  174. package/dist/esm/carousel-v3/components/arrow/Arrow.liquid.js +26 -0
  175. package/dist/esm/carousel-v3/components/arrow/common/classes.js +1 -0
  176. package/dist/esm/carousel-v3/components/arrow/common/helpers.js +1 -0
  177. package/dist/esm/carousel-v3/components/arrow/common/styles.js +33 -0
  178. package/dist/esm/carousel-v3/components/dot/Dots.js +2 -0
  179. package/dist/esm/carousel-v3/components/dot/Dots.liquid.js +7 -0
  180. package/dist/esm/carousel-v3/components/dot/common/classes.js +1 -0
  181. package/dist/esm/carousel-v3/components/dot/common/helpers.js +1 -0
  182. package/dist/esm/carousel-v3/components/dot/common/styles.js +1 -0
  183. package/dist/esm/carousel-v3/components/item/CarouselItem.js +2 -0
  184. package/dist/esm/carousel-v3/components/item/CarouselItem.liquid.js +22 -0
  185. package/dist/esm/carousel-v3/components/item/common/classes.js +1 -0
  186. package/dist/esm/carousel-v3/components/item/common/styles.js +1 -0
  187. package/dist/esm/carousel-v3/components/root/Carousel.js +2 -0
  188. package/dist/esm/carousel-v3/components/root/Carousel.liquid.js +23 -0
  189. package/dist/esm/carousel-v3/components/root/common/attrs.js +1 -0
  190. package/dist/esm/carousel-v3/components/root/common/classes.js +1 -0
  191. package/dist/esm/carousel-v3/components/root/common/helpers.js +1 -0
  192. package/dist/esm/carousel-v3/components/root/common/styles.js +1 -0
  193. package/dist/esm/carousel-v3/components/swiper/Swiper.js +1 -0
  194. package/dist/esm/carousel-v3/components/swiper/SwiperSlide.js +1 -0
  195. package/dist/esm/carousel-v3/components/swiper/common/styles.js +1 -0
  196. package/dist/esm/carousel-v3/hooks/useCarouseItem.js +1 -0
  197. package/dist/esm/carousel-v3/hooks/useCarousel.js +1 -0
  198. package/dist/esm/carousel-v3/hooks/useDotsSetting.js +1 -0
  199. package/dist/esm/carousel-v3/hooks/useTrackPreviewPause.js +1 -0
  200. package/dist/esm/carousel-v3/index.js +1 -0
  201. package/dist/esm/{carousel → carousel-v3}/next.js +1 -1
  202. package/dist/esm/carousel-v3/plugins/animation.js +1 -0
  203. package/dist/esm/carousel-v3/settings/Carousel.js +5 -0
  204. package/dist/esm/carousel-v3/settings/CarouselItem.js +1 -0
  205. package/dist/esm/carousel-v3/settings/configs/presets.js +114 -0
  206. package/dist/esm/carousel-v3/settings/configs/settings-v2.js +3 -0
  207. package/dist/esm/carousel-v3/settings/configs/ui-v1.js +1 -0
  208. package/dist/esm/carousel-v3/settings/configs/ui-v2.js +1 -0
  209. package/dist/esm/countdown-timer/common/helpers.js +1 -1
  210. package/dist/esm/coupon/settings/configs/presets.js +1 -1
  211. package/dist/esm/form/settings/contact/Contact.js +1 -1
  212. package/dist/esm/form/settings/newsletter/Newsletter.js +1 -1
  213. package/dist/esm/grid/components/row/common/helpers.js +1 -1
  214. package/dist/esm/hero-banner/common/const.js +1 -0
  215. package/dist/esm/hero-banner/common/helpers.js +1 -1
  216. package/dist/esm/index.js +1 -1
  217. package/dist/esm/index.liquid.js +1 -1
  218. package/dist/esm/marquee/hooks/useMarqueeScrollToItem.js +1 -1
  219. package/dist/esm/marquee/settings/Marquee.js +1 -1
  220. package/dist/esm/next.js +1 -1
  221. package/dist/esm/product/components/dynamic-checkout/common/styles.js +2 -1
  222. package/dist/esm/product/components/product-badge/utils/common.js +1 -1
  223. package/dist/esm/product/components/product-description/common/helpers.js +2 -2
  224. package/dist/esm/product/components/product-description/common/styles.js +2 -2
  225. package/dist/esm/product/components/product-description/hooks/useGpDescription.js +1 -1
  226. package/dist/esm/product/components/product-images/ProductGalleryCarousel.js +1 -1
  227. package/dist/esm/product/components/product-images/ProductGalleryCarousel.liquid.js +1 -1
  228. package/dist/esm/product/components/product-images/ProductImagesLightBox.js +1 -1
  229. package/dist/esm/product/components/product-images-v3/ProductImageV3.js +26 -0
  230. package/dist/esm/product/components/product-images-v3/ProductImagesV3.liquid.js +44 -0
  231. package/dist/esm/product/components/product-images-v3/common/attrs.js +1 -0
  232. package/dist/esm/product/components/product-images-v3/common/classes.js +1 -0
  233. package/dist/esm/product/components/product-images-v3/common/common.js +1 -0
  234. package/dist/esm/product/components/product-images-v3/common/getBorderActiveCss.js +20 -0
  235. package/dist/esm/product/components/product-images-v3/common/hoverAction.js +1 -0
  236. package/dist/esm/product/components/product-images-v3/common/productFeaturedImage.js +1 -0
  237. package/dist/esm/product/components/product-images-v3/common/productGallery.js +1 -0
  238. package/dist/esm/product/components/product-images-v3/common/styles.js +1 -0
  239. package/dist/esm/product/components/product-images-v3/components/child/MediaIcon.js +2 -0
  240. package/dist/esm/product/components/product-images-v3/components/child/ProductFeatureVideo.js +1 -0
  241. package/dist/esm/product/components/product-images-v3/components/child/ProductFeaturedImageCarousel.js +1 -0
  242. package/dist/esm/product/components/product-images-v3/components/child/ProductFeaturedImageOnly.js +2 -0
  243. package/dist/esm/product/components/product-images-v3/components/child/ProductGalleryGrid.js +2 -0
  244. package/dist/esm/product/components/product-images-v3/components/feature-gallery/FeatureImageWithGallery.js +1 -0
  245. package/dist/esm/product/components/product-images-v3/components/feature-gallery/FeatureImageWithGallery.liquid.js +118 -0
  246. package/dist/esm/product/components/product-images-v3/components/feature-only/OnlyFeatureImage.js +2 -0
  247. package/dist/esm/product/components/product-images-v3/components/gallery-carousel/GalleryCarousel.js +1 -0
  248. package/dist/esm/product/components/product-images-v3/components/gallery-carousel/GalleryCarousel.liquid.js +46 -0
  249. package/dist/esm/product/components/product-images-v3/components/gallery-grid/GalleryGrid.js +2 -0
  250. package/dist/esm/product/components/product-images-v3/components/gallery-grid/GalleryGrid.liquid.js +93 -0
  251. package/dist/esm/product/components/product-images-v3/components/lightbox/ButtonOpenLightBox.js +2 -0
  252. package/dist/esm/product/components/product-images-v3/components/lightbox/ProductImagesLightBox.js +2 -0
  253. package/dist/esm/product/components/product-images-v3/composables/getProductImagesAttr.js +1 -0
  254. package/dist/esm/product/components/product-images-v3/composables/getProductImagesClassName.js +1 -0
  255. package/dist/esm/product/components/product-images-v3/composables/getProductImagesStyles.js +1 -0
  256. package/dist/esm/product/components/product-images-v3/hooks/useFeatureImageWithGallery.js +1 -0
  257. package/dist/esm/product/components/product-images-v3/hooks/useFilterImagesByVariant.js +1 -0
  258. package/dist/esm/product/components/product-images-v3/hooks/useGalleryCarousel.js +1 -0
  259. package/dist/esm/product/components/product-images-v3/hooks/useProductFeaturedImageCarousel.js +1 -0
  260. package/dist/esm/product/components/product-images-v3/hooks/useProductGalleryGrid.js +1 -0
  261. package/dist/esm/product/components/product-list-v3/ProductList.js +1 -0
  262. package/dist/esm/product/components/product-list-v3/ProductList.liquid.js +205 -0
  263. package/dist/esm/product/components/product-list-v3/ProductListCarouselItem.liquid.js +15 -0
  264. package/dist/esm/product/components/product-list-v3/ProductListCarouselLayout.js +1 -0
  265. package/dist/esm/product/components/product-list-v3/ProductListCarouselLayout.liquid.js +22 -0
  266. package/dist/esm/product/components/product-list-v3/ProductListGridItem.liquid.js +19 -0
  267. package/dist/esm/product/components/product-list-v3/ProductListGridLayout.js +1 -0
  268. package/dist/esm/product/components/product-list-v3/ProductListGridLayout.liquid.js +34 -0
  269. package/dist/esm/product/components/product-list-v3/common/attrs.js +1 -0
  270. package/dist/esm/product/components/product-list-v3/common/classes.js +1 -0
  271. package/dist/esm/product/components/product-list-v3/common/helpers.js +1 -0
  272. package/dist/esm/product/components/product-list-v3/common/styles.js +1 -0
  273. package/dist/esm/product/index.js +1 -1
  274. package/dist/esm/product/next.js +1 -1
  275. package/dist/esm/product/settings/Product.js +1 -1
  276. package/dist/esm/product/settings/ProductBadge.js +1 -1
  277. package/dist/esm/product/settings/ProductList.js +1 -1
  278. package/dist/esm/product/settings/ProductListV3.js +8 -0
  279. package/dist/esm/product/settings/product/configs/product-presets/product-1-col.js +2 -2
  280. package/dist/esm/product/settings/product/configs/product-presets/product-2-col.js +2 -2
  281. package/dist/esm/product/settings/product/configs/product-presets/product-default.js +2 -2
  282. package/dist/esm/product/settings/product-image-v2/ProductImages.js +2 -2
  283. package/dist/esm/product/settings/product-image-v3/ProductFeatureImage.js +1 -0
  284. package/dist/esm/product/settings/product-image-v3/ProductGalleryImage.js +1 -0
  285. package/dist/esm/product/settings/product-image-v3/ProductImages.js +21 -0
  286. package/dist/esm/product/settings/product-image-v3/configs/setting-v2/ProductFeatureImage.js +2 -0
  287. package/dist/esm/product/settings/product-image-v3/configs/setting-v2/ProductGalleryImage.js +2 -0
  288. package/dist/esm/product/settings/product-image-v3/configs/setting-v2/index.js +1 -0
  289. package/dist/esm/product/settings/product-image-v3/configs/ui/FeatureDots.js +1 -0
  290. package/dist/esm/product/settings/product-image-v3/configs/ui/FeatureNavigation.js +1 -0
  291. package/dist/esm/product/settings/product-image-v3/configs/ui/ImageListNavigation.js +1 -0
  292. package/dist/esm/product/settings/product-image-v3/configs/ui-v1.js +1 -0
  293. package/dist/esm/product/settings/product-image-v3/configs/ui-v2.js +1 -0
  294. package/dist/esm/product/settings/product-list/configs/presets.js +2 -2
  295. package/dist/esm/product/settings/product-list-v3/configs/presets.js +37 -0
  296. package/dist/esm/product/settings/product-list-v3/configs/settings-v2.js +1 -0
  297. package/dist/esm/product/settings/product-list-v3/configs/ui-v1.js +1 -0
  298. package/dist/esm/product/settings/product-list-v3/configs/ui-v2.js +1 -0
  299. package/dist/esm/product/settings/product-variant/configs/settings.js +1 -1
  300. package/dist/esm/setting.js +1 -1
  301. package/dist/esm/sticky/settings/configs/presets.js +3 -3
  302. package/dist/esm/third-party/components/BloyRewardsProgramLoyalty.js +2 -0
  303. package/dist/esm/third-party/components/BloyRewardsProgramLoyalty.liquid.js +1 -0
  304. package/dist/esm/third-party/components/KachingSubscriptionsApp.js +2 -0
  305. package/dist/esm/third-party/components/KachingSubscriptionsApp.liquid.js +8 -0
  306. package/dist/esm/third-party/components/Trustoo.liquid.js +7 -7
  307. package/dist/esm/third-party/components/UppromoteAffiliateMarketing.liquid.js +89 -1
  308. package/dist/esm/third-party/configs/BloyRewardsProgramLoyalty.js +1 -0
  309. package/dist/esm/third-party/configs/KachingSubscriptionsApp.js +1 -0
  310. package/dist/esm/third-party/index.js +1 -1
  311. package/dist/esm/third-party/next.js +1 -1
  312. package/dist/esm/third-party/setting/KachingSubscriptionsApp/index.js +4 -0
  313. package/dist/esm/third-party/setting/KachingSubscriptionsApp/uiV1.js +1 -0
  314. package/dist/esm/third-party/setting/KachingSubscriptionsApp/uiV2.js +1 -0
  315. package/dist/esm/third-party/settings/BloyRewardsProgramLoyalty/index.js +4 -0
  316. package/dist/esm/third-party/settings/BloyRewardsProgramLoyalty/uiV2.js +1 -0
  317. package/dist/esm/third-party/settings/BonLoyaltyRewardsReferrals/index.js +1 -1
  318. package/dist/esm/third-party/settings/FeraReviews/index.js +2 -2
  319. package/dist/esm/third-party/settings/JudgemeReviews/index.js +1 -1
  320. package/dist/esm/third-party/settings/KoalaBundleQuantityDiscount/index.js +1 -1
  321. package/dist/esm/third-party/settings/LaiProductReviews/index.js +1 -1
  322. package/dist/esm/third-party/settings/LoopSubscriptions/index.js +2 -2
  323. package/dist/esm/third-party/settings/Opinew/index.js +2 -2
  324. package/dist/esm/third-party/settings/RequestQuoteHidePrice/index.js +1 -1
  325. package/dist/esm/third-party/settings/Trustoo/index.js +1 -1
  326. package/dist/esm/third-party/settings/Trustoo/uiV2.js +1 -1
  327. package/dist/esm/third-party/settings/UltimateSalesBoost/index.js +1 -1
  328. package/dist/esm/third-party/settings/UppromoteAffiliateMarketing/setting.js +1 -1
  329. package/dist/esm/third-party/settings/UppromoteAffiliateMarketing/uiV2.js +1 -1
  330. package/dist/esm/video/common/helpers.js +1 -1
  331. package/dist/esm/video/components/HTML5Embed.js +1 -1
  332. package/dist/esm/video/components/HTML5Embed.liquid.js +10 -12
  333. package/dist/types/index.d.ts +524 -56
  334. package/package.json +5 -4
@@ -0,0 +1,93 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var core=require("@gem-sdk/core"),system=require("@gem-sdk/system"),Modal3d_liquid=require("../../../../../image/components/Modal3d.liquid.js"),NextImage_liquid=require("../../../../../image/components/NextImage.liquid.js"),Video_liquid=require("../../../../../image/components/Video.liquid.js"),HTML5Embed_liquid=require("../../../../../video/components/HTML5Embed.liquid.js"),_function=require("../../../../helpers/function.js"),common=require("../../common/common.js"),productFeaturedImage=require("../../common/productFeaturedImage.js"),productGallery=require("../../common/productGallery.js"),getProductImagesClassName=require("../../composables/getProductImagesClassName.js"),getProductImagesStyles=require("../../composables/getProductImagesStyles.js");const ProductGalleryGrid=({builderPropUID:e,wrapperStyle:i,children:t,enableLazyLoadImage:a,...s})=>{let{galleryItemClasses:o,galleryGridWrapperClasses:d}=getProductImagesClassName.getProductImagesClassName(s),{galleryGridStyles:r,galleryGridItemStyles:l}=getProductImagesStyles.getProductImagesStyles(s),m=productGallery.getShapeByLayout({shape:s.shape,shapeForBottom:s.shapeForBottom,shapeFor1Col:s.shapeFor1Col,shapeFor2Col:s.shapeFor2Col,shapeForFtOnly:s.shapeForFtOnly,shapeForInsideBottom:s.shapeForInsideBottom,shapeForInside:s.shapeForInside},s.position),u=(e=!1)=>{let i=["desktop","mobile","tablet"],t={desktop:"none",tablet:"none",mobile:"none"};return i.forEach(i=>{let a=core.getResponsiveValueByScreen(s?.position,i)||"",o="one-col"===a||"two-col"===a,d=e?!o:o;t[i]=d?"block":"none"}),core.makeStyleResponsive("d",t)},c=()=>u(),g=()=>u(!0),p=(e,i)=>core.template`
2
+ ${NextImage_liquid.default({srcIsLiquidCode:!0,src:`${common.getSrcImage("media.preview_image")}`,width:"{{media.width}}",height:"{{media.height}}",alt:"{{media.alt | escape}}",baseSrc:"{{media.preview_image | image_url}}",setting:e,style:i,className:"!gp-rounded-none",customLazyload:!1,enableLazyLoadImage:a})}
3
+ ${system.If(s?.galleryHoverEffect!=="none",`<div class="${core.cls("zoom-element !gp-max-w-none gp-w-full gp-h-full",productFeaturedImage.getZoomImageClass())}">
4
+ ${NextImage_liquid.default({srcIsLiquidCode:!0,src:`${common.getSrcImage("media.preview_image")}`,width:"{{media.width}}",height:"{{media.height}}",baseSrc:"{{media.preview_image | image_url}}",alt:"{{media.alt | escape}}",setting:e,style:i,className:"!gp-rounded-none gp-w-full gp-h-full",customLazyload:!1,enableLazyLoadImage:a})}
5
+ </div>`," ")}
6
+ ${system.If(s?.galleryHoverEffect=="zoom"&&s?.galleryZoomType=="glasses",`<div class="${core.cls("zoom-lens-element",productFeaturedImage.getZoomLenClass())}" style="opacity: 0; background-image: url('{{media.preview_image | product_img_url: '1024x1024'}}')">
7
+ </div>
8
+ `," ")}
9
+ `,n=()=>Modal3d_liquid.default({src:system.LiquidIf("media.sources.first.url contains '.glb'","{{ media.sources.first.url }}","{{media.sources.last.url}}"),alt:"{{media.preview_image.alt}}",poster:"{{media.preview_image.src | product_img_url: '1024x1024'}}",cameraControls:!0,arStatus:"not-presenting",style:{width:"100%",height:"100%"},aspectRatio:common.getAspectRatio(m)}),y=()=>Video_liquid.default({src:"{{mediaSourceVideo}}",alt:"{{media.alt | escape}}",autoplay:!1,allowfullscreen:!0,controls:!0,style:{width:"100%",height:"100%"}}),f=()=>HTML5Embed_liquid.default({src:"{{mediaSourceVideo}}",title:"{{media.alt | escape}}",autoplay:!1,controls:!0,style:{width:"100%","max-height":"100%"}}),h=()=>core.template`
10
+ ${system.LiquidIf("media.media_type == 'video' or media.media_type == 'external_video'",`<div class="gp-absolute gp-pb-1 gp-pr-1 gp-right-0 gp-bottom-0" >
11
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
12
+ <rect opacity="0.9" width="24" height="24" rx="3" fill="#212121"/>
13
+ <path d="M17.6869 12.2646L17.6868 12.2646L6.78379 18.4464C6.78378 18.4464 6.78376 18.4464 6.78374 18.4464C6.52931 18.5903 6.1665 18.4179 6.1665 18.0416V5.95844C6.1665 5.58218 6.52917 5.40981 6.7836 5.55354C6.78366 5.55357 6.78373 5.55361 6.78379 5.55365L17.6868 11.7354L17.6869 11.7354C17.8819 11.846 17.8819 12.154 17.6869 12.2646Z" stroke="#F9F9F9" stroke-miterlimit="10"/>
14
+ </svg>
15
+ </div>`)}
16
+ ${system.LiquidIf("media.media_type == 'model'",`<div class="gp-absolute gp-pb-1 gp-pr-1 gp-right-0 gp-bottom-0">
17
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
18
+ <rect opacity="0.9" width="24" height="24" rx="3" fill="#212121"/>
19
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M11.7441 4.57034C11.9017 4.47655 12.098 4.47655 12.2555 4.57034L18.5889 8.33957C18.7404 8.42971 18.8332 8.59296 18.8332 8.76923V15.2308C18.8332 15.407 18.7404 15.5703 18.5889 15.6604L12.2555 19.4297C12.098 19.5234 11.9017 19.5234 11.7441 19.4297L5.41079 15.6604C5.25932 15.5703 5.1665 15.407 5.1665 15.2308V8.76923C5.1665 8.59296 5.25932 8.42971 5.41079 8.33957L11.7441 4.57034ZM6.1665 9.64865V14.9465L11.4998 18.1206V12.8227L6.1665 9.64865ZM12.4998 12.8227V18.1206L17.8332 14.9465V9.64865L12.4998 12.8227ZM17.3555 8.76923L11.9998 11.9566L6.64417 8.76923L11.9998 5.58185L17.3555 8.76923Z" fill="#F9F9F9"/>
20
+ </svg>
21
+ </div>`)}
22
+ ${p({aspectRatio:common.getAspectRatio(m),layout:s?.layout,qualityType:s?.qualityType,qualityPercent:s?.qualityPercent},{width:"100%",height:"100%"})}
23
+
24
+ <div class="gp-absolute gp-inset-0 gp-flex gp-cursor-pointer gp-items-center gp-justify-center gp-bg-black/50 gp-opacity-0 gp-transition-opacity gp-duration-100 group-hover:gp-opacity-100"
25
+ style="${_function.getStyleOfObject(productGallery.getZoomDisplay(s?.clickOpenLightBox))}" >
26
+ <svg
27
+ height="100%"
28
+ width="100%"
29
+ xmlns="http://www.w3.org/2000/svg"
30
+ class="gp-h-6 gp-w-6"
31
+ viewBox="0 0 512 512"
32
+ color="#fff"
33
+ >
34
+ <path
35
+ fill="currentColor"
36
+ stroke-linecap="round"
37
+ stroke-linejoin="round"
38
+ d="M62.2467 345.253C43.7072 326.714 29.1474 305.116 18.9714 281.057C8.42839 256.13 3.08301 229.671 3.08301 202.418C3.08301 175.165 8.43012 148.707 18.974 123.78C29.15 99.7213 43.7098 78.123 62.2485 59.5834C80.788 41.0439 102.386 26.4841 126.445 16.3081C151.372 5.76422 177.831 0.417969 205.084 0.417969C232.337 0.417969 258.794 5.76421 283.722 16.3064C307.78 26.4823 329.379 41.0422 347.918 59.5817C366.458 78.1212 381.017 99.7196 391.194 123.778C401.737 148.706 407.083 175.163 407.083 202.417C407.083 229.671 401.737 256.129 391.194 281.056C388.406 287.648 385.277 294.048 381.839 300.257L493.397 411.815C514.091 432.511 514.091 466.187 493.395 486.883L484.272 496.006C474.245 506.032 460.915 511.553 446.738 511.553C432.559 511.553 419.228 506.032 409.202 496.006L296.022 382.824C291.996 384.854 287.898 386.762 283.721 388.528C258.794 399.073 232.336 404.419 205.082 404.419C177.828 404.419 151.371 399.071 126.443 388.528C102.385 378.352 80.7863 363.793 62.2467 345.253ZM301.699 336.166C313.928 327.317 324.896 316.835 334.282 305.034C342.149 295.142 348.9 284.325 354.355 272.775C364.433 251.432 370.076 227.586 370.076 202.419C370.076 111.296 296.206 37.4253 205.083 37.4253C113.96 37.4253 40.0895 111.294 40.0895 202.418C40.0895 293.541 113.96 367.411 205.084 367.411C227.413 367.411 248.701 362.967 268.126 354.928C280.091 349.976 291.347 343.658 301.699 336.166ZM467.229 460.716C473.507 454.439 473.507 444.26 467.229 437.982L360.595 331.348C356.601 336.153 352.378 340.794 347.919 345.253C341.671 351.502 335.068 357.286 328.147 362.615L435.371 469.839C438.511 472.977 442.624 474.547 446.739 474.547C450.853 474.547 454.967 472.978 458.106 469.839L467.229 460.716ZM223.582 183.91H281.071C291.292 183.91 299.574 192.194 299.575 202.414C299.575 206.778 298.062 210.786 295.533 213.951C292.143 218.195 286.926 220.916 281.072 220.916H228.303H223.583V225.63V278.406C223.583 287.081 217.613 294.358 209.559 296.361C208.124 296.717 206.625 296.909 205.08 296.909C194.861 296.909 186.577 288.625 186.577 278.406V220.917H129.087C118.868 220.917 110.584 212.633 110.584 202.414C110.584 192.195 118.868 183.911 129.087 183.911H186.576V126.421C186.576 116.202 194.86 107.918 205.079 107.918C215.298 107.918 223.582 116.202 223.582 126.421V183.91Z"
39
+ />
40
+ </svg>
41
+ </div>
42
+ `,C=i=>`
43
+ ${system.LiquidIf("media.media_type == 'video'","{% assign mediaSourceUrl = media.sources.last.url %}")}
44
+ ${system.LiquidIf("media.media_type == 'external_video'","{% assign mediaSourceUrl = media | external_video_url %}{% assign mediaSource = media | json %}")}
45
+ ${system.LiquidIf("media.media_type == 'image'","{% assign mediaSourceUrl = media.src %}")}
46
+ <div
47
+ aria-hidden
48
+ id="{{imageID}}"
49
+ media-type="{{media.media_type}}"
50
+ media-poster="{{media.preview_image.src}}"
51
+ media-source-url="{{media.sources.first.url}}"
52
+ media-last-source-url="{{mediaSourceUrl}}"
53
+ external-id="{{media.external_id}}"
54
+ grid-index="{{forloop.index}}"
55
+ data-outline="none"
56
+ class="${o(`gem-slider-item-${e}-{{product.id}} gp-gallery-image-item ${i??""} data-[outline=deactive]:after:!gp-border-transparent`)}"
57
+ style="${_function.getStyleOfObject(l)}"
58
+ >
59
+ ${system.LiquidIf("media.media_type == 'external_video' or media.media_type == 'video' or media.media_type == 'model'","{% assign isMedia = true %}")}
60
+
61
+ ${system.LiquidIf("media.media_type == 'external_video' or media.media_type == 'video'","{% assign isVideo = true %}")}
62
+
63
+ <div class="gp-h-full gp-w-full" style="${system.LiquidIf("media == null or media.media_type == 'image'","display: block !important;")} ${system.LiquidIf("isVideo == true",_function.getStyleOfObject({...g()}))}">
64
+ ${system.LiquidIf("media != null",h(),v())}
65
+ </div>
66
+
67
+ <div class="${system.LiquidIf("isMedia","gp-flex gp-justify-center gp-items-center")}"
68
+ style="${system.LiquidIf("isMedia",_function.getStyleOfObject({...core.makeStyleResponsive("aspect",common.getAspectRatio(m))}))} ${_function.getStyleOfObject({...c()})}"
69
+ >
70
+ {% case media.media_type %}
71
+ {% when 'external_video' %}
72
+ {% assign mediaSourceVideo = media | external_video_url %}
73
+ ${y()}
74
+ {% when 'video' %}
75
+ {% assign mediaSourceVideo = media.sources.last.url %}
76
+ ${f()}
77
+ {% when 'model' %}
78
+ ${n()}
79
+ {% endcase %}
80
+ </div>
81
+ {% assign isVideo= false %}
82
+ {% assign isMedia= false %}
83
+ </div>`,v=()=>core.template`
84
+ ${NextImage_liquid.default({srcIsLiquidCode:!0,src:"https://cdn.shopify.com/s/assets/no-image-2048-5e88c1b20e087fb7bbe9a3771824e743c244f437e4f8ba93bbf7b11b53f7824c_large.gif",alt:"No Image",sizes:"(max-width: 768px) 50vw, 100vw",setting:{aspectRatio:common.getAspectRatio(m),layout:s?.layout,qualityType:s?.qualityType,qualityPercent:s?.qualityPercent},className:"!gp-rounded-none",customLazyload:!1,enableLazyLoadImage:a})}`;return system.Liquid(`
85
+ <div type="grid-gallery"
86
+ class="${d}"
87
+ style="${_function.getStyleOfObject(r)}}"
88
+ >
89
+ ${system.LiquidFor("media in product.media",`${system.LiquidIf("media.media_type == 'image'",system.LiquidFor("image in product.images",system.LiquidIf("image.src == media.src","{% assign imageID = image.id %}{% break %}")),"{% assign imageID = '' %}")}
90
+ ${system.LiquidIf("media.id == product.featured_media.id ",C(s?.borderActive?.border!=="none"?"active":""),C())}`)}
91
+ ${system.LiquidIf("product.media.size > 0",t)}
92
+ ${system.LiquidIf("product.media.size < 1",C())}
93
+ </div>`)};exports.default=ProductGalleryGrid;
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime");const ButtonOpenLightBox=()=>jsxRuntime.jsx("div",{className:"gp-absolute gp-inset-0 gp-flex gp-cursor-pointer gp-items-center gp-justify-center gp-bg-black/50 gp-opacity-0 gp-transition-all gp-duration-100 group-hover:gp-opacity-100",children:jsxRuntime.jsx("svg",{height:"100%",width:"100%",xmlns:"http://www.w3.org/2000/svg",className:"gp-h-6 gp-w-6",viewBox:"0 0 512 512",color:"#fff",children:jsxRuntime.jsx("path",{fill:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",d:"M62.2467 345.253C43.7072 326.714 29.1474 305.116 18.9714 281.057C8.42839 256.13 3.08301 229.671 3.08301 202.418C3.08301 175.165 8.43012 148.707 18.974 123.78C29.15 99.7213 43.7098 78.123 62.2485 59.5834C80.788 41.0439 102.386 26.4841 126.445 16.3081C151.372 5.76422 177.831 0.417969 205.084 0.417969C232.337 0.417969 258.794 5.76421 283.722 16.3064C307.78 26.4823 329.379 41.0422 347.918 59.5817C366.458 78.1212 381.017 99.7196 391.194 123.778C401.737 148.706 407.083 175.163 407.083 202.417C407.083 229.671 401.737 256.129 391.194 281.056C388.406 287.648 385.277 294.048 381.839 300.257L493.397 411.815C514.091 432.511 514.091 466.187 493.395 486.883L484.272 496.006C474.245 506.032 460.915 511.553 446.738 511.553C432.559 511.553 419.228 506.032 409.202 496.006L296.022 382.824C291.996 384.854 287.898 386.762 283.721 388.528C258.794 399.073 232.336 404.419 205.082 404.419C177.828 404.419 151.371 399.071 126.443 388.528C102.385 378.352 80.7863 363.793 62.2467 345.253ZM301.699 336.166C313.928 327.317 324.896 316.835 334.282 305.034C342.149 295.142 348.9 284.325 354.355 272.775C364.433 251.432 370.076 227.586 370.076 202.419C370.076 111.296 296.206 37.4253 205.083 37.4253C113.96 37.4253 40.0895 111.294 40.0895 202.418C40.0895 293.541 113.96 367.411 205.084 367.411C227.413 367.411 248.701 362.967 268.126 354.928C280.091 349.976 291.347 343.658 301.699 336.166ZM467.229 460.716C473.507 454.439 473.507 444.26 467.229 437.982L360.595 331.348C356.601 336.153 352.378 340.794 347.919 345.253C341.671 351.502 335.068 357.286 328.147 362.615L435.371 469.839C438.511 472.977 442.624 474.547 446.739 474.547C450.853 474.547 454.967 472.978 458.106 469.839L467.229 460.716ZM223.582 183.91H281.071C291.292 183.91 299.574 192.194 299.575 202.414C299.575 206.778 298.062 210.786 295.533 213.951C292.143 218.195 286.926 220.916 281.072 220.916H228.303H223.583V225.63V278.406C223.583 287.081 217.613 294.358 209.559 296.361C208.124 296.717 206.625 296.909 205.08 296.909C194.861 296.909 186.577 288.625 186.577 278.406V220.917H129.087C118.868 220.917 110.584 212.633 110.584 202.414C110.584 192.195 118.868 183.911 129.087 183.911H186.576V126.421C186.576 116.202 194.86 107.918 205.079 107.918C215.298 107.918 223.582 116.202 223.582 126.421V183.91Z"})})});exports.default=ButtonOpenLightBox;
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),core=require("@gem-sdk/core"),Carousel=require("../../../../../carousel-v3/components/root/Carousel.js"),CarouselItem=require("../../../../../carousel-v3/components/item/CarouselItem.js"),NextImage=require("../../../../../image/components/NextImage.js");require("../../../../../modal/components/confirm.js");var Modal=require("../../../../../modal/components/Modal.js"),React=require("react"),productFeaturedImage=require("../../common/productFeaturedImage.js"),ProductFeatureVideo=require("../child/ProductFeatureVideo.js"),MediaIcon=require("../child/MediaIcon.js");const ProductImagesLightBox=({builderPropUID:e,productImages:t,open:o,imageRatio:i,onHandleClose:s})=>{let l=core.useFeaturedImageGlobal(),r=React.useMemo(()=>{let e=t?.findIndex(e=>e.id===l?.id);return e&&e>0?e:0},[t,l]),d={desktop:t&&t.length>1,mobile:t&&t?.length>1,tablet:t&&t?.length>1},a={desktop:!1,mobile:!1,tablet:!1},n=core.useEditorMode(),u=e=>"edit"!==n&&["VIDEO","EXTERNAL_VIDEO"].includes(e?.contentType||"");return jsxRuntime.jsx(Modal.default,{setting:{open:o},styles:{width:"80%"},closeOnClickOutside:!0,onClose:()=>{s(),console.log("onHandleClose")},disableIframeClickEvent:!0,contentClass:"mobile:!gp-w-[100%] gp-px-2 gp-pb-10",children:jsxRuntime.jsx(Carousel.default,{setting:{loop:a,slidesToShow:{desktop:1,tablet:1,mobile:1},defaultCurrentSlider:r,dot:{desktop:!0,mobile:!0,tablet:!0},dotStyle:{desktop:"outside",mobile:"outside",tablet:"outside"},dotColor:{desktop:"#E2E2E2",mobile:"#E2E2E2",tablet:"#E2E2E2"},dotActiveColor:{desktop:"#121212",mobile:"#121212",tablet:"#121212"},dotSize:{desktop:12},dotGapToCarousel:{desktop:12},navigationEnable:d,navigationStyle:{desktop:"outside"},arrowIconSize:{desktop:24},initialSlide:r},styles:{sizeSetting:{desktop:{height:"80vh"},tablet:{height:"80vh"},mobile:{height:"60vh"}},playSpeed:0},moveToIdx:r,hiddenDotWhenOnlyOne:!0,isHiddenArrowWhenDisabled:!0,isDisableResetSlide:!0,builderProps:{uid:e},fullHeight:!0,children:t?.map(t=>jsxRuntime.jsx(CarouselItem.default,{className:`gem-slider-item gem-slider-item-${e} gp-flex gp-items-center gp-justify-center gp-px-4`,children:u(t)?jsxRuntime.jsx(ProductFeatureVideo.default,{type:t?.contentType,url:t.src??"",aspectRatio:i}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(NextImage.default,{src:productFeaturedImage.isFeatureMedia(t?.contentType)?t?.previewImage:t?.src,width:t?.width,height:t?.height,alt:t?.alt,"content-type":t?.contentType,setting:{aspectRatio:i},className:core.cls("gp-h-full gp-w-full gp-object-contain")},t?.id),jsxRuntime.jsx(MediaIcon.default,{contentType:t?.contentType??""})]})},t?.id))})})};exports.default=ProductImagesLightBox;
@@ -0,0 +1 @@
1
+ "use strict";var attrs=require("../common/attrs.js");const getProductImagesAttr=t=>{let r=attrs.getGalleryCarouselSettingAttr(t),e=attrs.getFeaturedCarouselSettingAttr(t);return{galleryCarouselSettingAttrs:r,featuredImageCarouselSettingAttrs:e}};exports.getProductImagesAttr=getProductImagesAttr;
@@ -0,0 +1 @@
1
+ "use strict";var system=require("@gem-sdk/system"),classes=require("../common/classes.js"),common=require("../common/common.js");const getProductImagesClassName=s=>{let{setting:e,style:a}=s,l=common.setDefaultWhenUndefineSetting(s),{builderProps:t,advanced:r}=l,m=r?.cssClass,c=system.createClass(classes.getWrapperClasses({extraClass:`${t?.uid} ${m??""} `,isAddOverFlowClass:common.checkAddOverFlowClass(a)})),g=system.createClass(classes.getGalleryWrapperClasses({})),C=system.createClass(classes.getGalleryGridWrapperClasses({})),o=s=>system.createClass(classes.getGalleryItemClasses({extraClass:`${s??""}`})),u=system.createClass(classes.getFtImageWithGalleryClasses({extraClass:`gp-product-images-feature--${t?.uid}`})),d=system.createClass(classes.getImageGalleryWrapperClasses({extraClass:`gp-product-images-gallery-${t?.uid}`})),p=system.createClass(classes.getFeaturedImageCarouselClasses({extraClass:`gp-product-images-gallery-${t?.uid}`})),i=system.createClass(classes.getFeaturedImageGalleryClasses({settings:e})),y=system.createClass(classes.getFeaturedImageClasses({setting:e,extraClass:`gp-flex gp-relative gp-product-images-gallery-${t?.uid} gp-overflow-hidden gp-flex gp-w-full gp-items-center gp-justify-center `})),n=s=>system.createClass(classes.getFeaturedCarouselItemClasses({extraClass:`${s??""}`}));return{wrapperClasses:c,productImagesGalleryClasses:g,galleryGridWrapperClasses:C,galleryItemClasses:o,ftImageGalleryClasses:u,imageGalleryWrapperClasses:d,featuredImageCarouselClasses:p,featuredImageGalleryClasses:i,featureImageOnlyOneImageClasses:y,featuredCarouselItemClasses:n}};exports.getProductImagesClassName=getProductImagesClassName;
@@ -0,0 +1 @@
1
+ "use strict";var system=require("@gem-sdk/system"),styles=require("../common/styles.js");const getProductImagesStyles=(e,t)=>{let s=system.createStyle(styles.getWrapContainerStyle(e)),l=system.createStyle(styles.getWrapContainerStyle(e,!0)),y=system.createStyle(styles.getWrapContainerStyle(e,t?.gallery&&t?.gallery?.length<2)),a=system.createStyle(styles.getFeatureImageStyle(e,{enableOrder:!0,enableDisplay:!0})),r=system.createStyle(styles.getFeaturedImageOnlyOneImageStyle({setting:e,options:{enableRadius:!0,enableHeight:!0}})),g=system.createStyle(styles.getGalleryImageStyle(e,t?.featureImageHeight)),m=system.createStyle(styles.getFeaturedImageCarouselStyle(e)),S=system.createStyle({...styles.getFeatureImageCarouselItemStyle(e)}),c=system.createStyle({...styles.getFeatureImageCarouselItemStyle(e),width:"{{productImageWidth}}px"}),u=system.createStyle(styles.getGalleryGridStyle(e)),n=system.createStyle(styles.getGalleryGridItemStyle(e)),o=system.createStyle(styles.getGalleryCarouselStyle(e)),i=system.createStyle(styles.getGalleryCarouselItemStyle(e));return{wrapContainerStyle:s,wrapContainerStyleOnlyOneImage:l,wrapperFeaturedImageStyle:y,featureImageStyle:a,featureImageOnlyOneImageStyle:r,galleryImageStyle:g,featuredImageCarouselStyle:m,featureImageCarouselItemStyle:S,featureImageCarouselOnlyOneImageStyle:c,galleryGridStyles:u,galleryGridItemStyles:n,galleryCarouselStyle:o,galleryCarouselItemStyle:i}};exports.getProductImagesStyles=getProductImagesStyles;
@@ -0,0 +1 @@
1
+ "use strict";var core=require("@gem-sdk/core"),React=require("react"),common=require("../common/common.js");const useFeatureImageWithGallery=e=>{let{setting:t,styles:r}=e,u={...t,...r},c=core.useCurrentDevice(),s=React.useRef(null),i=React.useRef(null),[n,a]=React.useState(""),[o,l]=React.useState(100),[m,f]=React.useState(),R=core.getResponsiveValueByScreen(u?.position,c),g="slider"===common.getTypeWidthDevice(u?.type)[c]||["left","right","inside-left","inside-right"].includes(R),h=(e,t=200)=>{e&&(s.current&&clearTimeout(s.current),s.current=setTimeout(()=>l(i?.current?.offsetHeight||200),t))};return React.useEffect(()=>{let e=i?.current;if(!e)return;let t=new ResizeObserver(()=>{l(e.offsetHeight||200)});return t.observe(e),()=>{t.disconnect()}}),{isShowCarousel:g,featureImageHeight:o,featureWrapperImage:i,onClickFeatureArrow:n,activeIndexFromFeatureImage:m,setOnClickFeatureArrow:a,onHandleLoadedFeatureImage:h,setActiveIndexFromFeatureImage:f}};exports.useFeatureImageWithGallery=useFeatureImageWithGallery;
@@ -0,0 +1 @@
1
+ "use strict";var core=require("@gem-sdk/core"),React=require("react");const useFilterImagesByVariant=({productImages:e,displayByVariant:t,variantSelect:r})=>{let a=core.useCurrentVariant(),s=React.useCallback(()=>{let e=a?.selectedOptions??[],t=e.find(e=>e.name===r);return t?.value?.toLowerCase()??""},[a?.selectedOptions,r]),l=React.useMemo(()=>{if(!t||!r||!e)return e;let a=s();if(!a)return e;let l=e.filter(e=>{let t=(e.alt||"").toLowerCase();return t.includes(a)});return l.length>0?l:e},[t,r,e,s]);return{filteredProductImages:l,selectedVariantValue:s()}};exports.useFilterImagesByVariant=useFilterImagesByVariant;
@@ -0,0 +1 @@
1
+ "use strict";var core=require("@gem-sdk/core"),React=require("react"),useFilterImagesByVariant=require("./useFilterImagesByVariant.js"),helpers=require("../../../../image/common/helpers.js"),productGallery=require("../common/productGallery.js");const useGalleryCarousel=e=>{let{builderPropUID:t,productImages:r,onHandleClick:a,activeIndexFormFeatureImage:s,onClickFeatureArrow:o,builderPropsClass:i,arrow:l,priorityFeatureImage:c,...u}=e,n=core.useCurrentDevice(),p=core.useFeaturedImageGlobal(),[d,y]=React.useState(o||""),h=core.useEditorMode(),[m,F]=React.useState(0),R=React.useRef(),[B,f]=React.useState(m),[g,I]=React.useState(!1),{filteredProductImages:S}=useFilterImagesByVariant.useFilterImagesByVariant({productImages:r,displayByVariant:u?.displayByVariant,variantSelect:u?.variantSelect});React.useEffect(()=>{y(o||"")},[o]),React.useEffect(()=>{R.current&&clearTimeout(R.current),d&&(R.current=setTimeout(()=>{F(s||0),y("")}))},[s]),React.useEffect(()=>{if(c){let e=S?.findIndex(e=>e.id===c.id)||0;F(e),y("")}},[c,S]),React.useEffect(()=>{let e=S?.findIndex(e=>e.id===p?.id);F(e||0),y("")},[p,S]);let q=React.useMemo(()=>productGallery.getShapeByLayout({shape:u.shape,shapeForBottom:u.shapeForBottom,shapeFor1Col:u.shapeFor1Col,shapeFor2Col:u.shapeFor2Col,shapeForFtOnly:u.shapeForFtOnly,shapeForInsideBottom:u.shapeForInsideBottom,shapeForInside:u.shapeForInside},u.position),[u.shape,u.shapeForBottom,u.shapeFor1Col,u.shapeFor2Col,u.shapeForFtOnly,u.position,u.shapeForInsideBottom,u.shapeForInside]),v=React.useCallback(()=>{helpers.handleSetSrcForProductImageList({builderPropUID:t,shapeByLayout:q,qualityType:u.qualityType,qualityPercent:u.qualityPercent})},[q,u.qualityPercent,u.qualityType,t]);React.useEffect(()=>{if("edit"===h)return;let e=document?.querySelector(`.gem-slider-item-${t} .product-list-image`);if(!e)return;v();let r=new ResizeObserver(()=>{v()});return r?.observe(e,{}),()=>{r?.disconnect()}},[v,t,h]);let C=core.getResponsiveValueByScreen(u.clickOpenLightBox,n),G=React.useMemo(()=>{let e=productGallery.checkDisplayGalleryByWidth({shapeByLayout:q});return core.getResponsiveValueByScreen(e,n)},[q,n]),V=React.useMemo(()=>u?.borderActive?.border!=="none",[u?.borderActive?.border]),b=core.getResponsiveValueByScreen(u?.clickOpenLightBox,n),E=e=>{a&&a(e||"",C)};return React.useEffect(()=>{let e;return S&&S.length>0&&g&&(e=setTimeout(()=>{f(m)},80)),()=>{e&&clearTimeout(e)}},[m,S,g]),{moveToIdx:m,isDisplay:G,shapeByLayout:q,isEnableBorderActive:V,isShowButtonLightbox:b,filteredProductImages:S,handleClickCarouselItem:E,setSliderReady:I,safeMoveToIdx:B}};exports.useGalleryCarousel=useGalleryCarousel;
@@ -0,0 +1 @@
1
+ "use strict";var core=require("@gem-sdk/core"),React=require("react"),common=require("../common/common.js"),productFeaturedImage=require("../common/productFeaturedImage.js"),useFilterImagesByVariant=require("./useFilterImagesByVariant.js"),helpers=require("../../../../image/common/helpers.js");const useProductFeaturedImageCarousel=e=>{let t;let{productImages:r,imgRef:a,onHandleClick:u,onClickArrow:o,onHandleLoaded:i,onHandleUpdateActiveIndex:c,builderPropUID:n,builderPropsClass:s,children:l,parentUid:d,...m}=e,h=core.useFeaturedImageGlobal(),g=core.useCurrentDevice(),p=React.createRef(),{onListener:f,ref:y}=core.useInteraction(),I=core.useEditorMode(),{filteredProductImages:R}=useFilterImagesByVariant.useFilterImagesByVariant({productImages:r,displayByVariant:m?.displayByVariant,variantSelect:m?.variantSelect}),S=React.useMemo(()=>{let e=R?.findIndex(e=>e.id===h?.id);return e&&e>=0?e:0},[R,h]),q=React.useMemo(()=>productFeaturedImage.checkRenderFeaturedCarousel(m),[m]),v=React.useMemo(()=>{if(R?.length)return h||R?.[0]},[R,h]),F=React.useMemo(()=>"popup"===core.getResponsiveValueByScreen(m.ftClickOpenLightBox,g),[m.ftClickOpenLightBox,g]),k=React.useMemo(()=>m?.otherImage?R&&m.otherImage>=R.length-1||R&&-1===m.otherImage?R.length-1:m.otherImage:0,[m?.otherImage,R]),b=React.useMemo(()=>m?.hoverEffect==="other"?R?.[k]:R?.find(e=>e.id===h?.id)||R?.[0],[h?.id,k,R,m?.hoverEffect]),B=function(){return Math.random().toString(36).substr(2,5)},C=e=>{t&&clearTimeout(t),t=setTimeout(()=>c&&c(e),500)},M=e=>{let t="1/1",r=0;return e?e.width&&e.height&&(t=`${e.width}/${e.height}`):R?.forEach(e=>{if(e.width&&e.height){let a=e.height/e.width;a>r&&(r=a,t=`${e.width}/${e.height}`)}}),t},E=e=>{let t=common.getAspectRatio(m.ftShape),r=M(e);return{desktop:t.desktop??r,tablet:t.tablet??r,mobile:t.mobile??r}},P=React.useCallback(()=>{helpers.handleSetSrcForFeatureProductImage({builderPropUID:n,ftShape:m.ftShape,qualityType:m.qualityType,qualityPercent:m.qualityPercent})},[m.ftShape,m.qualityPercent,m.qualityType,n]),V=()=>{let e=`[data-id="${n}"]`;f({event:"gp:change-image-step",selector:e},t=>{let r=(y.current||document).querySelector(e),{data:a,isRollback:u,uniqueStorageKey:o}=t||{};p?.current?.moveToSlideInteraction({element:r,data:a,isRollback:u,key:o})}),f({event:"gp:change-next-slide",selector:e},t=>{let r=(y.current||document).querySelector(e),{data:a,isRollback:u,uniqueStorageKey:o}=t||{};p?.current?.nextSlideInteraction({element:r,data:a,isRollback:u,key:o})}),f({event:"gp:change-previous-slide",selector:e},t=>{let r=(y.current||document).querySelector(e),{data:a,isRollback:u,uniqueStorageKey:o}=t||{};p?.current?.previousSlideInteraction({element:r,data:a,isRollback:u,key:o})})};return React.useEffect(()=>{if("edit"===I)return;let e=document?.querySelector(`.gem-slider-item-${n} .featured-image-only`);if(!e)return;P();let t=new ResizeObserver(()=>{P()});return t?.observe(e,{}),()=>{t?.disconnect()}},[P,n,I]),React.useEffect(()=>{V()},[]),React.useEffect(()=>{!q&&i&&i(!0,0)},[q,i]),{ref:y,imageActive:v,imageActiveIndex:S,imageShowWhenHover:b,enableOpenLightBox:F,filteredProductImages:R,isRenderFeatureCarousel:q,genRandomKey:B,getAspectRatioFinal:E,emitUpdateActiveIndex:C}};exports.useProductFeaturedImageCarousel=useProductFeaturedImageCarousel;
@@ -0,0 +1 @@
1
+ "use strict";var core=require("@gem-sdk/core"),React=require("react"),productGallery=require("../common/productGallery.js"),useFilterImagesByVariant=require("./useFilterImagesByVariant.js"),helpers=require("../../../../image/common/helpers.js");const useProductGalleryGrid=e=>{let{builderPropUID:r,productImages:t,activeIndexFromFeatureImage:a,children:o,isHiddenInteraction:s,...i}=e,l=core.useCurrentDevice(),c=core.useFeaturedImageGlobal(),[u,n]=React.useState(0),y=core.useEditorMode(),{filteredProductImages:d}=useFilterImagesByVariant.useFilterImagesByVariant({productImages:t,displayByVariant:i?.displayByVariant,variantSelect:i?.variantSelect}),p=productGallery.getShapeByLayout({shape:i.shape,shapeForBottom:i.shapeForBottom,shapeFor1Col:i.shapeFor1Col,shapeFor2Col:i.shapeFor2Col,shapeForFtOnly:i.shapeForFtOnly,shapeForInsideBottom:i.shapeForInsideBottom,shapeForInside:i.shapeForInside},i.position),h=core.getResponsiveValueByScreen(i.clickOpenLightBox,l),F=productGallery.checkDisplayGalleryByWidth({shapeByLayout:p}),m=core.getResponsiveValueByScreen(F,l),B=i?.borderActive?.border!=="none",g=React.useCallback(()=>{helpers.handleSetSrcForProductImageList({builderPropUID:r,shapeByLayout:p,qualityType:i.qualityType,qualityPercent:i.qualityPercent})},[p,i.qualityPercent,i.qualityType,r]);return React.useEffect(()=>{n(a||0)},[a]),React.useEffect(()=>{let e=d?.findIndex(e=>e.id===c?.id);n(e&&e>0?e:0)},[c,d]),React.useEffect(()=>{if("edit"===y)return;let e=document?.querySelector(".grid-gallery");if(!e)return;g();let r=new ResizeObserver(()=>{g()});return r?.observe(e,{}),()=>{r?.disconnect()}},[g,r,y]),{isDisplay:m,shapeByLayout:p,imageActiveIndex:u,enableOpenLightBox:h,isEnableBorderActive:B,filteredProductImages:d}};exports.useProductGalleryGrid=useProductGalleryGrid;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),dynamic=require("next/dynamic"),Loading=require("../../../common/components/Loading.js"),React=require("react"),core=require("@gem-sdk/core"),SalePageProductListWarning=require("../SalePageProductListWarning.js"),Head=require("next/head"),ProductListGridLayout=require("./ProductListGridLayout.js"),ProductListCarouselLayout=require("./ProductListCarouselLayout.js"),styles=require("./common/styles.js"),system=require("@gem-sdk/system"),classes=require("./common/classes.js"),helpers=require("./common/helpers.js"),helpers$1=require("../../../dialog/common/helpers.js");const ProductNotFound=dynamic(()=>Promise.resolve().then(function(){return require("../ProductNotFound.js")}),{loading:Loading.default}),ProductList=e=>{let{children:t,styles:r,builderProps:o,setting:s,builderAttrs:a}=e,{isRelatedProduct:d,productSetting:i}=helpers.getData(e),l=i.relatedTag&&i.relatedTag[0],{isEditMode:c,isPreviewSharePageMode:u}=core.useRenderMode(),n=core.useCurrentDevice(),m=core.usePageType(),g=core.usePageStore(e=>e.dynamicProduct),h=core.usePageStore(e=>e.dynamicCollection),[P,j]=React.useState(1),[p,x]=React.useState(!0),[f,y]=React.useState(),[R,v]=React.useState(!1),b="GP_FUNNEL_PAGE"===m,T="GP_COLLECTION"==m;T&&(i.productSrc="DynamicCollection",i.collectionId=h?.collectionId??"latest");let I=i?.productSrc??"Collection",S=g?.productId&&g?.productId!==i.relatedProductId?g?.productId:i.relatedProductId,k=core.useFetchHandle(),L=core.usePageStore(e=>e.publicStoreFrontData),C=React.useMemo(()=>core.hasPublicStoreFrontData(L)?core.createStoreFrontFetcher(L):k,[L]),{data:O}=core.useProductQuery(d&&S?S:void 0,{revalidateOnMount:c||u},C),E=i.relatedTag&&"tags"===i.relatedTag[0]&&(!O?.tags||O?.tags.length===0),N=i.relatedTag&&"collection"===i.relatedTag[0]&&(!O?.collections?.edges||O?.collections.edges.length===0),q=i.relatedTag&&"vendor"===i.relatedTag[0]&&!O?.vendor,M=E||N||q,w=core.useProductsQueryAll(f,{revalidateOnMount:c||u},C),W=c||u,F=core.useProductsQuery("PickProduct"===I?i?.productIds:void 0,{revalidateOnMount:W},{defaultSelectedProductCount:i?.numOfSelectedProducts}),G=React.useMemo(()=>({id:i?.collectionId??"latest",numberOfProducts:s?.numberOfProducts??4,orderBy:s?.orderBy}),[i?.collectionId,Number(s?.numberOfProducts),s?.orderBy]),Q=core.useCollectionQuery("PickProduct"!==I?G:void 0,{revalidateOnMount:W});React.useEffect(()=>{if(d&&O&&i.relatedTag&&"recommended-product"!==i.relatedType){let e;switch(v(!1),i.hasRelatedExclude&&(e=i?.relatedExclude&&i.relatedExclude.split(",").map(e=>e.trim())),i.relatedTag[0]){case"vendor":y({vendor:i.relatedTag&&"vendor"===i.relatedTag[0]?O?.vendor:"",limit:s?.numberOfProducts,idNEQ:O.id});break;case"collection":{let t;let r=O?.collections?.edges.map(e=>e.node?.id);if(!r||r?.length===0){v(!0);break}y(t=e&&e.length>0?{idNEQ:O.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:r},{titleNotIn:e}]}],limit:s?.numberOfProducts}:{idNEQ:O.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:r}]}],limit:s?.numberOfProducts});break}case"tags":{let t;if(!O.tags||0===O.tags.length){v(!0);break}y(t=e&&e.length>0?{idNEQ:O.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:O.tags},{nameNotIn:e}]}],limit:s?.numberOfProducts}:{idNEQ:O.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:O.tags}]}],limit:s?.numberOfProducts})}}}},[O,i.relatedType,i.relatedTag,s?.numberOfProducts,i.relatedExclude,i.hasRelatedExclude,d]);let B="PickProduct"===I?F.isValidating:Q.isValidating,D="PickProduct"===I?F.isLoading:Q.isLoading,A="PickProduct"===I?F.error:Q.error,H=Q.data?.collections?.edges?.[0]?.node,$="PickProduct"===I?core.flattenConnection(F.data?.products):core.flattenConnection(H?.products),_=w?.data?.products?core.flattenConnection(w?.data?.products):void 0,z=d&&_?_:"PickProduct"===I&&i?.productIds?.length?i?.productIds?.map(e=>$?.find(t=>t?.baseID===e)).filter(Boolean)??$:"PickProduct"!==I?$:$.filter((e,t)=>t<(i?.numOfSelectedProducts??4)),V=React.useMemo(()=>R&&d&&c||!z.length&&!D&&p&&c,[p,D,R,d,c,z.length]),U=React.useMemo(()=>!z||R&&d,[R,d,z]),J=React.useMemo(()=>{if(!s?.sameHeight)return[];let e=0,t=Math.ceil((z?.length??0)/+(s?.slidesToShow?.[n]??1));return Array.from(Array(z?.length??0)).map((o,a)=>(a>=+(s?.slidesToShow?.[n]??1)*(e+1)&&++e,{gridRow:`${1+P*e}/${P+1+P*e}`,marginBottom:e+1<t?helpers$1.getPropertyByDevice(r?.horizontalGutter,n):void 0}))},[s?.sameHeight,s?.slidesToShow,P,z?.length,n,r?.horizontalGutter]),K=React.useMemo(()=>B||D||A||!z||R&&d,[A,D,R,d,B,z]);React.useEffect(()=>{K||setTimeout(()=>{let{builderData:e}=o??{},t=e?.childrens?.[0];if(!t)return;let r=document.querySelector(`[data-id=${t}] div`);r&&j(r.childElementCount||1)},c?0:500)},[o,K,c]);let X=React.useMemo(()=>({collection:H,products:z,settings:{loop:s?.loop??{desktop:!1},scrollMode:s?.scrollMode??{desktop:"snap"},slidesToShow:s?.slidesToShow??{desktop:4,tablet:3,mobile:1},layout:r?.layout,dot:s?.dot,dotStyle:s?.dotStyle,arrow:s?.arrow,controlOverContent:s?.controlOverContent},styles:{horizontalGutter:r?.horizontalGutter,verticalGutter:r?.verticalGutter,fullWidth:r?.fullWidth,spacing:r?.spacing,width:r?.width,height:r?.height}}),[H,z,s,r]);if(o?.isPreview&&b)return jsxRuntime.jsx(jsxRuntime.Fragment,{});if(V)return jsxRuntime.jsx(jsxRuntime.Fragment,{children:system.If(p,jsxRuntime.jsx(ProductNotFound,{builderAttrs:a,collectionHandle:H?.handle,productSrc:I,onClose:()=>x(!1),children:t,relatedTagString:l,assignProductNoTags:M,noAssignedProduct:!S}))});let{productListWrapStyle:Y,productListContentStyle:Z,productListWrapAlignStyle:ee}=styles.getStyle(e),{productListWrapClass:et}=classes.getClass(e),er=()=>jsxRuntime.jsx(jsxRuntime.Fragment,{children:system.If(r?.layout==="grid",jsxRuntime.jsx(ProductListGridLayout.default,{...e,productSortedById:z,generateGridRowArray:J}),jsxRuntime.jsx(ProductListCarouselLayout.default,{...e,productSortedById:z}))});return jsxRuntime.jsxs("div",{...a,className:et,style:Y,children:[!!r?.preloadBgImage&&jsxRuntime.jsxs(Head,{children:[!!r.backgroundImage?.desktop?.image?.src&&jsxRuntime.jsx("link",{rel:"preload",href:r.backgroundImage.desktop.image.src,as:"image"}),!!r.backgroundImage?.tablet?.image?.src&&jsxRuntime.jsx("link",{rel:"preload",href:r.backgroundImage?.tablet?.image?.src,as:"image"}),!!r.backgroundImage?.mobile?.image?.src&&jsxRuntime.jsx("link",{rel:"preload",href:r.backgroundImage?.mobile?.image?.src,as:"image"})]}),B||D?jsxRuntime.jsx(Loading.default,{}):A?jsxRuntime.jsxs("div",{children:["Error: ",A?.message]}):U?jsxRuntime.jsx("div",{children:"Products not found"}):jsxRuntime.jsx(core.ProductListProvider,{...X,children:jsxRuntime.jsx("div",{className:"gp-flex gp-w-full",style:ee,children:jsxRuntime.jsxs("div",{style:Z,children:[b&&jsxRuntime.jsx(SalePageProductListWarning.default,{}),er()]})})}),core.filterToolbarPreview(t,!0)]})};exports.default=ProductList;
@@ -0,0 +1,205 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var core=require("@gem-sdk/core"),helpers$1=require("../../../helpers.js"),system=require("@gem-sdk/system"),ProductListCarouselLayout_liquid=require("./ProductListCarouselLayout.liquid.js"),ProductListGridLayout_liquid=require("./ProductListGridLayout.liquid.js"),styles=require("./common/styles.js"),classes=require("./common/classes.js"),helpers=require("./common/helpers.js");const ProductList=e=>{let{setting:s,styles:t,pageContext:i}=e,r=i?.pageType==="GP_FUNNEL_PAGE";if(r)return"";let{hasRelatedExclude:d,relatedExcludeTrim:a,collectionID:o,isLatestProducts:c,isGrid:l,numberOfProducts:n,productListId:u,productListHandles:g,sortedBy:p,isReverse:f,productSrc:m,productNumber:P,isSorted:$,relatedTag:h,collectionHandle:y}=helpers.getDataLiquid(e),_=()=>core.template`
2
+ ${core.RenderIf("RelatedProduct"===m,`
3
+ assign relatedTag = '${h}'
4
+ assign assignProduct = product
5
+ assign idAssignProduct = assignProduct.id
6
+ paginate collections.all.products by 10000
7
+ assign allProductsPaginated = collections.all.products
8
+ endpaginate
9
+ assign handleAssignProduct = assignProduct.handle
10
+ case relatedTag
11
+ when 'collection'
12
+ assign hasRelatedExclude = ${d}
13
+ if hasRelatedExclude
14
+ assign relatedExclude = '${a}'
15
+ else
16
+ assign relatedExclude = ''
17
+ endif
18
+ assign arrayRelatedExclude = relatedExclude | split: ","
19
+ assign idSelectedList = ''
20
+ assign relatedListProduct = null
21
+ for collection in collections
22
+ assign collectionId = collection.id
23
+ assign isInCollection = false
24
+ assign collectionsAssignProduct = assignProduct.collections
25
+ for item in collectionsAssignProduct
26
+ unless arrayRelatedExclude contains item.handle
27
+ if item.id == collectionId
28
+ for product in collection.products
29
+ assign product_ids_array = idSelectedList | split: ","
30
+ if product_ids_array contains product.id or product.id == idAssignProduct
31
+ elsif product_ids_array.size > limit
32
+ break
33
+ else
34
+ assign idSelectedList = idSelectedList | append: "," | append: product.id
35
+ assign productSelected = product | sort
36
+ assign relatedListProduct = relatedListProduct | concat: productSelected
37
+ endif
38
+ endfor
39
+ endif
40
+ endunless
41
+ endfor
42
+ endfor
43
+ assign products = relatedListProduct | uniq
44
+ when 'vendor'
45
+ assign vendorAssignProduct = assignProduct.vendor
46
+ assign productFilter = allProductsPaginated | where: 'vendor', vendorAssignProduct
47
+ for item in productFilter
48
+ assign itemHandle = item.handle
49
+ assign productF = item | sort
50
+ if itemHandle != handleAssignProduct
51
+ assign products = products | concat: productF
52
+ endif
53
+ endfor
54
+ when 'production-type'
55
+ assign typeAssignProduct = assignProduct.type
56
+ assign productFilter = allProductsPaginated | where: 'type', typeAssignProduct
57
+ for item in productFilter
58
+ assign itemHandle = item.handle
59
+ assign productF = item | sort
60
+ if itemHandle != handleAssignProduct
61
+ assign products = products | concat: productF
62
+ endif
63
+ endfor
64
+ when 'tags'
65
+ assign tagsAssignProduct = assignProduct.tags
66
+ assign hasRelatedExclude = ${d}
67
+ if hasRelatedExclude
68
+ assign relatedExclude = '${a}'
69
+ else
70
+ assign relatedExclude = ''
71
+ endif
72
+ assign arrayRelatedExclude = relatedExclude | split: ","
73
+ for item in allProductsPaginated
74
+ unless unique_products contains item.handle
75
+ assign isExcludedProduct = false
76
+ for tagExclude in arrayRelatedExclude
77
+ if item.tags contains tagExclude
78
+ assign isExcludedProduct = true
79
+ endif
80
+ endfor
81
+ unless isExcludedProduct
82
+ for tag in tagsAssignProduct
83
+ if item.tags contains tag and assignProduct.handle != item.handle
84
+ assign productF = item | sort
85
+ assign products = products | concat: productF
86
+ break
87
+ endif
88
+ endfor
89
+ endunless
90
+ endunless
91
+ endfor
92
+ assign products = products | uniq
93
+ endcase
94
+ paginate products by ${n||4}
95
+ assign products = products
96
+ endpaginate
97
+ `)}
98
+ `,L=()=>{let e=y?`
99
+ assign target_collection = collections['${y}']
100
+ if target_collection == empty
101
+ for collection in collections
102
+ if collection.id == ${o}
103
+ assign target_collection = collection
104
+ break
105
+ endif
106
+ endfor
107
+ endif
108
+ `:`
109
+ for collection in collections
110
+ if collection.id == ${o}
111
+ assign target_collection = collection
112
+ break
113
+ endif
114
+ endfor
115
+ `;return core.template`
116
+ {%- liquid
117
+ assign productHandles = '${g.toString()}'| split: ','
118
+ assign products = null
119
+ assign target_collection = null
120
+ assign productSrc = '${m}'
121
+ assign c = 0
122
+ assign limit = ${P??4}
123
+
124
+ if request.page_type == 'collection' or preview_page_type == 'collection'
125
+ assign target_collection = collection
126
+ if target_collection == empty or target_collection == null
127
+ if '${o.toLowerCase()}' == 'latest'
128
+ assign target_collection = collections | sort: 'updated_at' ${f?"| reverse":""} | first
129
+ else
130
+ ${e}
131
+ endif
132
+ endif
133
+ paginate target_collection.products by ${n||4}
134
+ assign products = target_collection.products ${$?p:""} ${f?"| reverse":""}
135
+ endpaginate
136
+ else
137
+ if productSrc == 'RelatedProduct'
138
+ ${_()}
139
+ elsif productSrc == 'PickProduct'
140
+ unless ${c}
141
+ assign products = null | sort
142
+ for handle in productHandles
143
+ assign productH = all_products[handle] | sort
144
+ assign products = products | concat: productH
145
+ endfor
146
+ assign limit = products.length
147
+ else
148
+ if ${u.length} == 0
149
+ paginate collections.all.products by 100000
150
+ assign products = collections.all.products | sort : "created_at" | reverse
151
+ endpaginate
152
+ endif
153
+ endunless
154
+ else
155
+ if '${o.toLowerCase()}' == 'latest'
156
+ assign target_collection = collections | sort: 'updated_at' ${f?"| reverse":""} | first
157
+ else
158
+ ${e}
159
+ endif
160
+ paginate target_collection.products by ${n||4}
161
+ assign products = target_collection.products ${$?p:""} ${f?"| reverse":""}
162
+ endpaginate
163
+ endif
164
+ endif
165
+ -%}
166
+ `},{productListWrapStyle:v,productListContentStyle:E,productListWrapAlignStyle:S}=styles.getStyle(e),{productListWrapClass:k}=classes.getClass(e),b=()=>core.template`
167
+ {%- if products == null -%}
168
+ {%- if count == 0 and ${u.length} == 0 -%}
169
+ {% if '${m}' == 'RelatedProduct' -%}
170
+ <div>${helpers$1.getStaticLocale("ProductList","no_related_products")}</div>
171
+ {% else %}
172
+ <div>${helpers$1.getStaticLocale("ProductList","no_products_found")}</div>
173
+ {%- endif -%}
174
+ {%- endif -%}
175
+ {%-else-%}
176
+ ${system.If(l,core.template`${ProductListGridLayout_liquid.default({...e,productListId:u,productSrc:m})}`,core.template`${ProductListCarouselLayout_liquid.default({...e,productListId:u,productSrc:m})}`)}
177
+ {%- endif -%}
178
+ `;return core.template`
179
+ ${core.RenderIf(core.isLocalEnv,`
180
+ <script ${helpers$1.getSettingPreloadData('class="gps-link" delay',"src")}="{{ 'gp-product-v7-5.js' | asset_url }}" defer="defer"></script>
181
+ ${s?.sameHeight?`<script ${helpers$1.getSettingPreloadData('class="gps-link" delay',"src")}="{{ 'gp-same-height-v7-5.js' | asset_url }}" defer="defer"></script>`:""}
182
+ `,`
183
+ <script ${helpers$1.getSettingPreloadData('class="gps-link" delay',"src")}="${core.baseAssetURL}/assets-v2/gp-product-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}" defer="defer"></script>
184
+ ${s?.sameHeight?`<script ${helpers$1.getSettingPreloadData('class="gps-link" delay',"src")}="${core.baseAssetURL}/assets-v2/gp-same-height-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}" defer="defer"></script>`:""}
185
+ `)}
186
+
187
+ ${core.RenderIf(!!t?.preloadBgImage,`${core.RenderIf(!!t?.backgroundImage?.desktop?.image?.src,`<link rel="preload" href="${t?.backgroundImage?.desktop?.image?.src}" as="image" />`)}${core.RenderIf(!!t?.backgroundImage?.tablet?.image?.src,`<link rel="preload" href="${t?.backgroundImage?.tablet?.image?.src}" as="image" />`)}${core.RenderIf(!!t?.backgroundImage?.mobile?.image?.src,`<link rel="preload" href="${t?.backgroundImage?.mobile?.image?.src}" as="image" />`)}`)}
188
+ <div
189
+ class="${k}"
190
+ style="${v}"
191
+ >
192
+ <div class='gp-flex gp-w-full' style="${S}">
193
+ <div
194
+ style="${E}"
195
+ >
196
+ {%- assign gpBkProduct = product -%}
197
+ {%- assign gpBkProducts = products -%}
198
+ ${L()}
199
+ ${b()}
200
+ {%- assign product = gpBkProduct -%}
201
+ {%- assign products = gpBkProducts -%}
202
+ </div>
203
+ </div>
204
+ </div>
205
+ `};exports.default=ProductList;
@@ -0,0 +1,15 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var core=require("@gem-sdk/core"),classes=require("./common/classes.js");const ProductListItem=e=>{let{pageContext:t,children:n}=e,{productItemClass:o,gpProductClass:a}=classes.getClass(e);return core.template`
2
+ <gp-product
3
+ gp-context='{"variantSelected": {{ variant | json | escape }}, "inventory_management": {{ variant.inventory_management | json | escape }}, "inventory_policy": {{ variant.inventory_policy | json | escape }}, "quantity": 1 , "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(t)}}'
5
+ class="${a}"
6
+
7
+ >
8
+ {%- form 'product', product, id: product_form_id, class: 'form contents ${o}', data-type: 'add-to-cart-form', autocomplete: 'off' -%}
9
+ <input type="hidden" name="id" value="{{ variant.id }}" />
10
+ <input type="hidden" min="1" name="quantity" value="{{ quantity }}" />
11
+ <button type="submit" onclick="return false;" style="display:none;"></button>
12
+ ${n}
13
+ {%- endform -%}
14
+ </gp-product>
15
+ `};exports.default=ProductListItem;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),core=require("@gem-sdk/core"),Carousel=require("../../../carousel-v3/components/root/Carousel.js"),CarouselItem=require("../../../carousel-v3/components/item/CarouselItem.js"),ChildrenDroppable=require("../../../grid/components/ChildrenDroppable.js"),helpers=require("./common/helpers.js"),attrs=require("./common/attrs.js"),styles=require("./common/styles.js"),classes=require("./common/classes.js");const ProductListCarouselLayout=e=>{let{children:s,builderProps:r,productSortedById:t,advanced:o}=e,l=core.useEditorMode(),{carouselConfigSetting:u,carouselConfigStyle:i}=helpers.getData(e),{productListAttr:a,getAttrProductItemEditor:c}=attrs.getAttr(e),{carouselItemStyle:d}=styles.getStyle(e),{carouselClass:n,productItemClass:m}=classes.getClass(e);return jsxRuntime.jsx(Carousel.default,{advanced:o,builderProps:{uid:r?.uid},rootAttrs:{...a},rootClass:n,setting:u,styles:i,isProductList:!0,children:t?.map(e=>jsxRuntime.jsx(CarouselItem.default,{style:d,children:jsxRuntime.jsx(core.ProductProvider,{product:e,readOnly:!0,children:jsxRuntime.jsx("div",{..."edit"===l?c(e?.baseID):{},className:m,children:core.isEmptyChildren(s)?jsxRuntime.jsx(ChildrenDroppable.default,{}):s})})},e?.baseID))})};exports.default=ProductListCarouselLayout;
@@ -0,0 +1,22 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var core=require("@gem-sdk/core"),CarouselItem_liquid=require("../../../carousel-v3/components/item/CarouselItem.liquid.js"),Carousel_liquid=require("../../../carousel-v3/components/root/Carousel.liquid.js"),helpers=require("./common/helpers.js"),classes=require("./common/classes.js"),styles=require("./common/styles.js"),helpers$1=require("../../../helpers.js"),ProductListCarouselItem_liquid=require("./ProductListCarouselItem.liquid.js");const ProductListCarouselLayout=e=>{let{builderProps:t,advanced:r,productSrc:s,productListId:i}=e,{carouselConfigSetting:o,carouselConfigStyle:u}=helpers.getData(e),{carouselItemStyle:l}=styles.getStyle(e),{carouselClass:d}=classes.getClass(e);return core.template`
2
+ ${Carousel_liquid.default({advanced:r,builderProps:{...t},rootAttrs:{"items-repeat":"true"},rootId:`product-list-carousel-${t?.uid}`,rootClass:d,setting:o,styles:u,isProductList:!0,children:`
3
+ {%- assign count = 0 -%}
4
+ {%- for product in products limit: limit -%}
5
+ {%- if product.id != empty -%}
6
+ {%- assign count = count | plus: 1 -%}
7
+ {%- assign variant = product.selected_or_first_available_variant -%}
8
+ {%- assign product_form_id = 'product-form-' | append: "${t?.uid}" | append: product.id -%}
9
+ ${CarouselItem_liquid.default({builderProps:{...t},style:l,parentId:`product-list-carousel-${t?.uid} gp-child-item-${t?.uid}`,parentStyle:u,parentSettings:o,background:o?.background,children:`
10
+ ${ProductListCarouselItem_liquid.default({...e})}
11
+ `})}
12
+ {%- endif -%}
13
+ {% endfor %}
14
+ {%- if count == 0 and ${i.length} == 0 -%}
15
+ {% if '${s}' == 'RelatedProduct' -%}
16
+ <div>${helpers$1.getStaticLocale("ProductList","no_related_products")}</div>
17
+ {% else %}
18
+ <div>${helpers$1.getStaticLocale("ProductList","no_products_found")}</div>
19
+ {%- endif -%}
20
+ {%- endif -%}
21
+ `})}
22
+ `};exports.default=ProductListCarouselLayout;
@@ -0,0 +1,19 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var core=require("@gem-sdk/core"),classes=require("./common/classes.js");const ProductListItem=e=>{let{pageContext:t,rawChildren:n}=e,{productItemClass:o,gpProductClass:a}=classes.getClass(e),r=()=>core.template`
2
+ ${n?.map((e,t)=>{if(e)return core.template`
3
+ ${core.RenderChildren({...e,index:t})}
4
+ `}).join("")}
5
+ `;return core.template`
6
+ <gp-product
7
+ gp-context='{"variantSelected": {{ variant | json | escape }}, "inventory_management": {{ variant.inventory_management | json | escape }}, "inventory_policy": {{ variant.inventory_policy | json | escape }}, "quantity": 1 , "formId": "{{ product_form_id }}"}'
8
+ 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(t)}}'
9
+ class="${a}"
10
+
11
+ >
12
+ {%- form 'product', product, id: product_form_id, class: 'form contents ${o}', data-type: 'add-to-cart-form', autocomplete: 'off' -%}
13
+ <input type="hidden" name="id" value="{{ variant.id }}" />
14
+ <input type="hidden" min="1" name="quantity" value="{{ quantity }}" />
15
+ <button type="submit" onclick="return false;" style="display:none;"></button>
16
+ ${r()}
17
+ {%- endform -%}
18
+ </gp-product>
19
+ `};exports.default=ProductListItem;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),React=require("react"),core=require("@gem-sdk/core"),ChildrenDroppable=require("../../../grid/components/ChildrenDroppable.js"),styles=require("./common/styles.js"),classes=require("./common/classes.js"),attrs=require("./common/attrs.js");const ProductListGridLayout=e=>{let{children:r,productSortedById:t,generateGridRowArray:s,setting:i}=e,l=core.useEditorMode(),{gridLayoutStyle:a}=styles.getStyle(e),{gridLayoutClass:o,productItemClass:c}=classes.getClass(e),{productListAttr:d,getAttrProductItemEditor:n}=attrs.getAttr(e);return jsxRuntime.jsx("div",{...d,style:a,className:o,children:t?.length?t?.map((e,t)=>jsxRuntime.jsx(core.ProductProvider,{product:e,readOnly:!0,children:jsxRuntime.jsx("div",{..."edit"===l?n(e?.baseID):{},className:c,style:{"--grchild":i?.sameHeight?s?.[t]?.gridRow:void 0,"--mbchild":s?.[t]?.marginBottom},children:core.isEmptyChildren(r)?jsxRuntime.jsx(ChildrenDroppable.default,{}):React.Children.map(r,e=>React.isValidElement(e)?React.createElement(e.type,{...e.props,key:e.key}):null)})},e?.baseID)):null})};exports.default=ProductListGridLayout;
@@ -0,0 +1,34 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var core=require("@gem-sdk/core"),styles=require("./common/styles.js"),classes=require("./common/classes.js"),attrs=require("./common/attrs.js"),ProductListGridItem_liquid=require("./ProductListGridItem.liquid.js"),helpers=require("../../../helpers.js");const ProductListGridLayout=e=>{let{setting:t,builderProps:s,styles:r,productListId:i,productSrc:d}=e,{gridLayoutStyle:o}=styles.getStyle(e),{gridLayoutClass:a}=classes.getClass(e),{productListAttr:c}=attrs.getAttr(e),l=e=>core.template`
2
+ <gp-same-height
3
+ class="gp-contents"
4
+ style="visibility: hidden"
5
+ gp-data='${JSON.stringify({targetUid:s?.builderData?.childrens?.[0],slidesToShow:t?.slidesToShow,rowGap:r?.horizontalGutter})}'>
6
+ ${e}
7
+ </gp-same-height>
8
+ `,u=()=>core.template`
9
+ {%- assign count = 0 -%}
10
+ {%- for product in products limit: limit -%}
11
+ {%- if product.id != empty -%}
12
+ {%- assign count = count | plus: 1 -%}
13
+ {%- assign variant = product.selected_or_first_available_variant -%}
14
+ {%- assign product_form_id = 'product-form-' | append: "${s?.uid}" | append: product.id -%}
15
+ ${ProductListGridItem_liquid.default({...e})}
16
+ {%- endif -%}
17
+ {% endfor %}
18
+ {%- if count == 0 and ${i?.length} == 0 -%}
19
+ {% if '${d}' == 'RelatedProduct' -%}
20
+ <div>${helpers.getStaticLocale("ProductList","no_related_products")}</div>
21
+ {% else %}
22
+ <div>${helpers.getStaticLocale("ProductList","no_products_found")}</div>
23
+ {%- endif -%}
24
+ {%- endif -%}
25
+ `;return core.template`
26
+ <div
27
+ ${c}
28
+ style="${o}"
29
+ class="${a}"
30
+ >
31
+ ${core.RenderIf(t?.sameHeight,l(`${u()}`))}
32
+ ${core.RenderIf(!t?.sameHeight,core.template`${u()}`)}
33
+ </div>
34
+ `};exports.default=ProductListGridLayout;
@@ -0,0 +1 @@
1
+ "use strict";var system=require("@gem-sdk/system");const getAttr=t=>{let{builderProps:e}=t,r=system.createAttr({"items-repeat":!0,"data-id":e?.uid??""}),a=t=>system.createAttr({"data-component-type":"component","data-component-tag":"Product","data-component-label":"Product","data-component-no-setting":!0,"data-product-id":t?.replace("gid://shopify/Product/","")??""});return{productListAttr:r,getAttrProductItemEditor:a}};exports.getAttr=getAttr;
@@ -0,0 +1 @@
1
+ "use strict";var system=require("@gem-sdk/system");const getClass=s=>{let{setting:e,className:t,builderProps:g,advanced:a,styles:r}=s,i=system.createClass({...t&&{[t]:!0},...a?.cssClass&&{[a.cssClass]:!0},"!gp-m-auto gp-grid gp-w-full":!0,"gp-grid-flow-row":e?.sameHeight}),l=system.createClass({"gp-relative gp-flex":!0,[`${g?.builderData?.uid}`]:!0}),p=system.createClass({"gp-contents":e?.sameHeight&&r?.layout==="grid"}),c=system.createClass({"gp-justify-center":!0,"gp-overflow-hidden":!e?.sameHeight}),m=system.createClass({"gp-contents [&>*>div]:gp-contents [&>*]:gp-grid-rows-[subgrid] [&>*]:gp-gap-y-0":e?.sameHeight,[`gp-child-item-${g?.uid}`]:!0});return{gridLayoutClass:i,productItemClass:m,carouselClass:c,productListWrapClass:l,gpProductClass:p}};exports.getClass=getClass;
@@ -0,0 +1 @@
1
+ "use strict";var product=require("../../../helpers/product.js"),productFeaturedImage=require("../../product-images/common/productFeaturedImage.js"),helpers=require("../../../../carousel-v3/components/dot/common/helpers.js");const getData=e=>{let{setting:t,styles:o}=e,r=t?.productSetting??{},d="RelatedProduct"===r.productSrc,c=helpers.getUpdatedDotStyle(t?.dot,t?.dotStyle),l={dotSize:{desktop:12},dotGapToCarousel:{desktop:16},arrowIconSize:{desktop:24},showWhenHover:!1,rtl:!1,...t};delete l.childItem;let a={...o,sizeSetting:{...product.getSizeSetting({adaptiveHeight:o?.adaptiveHeight,height:o?.height,fullWidth:{desktop:!0}})},spacing:o?.spacing};return delete a.backgroundColor,delete a.backgroundImage,{isRelatedProduct:d,productSetting:r,dotStyle:c,carouselConfigSetting:l,carouselConfigStyle:a}},getDataLiquid=e=>{let{setting:t,styles:o}=e,r=t?.productSetting,d=r?.relatedTag,c=r?.hasRelatedExclude,l=(d&&"collection"===d[0]?r?.relatedCollectionExclude:r?.relatedTagsExclude)??"",a=l?.split(",").map(e=>e.trim()).toString(),i=r?.productSrc??"Collection",u=r?.collectionId?.replace(PREFIX_COLLECTION_ID,"")??"latest",p=r?.productSrc==="PickProduct"&&r?.productIds?.length===0,n=o?.layout==="grid",s=productFeaturedImage.convertUnitToNumber(t?.numberOfProducts,4),g="PickProduct"===i&&r?.productIds?.length?r?.productIds.map(e=>e.replace(PREFIX_PRODUCT_ID,"")):[],I="PickProduct"===i&&r?.productHandles?.length?r?.productHandles:[],P=t?.orderBy&&t?.orderBy!=="none",h=(r?.productSrc==="Collection"||r?.productSrc==="DynamicCollection")&&P?t?.orderBy?.split("_"):"none",D=P&&h?.[0]==="TITLE"?"| sort: 'title'":"| sort: 'updated_at'",C=h?.[h.length-1]==="DESC",m=()=>"PickProduct"===i?p?4:r?.numOfSelectedProducts??4:s;return{hasRelatedExclude:c,relatedExcludeTrim:a,collectionID:u,isLatestProducts:p,isGrid:n,numberOfProducts:s,productListId:g,productListHandles:I,sortedBy:D,isReverse:C,productSrc:i,productSetting:r,isSorted:P,relatedTag:d,productNumber:m(),collectionHandle:r?.collectionHandle}},PREFIX_COLLECTION_ID="gid://shopify/Collection/",PREFIX_PRODUCT_ID="gid://shopify/Product/";exports.PREFIX_COLLECTION_ID=PREFIX_COLLECTION_ID,exports.PREFIX_PRODUCT_ID=PREFIX_PRODUCT_ID,exports.getData=getData,exports.getDataLiquid=getDataLiquid;
@@ -0,0 +1 @@
1
+ "use strict";var core=require("@gem-sdk/core"),system=require("@gem-sdk/system"),helpers=require("../../../../grid/components/row/common/helpers.js"),helpers$1=require("../../../../carousel-v3/common/helpers.js");const getStyle=e=>{let{setting:t,styles:o,style:r}=e,{background:s}=t??{},[l,a]=core.splitStyle(["pos","top","left","bottom","right","z","mb","mt","mb","ml","mr","d"],r),c=core.makeGlobalSize(o?.itemPadding),i=system.createStyle({...l}),n=system.createStyle({...core.makeStyleResponsive("jc",o?.align||{desktop:"center"})}),d=system.createStyle({...a,...core.makeStyleResponsive("w",helpers.createStyleObject(o?.width).content),...core.getBgByDevice({backgroundColor:o?.backgroundColor,backgroundImage:o?.backgroundImage})}),m=system.createStyle({...!t?.sameHeight&&core.makeStyleResponsive("rg",o?.horizontalGutter),...core.makeStyleResponsive("cg",o?.verticalGutter),...core.makeStyleResponsive("gtc",{desktop:`repeat(${core.getResponsiveValueByScreen(t?.slidesToShow,"desktop")}, minmax(0, 1fr))`,tablet:t?.slidesToShow?.tablet&&`repeat(${core.getResponsiveValueByScreen(t?.slidesToShow,"tablet")}, minmax(0, 1fr))`,mobile:t?.slidesToShow?.mobile&&`repeat(${core.getResponsiveValueByScreen(t?.slidesToShow,"mobile")}, minmax(0, 1fr))`})}),S=system.createStyle({...helpers$1.getInitialWidthForCarouselItem({spacing:o?.spacing,slidesToShow:t?.slidesToShow})}),y={...c&&c.padding,...core.makeStyle({bs:o?.borderContent?.border,bw:o?.borderContent?.width,bc:core.getSingleColorVariable(o?.borderContent?.color)}),...core.getRadiusStyleActiveState({...o?.roundedContent,active:{...o?.roundedContent||{},radiusType:"custom"}}),...core.getStyleShadow({value:o?.carouselShadow,styleAppliedFor:"box-shadow",isEnableShadow:o?.hasActiveShadow}),...core.getStyleBackgroundByDevice(s),...core.getGradientBgrStyleByDevice(s,{desktop:!0,tablet:!0,mobile:!0})},g=system.createStyle({...y});return{gridLayoutStyle:m,carouselItemStyle:S,productListWrapStyle:i,productListContentStyle:d,productListWrapAlignStyle:n,productItemStyle:g}};exports.getStyle=getStyle;
@@ -1 +1 @@
1
- "use strict";var Product=require("./components/product-wrap/Product.js");require("react/jsx-runtime"),require("next/link"),require("@gem-sdk/core"),require("react"),require("@gem-sdk/system"),require("../notification/components/Notifications.js"),require("../notification/components/Notice.js"),require("./components/product-button/types.js"),require("./components/product-variants/components/variants/index.js"),require("next/image"),require("@gem-sdk/keen-slider/react"),require("../modal/components/confirm.js"),require("react-dom"),require("../video/components/Video.js");var QuickView=require("./components/product-quick-view/QuickView.js");require("./components/constants/product-bundle.js");var ProductList=require("./components/product-list/ProductList.js");require("./components/product-bundle/common/styles.js"),require("./components/product-bundle/common/classes.js"),require("./components/product-badge/constants.js"),require("./components/product-badge/types.js"),require("./components/product-badge/utils/shape.js");var Product$1=require("./settings/Product.js"),ProductQuantity$1=require("./settings/ProductQuantity.js"),ProductTitle$1=require("./settings/ProductTitle.js"),ProductButton$1=require("./settings/ProductButton.js"),ProductPrice$1=require("./settings/ProductPrice.js"),ProductVariants$1=require("./settings/ProductVariants.js"),ProductImages$1=require("./settings/ProductImages.js"),ProductImages$2=require("./settings/product-image-v2/ProductImages.js"),ProductDescription$1=require("./settings/ProductDescription.js"),ProductProperties$1=require("./settings/ProductProperties.js"),ProductTag=require("./settings/ProductTag.js"),ProductList$1=require("./settings/ProductList.js"),DynamicCheckout$1=require("./settings/DynamicCheckout.js"),Vendor$1=require("./settings/Vendor.js"),Sku$1=require("./settings/Sku.js"),ProductBundleDiscount$1=require("./components/product-bundle/setting/ProductBundleDiscount.js"),ProductBundleDiscountItem$1=require("./components/product-bundle/setting/ProductBundleDiscountItem.js"),ProductViewMore$1=require("./settings/ProductViewMore.js"),ProductBadge$1=require("./settings/ProductBadge.js"),index=require("./components/file-upload/settings/index.js");const productSetting={Product:Product$1.default,ProductQuantity:ProductQuantity$1.default,ProductTitle:ProductTitle$1.default,ProductButton:ProductButton$1.default,ProductPrice:ProductPrice$1.default,ProductVariants:ProductVariants$1.default,ProductImages:ProductImages$1.default,ProductImagesV2:ProductImages$2.default,ProductDescription:ProductDescription$1.default,ProductProperties:ProductProperties$1.default,ProductTag:ProductTag.default,ProductList:ProductList$1.default,DynamicCheckout:DynamicCheckout$1.default,ProductVendor:Vendor$1.default,ProductSku:Sku$1.default,ProductBundleDiscount:ProductBundleDiscount$1.default,ProductBundleDiscountItem:ProductBundleDiscountItem$1.default,ProductViewMore:ProductViewMore$1.default,ProductBadge:ProductBadge$1.default,FileUpload:index.default};exports.Product=Product.default,exports.ProductQuickView=QuickView.default,exports.ProductList=ProductList.default,exports.productSetting=productSetting;
1
+ "use strict";var Product=require("./components/product-wrap/Product.js");require("react/jsx-runtime"),require("next/link"),require("@gem-sdk/core"),require("react"),require("@gem-sdk/system"),require("../notification/components/Notifications.js"),require("../notification/components/Notice.js"),require("./components/product-button/types.js"),require("./components/product-variants/components/variants/index.js"),require("next/image"),require("../modal/components/confirm.js"),require("react-dom"),require("../video/components/Video.js"),require("@gem-sdk/keen-slider/react");var QuickView=require("./components/product-quick-view/QuickView.js");require("./components/constants/product-bundle.js");var ProductList$1=require("./components/product-list-v3/ProductList.js"),ProductList=require("./components/product-list/ProductList.js");require("./components/product-bundle/common/styles.js"),require("./components/product-bundle/common/classes.js"),require("./components/product-badge/constants.js"),require("./components/product-badge/types.js"),require("./components/product-badge/utils/shape.js");var Product$1=require("./settings/Product.js"),ProductQuantity$1=require("./settings/ProductQuantity.js"),ProductTitle$1=require("./settings/ProductTitle.js"),ProductButton$1=require("./settings/ProductButton.js"),ProductPrice$1=require("./settings/ProductPrice.js"),ProductVariants$1=require("./settings/ProductVariants.js"),ProductImages$1=require("./settings/ProductImages.js"),ProductImages$3=require("./settings/product-image-v3/ProductImages.js"),ProductImages$2=require("./settings/product-image-v2/ProductImages.js"),ProductDescription$1=require("./settings/ProductDescription.js"),ProductProperties$1=require("./settings/ProductProperties.js"),ProductTag=require("./settings/ProductTag.js"),ProductListV3=require("./settings/ProductListV3.js"),ProductList$2=require("./settings/ProductList.js"),DynamicCheckout$1=require("./settings/DynamicCheckout.js"),Vendor$1=require("./settings/Vendor.js"),Sku$1=require("./settings/Sku.js"),ProductBundleDiscount$1=require("./components/product-bundle/setting/ProductBundleDiscount.js"),ProductBundleDiscountItem$1=require("./components/product-bundle/setting/ProductBundleDiscountItem.js"),ProductViewMore$1=require("./settings/ProductViewMore.js"),ProductBadge$1=require("./settings/ProductBadge.js"),index=require("./components/file-upload/settings/index.js");const productSetting={Product:Product$1.default,ProductQuantity:ProductQuantity$1.default,ProductTitle:ProductTitle$1.default,ProductButton:ProductButton$1.default,ProductPrice:ProductPrice$1.default,ProductVariants:ProductVariants$1.default,ProductImages:ProductImages$1.default,ProductImagesV2:ProductImages$2.default,ProductImagesV3:ProductImages$3.default,ProductDescription:ProductDescription$1.default,ProductProperties:ProductProperties$1.default,ProductTag:ProductTag.default,ProductListV3:ProductListV3.default,ProductList:ProductList$2.default,DynamicCheckout:DynamicCheckout$1.default,ProductVendor:Vendor$1.default,ProductSku:Sku$1.default,ProductBundleDiscount:ProductBundleDiscount$1.default,ProductBundleDiscountItem:ProductBundleDiscountItem$1.default,ProductViewMore:ProductViewMore$1.default,ProductBadge:ProductBadge$1.default,FileUpload:index.default};exports.Product=Product.default,exports.ProductQuickView=QuickView.default,exports.ProductListV3=ProductList$1.default,exports.ProductList=ProductList.default,exports.productSetting=productSetting;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var dynamic=require("next/dynamic"),Loading=require("../common/components/Loading.js");require("react/jsx-runtime"),require("react"),require("@gem-sdk/core");const Product=dynamic(()=>Promise.resolve().then(function(){return require("./components/product-wrap/Product.js")}),{loading:Loading.default}),ProductTitle=dynamic(()=>Promise.resolve().then(function(){return require("./components/product-title/ProductTitle.js")}),{loading:Loading.default}),ProductQuantity=dynamic(()=>Promise.resolve().then(function(){return require("./components/product-quantity/ProductQuantity.js")}),{loading:Loading.default}),ProductDescription=dynamic(()=>Promise.resolve().then(function(){return require("./components/product-description/ProductDescription.js")}),{loading:Loading.default}),ProductPrice=dynamic(()=>Promise.resolve().then(function(){return require("./components/product-price/ProductPrice.js")}),{loading:Loading.default}),ProductButton=dynamic(()=>Promise.resolve().then(function(){return require("./components/product-button/ProductButton.js")}),{loading:Loading.default}),ProductVariants=dynamic(()=>Promise.resolve().then(function(){return require("./components/product-variants/ProductVariants.js")}),{loading:Loading.default}),ProductImages=dynamic(()=>Promise.resolve().then(function(){return require("./components/ProductImages.js")}),{loading:Loading.default}),ProductImagesV2=dynamic(()=>Promise.resolve().then(function(){return require("./components/product-images-v2/ProductImageV2.js")}),{loading:Loading.default}),ProductProperties=dynamic(()=>Promise.resolve().then(function(){return require("./components/product-properties/ProductProperties.js")}),{loading:Loading.default}),ProductQuickView=dynamic(()=>Promise.resolve().then(function(){return require("./components/product-quick-view/QuickView.js")}),{ssr:!1}),ProductTag=dynamic(()=>Promise.resolve().then(function(){return require("./components/product-discount-tag/ProductDiscountTag.js")}),{loading:Loading.default}),ProductList=dynamic(()=>Promise.resolve().then(function(){return require("./components/product-list/ProductList.js")}),{loading:Loading.default}),DynamicCheckout=dynamic(()=>Promise.resolve().then(function(){return require("./components/dynamic-checkout/DynamicCheckout.js")}),{loading:Loading.default}),ProductVendor=dynamic(()=>Promise.resolve().then(function(){return require("./components/product-vendor/Vendor.js")}),{loading:Loading.default}),ProductSku=dynamic(()=>Promise.resolve().then(function(){return require("./components/product-sku/Sku.js")}),{loading:Loading.default}),ProductViewMore=dynamic(()=>Promise.resolve().then(function(){return require("./components/product-view-more/ProductViewMore.js")}),{loading:Loading.default}),ProductBadge=dynamic(()=>Promise.resolve().then(function(){return require("./components/product-badge/ProductBadge.js")}),{loading:Loading.default}),ProductBundleDiscount=dynamic(()=>Promise.resolve().then(function(){return require("./components/product-bundle/ProductBundleDiscount.js")}),{loading:Loading.default}),ProductBundleDiscountItem=dynamic(()=>Promise.resolve().then(function(){return require("./components/product-bundle/ProductBundleDiscountItem.js")}),{loading:Loading.default}),FileUpload=dynamic(()=>Promise.resolve().then(function(){return require("./components/file-upload/UploadFile.js")}),{loading:Loading.default});var product={Product,ProductTitle,ProductQuantity,ProductPrice,ProductButton,ProductDescription,ProductVariants,ProductImages,ProductImagesV2,ProductProperties,ProductQuickView,ProductTag,ProductList,DynamicCheckout,ProductVendor,ProductViewMore,ProductBadge,ProductBundleDiscount,ProductBundleDiscountItem,ProductSku,FileUpload};exports.default=product;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var dynamic=require("next/dynamic"),Loading=require("../common/components/Loading.js");require("react/jsx-runtime"),require("react"),require("@gem-sdk/core");const Product=dynamic(()=>Promise.resolve().then(function(){return require("./components/product-wrap/Product.js")}),{loading:Loading.default}),ProductTitle=dynamic(()=>Promise.resolve().then(function(){return require("./components/product-title/ProductTitle.js")}),{loading:Loading.default}),ProductQuantity=dynamic(()=>Promise.resolve().then(function(){return require("./components/product-quantity/ProductQuantity.js")}),{loading:Loading.default}),ProductDescription=dynamic(()=>Promise.resolve().then(function(){return require("./components/product-description/ProductDescription.js")}),{loading:Loading.default}),ProductPrice=dynamic(()=>Promise.resolve().then(function(){return require("./components/product-price/ProductPrice.js")}),{loading:Loading.default}),ProductButton=dynamic(()=>Promise.resolve().then(function(){return require("./components/product-button/ProductButton.js")}),{loading:Loading.default}),ProductVariants=dynamic(()=>Promise.resolve().then(function(){return require("./components/product-variants/ProductVariants.js")}),{loading:Loading.default}),ProductImages=dynamic(()=>Promise.resolve().then(function(){return require("./components/ProductImages.js")}),{loading:Loading.default}),ProductImagesV3=dynamic(()=>Promise.resolve().then(function(){return require("./components/product-images-v3/ProductImageV3.js")}),{loading:Loading.default}),ProductImagesV2=dynamic(()=>Promise.resolve().then(function(){return require("./components/product-images-v2/ProductImageV2.js")}),{loading:Loading.default}),ProductProperties=dynamic(()=>Promise.resolve().then(function(){return require("./components/product-properties/ProductProperties.js")}),{loading:Loading.default}),ProductQuickView=dynamic(()=>Promise.resolve().then(function(){return require("./components/product-quick-view/QuickView.js")}),{ssr:!1}),ProductTag=dynamic(()=>Promise.resolve().then(function(){return require("./components/product-discount-tag/ProductDiscountTag.js")}),{loading:Loading.default}),ProductListV3=dynamic(()=>Promise.resolve().then(function(){return require("./components/product-list-v3/ProductList.js")}),{loading:Loading.default}),ProductList=dynamic(()=>Promise.resolve().then(function(){return require("./components/product-list/ProductList.js")}),{loading:Loading.default}),DynamicCheckout=dynamic(()=>Promise.resolve().then(function(){return require("./components/dynamic-checkout/DynamicCheckout.js")}),{loading:Loading.default}),ProductVendor=dynamic(()=>Promise.resolve().then(function(){return require("./components/product-vendor/Vendor.js")}),{loading:Loading.default}),ProductSku=dynamic(()=>Promise.resolve().then(function(){return require("./components/product-sku/Sku.js")}),{loading:Loading.default}),ProductViewMore=dynamic(()=>Promise.resolve().then(function(){return require("./components/product-view-more/ProductViewMore.js")}),{loading:Loading.default}),ProductBadge=dynamic(()=>Promise.resolve().then(function(){return require("./components/product-badge/ProductBadge.js")}),{loading:Loading.default}),ProductBundleDiscount=dynamic(()=>Promise.resolve().then(function(){return require("./components/product-bundle/ProductBundleDiscount.js")}),{loading:Loading.default}),ProductBundleDiscountItem=dynamic(()=>Promise.resolve().then(function(){return require("./components/product-bundle/ProductBundleDiscountItem.js")}),{loading:Loading.default}),FileUpload=dynamic(()=>Promise.resolve().then(function(){return require("./components/file-upload/UploadFile.js")}),{loading:Loading.default});var product={Product,ProductTitle,ProductQuantity,ProductPrice,ProductButton,ProductDescription,ProductVariants,ProductImages,ProductImagesV3,ProductImagesV2,ProductProperties,ProductQuickView,ProductTag,ProductListV3,ProductList,DynamicCheckout,ProductVendor,ProductViewMore,ProductBadge,ProductBundleDiscount,ProductBundleDiscountItem,ProductSku,FileUpload};exports.default=product;
@@ -5,4 +5,4 @@
5
5
  <path d="M30.2528 27.8478C29.8846 27.8478 29.5862 27.5493 29.5862 27.1811V26.1002C29.5862 25.732 29.8846 25.4335 30.2528 25.4335H36.3481C36.7163 25.4335 37.0147 25.732 37.0147 26.1002V27.1811C37.0147 27.5493 36.7163 27.8478 36.3481 27.8478H30.2528Z" fill="currentColor"/>
6
6
  <path d="M7.96712 33.8834C7.59893 33.8834 7.30046 33.5849 7.30046 33.2168V32.1358C7.30046 31.7676 7.59893 31.4692 7.96712 31.4692H36.3481C36.7163 31.4692 37.0147 31.7676 37.0147 32.1358V33.2168C37.0147 33.5849 36.7163 33.8834 36.3481 33.8834H7.96712Z" fill="currentColor"/>
7
7
  </svg>
8
- `,settings:settings.ProductSettings,ui:uiV1.SettingUIV1,uiV2:uiV2.SettingUIV2,presets:presets.ProductPreset,editorConfigs:{slots:{children:!0},toolbar:{parent:!0},placeholder:{notAppendTags:["Product","ProductList","ContactForm","Newsletter","MarqueeItem","Marquee"]}},locales:{editor:{en:{product_not_found:"Product not found"}}}};exports.default=config;
8
+ `,settings:settings.ProductSettings,ui:uiV1.SettingUIV1,uiV2:uiV2.SettingUIV2,presets:presets.ProductPreset,editorConfigs:{slots:{children:!0},toolbar:{parent:!0},placeholder:{notAppendTags:["Product","ProductList","ProductListV3","ContactForm","Newsletter","MarqueeItem","Marquee"]}},locales:{editor:{en:{product_not_found:"Product not found"}}}};exports.default=config;