@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,26 @@
1
+ 'use client';
2
+ import{jsxs as e,jsx as t}from"react/jsx-runtime";import{setDefaultWhenUndefineSetting as a,getAspectRatio as i}from"./common/common.js";import{useProductShopifyEditLink as C,useProduct as o,useCurrentDevice as l,useCurrentVariant as d,useSelectedOption as r,useEditorMode as n,useProductStore as s,getResponsiveValueByScreen as p,filterToolbarPreview as c}from"@gem-sdk/core";import{useMemo as m,useState as f,useEffect as g,Children as h,isValidElement as u}from"react";import y from"./components/feature-gallery/FeatureImageWithGallery.js";import D from"./components/feature-only/OnlyFeatureImage.js";import I from"./components/lightbox/ProductImagesLightBox.js";import b from"../../../common/components/NoDataState.js";import{getProductImagesClassName as M}from"./composables/getProductImagesClassName.js";import{getBorderActiveCss as E}from"./common/getBorderActiveCss.js";import Z from"./components/gallery-grid/GalleryGrid.js";let getProductGallery=e=>e?.medias?.edges.map(e=>e?.node),LAYOUT_FEATURE_IMAGE_GALLERY=["bottom-left","bottom-center","left","right","inside-left","inside-right","inside-bottom"],ProductImagesV2=k=>{let w=m(()=>a(k),[k]),{redirectProductShopifyLink:L}=C(),{setting:A,styles:V,builderProps:v,builderAttrs:x,style:H,children:P}=w,G=o(),O=l(),T=d(),{isChangeSelectedOption:_}=r(),S=n(),j=s(e=>e.setProductFeaturedImage),[F,B]=f(!1),R=e=>e?.medias?.edges.find(e=>["VIDEO","EXTERNAL_VIDEO"].includes(e?.node?.contentType??""))?.node,N=e=>e?.featuredImage,U=e=>e?.medias?.edges.find(e=>e?.node?.contentType==="MODEL_3D")?.node,Y=m(()=>A?.typeDisplay==="all-images"&&!_,[_,A?.typeDisplay]),z=m(()=>{if(Y){let e;switch(A?.preDisplay){case"1st-images":e=N(G);break;case"1st-3d-mode":e=U(G);break;case"1st-video":e=R(G);break;case"1st-available-variant":e=T?.media}return j(e),e}},[Y,A?.preDisplay,j,G,T?.media]),J=m(()=>{let e=getProductGallery(G);return e?.length?e:[{id:G?.featuredImage?.id||"noImageError",src:G?.featuredImage?.src||"https://cdn.shopify.com/s/assets/no-image-2048-5e88c1b20e087fb7bbe9a3771824e743c244f437e4f8ba93bbf7b11b53f7824c_large.gif",width:G?.featuredImage?.width||480,height:G?.featuredImage?.height||480}]},[G]),W=m(()=>J.reduce((e,t,a)=>t?{...e,[t.id]:a}:e,{}),[J]),X=m(()=>p(V?.position,O),[O,V?.position]),q=(e,t)=>{Q(e),t&&K()},K=()=>{B(!0)},Q=e=>{if(!e)return;let t=W[e];if(void 0!==t){let e=J[t];e&&j(e)}};g(()=>{if(T&&!Y){let e=W[T?.mediaId];if(void 0!==e){let t=J[e]??G?.featuredImage;t&&j(t)}}},[T,W,J,G?.featuredImage,j,Y]);let $=m(()=>{let e="popup"===p(A?.ftClickOpenLightBox,O)||p(A?.clickOpenLightBox,O);return e||"edit"!==S||window?.parent?.postMessage?.(JSON.stringify({type:"active-modal",value:open}),"*"),e},[A?.ftClickOpenLightBox,A?.clickOpenLightBox,O,S]),ee=()=>J.length>0?h.map(c(P),e=>u(e)?t(e.type,{...e.props,isInsideProductImage:!0,navigationPosition:A?.ftNavigationPosition,imageData:{imageShape:V?.ftShape,imageAlign:V?.align,imageLayout:V?.position},dotData:{dotSize:A?.ftDotSize,dotGapToCarousel:A?.ftDotGapToCarousel,dotStyle:A?.ftDotStyle}}):null):null,et=`
3
+ <svg viewBox="0 0 452 400" fill="none" xmlns="http://www.w3.org/2000/svg">
4
+ <path d="M0 7.99999C0 3.58171 3.58172 0 8 0H444C448.418 0 452 3.58172 452 8V392C452 396.418 448.418 400 444 400H8C3.58173 400 0 396.418 0 392V7.99999Z" fill="#F9F9F9"/>
5
+ <path d="M208.148 348.801C239.683 348.75 265.245 347.272 265.242 345.499C265.239 343.726 239.673 342.33 208.138 342.381C176.603 342.432 151.041 343.91 151.044 345.683C151.047 347.456 176.614 348.851 208.148 348.801Z" fill="#E6E6E6"/>
6
+ <path d="M225.946 320.879C225.946 320.879 169.954 292.883 177.953 214.227C185.952 135.571 183.286 143.57 183.286 143.57C183.286 143.57 196.617 99.5762 220.614 83.5784C220.614 83.5784 163.289 24.9199 117.962 131.572C117.962 131.572 105.963 195.563 115.295 238.224C124.627 280.884 145.958 315.546 145.958 315.546C145.958 315.546 165.955 335.543 188.618 335.543C211.282 335.543 225.946 320.879 225.946 320.879Z" fill="#CCCCCC"/>
7
+ <path d="M318.6 273.553C318.6 273.553 286.605 358.875 186.619 342.877C86.6325 326.879 113.295 153.57 113.295 153.57C113.295 153.57 102.123 282.854 160.581 320.874C176.779 331.409 197.935 331.504 213.408 319.93C223.66 312.261 232.445 298.883 231.279 275.553L318.6 273.553Z" fill="#E6E6E6"/>
8
+ <path d="M315.483 111.223C315.483 111.223 269.94 28.9197 171.287 56.9158C110.135 82.9705 111.274 150.057 111.274 150.057C103.9 261.289 183.264 259.493 201.95 140.904C205.231 120.082 198.617 108.242 198.617 108.242C198.617 108.242 189.285 136.238 160.622 142.237C131.915 148.246 127.007 138.688 127.96 124.24C127.97 124.095 127.979 123.952 127.989 123.809C128.775 112.106 133.316 100.968 140.937 92.0518C157.37 72.918 193.19 44.9769 231.279 103.576L233.945 110.169C233.945 110.169 281.036 122.87 315.483 111.223Z" fill="#E6E6E6"/>
9
+ <path d="M241.931 108.909C235.042 108.916 228.438 111.656 223.567 116.528C218.696 121.399 215.956 128.003 215.948 134.892V257.167C215.956 264.339 218.809 271.214 223.88 276.286C228.951 281.357 235.827 284.21 242.999 284.218H307.331C315.974 284.208 324.26 280.77 330.371 274.659C336.483 268.547 339.921 260.261 339.931 251.618V141.762C339.921 133.052 336.456 124.701 330.297 118.542C324.138 112.383 315.787 108.918 307.077 108.909L241.931 108.909Z" fill="#ADADAD"/>
10
+ <path d="M253.087 114.24C249.426 114.244 245.916 115.7 243.327 118.289C240.738 120.878 239.282 124.388 239.278 128.049V265.741C239.282 269.402 240.738 272.912 243.327 275.501C245.916 278.09 249.426 279.546 253.087 279.55H314.265C321.6 279.542 328.631 276.624 333.818 271.438C339.004 266.251 341.922 259.219 341.93 251.885V138.614C341.923 132.152 339.353 125.956 334.783 121.387C330.214 116.817 324.018 114.247 317.556 114.24H253.087Z" fill="#D2D2D2"/>
11
+ <path opacity="0.1" d="M250.832 115.006C249.11 116.287 247.711 117.953 246.747 119.87C245.782 121.788 245.279 123.904 245.277 126.05V263.742C245.281 267.403 246.737 270.913 249.326 273.502C251.915 276.091 255.425 277.547 259.086 277.551H320.264C322.585 277.542 324.895 277.24 327.14 276.651C323.01 278.99 318.344 280.218 313.598 280.217H252.421C248.759 280.213 245.249 278.757 242.66 276.168C240.072 273.579 238.615 270.069 238.611 266.408V128.716C238.616 125.331 239.863 122.065 242.116 119.538C244.368 117.011 247.469 115.399 250.832 115.006Z" fill="black"/>
12
+ <path d="M220.614 180.899C227.977 180.899 233.945 173.439 233.945 164.235C233.945 155.032 227.977 147.571 220.614 147.571C213.251 147.571 207.282 155.032 207.282 164.235C207.282 173.439 213.251 180.899 220.614 180.899Z" fill="#D6D6D6"/>
13
+ <path opacity="0.2" d="M229.946 164.235C229.946 156.173 225.366 149.45 219.281 147.905C220.152 147.684 221.048 147.571 221.947 147.571C229.31 147.571 235.278 155.032 235.278 164.235C235.278 173.439 229.31 180.9 221.947 180.9C221.048 180.899 220.152 180.787 219.281 180.565C225.366 179.021 229.946 172.297 229.946 164.235Z" fill="black"/>
14
+ <path d="M217.948 206.895V241.556C217.948 242.794 218.439 243.981 219.314 244.856C220.189 245.731 221.376 246.222 222.614 246.222C223.851 246.222 225.038 245.731 225.913 244.856C226.788 243.981 227.28 242.794 227.28 241.556V206.895C227.28 205.657 226.788 204.47 225.913 203.595C225.038 202.72 223.851 202.229 222.614 202.229C221.376 202.229 220.189 202.72 219.314 203.595C218.439 204.47 217.948 205.657 217.948 206.895Z" fill="#D6D6D6"/>
15
+ <path opacity="0.2" d="M225.28 241.556V206.895C225.276 205.893 224.95 204.92 224.35 204.119C223.749 203.317 222.907 202.731 221.947 202.446C222.378 202.308 222.828 202.235 223.28 202.229C224.517 202.23 225.703 202.722 226.578 203.597C227.453 204.472 227.945 205.657 227.946 206.895V241.556C227.945 242.793 227.453 243.979 226.578 244.854C225.703 245.729 224.517 246.221 223.28 246.222C222.828 246.216 222.378 246.143 221.947 246.005C222.907 245.72 223.749 245.134 224.35 244.332C224.95 243.531 225.276 242.558 225.28 241.556Z" fill="black"/>
16
+ <path d="M151.29 278.218C154.972 278.218 157.956 275.234 157.956 271.552C157.956 267.871 154.972 264.887 151.29 264.887C147.609 264.887 144.624 267.871 144.624 271.552C144.624 275.234 147.609 278.218 151.29 278.218Z" fill="white"/>
17
+ <path opacity="0.3" d="M155.29 271.552C155.289 270.016 154.759 268.527 153.787 267.337C152.815 266.147 151.462 265.329 149.957 265.021C150.925 264.824 151.926 264.844 152.885 265.081C153.845 265.317 154.74 265.765 155.505 266.39C156.27 267.015 156.887 267.802 157.311 268.695C157.735 269.588 157.954 270.564 157.954 271.552C157.954 272.541 157.735 273.517 157.311 274.41C156.887 275.302 156.27 276.09 155.505 276.715C154.74 277.34 153.845 277.787 152.885 278.024C151.926 278.261 150.925 278.281 149.957 278.084C151.462 277.776 152.815 276.958 153.787 275.768C154.759 274.578 155.289 273.089 155.29 271.552Z" fill="black"/>
18
+ <path d="M148.284 251.766C151.966 251.766 154.95 248.782 154.95 245.1C154.95 241.419 151.966 238.435 148.284 238.435C144.603 238.435 141.618 241.419 141.618 245.1C141.618 248.782 144.603 251.766 148.284 251.766Z" fill="white"/>
19
+ <path opacity="0.3" d="M152.284 245.1C152.283 243.564 151.753 242.075 150.781 240.885C149.809 239.694 148.456 238.876 146.951 238.569C147.919 238.371 148.92 238.392 149.879 238.629C150.839 238.865 151.734 239.312 152.499 239.938C153.264 240.563 153.881 241.35 154.305 242.243C154.729 243.136 154.948 244.112 154.948 245.1C154.948 246.089 154.729 247.065 154.305 247.957C153.881 248.85 153.264 249.638 152.499 250.263C151.734 250.888 150.839 251.335 149.879 251.572C148.92 251.809 147.919 251.829 146.951 251.632C148.456 251.324 149.809 250.506 150.781 249.316C151.753 248.126 152.283 246.637 152.284 245.1Z" fill="black"/>
20
+ <path d="M155.29 130.239C158.971 130.239 161.955 127.254 161.955 123.573C161.955 119.892 158.971 116.907 155.29 116.907C151.608 116.907 148.624 119.892 148.624 123.573C148.624 127.254 151.608 130.239 155.29 130.239Z" fill="white"/>
21
+ <path opacity="0.3" d="M159.289 123.573C159.289 122.037 158.758 120.547 157.786 119.357C156.815 118.167 155.462 117.349 153.956 117.042C154.925 116.844 155.925 116.865 156.885 117.101C157.844 117.338 158.739 117.785 159.504 118.41C160.27 119.035 160.887 119.823 161.31 120.716C161.734 121.609 161.954 122.585 161.954 123.573C161.954 124.561 161.734 125.537 161.31 126.43C160.887 127.323 160.27 128.111 159.504 128.736C158.739 129.361 157.844 129.808 156.885 130.045C155.925 130.281 154.925 130.302 153.956 130.104C155.462 129.797 156.815 128.979 157.786 127.789C158.758 126.599 159.289 125.109 159.289 123.573Z" fill="black"/>
22
+ <path opacity="0.2" d="M293.196 217.389C300.559 217.389 306.528 209.928 306.528 200.724C306.528 191.521 300.559 184.06 293.196 184.06C285.833 184.06 279.865 191.521 279.865 200.724C279.865 209.928 285.833 217.389 293.196 217.389Z" fill="white"/>
23
+ <path opacity="0.2" d="M293.196 231.862C306.954 231.862 318.106 217.921 318.106 200.724C318.106 183.527 306.954 169.586 293.196 169.586C279.439 169.586 268.286 183.527 268.286 200.724C268.286 217.921 279.439 231.862 293.196 231.862Z" fill="white"/>
24
+ <path opacity="0.2" d="M293.196 247.637C313.923 247.637 330.726 226.634 330.726 200.725C330.726 174.816 313.923 153.812 293.196 153.812C272.469 153.812 255.666 174.816 255.666 200.725C255.666 226.634 272.469 247.637 293.196 247.637Z" fill="white"/>
25
+ </svg>
26
+ `,ea=t(b,{elementType:"secondary",description:"Catch your customer's attention with attracted media.",descriptionActions:[{text:"Add image",callback:L},{text:"sync data",callback:"syncProduct"}],additionalMedia:et}),{wrapperClasses:ei}=M(k);return e("div",{...x,className:ei,style:H,children:[t("style",{dangerouslySetInnerHTML:{__html:E({settings:{...A,...V},uid:v?.uid,type:"React"})}}),LAYOUT_FEATURE_IMAGE_GALLERY.includes(X)&&t(y,{...w,gallery:J,priorityFeatureImage:z,onHandleClickImage:(e,t)=>q(e||"",t),noDataChildren:ea,children:ee()}),"only-feature"===X&&t(D,{gallery:J,...w,onHandleClickImage:(e,t)=>q(e||"",t),noDataChildren:ea,children:ee()}),["one-col","two-col"].includes(X)&&t(Z,{gallery:J,...w,onHandleClickImage:(e,t)=>q(e||"",t),noDataChildren:ea,children:ee()}),$&&t(I,{productImages:J,builderPropUID:v?.uid,open:F,onHandleClose:()=>B(!1),imageRatio:i(V?.ftShape)}),c(P,!0)]})};export{ProductImagesV2 as default};
@@ -0,0 +1,44 @@
1
+ import{template as e,isLocalEnv as o,baseAssetURL as r,WrapRenderChildren as s,RenderChildren as t}from"@gem-sdk/core";import{getConditionRenderGalleryImages as i,getStyleInsideLayout as a,setDefaultWhenUndefineSetting as p}from"./common/common.js";import l from"./components/feature-gallery/FeatureImageWithGallery.liquid.js";import d from"./components/gallery-carousel/GalleryCarousel.liquid.js";import m from"./components/gallery-grid/GalleryGrid.liquid.js";import{getSettingPreloadData as c}from"../../../helpers.js";import{getShapeByLayout as u,sizeSettingDefaultForNewLayout as n}from"./common/productGallery.js";import{getProductImagesClassName as g}from"./composables/getProductImagesClassName.js";import{getProductImagesStyles as f}from"./composables/getProductImagesStyles.js";import{createAttr as $,LiquidIf as y,createClass as h,If as v,Liquid as S}from"@gem-sdk/system";import{getBorderActiveCss as j}from"./common/getBorderActiveCss.js";import{getStyleOfObject as F}from"../../helpers/function.js";let ProductImages=I=>{let P=p(I),{setting:C,styles:G,builderProps:D,style:b}=P,{rawChildren:z,pageContext:O}=I,{enableLazyLoadImage:_}=O??{},N={...C,...G},A=`
2
+ {
3
+ "id":${JSON.stringify(D?.uid)},
4
+ "pageContext": ${JSON.stringify(O)},
5
+ "setting":${JSON.stringify(C)},
6
+ "styles":${JSON.stringify(G)},
7
+ "productUrl":{{product.url | json | escape}},
8
+ "product":{{product | json | escape}},
9
+ "collectionUrl": {{ collection.url | json | escape }},
10
+ "collection": {{ collection | json | escape}}
11
+ }
12
+ `,B=$({"section-id":"{{section.id}}","data-id":`${D?.uid}`}),{isOnlyFeatureAllDevices:U,isRenderGalleryGrid:k}=i(N?.position,C?.type),q=k?{}:$({"data-only-image":y("product.media.size > 1","false","true")}),{wrapperClasses:E,productImagesGalleryClasses:J}=g(I),w=h({"gp-grid gp-w-full !gp-m-0 gp-relative":!0}),T=h({"gp-w-full !gp-m-0 gp-relative":!0}),{wrapContainerStyle:x,wrapContainerStyleOnlyOneImage:L,galleryImageStyle:M}=f(N),R=u({shape:N.shape,shapeForBottom:N.shapeForBottom,shapeFor1Col:N.shapeFor1Col,shapeFor2Col:N.shapeFor2Col,shapeForFtOnly:N.shapeForFtOnly,shapeForInsideBottom:N.shapeForInsideBottom??n,shapeForInside:N.shapeForInside??n},N.position),V=a(N.position,R,N?.spacing),W=()=>e`
13
+ ${s({uid:D?.uid||"",customProps:z?.[0].customProps},z?.map(o=>{if(o)return e`${t({...o,isInsideProductImage:!0,imageData:{imageShape:G?.ftShape,imageAlign:G?.align,imageLayout:G?.position},dotData:{dotSize:C?.ftDotSize,dotGapToCarousel:C?.ftDotGapToCarousel,dotStyle:C?.ftDotStyle}})}`}))}
14
+ `,H=()=>e`
15
+ <div
16
+ class="${J}"
17
+ style="${F(M)}"
18
+ ${{...q}}
19
+ >
20
+ ${y("product.media.size > 1",d({builderPropUID:`gp-gallery-${D?.uid}`,...N,enableLazyLoadImage:_}))}
21
+ ${v(k,m({builderPropUID:D?.uid,wrapperStyle:{...V},children:W(),...N,enableLazyLoadImage:_}))}
22
+ </div>
23
+ `,K=()=>C?.borderActive?.border!=="none";return e`
24
+ ${v(K(),y("product.media.size > 1",`<style>${j({settings:N,uid:D?.uid,type:"Liquid"})}</style>`),"")}
25
+ ${S(`
26
+ {% assign featured_image = product.featured_image %}
27
+ ${y("variant != null and variant.featured_image != null","{% assign featured_image = variant.featured_image %}")}
28
+ `)}
29
+ <gp-product-images-v3
30
+ gp-data='${A}'
31
+ ${{...B}}
32
+ style="${{...b}}"
33
+ class="${E}"
34
+ >
35
+ <div
36
+ class="${y("product.media.size > 1",`${w}`,`${T}`)}"
37
+ style="${y("product.media.size > 1",F(x),F(L))}"
38
+ >
39
+ ${l({builderPropUID:`gp-carousel-${D?.uid}`,...N,children:W(),enableLazyLoadImage:_})}
40
+ ${v(!U,H())}
41
+ </div>
42
+ </gp-product-images-v3>
43
+ ${v(o,`<script ${c('class="gps-link" delay',"src")}="{{ 'gp-product-images-v3-v7-5.js' | asset_url }}" defer="defer"></script>`,`<script ${c('class="gps-link" delay',"src")}="${r}/assets-v2/gp-product-images-v3-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}" defer="defer"></script>`)}
44
+ `};export{ProductImages as default};
@@ -0,0 +1 @@
1
+ import{getResponsiveValueByScreen as o}from"@gem-sdk/core";import{getDotStyleConfig as t,getCarouselVerticalConfigByPosition as r,getAllowDotConfig as a}from"./productGallery.js";import{getDotStyleForOnlyFeaturedImage as e}from"./productFeaturedImage.js";let DEVICES=["desktop","mobile","tablet"],getGalleryCarouselSettingAttr=a=>{let e={desktop:"inside"===o(a.navigationPosition,"desktop"),tablet:"inside"===o(a.navigationPosition,"tablet"),mobile:"inside"===o(a.navigationPosition,"mobile")},i=DEVICES.reduce((o,t)=>(a.navigationPosition?.[t]&&(o[t]="none"!==a.navigationPosition[t]),o),{});return{...a?.loop&&{loop:a.loop},itemNumber:{desktop:"auto",tablet:"auto",mobile:"auto"},dot:{desktop:!1,tablet:!1,mobile:!1},dotStyle:t(),controlOverContent:e,...a?.dragToScroll&&{enableDrag:{desktop:a.dragToScroll,tablet:a.dragToScroll,mobile:a.dragToScroll}},vertical:r(a.position),...a?.arrowIcon&&{arrowCustom:a.arrowIcon},arrowIconSize:a.arrowIconSize||{desktop:24},...a?.arrowIconColor&&{arrowCustomColor:a.arrowIconColor},...a?.arrowNavColor&&{arrowBackgroundColor:a.arrowNavColor},...a?.arrowNavBorder&&{arrowBorder:{desktop:a.arrowNavBorder}},...a?.arrowNavRadius&&{roundedArrow:{desktop:a.arrowNavRadius}},...a?.arrowNavShadow&&{arrowShadow:{desktop:a.arrowNavShadow}},arrowGapToEachSide:"16",navigationStyle:a.navigationPosition,navigationEnable:i,arrowButtonSize:{desktop:{width:a.arrowNavSize?.width,height:a.arrowNavSize?.height,padding:a.arrowNavSize?.padding}},animationMode:a?.ftAnimationMode,enableAction:{desktop:!0}}},getFeaturedCarouselSettingAttr=t=>{let r={desktop:"inside"===o(t.ftNavigationPosition,"desktop"),tablet:"inside"===o(t.ftNavigationPosition,"tablet"),mobile:"inside"===o(t.ftNavigationPosition,"mobile")},i=DEVICES.reduce((o,r)=>(t.ftNavigationPosition?.[r]&&(o[r]="none"!==t.ftNavigationPosition[r]),o),{});return{...t?.ftLoop&&{loop:t.ftLoop},itemNumber:{desktop:1},dot:a(),dotStyle:e({position:t.position,dotStyle:t.ftDotStyle}),dotSize:t.ftDotSize??{desktop:12},dotGapToCarousel:t.ftDotGapToCarousel??{desktop:16},dotColor:t.ftDotColor??{desktop:"bg-1"},dotActiveColor:t.ftDotActiveColor??{desktop:"line-3"},controlOverContent:r,...t?.ftDragToScroll&&{enableDrag:{desktop:t.ftDragToScroll,tablet:t.ftDragToScroll,mobile:t.ftDragToScroll}},...t?.ftArrowIcon&&{arrowCustom:t.ftArrowIcon},arrowIconSize:t.ftArrowIconSize||{desktop:24},...t?.ftArrowIconColor&&{arrowCustomColor:t.ftArrowIconColor},...t?.ftArrowNavColor&&{arrowBackgroundColor:t.ftArrowNavColor},...t?.ftArrowNavBorder&&{arrowBorder:{desktop:t.ftArrowNavBorder}},...t?.ftArrowNavRadius&&{roundedArrow:{desktop:t.ftArrowNavRadius}},...t?.ftArrowNavShadow&&{arrowShadow:{desktop:t.ftArrowNavShadow}},sneakPeakType:{desktop:"center"},arrowGapToEachSide:"16",animationMode:t?.ftAnimationMode,...t?.ftNavigationPosition&&{navigationStyle:t.ftNavigationPosition},navigationEnable:i,arrowButtonSize:{desktop:{width:t.ftArrowNavSize?.width,height:t.ftArrowNavSize?.height,padding:t.ftArrowNavSize?.padding}},enableAction:{desktop:!0}}};export{getFeaturedCarouselSettingAttr,getGalleryCarouselSettingAttr};
@@ -0,0 +1 @@
1
+ import{DEVICES as e,getResponsiveValueByScreen as l}from"@gem-sdk/core";function composeClasses(e){return e.split(" ").reduce((e,l)=>(e[l]=!0,e),{})}let getWrapperClasses=({extraClass:e,isAddOverFlowClass:l=!1})=>{let s="gp-relative gp-w-full";return e&&(s+=` ${e}`),l&&(s+=" gp-overflow-hidden"),composeClasses(s)},getGalleryWrapperClasses=({extraClass:e})=>{let l="gallery-wrapper gp-product-images-gallery gp-flex gp-overflow-hidden gp-max-w-full gp-max-h-full data-[only-image=true]:gp-hidden";return e&&(l+=` ${e}`),composeClasses(l)},getGalleryGridWrapperClasses=({extraClass:e})=>{let l="product-feature-image grid-gallery gp-flex !gp-h-fit gp-w-full gp-flex-wrap scrollbar-track:gp-rounded-2xl scrollbar-thumb:gp-rounded-2xl scrollbar-thumb:gp-bg-gray-400 gp-z-1";return e&&(l+=` ${e}`),composeClasses(l)},getFtImageWithGalleryClasses=({extraClass:e})=>{let l="gp-flex !gp-h-fit gp-relative gp-overflow-hidden";return e&&(l+=` ${e}`),composeClasses(l)},getImageGalleryWrapperClasses=({extraClass:e})=>{let l="gp-flex gp-h-fit gp-max-w-full gp-overflow-hidden";return e&&(l+=` ${e}`),composeClasses(l)},getFeaturedImageCarouselClasses=({extraClass:e})=>{let l="`gp-flex-1 gp-w-full gp-feature-image-carousel";return e&&(l+=` ${e}`),composeClasses(l)},getFeaturedImageClasses=({setting:s,extraClass:r})=>{let a=r??"";return e.forEach(e=>{let r=l(s?.ftNavigationPosition,e),t="desktop"!==e?`${e}:`:"";"outside"===r?a+=` ${t}gp-px-[16px]`:a+=` ${t}gp-px-0`}),composeClasses(a)},getFeaturedImageGalleryClasses=({settings:s,extraClass:r})=>{let a=r??"gp-flex-1 gp-w-full carousel-gallery";return e.forEach(e=>{let r=l(s?.navigationPosition,e),t=l(s?.type,e),g=l(s?.position,e),p="desktop"!==e?`${e}:`:"";"outside"===r&&"slider"===t&&["bottom-center"].includes(g||"")?a+=` ${p}gp-px-[16px]`:a+=` ${p}gp-px-0`}),composeClasses(a)},getGalleryItemClasses=({extraClass:e})=>{let l="gp-image-item gp-flex gp-items-center gp-justify-center gp-group gp-relative gp-overflow-hidden gp-cursor-pointer";return e&&(l+=` ${e}`),composeClasses(l)},getFeaturedCarouselItemClasses=({extraClass:e})=>{let l="gp-group gp-z-0 gp-flex !gp-min-w-full !gp-max-w-full gp-w-full gp-relative gp-items-start gp-justify-center gp-overflow-hidden gp-outline-1 -gp-outline-offset-1 gp-image-item gp-ft-image-item data-[outline=active]:gp-outline";return e&&(l+=` ${e}`),composeClasses(l)};export{getFeaturedCarouselItemClasses,getFeaturedImageCarouselClasses,getFeaturedImageClasses,getFeaturedImageGalleryClasses,getFtImageWithGalleryClasses,getGalleryGridWrapperClasses,getGalleryItemClasses,getGalleryWrapperClasses,getImageGalleryWrapperClasses,getWrapperClasses};
@@ -0,0 +1 @@
1
+ import{getResponsiveValueByScreen as e,makeAspectRatio as t,makeStyleResponsive as i,removeNullUndefined as o,DEVICES as r}from"@gem-sdk/core";let getTypeWidthDevice=e=>{let t=e?.desktop,i=e?.tablet===void 0?t:e?.tablet,o=e?.mobile===void 0?i:e?.mobile;return{desktop:t,tablet:i,mobile:o}},convertUnitToNumber=(e,t)=>{if(!e)return t;if("number"==typeof e)return e;let i=e.replaceAll("px","").replaceAll("%","").replaceAll("rem","").replaceAll("em","");return isNaN(Number(i))?t:Number(i)},convertSpacing=e=>{if(!e)return{desktop:5};let t=convertUnitToNumber(e.desktop,5),i=convertUnitToNumber(e.tablet,t),o=convertUnitToNumber(e.mobile,i);return{desktop:t,tablet:i,mobile:o}},getDisplayStyle=(e,t)=>{let i={},o=["desktop","mobile","tablet"];return o.forEach(o=>{i={...i,[`--d${"desktop"===o?"":`-${o}`}`]:`${e(o)?"none":t}`}}),i},checkAddOverFlowClass=e=>{let t=e?.["--radius"],i=e?.["--bblr"]||"0px",o=e?.["--bbrr"]||"0px",r=e?.["--btlr"]||"0px",l=e?.["--btrr"]||"0px";return t&&!t.toString().includes("none")&&"0"!==t.toString()||"0px"!==i||"0px"!==o||"0px"!==r||"0px"!==l},getAspectRatio=i=>{let o={},r=["desktop","mobile","tablet"];return r.forEach(t=>{let r=e(i,t)?.shapeValue;if(r)o={...o,[t]:r};else{let r=e(i,t)?.shape;switch(r){case"square":o={...o,[t]:"1/1"};break;case"vertical":o={...o,[t]:"3/4"};break;case"horizontal":o={...o,[t]:"4/3"};break;case"original":o={...o,[t]:""}}}}),t(o)},getStyleGridLayout=t=>{let i={"--gtc":"minmax(0, 12fr)","--gtc-tablet":"minmax(0, 12fr)","--gtc-mobile":"minmax(0, 12fr)"};if(!t.isHiddenGalleryImages){let o=!1;r.forEach(r=>{let l=e(t.position,r),a=e(t.ratioLayout,r),n=e(t.ratioLayoutRight,r),s="desktop"===r?"--gtc":`--gtc-${r}`,d="desktop"===r?"--gtr":`--gtr-${r}`,u="left"===l?a:n,c=["left","right"].includes(l||"");c&&u?(o=!0,Object.assign(i={...i,[s]:`minmax(0, ${u[0]}fr) minmax(0, ${u[1]}fr)`},{[d]:"fit-content(0)"})):o&&Object.assign(i,{[d]:"unset"})})}return i},getStyleGridOrderForFeature=t=>{let i={"--o":"0","--o-tablet":"0","--o-mobile":"0"},o=["desktop","mobile","tablet"];return o.forEach(o=>{let r=e(t.position,o),l="desktop"===o?"--o":`--o-${o}`;i={...i,[l]:"left"===r?"1":"0"}}),i},getStyleGridOrderForGallery=t=>{let i={"--o":"1","--o-tablet":"1","--o-mobile":"1"},o=["desktop","mobile","tablet"];return o.forEach(o=>{let r=e(t.position,o),l="desktop"===o?"--o":`--o-${o}`;i={...i,[l]:"left"===r?"0":"1"}}),i},getSrcImage=e=>`{{${e} | image_url: width: 480}} 480w, {{${e} | image_url: width: 768}} 768w, {{${e} | image_url: width: 1024}} 1024w, {{${e} | image_url: width: 1440}} 1440w`,convertSpacingForIndisdeLayout=e=>{let t=parseInt(e)?`${2*parseInt(e)}px`:`${e} * 2`;return t},getStyleInsideLayout=(t,r,l)=>{let a=["desktop","mobile","tablet"],n={},s={},d={},u={},c={},g={};return a.forEach(i=>{let o=e(t,i),a=e(r,i)?.width,m=e(l,i);if(n={...n,[i]:["inside-bottom","inside-left","inside-right"].includes(o)?"absolute":"static"},["inside-bottom"].includes(o)){let e=convertSpacingForIndisdeLayout(m);a=`calc(100% - ${e})`}["bottom-center","two-col","one-col"].includes(o)&&(a="100%"),d={...d,[i]:"inside-bottom"===o?`${m}`:"auto"},u={...u,[i]:["inside-left","inside-right"].includes(o)?`${m}`:"auto"},g={...g,[i]:["inside-bottom","inside-left"].includes(o)?`${m}`:"auto"},c={...c,[i]:"inside-right"===o?`${m}`:"auto"},s={...s,[i]:a}}),{...i("pos",n),...i("w",o(s)),...i("bottom",o(d)),...i("top",o(u)),...i("left",o(g)),...i("right",o(c))}},getConditionRenderGalleryImages=(t,i)=>{let o=["desktop","mobile","tablet"],r=!0,l=!1;return o.forEach(o=>{let a=e(t,o),n=e(i,o);a&&"only-feature"!==a&&(r=!1),(["two-col","one-col"].includes(a)||"images"===n)&&(l=!0)}),{isOnlyFeatureAllDevices:r,isRenderGalleryGrid:l}},setDefaultWhenUndefineSetting=e=>({...e,setting:{...e.setting}}),getValueFromValueContainUnit=e=>{let t=e.match(/\d+/g);return t?t[0]:e},getPaddingBottomByShapeSetting=t=>{let i=getAspectRatio(t),o={desktop:"auto",mobile:"auto",tablet:"auto"},r=["desktop","mobile","tablet"];return r.forEach(r=>{let l=e(t,r),a=l?.height,n=l?.width||"",s=getValueFromValueContainUnit(a||""),d=n.toString().match(/px/g)?getValueFromValueContainUnit(n):n;if(a&&n&&!isNaN(Number(s))&&!isNaN(Number(d))){o={...o,[r]:`${Number(s)/Number(d)*100}%`};return}if(a&&!isNaN(Number(s))){o={...o,[r]:a};return}let u=i?.[r]!=="auto"&&i?.[r]?i?.[r]?.split("/").reverse().join("/"):"{%if largestRatio == 0%} 100 / 100 {%else%} {{largestRatio}} {%endif%}";o={...o,[r]:`calc((${u})*100%)`}}),o};export{checkAddOverFlowClass,convertSpacing,convertSpacingForIndisdeLayout,convertUnitToNumber,getAspectRatio,getConditionRenderGalleryImages,getDisplayStyle,getPaddingBottomByShapeSetting,getSrcImage,getStyleGridLayout,getStyleGridOrderForFeature,getStyleGridOrderForGallery,getStyleInsideLayout,getTypeWidthDevice,setDefaultWhenUndefineSetting};
@@ -0,0 +1,20 @@
1
+ import{composeBorderCss as e,composeCornerCss as t}from"@gem-sdk/core";let getBorderActiveCss=({settings:i,uid:r,type:a})=>{let g="Liquid"===a?`.gem-slider-item-${r}-{{product.id}}.gp-gallery-image-item::after, .gem-slider-item-gp-gallery-${r}-{{product.id}}.gp-gallery-image-item.gem-slider-item-active::after`:`.gem-slider-item-active.gem-slider-item-${r}.gp-gallery-image-item::after`;return`
2
+ ${g} {
3
+ content: "";
4
+ height: 100%;
5
+ width: 100%;
6
+ position: absolute;
7
+ z-index: 999;
8
+ top: 0;
9
+ left: 0;
10
+ ${e(i?.borderActive)}
11
+ ${t(i?.corner)}
12
+ }
13
+ .gem-slider-item-${r}-{{product.id}}.gp-gallery-image-item[data-outline=active]:after, .gem-slider-item-gp-gallery-${r}-{{product.id}}.gp-gallery-image-item[data-outline=active]:after {
14
+ pointer-events: none;
15
+ }
16
+ .gem-slider-item-${r}-{{product.id}}.gp-gallery-image-item[data-outline=none]:after{
17
+ pointer-events: none;
18
+ border-color: transparent !important;
19
+ }
20
+ `};export{getBorderActiveCss};
@@ -0,0 +1 @@
1
+ import{convertUnitToNumber as e}from"./common.js";let handleMouseMove=(t,o)=>{let l=o?.hoverEffect==="zoom"&&o?.zoomType==="default",r=o?.hoverEffect==="zoom"&&o?.zoomType==="glasses",i=o?.hoverEffect==="other",s=o?.hoverEffect!=="none";if(!s)return;let y=t.currentTarget.querySelector("img"),c=t.currentTarget.querySelector("img.hover-image"),n=t.currentTarget.querySelector(".room-len"),f=y?.getBoundingClientRect(),h=y?.clientWidth||0,a=y?.clientHeight||0,p=e(o?.zoom,0),g=!p||p<100?1:p/100||1,m=(h||1)*(o?.hoverEffect==="other"?1:g),u=(a||1)*(o?.hoverEffect==="other"?1:g),d=t.clientX-f?.x,x=t.clientY-f?.y;i&&displayOtherImage({featureImageHoverDom:c}),l&&t.clientX>=f?.x&&t.clientX<=f.right&&t.clientY>=f?.y&&t.clientY<=f.bottom&&displayZoomImage({featureImageDom:y,featureImageHoverDom:c,zoomSize:m,zoomSizeHeight:u,slideWidth:h,imageOffsetX:d,imageOffsetY:x,isEnableShowOtherImage:i}),r&&displayZoomLen({zoomLens:n,zoomSize:m,zoomValue:g,imagePosition:f,slideWidth:h,slideHeight:a,imageOffsetX:d,imageOffsetY:x})},displayOtherImage=({featureImageHoverDom:e})=>{e&&(e.style.opacity="1",e.style.top="0px",e.style.left="0px",e.style.width="100%",e.style.height="100%")},displayZoomLen=({zoomLens:e,zoomSize:t,zoomValue:o,slideWidth:l,slideHeight:r,imageOffsetX:i,imageOffsetY:s})=>{if(!e)return;e.style.opacity="1";let y=e.offsetWidth/2,c=e.offsetHeight/2,n=r||1;i>l-y/o&&(i=l-y/o),i<y/o&&(i=y/o),s>n-c/o&&(s=n-c/o),s<c/o&&(s=c/o),e.style.top=s-c+"px",e.style.left=i-y+"px",e.style.backgroundSize=t+"px "+n*o+"px",e.style.backgroundPosition=`-${i*o-y}px -${s*o-c}px`},displayZoomImage=({featureImageDom:e,featureImageHoverDom:t,zoomSize:o,zoomSizeHeight:l,slideWidth:r,imageOffsetX:i,imageOffsetY:s,isEnableShowOtherImage:y=!1})=>{if(!t)return;t.style.width=`${o}px`,y||(t.style.height=`${l}px`),t.style.opacity="1";let c=i/e?.offsetWidth,n=s/e?.offsetHeight;t.style.top=(e?.offsetHeight-t.offsetHeight)*n+"px",t.style.left=(r-o)*c+"px"},handleMouseOut=e=>{let t=e.currentTarget.querySelector("img.hover-image"),o=e.currentTarget.querySelector(".room-len");t&&(t.style.opacity="0"),o&&(o.style.opacity="0")};export{handleMouseMove,handleMouseOut};
@@ -0,0 +1 @@
1
+ import{getResponsiveValueByScreen as e,DEVICES as t,makeStyleResponsive as o}from"@gem-sdk/core";let isFeatureMedia=e=>!!e&&["EXTERNAL_VIDEO","MODEL_3D","VIDEO"].includes(e),getZoomLenClass=()=>"!gp-flex gp-absolute gp-opacity-0 gp-h-[150px] gp-w-[150px] gp-cursor-none gp-rounded-full gp-bg-no-repeat gp-shadow-glasses gp-bg-white gp-pointer-events-none",getZoomImageClass=()=>"gp-absolute gp-left-0 gp-top-0 gp-opacity-0 gp-transition-opacity gp-bg-white gp-pointer-events-none",getDotStyleForOnlyFeaturedImage=o=>{let r={};return t.forEach(t=>{let a=e(o.position,t),g=e(o.dotStyle,t);r={...r,[t]:"only-feature"===a?g:"none"}}),r},getVideoHeight=e=>{if(!e)return null;let t={};return Object.keys(e).forEach(o=>{let r=e[o];r&&(t[o]="cover"===r?"100%":"auto")}),o("h",t)},checkRenderFeaturedCarousel=e=>{let t=["desktop","mobile","tablet"],o=!1;return t.forEach(t=>{let r=checkShowCarousel(e,t);checkShowCarousel(e,t)&&(o=r)}),o},checkShowCarousel=(t,o)=>"only-feature"!==e(t.position,o)||"none"!==e(t.ftNavigationPosition,o)||"none"!==e(t.ftDotStyle,o)||!0===e(t.ftLoop,o)||!0===t.ftDragToScroll;export{checkRenderFeaturedCarousel,getDotStyleForOnlyFeaturedImage,getVideoHeight,getZoomImageClass,getZoomLenClass,isFeatureMedia};
@@ -0,0 +1 @@
1
+ import{getResponsiveValueByScreen as e,cls as t}from"@gem-sdk/core";import{getDisplayStyle as o}from"./common.js";import{convertUnitToNumber as i}from"../../product-images/common/productFeaturedImage.js";let getZoomDisplay=t=>o(o=>!e(t,o),"flex"),HORIZONTAL_LAYOUT=["right","left","inside-left","inside-right"],sizeSettingDefaultForNewLayout={desktop:{shape:"square",shapeValue:"1/1",width:"20%",height:void 0,shapeLinked:!0}},getCarouselVerticalConfigByPosition=t=>{let o=["desktop","mobile","tablet"],i={};return o.forEach(o=>{let a=e(t,o),l=HORIZONTAL_LAYOUT.includes(a);i=l?{...i,[o]:!0}:{...i,[o]:!1}}),i},getMinHeightByPosition=(o,i)=>{let a=["desktop","mobile","tablet"],l=getCarouselVerticalConfigByPosition(o),s={};return a.forEach(t=>{let o=e(i,t),a="desktop"===t?"":`${t}:`;s[`${a}!gp-min-h-0`]=!!l[t]&&"outside"===o,s[`${a}!gp-min-h-full`]=!(l[t]&&"outside"===o)}),t({...s})},getEditorMinHeightClass=(t,o,i)=>{let a=getCarouselVerticalConfigByPosition(o),l=e(i,t);return a[t]&&"outside"===l?"!gp-min-h-0":"!gp-min-h-full"},getAllowDotConfig=()=>({desktop:!0,tablet:!0,mobile:!0}),getDotStyleConfig=()=>({desktop:"none",tablet:"none",mobile:"none"}),getSettingWidthForGridItem=t=>{let o={},i=["desktop","mobile","tablet"];return i.forEach(i=>{let a=e(t.shapeByLayout,i)?.width,l=e(t.itemSpacing,i),s=0;a?.includes("%")&&(s=100/parseInt(a)),o={...o,[i]:s?`calc(${a} - ${l} * ${s-1} / ${s})`:a}}),o},getSettingWidthForCarouselItem=t=>{let o={},i=["desktop","mobile","tablet"];return i.forEach(i=>{let a=e(t.position,i),l="bottom-center"===a,s=e(t.shapeByLayout,i)?.width;o={...o,[i]:l&&s?.includes("px")?s:"100%"}}),o},getSettingMinWidthForCarouselItem=t=>{let o={},a=["desktop","mobile","tablet"];return a.forEach(a=>{let l=e(t.position,a),s=i(e(t.spacing,a),5),r="bottom-center"===l||"inside-bottom"===l,n=e(t.shapeByLayout,a)?.width,g="100%";if(r){let e=100/i(n,20);g=n?.includes("px")?n:n?.includes("%")?`calc(${n} - ${(e-1)*s/e}px)`:"100%"}o={...o,[a]:g}}),o},checkDisplayGalleryByWidth=t=>{let o={desktop:!0,tablet:!0,mobile:!0},i=["desktop","mobile","tablet"];return i.forEach(i=>{let a=e(t.shapeByLayout,i)?.width??"100%",l=0!==parseInt(a);o={...o,[i]:l}}),o},getShapeByLayout=(t,o)=>{let i={},a=["desktop","mobile","tablet"];return a.forEach(a=>{let l=e(o,a);switch(l){case"bottom-center":case"bottom-left":i={...i,[a]:e(t.shapeForBottom,a)};break;case"inside-bottom":i={...i,[a]:e(t.shapeForInsideBottom??sizeSettingDefaultForNewLayout,a)};break;case"left":case"right":i={...i,[a]:e(t.shape,a)};break;case"inside-left":case"inside-right":i={...i,[a]:e(t.shapeForInside??sizeSettingDefaultForNewLayout,a)};break;case"only-feature":i={...i,[a]:e(t.shapeForFtOnly,a)};break;case"one-col":i={...i,[a]:e(t.shapeFor1Col,a)};break;case"two-col":i={...i,[a]:e(t.shapeFor2Col,a)}}}),i};export{HORIZONTAL_LAYOUT,checkDisplayGalleryByWidth,getAllowDotConfig,getCarouselVerticalConfigByPosition,getDotStyleConfig,getEditorMinHeightClass,getMinHeightByPosition,getSettingMinWidthForCarouselItem,getSettingWidthForCarouselItem,getSettingWidthForGridItem,getShapeByLayout,getZoomDisplay,sizeSettingDefaultForNewLayout};
@@ -0,0 +1 @@
1
+ import{makeStyleResponsive as e,makeHeight as t,getHeightByShapeGlobalSize as o,makeWidth as r,composeRadius as i,getResponsiveValueByScreen as a,makeStyleWithDefault as l,getWidthByShapeGlobalSize as s}from"@gem-sdk/core";import{getStyleGridLayout as n,getStyleGridOrderForFeature as p,getStyleGridOrderForGallery as h,getStyleInsideLayout as m,convertSpacing as g,getDisplayStyle as d,convertSpacingForIndisdeLayout as F}from"./common.js";import{getShapeByLayout as y,sizeSettingDefaultForNewLayout as u,getSettingWidthForGridItem as c,getSettingMinWidthForCarouselItem as S,getSettingWidthForCarouselItem as I,checkDisplayGalleryByWidth as b}from"./productGallery.js";let DEVICES=["desktop","mobile","tablet"];function filterTruthyStyles(e){return Object.fromEntries(Object.entries(e||{}).filter(([,e])=>!!e))}let getWrapContainerStyle=(t,o)=>{let r=n({position:t.position,ratioLayout:t.ratioLayout,ratioLayoutRight:t.ratioLayoutRight,isHiddenGalleryImages:!!o}),i={"--gtc":"minmax(0, 12fr)"},a={...o?i:r,...e("gg",t?.spacing)};return filterTruthyStyles(a)},getFeatureImageStyle=(t,{enableOrder:o,enableDisplay:r})=>{let i=()=>d(e=>!["bottom-center","left","right","only-feature","inside-bottom","inside-left","inside-right"].includes(a(t?.position,e)||""),"flex"),l=p({position:t?.position}),s={...e("jc",t?.align),...o&&{...l},...r&&{...i()}};return filterTruthyStyles(s)},getGalleryImageStyle=(o,r)=>{let i=h({position:o.position}),l=()=>{let e={},t=r??0;return DEVICES.forEach(r=>{let i=a(o?.position,r),l=["left","right"].includes(i),s=a(o?.spacing,r),n=["inside-left","inside-right"].includes(i),p=F(s),h=`calc(${t}px - ${p})`;e={...e,[r]:l?t+"px":n?h:"auto"}}),e},s=y({shape:o.shape,shapeForBottom:o.shapeForBottom,shapeFor1Col:o.shapeFor1Col,shapeFor2Col:o.shapeFor2Col,shapeForFtOnly:o.shapeForFtOnly,shapeForInsideBottom:o.shapeForInsideBottom??u,shapeForInside:o.shapeForInside??u},o.position),n=m(o.position,s,o?.spacing),p={...e("h",t(l())),...e("jc",o?.align),...i,...n};return filterTruthyStyles(p)},getGalleryGridStyle=(t,o)=>{let r=y({shape:t.shape,shapeForBottom:t.shapeForBottom,shapeFor1Col:t.shapeFor1Col,shapeFor2Col:t.shapeFor2Col,shapeForFtOnly:t.shapeForFtOnly,shapeForInsideBottom:t.shapeForInsideBottom,shapeForInside:t.shapeForInside},t.position),i=()=>{let e=(e,t,o)=>{let r=a(t,o),i=a(e,o),l="slider"!==i&&("bottom-center"===r||"inside-bottom"===r),s=["one-col","two-col"].includes(r||"");return l||s},o=b({shapeByLayout:r}),i={desktop:o.desktop&&e(t.type,t.position,"desktop"),tablet:o.tablet&&e(t.type,t.position,"tablet"),mobile:o.mobile&&e(t.type,t.position,"mobile")};return d(e=>!i[e],"flex")},l={...i(),...e("cg",t?.itemSpacing),...e("rg",t?.itemSpacing),...e("jc",t?.align),...o};return filterTruthyStyles(l)},getGalleryGridItemStyle=a=>{let l=y({shape:a.shape,shapeForBottom:a.shapeForBottom,shapeFor1Col:a.shapeFor1Col,shapeFor2Col:a.shapeFor2Col,shapeForFtOnly:a.shapeForFtOnly,shapeForInsideBottom:a.shapeForInsideBottom,shapeForInside:a.shapeForInside},a.position),s=o(l),n=c({shapeByLayout:l,itemSpacing:a.itemSpacing}),p={"max-width":"100%","outline-color":"var(--g-c-brand, brand)",...e("h",t(s)),...e("w",r(n)),...i({normal:a.corner},["normal"])};return filterTruthyStyles(p)},getFeatureImageCarouselItemStyle=r=>{let a=o(r.ftShape),l={"max-width":"100%","outline-color":"var(--g-c-brand, brand)",...i({normal:r?.ftCorner},["normal"]),...e("h",t(a))};return filterTruthyStyles(l)},getGalleryCarouselStyle=e=>{let t=y({shape:e.shape,shapeForBottom:e.shapeForBottom,shapeFor1Col:e.shapeFor1Col,shapeFor2Col:e.shapeFor2Col,shapeForFtOnly:e.shapeForFtOnly,shapeForInsideBottom:e.shapeForInsideBottom,shapeForInside:e.shapeForInside},e.position),o=o=>{let r=a(e?.position,o),i="bottom-center"===r||"inside-bottom"===r,l="inside-left"===r||"inside-right"===r||"left"===r||"right"===r,s=a(t,o);return i||l||!s?.width?"100%":s.width},r={spacing:g(e?.itemSpacing),sizeSetting:{desktop:{width:o("desktop"),height:"100%"},tablet:{width:o("tablet"),height:"100%"},mobile:{width:o("mobile"),height:"100%"}}};return filterTruthyStyles(r)},getGalleryCarouselItemStyle=a=>{let l=y({shape:a.shape,shapeForBottom:a.shapeForBottom,shapeFor1Col:a.shapeFor1Col,shapeFor2Col:a.shapeFor2Col,shapeForFtOnly:a.shapeForFtOnly,shapeForInsideBottom:a.shapeForInsideBottom,shapeForInside:a.shapeForInside},a.position),s=e("minw",r(S({shapeByLayout:l,position:a.position,spacing:a.itemSpacing}))),n=e("maxw",r(S({shapeByLayout:l,position:a.position,spacing:a.itemSpacing}))),p=e("w",r(I({shapeByLayout:l,position:a.position}))),h=e("h",t(o(l))),m={"outline-color":"var(--g-c-brand, brand)",...s,...n,...p,...h,...i({normal:a.corner},["normal"])};return filterTruthyStyles(m)},getFeaturedImageCarouselStyle=e=>{let t=t=>{let o=a(e.ftShape,t);return o?.width??"100%"},o={playSpeed:e?.ftAnimationSpeed,sizeSetting:{desktop:{width:t("desktop"),height:"auto"},tablet:{width:t("tablet"),height:"auto"},mobile:{width:t("mobile"),height:"auto"}},align:{desktop:a(e?.align,"desktop"),tablet:a(e?.align,"tablet"),mobile:a(e?.align,"mobile")},spacing:{desktop:6,tablet:6,mobile:6}};return filterTruthyStyles(o)},getFeaturedImageOnlyOneImageStyle=({setting:r,options:a})=>{let n=o(r?.ftShape),p={...l("w",s(r?.ftShape,!1,!0),{desktop:"--g-ct-w",tablet:"--g-ct-w",mobile:"--g-ct-w"}),...a?.enableRadius&&i({normal:r?.ftCorner}),...a?.enableHeight&&e("h",t(n))};return filterTruthyStyles(p)};export{getFeatureImageCarouselItemStyle,getFeatureImageStyle,getFeaturedImageCarouselStyle,getFeaturedImageOnlyOneImageStyle,getGalleryCarouselItemStyle,getGalleryCarouselStyle,getGalleryGridItemStyle,getGalleryGridStyle,getGalleryImageStyle,getWrapContainerStyle};
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ import{jsx as e,Fragment as t,jsxs as i}from"react/jsx-runtime";let MediaIcon=({contentType:l})=>{let r="VIDEO"==l||"EXTERNAL_VIDEO"==l,h="MODEL_3D"==l;return e(t,{children:(r||h)&&i("div",{className:"gp-absolute gp-bottom-0 gp-right-0 gp-pb-[15px] gp-pr-[15px]",children:[r&&i("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[e("rect",{opacity:"0.9",width:"24",height:"24",rx:"3",fill:"#212121"}),e("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",strokeMiterlimit:"10"})]}),h&&i("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[e("rect",{opacity:"0.9",width:"24",height:"24",rx:"3",fill:"#212121"}),e("path",{fillRule:"evenodd",clipRule:"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"})]})]})})};export{MediaIcon as default};
@@ -0,0 +1 @@
1
+ import{jsx as e,Fragment as t}from"react/jsx-runtime";import{memo as o,useMemo as r}from"react";import"@gem-sdk/core";import"next/link";import i from"../../../../../video/components/Video.js";let ProductFeatureVideo=o=>{let{url:u,aspectRatio:d}=o,m=r(()=>u.includes("youtu.be")?"youtube":u.includes("vimeo")?"vimeo":"html5",[u]);return e(t,{children:e(i,{setting:{type:m,html5Url:u,youtubeUrl:u,vimeoUrl:u,preload:!0,controls:!0,aspectRatio:d}})})};var ProductFeatureVideo$1=o(ProductFeatureVideo);export{ProductFeatureVideo$1 as default};
@@ -0,0 +1 @@
1
+ import{jsx as e}from"react/jsx-runtime";import{memo as o,forwardRef as r,useRef as t,useImperativeHandle as a}from"react";import{useCurrentDevice as s,getResponsiveValueByScreen as m,makeStyleResponsive as i}from"@gem-sdk/core";import{handleMouseMove as l,handleMouseOut as n}from"../../common/hoverAction.js";import{getProductImagesStyles as u}from"../../composables/getProductImagesStyles.js";import{getProductImagesClassName as d}from"../../composables/getProductImagesClassName.js";import{getProductImagesAttr as c}from"../../composables/getProductImagesAttr.js";import{createStyle as g}from"@gem-sdk/system";import{getFeaturedImageOnlyOneImageStyle as p}from"../../common/styles.js";import f from"../../../../../carousel-v3/components/root/Carousel.js";import h from"../../../../../carousel-v3/components/item/CarouselItem.js";import C from"./ProductFeaturedImageOnly.js";import{useProductFeaturedImageCarousel as v}from"../../hooks/useProductFeaturedImageCarousel.js";let ProductFeaturedImageCarousel=r((o,r)=>{let{productImages:I,imgRef:j,onHandleClick:w,onClickArrow:y,onHandleLoaded:P,onHandleUpdateActiveIndex:b,swiperUpdateTrigger:k,builderPropUID:M,builderPropsClass:S,parentUid:x,...A}=o,F=t(null),{ref:H,imageActive:N,imageActiveIndex:O,imageShowWhenHover:R,enableOpenLightBox:B,filteredProductImages:W,isRenderFeatureCarousel:$,genRandomKey:L,getAspectRatioFinal:T,emitUpdateActiveIndex:D}=v(o);a(r,()=>({getSwiper:()=>F.current?.getSwiper()||null}));let q=s(),{galleryItemClasses:z,featureImageOnlyOneImageClasses:E}=d(A),{featuredImageCarouselStyle:G,featureImageCarouselItemStyle:J}=u(A),K=g({...p({setting:A,options:{enableRadius:!0,enableHeight:!0}})}),{featuredImageCarouselSettingAttrs:Q}=c(A);return e("div",{ref:H,"data-slot":"children",className:"product-feature-image",children:$?e(f,{ref:F,parentClass:S,elmRef:j,setting:Q,styles:G,builderProps:{uid:M},isHiddenArrowWhenDisabled:!0,onLoaded:e=>P&&P(e),onChangeActive:e=>D(e),onClickArrow:()=>y&&y(L()),moveToIdx:O,disableMarginAuto:!0,thumbsSwiper:`#gp-carousel-${M}-carousel`,onHandleChangeSlideByInteraction:e=>{let o=W?.length??0,r=e>=o?0:e;w(W?.[r]?.id??"",B)},children:W?.map(o=>e(h,{contentType:"productImage",className:z("gp-ft-image-item !gp-min-w-full !gp-max-w-full"),onClickItem:()=>{let e=m(A?.ftClickOpenLightBox,q);"none"!==e&&w(o?.id??"",B)},style:J,onMouseMove:e=>l(e,A),onMouseOut:e=>n(e),children:e(C,{image:o,imageShowWhenHover:R,setting:A,aspectRatio:T()})},o?.id))}):e("div",{ref:j,className:"gp-flex gp-w-full",style:{...i("jc",A?.align)},"data-id":M,children:e("div",{"aria-hidden":"true",className:E,style:K,onMouseMove:e=>l(e,A),onMouseOut:e=>n(e),onBlur:()=>void 0,onClick:()=>{w(N?.id??"",B)},children:e(C,{image:N,imageShowWhenHover:R,setting:A,aspectRatio:T(N)})})})})});var ProductFeaturedImageCarousel$1=o(ProductFeaturedImageCarousel);export{ProductFeaturedImageCarousel$1 as default};
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ import{jsx as e,Fragment as t,jsxs as r}from"react/jsx-runtime";import{useProduct as o,useCurrentDevice as a,useShopStore as c,useRenderMode as i,getResponsiveValueByScreen as n,cls as l,makeStyle as s}from"@gem-sdk/core";import{memo as h,useMemo as f}from"react";import m from"../../../../../image/components/NextImage.js";import p from"./MediaIcon.js";import{isFeatureMedia as d,getZoomImageClass as g,getZoomLenClass as u}from"../../common/productFeaturedImage.js";import y from"./ProductFeatureVideo.js";let defaultImage={src:"https://cdn.shopify.com/s/assets/no-image-2048-5e88c1b20e087fb7bbe9a3771824e743c244f437e4f8ba93bbf7b11b53f7824c_large.gif",id:"noImageError",width:480,height:480,alt:"no image",contentType:"IMAGE"},ProductFeaturedImageOnly=({image:h,imageShowWhenHover:v,setting:E,aspectRatio:I})=>{let T=o(),b=a(),w=c(e=>e.storefrontUrl),{isEditMode:O,isPreviewSharePageMode:x}=i(),L=f(()=>"none"!==n(E.ftClickOpenLightBox,b),[b,E.ftClickOpenLightBox]),j=f(()=>!O&&["VIDEO","EXTERNAL_VIDEO"].includes(h?.contentType||"")&&!L,[O,h?.contentType,L]),F=f(()=>h?{...h,src:j?h.src:d(h?.contentType)?h?.previewImage:h.src}:defaultImage,[h,j]),N=f(()=>{if(x)return"javascript:void(0)";if(!w)return"#";let e=new URL(w);return T?`${e.protocol}//${e.host}/products/${T.handle}`:"#"},[w,T,x]),$=t=>"product-link"===n(E.ftClickOpenLightBox,b)?e("a",{title:T?.title,href:N,className:"gp-w-full",children:t}):t,k=f(()=>E?.hoverEffect!=="none"&&!d(F?.contentType),[F?.contentType,E?.hoverEffect]),P=f(()=>E?.hoverEffect=="zoom"&&E?.zoomType=="glasses"&&!d(F?.contentType),[F?.contentType,E?.hoverEffect,E?.zoomType]);return e(t,{children:$(e(t,{children:j?e(y,{type:F?.contentType,url:F.src??"",aspectRatio:I}):r(t,{children:[e(m,{draggable:"false",src:F.src,width:F?.width,height:F?.height,alt:F?.alt,setting:{aspectRatio:I,layout:E?.ftLayout},priority:E?.preload,className:"featured-image-only",style:{width:"100%",height:"100%",cursor:"pointer"}}),e(p,{contentType:F?.contentType??""}),k&&e(m,{draggable:"false",src:E?.hoverEffect==="other"?v?.src:F.src,width:E?.hoverEffect==="other"?v?.width:F.width,height:E?.hoverEffect==="other"?v?.height:F.height,alt:E?.hoverEffect==="other"?v?.alt:F.alt,setting:{layout:E.ftLayout,aspectRatio:I},style:{width:"100%",height:"100%"},className:l("hover-image featured-image-only !gp-max-w-none",g()),priority:E?.preload}),P&&e("div",{className:l(u(),"room-len"),style:{...s({bgi:`url("${F?.src}")`})}})]})}))})};var ProductFeaturedImageOnly$1=h(ProductFeaturedImageOnly);export{ProductFeaturedImageOnly$1 as default};
@@ -0,0 +1,2 @@
1
+ import{jsx as e,Fragment as o,jsxs as t}from"react/jsx-runtime";import{useCurrentDevice as r,cls as i,getResponsiveValueByScreen as a,makeStyle as l}from"@gem-sdk/core";import{memo as m}from"react";import{getAspectRatio as s}from"../../common/common.js";import c from"../../../../../image/components/NextImage.js";import d from"../lightbox/ButtonOpenLightBox.js";import n from"./MediaIcon.js";import{isFeatureMedia as g,getZoomImageClass as p,getZoomLenClass as y}from"../../common/productFeaturedImage.js";import{handleMouseMove as h,handleMouseOut as u}from"../../common/hoverAction.js";import{getProductImagesClassName as f}from"../../composables/getProductImagesClassName.js";import{getProductImagesStyles as v}from"../../composables/getProductImagesStyles.js";import{useProductGalleryGrid as j}from"../../hooks/useProductGalleryGrid.js";let ProductGalleryGrid=m=>{let{builderPropUID:G,productImages:w,onHandleClick:T,activeIndexFromFeatureImage:x,children:P,isHiddenInteraction:b,...I}=m,{isDisplay:N,shapeByLayout:$,imageActiveIndex:k,enableOpenLightBox:E,isEnableBorderActive:M,filteredProductImages:z}=j(m),B=r(),{galleryGridWrapperClasses:H,galleryItemClasses:O}=f(I),{galleryGridStyles:Z,galleryGridItemStyles:A}=v(I);return e(o,{children:N&&t("div",{"data-slot":"children","data-id":G,className:H,style:Z,"gp-data-hidden":`${b}`,children:[z?.map((o,r)=>{let m=r===k,f=g(o.contentType)?o.previewImage:o.src;return t("div",{"aria-hidden":!0,className:O(`gp-gallery-image-item gem-slider-item-${G}
2
+ ${m&&M?"gem-slider-item-active":""}`),onClick:()=>T(o?.id||"",E),style:A,onMouseMove:e=>h(e,{hoverEffect:I.galleryHoverEffect,zoom:I.galleryZoom,zoomType:I.galleryZoomType}),onMouseOut:e=>u(e),"data-border":m&&I?.borderActive?"active":"deactive",children:[e(c,{src:f,width:o?.width,height:o?.height,alt:o?.alt,setting:{aspectRatio:s($),layout:I?.layout},style:{width:"100%",height:"100%"}},o?.id),e(n,{contentType:o?.contentType||""}),I?.galleryHoverEffect!=="none"&&!g(o?.contentType)&&e(c,{src:f,width:o?.width,height:o?.height,alt:o?.alt,setting:{layout:I.layout,aspectRatio:s($)},className:i("hover-image !gp-max-w-none",p())}),I?.galleryHoverEffect=="zoom"&&I?.galleryZoomType=="glasses"&&["one-col","two-col"].includes(a(I.position,B)||"")&&!g(o?.contentType)&&e("div",{className:i(y(),"room-len"),style:{...l({bgi:`url("${o?.src}")`})}}),a(I?.clickOpenLightBox,B)&&e(d,{})]},o?.id)}),P]})})};var ProductGalleryGrid$1=m(ProductGalleryGrid);export{ProductGalleryGrid$1 as default};
@@ -0,0 +1 @@
1
+ import{jsx as e,Fragment as r,jsxs as t}from"react/jsx-runtime";import{useCurrentDevice as i,cls as o}from"@gem-sdk/core";import{useRef as a,useCallback as l}from"react";import s from"../gallery-carousel/GalleryCarousel.js";import d from"../child/ProductGalleryGrid.js";import m from"../child/ProductFeaturedImageCarousel.js";import{getProductImagesStyles as u}from"../../composables/getProductImagesStyles.js";import{getProductImagesClassName as n}from"../../composables/getProductImagesClassName.js";import{useFeatureImageWithGallery as p}from"../../hooks/useFeatureImageWithGallery.js";let FeatureImageWithGallery=c=>{let{setting:g,styles:I,builderProps:f,gallery:h,onHandleClickImage:y,priorityFeatureImage:b,children:C,noDataChildren:F}=c,P=a(null),v=i(),j=l(e=>{if(!P.current)return;let r=P.current.getSwiper();r&&r.thumbs.swiper?.realIndex===void 0&&e&&(r.thumbs.swiper=e,r.thumbs.init(),r.thumbs.update(!0),r.update())},[]),k={...g,...I},{isShowCarousel:w,featureImageHeight:x,featureWrapperImage:G,onClickFeatureArrow:H,activeIndexFromFeatureImage:N,setOnClickFeatureArrow:S,onHandleLoadedFeatureImage:U,setActiveIndexFromFeatureImage:A}=p(c);if(h?.[0]?.id==="noImageError")return e(r,{children:F});let{ftImageGalleryClasses:D,imageGalleryWrapperClasses:W}=n(c),{wrapperFeaturedImageStyle:R,featureImageStyle:$,galleryImageStyle:E}=u(k,{gallery:h,featureImageHeight:x}),J=JSON.stringify(k?.position)+v+w;return t("div",{className:o("gp-grid gp-w-full gp-relative"),style:R,children:[t("div",{className:D,style:$,children:[C,e(m,{ref:P,imgRef:G,productImages:h,...k,onHandleClick:(e,r)=>y(e||"",r),onHandleLoaded:U,onHandleUpdateActiveIndex:A,onClickArrow:e=>S(e),builderPropUID:f?.uid,builderPropsClass:`gp-product-images-feature-${f?.uid}`})]}),h.length>1&&e("div",{className:W,style:E,children:w?e(s,{productImages:h,position:k?.position,...k,builderPropUID:f?.uid,onHandleClick:(e,r)=>y(e||"",r),onSwiperReady:j,activeIndexFormFeatureImage:N,priorityFeatureImage:b,onClickFeatureArrow:H,builderPropsClass:`gp-product-images-gallery-${f?.uid}`}):e(d,{productImages:h,...k,builderPropUID:f?.uid,onHandleClick:(e,r)=>y(e||"",r),activeIndexFromFeatureImage:N,isHiddenInteraction:!0})})]},J)};export{FeatureImageWithGallery as default};
@@ -0,0 +1,118 @@
1
+ import{makeStyleResponsive as e,template as a,cls as i}from"@gem-sdk/core";import{getAspectRatio as t,getPaddingBottomByShapeSetting as r,getSrcImage as s}from"../../common/common.js";import{checkRenderFeaturedCarousel as d,getVideoHeight as o,getZoomImageClass as u,getZoomLenClass as l}from"../../common/productFeaturedImage.js";import m from"../../../../../video/components/HTML5Embed.liquid.js";import g from"../../../../../image/components/Modal3d.liquid.js";import p from"../../../../../image/components/NextImage.liquid.js";import n from"../../../../../image/components/Video.liquid.js";import{getStyleOfObject as c}from"../../../../helpers/function.js";import{getProductImagesStyles as f}from"../../composables/getProductImagesStyles.js";import{getProductImagesClassName as h}from"../../composables/getProductImagesClassName.js";import{getProductImagesAttr as y}from"../../composables/getProductImagesAttr.js";import{LiquidIf as M,LiquidFor as $,Liquid as b,If as _,createStyle as v}from"@gem-sdk/system";import w from"../../../../../carousel-v3/components/root/Carousel.liquid.js";import I from"../../../../../carousel-v3/components/item/CarouselItem.liquid.js";let FeatureImageWithGallery=({builderPropUID:x,children:q,enableLazyLoadImage:j,...z})=>{let{featuredImageCarouselClasses:S,galleryItemClasses:L,featuredCarouselItemClasses:P}=h({...z,builderProps:{uid:x}}),{featuredImageCarouselStyle:R,featureImageStyle:W,featureImageCarouselOnlyOneImageStyle:C,featureImageOnlyOneImageStyle:T,featureImageCarouselItemStyle:N}=f(z),{featuredImageCarouselSettingAttrs:k}=y(z),E=t(z.ftShape),O=()=>`
2
+ {% case featureMedia.media_type %}
3
+ {% when 'image' %}
4
+ ${F()}
5
+ {% when 'external_video' %}
6
+ {% assign mediaSourceVideo = featureMedia | external_video_url %}
7
+ ${D()}
8
+ {% when 'video' %}
9
+ {% assign mediaSourceVideo = featureMedia.sources.last.url %}
10
+ ${V()}
11
+ {% when 'model' %}
12
+ ${A()}
13
+ {% else %}
14
+ ${G()}
15
+ {% endcase %}
16
+ `,A=()=>g({src:M("featureMedia.sources.first.url contains '.glb'","{{ featureMedia.sources.first.url }}","{{featureMedia.sources.last.url}}"),alt:"{{featureMedia.preview_image.alt}}",poster:"{{featureMedia.preview_image.src | product_img_url: '1024x1024'}}",cameraControls:!0,arStatus:"not-presenting",style:{width:"100%"},aspectRatio:E}),D=()=>n({src:"{{mediaSourceVideo}}",alt:"{{featureMedia.alt | escape}}",autoplay:!1,allowfullscreen:!0,controls:!0,style:{width:"100%",height:"100%"},aspectRatio:E}),V=()=>{let a=v({...o(z?.ftLayout),...e("objf",z?.ftLayout)}),i=v({...o(z?.ftLayout)});return m({src:"{{mediaSourceVideo}}",title:"{{featureMedia.alt | escape}}",autoplay:!1,controls:!0,thumbnail:"{{featureMedia.preview_image.src | product_img_url: '1024x1024'}}",isCheckLoaded:!0,wrapperStyles:i,style:{width:"100%","max-height":"100%",...a},className:"gp-invisible"})},F=()=>a`
17
+ ${H(i("gp-w-full gp-transition-opacity",{"group-hover:gp-opacity-0":"other"==z.hoverEffect},"{{shouldHidden}}"))}
18
+ ${_(z?.hoverEffect!=="none",`<div class="${i("zoom-element !gp-max-w-none",u())}">
19
+ ${H("image-zoom",!0)}
20
+ </div>`," ")}
21
+ ${_(z?.hoverEffect=="zoom"&&z?.zoomType=="glasses",`<div class="${i("zoom-lens-element",l())}" style="opacity: 0; background-image: url('{{ featureMedia.src | img_url: "1024x1024"}}')"></div>`," ")}
22
+ `,H=(e,i)=>a`
23
+ {% assign src = featureMedia.src %}
24
+ ${_(i&&"other"==z.hoverEffect,`{% assign media_length = product.media | size %}
25
+ {% assign other_image_index = ${z.otherImage} | plus: 0 %}
26
+ {% if other_image_index >= media_length %}
27
+ {% assign other_image_index = media_length | minus: 1 %}
28
+ {% endif %}
29
+ {% assign otherImage = product.media[other_image_index] %}
30
+ ${M("otherImage.media_type != 'image'","{% assign src = otherImage.preview_image.src %}","{% assign src = otherImage.src %}")}
31
+ `)}
32
+ ${p({srcIsLiquidCode:!0,src:M("src != null",s("src"),"https://cdn.shopify.com/s/assets/no-image-2048-5e88c1b20e087fb7bbe9a3771824e743c244f437e4f8ba93bbf7b11b53f7824c_large.gif"),id:M("featureMedia != null","{{featureMedia.id}}"),width:"{{featureMedia.width}}",height:"{{featureMedia.height}}",alt:"{{featureMedia.alt | escape}}",srcset:`${s("src")}`,baseSrc:"{{src | image_url}}",sizes:"(max-width: 768px) 50vw, 100vw",setting:{layout:z?.ftLayout,aspectRatio:E,qualityType:z?.qualityType,qualityPercent:z?.qualityPercent},priority:z?.preload,className:`gp-w-full gp-h-full gp-absolute gp-top-0 gp-left-0 featured-image-only gp-cursor-pointer !gp-rounded-none ${e??""}`,enableLazyLoadImage:j})}`,G=()=>a`
33
+ ${p({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:{layout:z?.ftLayout,aspectRatio:E,qualityType:z?.qualityType,qualityPercent:z?.qualityPercent},priority:z?.preload,className:"gp-w-full gp-h-full gp-absolute gp-top-0 gp-left-0 featured-image-only gp-cursor-pointer !gp-rounded-none",enableLazyLoadImage:j})}`,J=r(z.ftShape),B=a=>`
34
+ ${b(`{% assign productImageWidth = 0 %}
35
+ {% case featureMedia.media_type %}
36
+ {% when 'image' %}
37
+ {% assign productImageWidth = featureMedia.width %}
38
+ {% else %}
39
+ {% assign productImageWidth = featureMedia.preview_image.width %}
40
+ {% endcase %}`)}
41
+ ${I({id:"{{section.id}}-{{imageID}}",contentType:"productImage",className:`${L(`gp-ft-image-item !gp-min-w-full !gp-max-w-full ${a??""}`)}`,parentId:`ft-${x}-{{section.id}}-{{product.id}}`,style:N,customStyle:{width:"{{productImageWidth}}px"},children:`
42
+ <div
43
+ class="gp-w-full gp-relative ${M("featureMedia == null or featureMedia.media_type == 'image'","{{ 'gp-h-0' }}","{{ 'gp-h-full !gp-pb-0' }}")}"
44
+ style="${c(e("pb",J))} ${M("featureMedia.media_type == 'video' or featureMedia.media_type == 'external_video'","{{ 'display: flex; align-items: center; justify-content: center' }}")}"
45
+ >
46
+ ${O()}
47
+ </div>
48
+ `})}`,K=d(z),Q="gp-featured-image-wrapper",U=M("product.media.size > 0",`${q||""} {% assign largestRatio = 0 %}
49
+ ${$("featureMedia in product.media",`
50
+ {% assign height = featureMedia.height | times: 1.0 %}
51
+ {% assign width = featureMedia.width | times: 1.0 %}
52
+ {% assign ratio = height | divided_by: width %}
53
+ ${M("ratio > largestRatio","{% assign largestRatio = ratio %}")}
54
+ `)}
55
+ ${$("featureMedia in product.media",`${M("featureMedia.media_type == 'image'",`${$("image in product.images",M("image.src == featureMedia.src","{% assign imageID = image.id %}{% break %}"))}`,"{% assign imageID = '' %}")}
56
+ ${B()}`)}
57
+ `,p({src:"https://cdn.shopify.com/s/assets/no-image-2048-5e88c1b20e087fb7bbe9a3771824e743c244f437e4f8ba93bbf7b11b53f7824c_large.gif",id:"noImageError",width:"480",height:"480",alt:"no image",priority:z?.preload,setting:{layout:z?.ftLayout,aspectRatio:E,qualityType:z?.qualityType,qualityPercent:z?.qualityPercent},style:{height:"100%"},className:"gp-w-full featured-image-only !gp-rounded-none",customLazyload:!0,enableLazyLoadImage:j})),X=()=>`
58
+ ${w({builderProps:{uid:x},rootId:`ft-${x}-{{section.id}}-{{product.id}}`,conditionAppendJs:"product.media.size > 1",wrapperClass:Q,rootClass:`${S}`,rootAttrs:{type:"gp-feature-image-carousel","product-id":"{{product.id}}","product-media":"{{product.media.size}}"},isHiddenArrowWhenDisabled:!0,setting:k,rootStyles:W,styles:R,style:{playSpeed:600},disableMarginAuto:!0,children:U})}
59
+ `,Y=()=>{switch(z?.preDisplay){case"1st-images":return`
60
+ {% assign featureMedia = product.media.first %}
61
+ `;case"1st-3d-mode":return $("media in product.media",M("media.media_type == 'model'","{% assign featureMedia = media %}{% break %}"));case"1st-video":return $("media in product.media",M("media.media_type == 'video' or media.media_type == 'external_video'","{% assign featureMedia = media %}{% break %}"));default:return`
62
+ {% assign featureMedia = variant.featured_media %}
63
+ {% unless featureMedia %}
64
+ {% assign featureMedia = product.featured_media %}
65
+ {% endunless %}
66
+ `}},Z=()=>b(`
67
+ {% assign featureMedia = variant.featured_media %}
68
+ {% unless featureMedia %}
69
+ {% assign featureMedia = product.featured_media %}
70
+ {% endunless %}
71
+ ${M("product.media.size > 1",Y())}
72
+ {% assign largestRatio = 0 %}
73
+ {% assign height = featureMedia.height | times: 1.0 %}
74
+ {% assign width = featureMedia.width | times: 1.0 %}
75
+ {% assign ratio = height | divided_by: width %}
76
+ ${M("ratio > largestRatio","{% assign largestRatio = ratio %}")}
77
+ {% assign productImageWidth = 0 %}
78
+ {% case featureMedia.media_type %}
79
+ {% when 'image' %}
80
+ {% assign productImageWidth = featureMedia.width %}
81
+ {% else %}
82
+ {% assign productImageWidth = featureMedia.preview_image.width %}
83
+ {% endcase %}
84
+ ${M("featureMedia == null","{% assign productImageWidth = 1600 %}")}
85
+ <div
86
+ class='gp-feature-image-carousel gp-feature-image-only'
87
+ style="${c(W)}"
88
+ >
89
+ <div
90
+ class="gp-relative"
91
+ style="${c(T)}"
92
+ >
93
+ ${q}
94
+ <div
95
+ type="gp-feature-image-only"
96
+ product-id="{{product.id}}"
97
+ product-media="{{product.media.size}}"
98
+ class="${P(Q)}"
99
+ style="${c(C)}"
100
+ >
101
+ <div
102
+ class="gp-w-full gp-relative ${M("featureMedia == null or featureMedia.media_type == 'image'","{{ 'gp-h-0' }}","{{ 'gp-h-full !gp-pb-0' }}")}"
103
+ style="${c(e("pb",J))} ${M("featureMedia.media_type == 'video' or featureMedia.media_type == 'external_video'","{{ 'display: flex; align-items: center; justify-content: center' }}")}"
104
+ >
105
+ ${O()}
106
+ </div>
107
+ </div>
108
+ </div>
109
+ </div>
110
+ `);return b(`
111
+ {% capture featureImageOnlyOne %}
112
+ ${Z()}
113
+ {% endcapture %}
114
+ ${M("product.media.size > 1",`
115
+ ${_(K,X()," ")}
116
+ ${_(!K,"{{ featureImageOnlyOne }}"," ")}
117
+ `,"{{ featureImageOnlyOne }}")}
118
+ `)};export{FeatureImageWithGallery as default};
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ import{jsx as e,Fragment as r,jsxs as t}from"react/jsx-runtime";import a from"../child/ProductFeaturedImageCarousel.js";import{getProductImagesClassName as o}from"../../composables/getProductImagesClassName.js";import{getProductImagesStyles as l}from"../../composables/getProductImagesStyles.js";let OnlyFeatureImage=s=>{let{setting:m,styles:d,gallery:i,builderProps:u,noDataChildren:c,onHandleClickImage:g,children:p}=s,n={...m,...d};if(i?.[0]?.id==="noImageError")return e(r,{children:c});let{featureImageOnlyOneImageClasses:I}=o(n),{featureImageStyle:f}=l(n);return t("div",{className:I,style:f,children:[e(a,{productImages:i,...n,onHandleClick:(e,r)=>{g(e||"",r)},builderPropUID:u?.uid,builderPropsClass:`gp-product-images-gallery-${u?.uid}`}),p]})};export{OnlyFeatureImage as default};
@@ -0,0 +1 @@
1
+ import{jsx as e,Fragment as o,jsxs as t}from"react/jsx-runtime";import{useCurrentDevice as r}from"@gem-sdk/core";import{getAspectRatio as s}from"../../common/common.js";import{getEditorMinHeightClass as m}from"../../common/productGallery.js";import{getProductImagesClassName as a}from"../../composables/getProductImagesClassName.js";import{getProductImagesStyles as i}from"../../composables/getProductImagesStyles.js";import{getProductImagesAttr as l}from"../../composables/getProductImagesAttr.js";import{isFeatureMedia as n}from"../../common/productFeaturedImage.js";import c from"../child/MediaIcon.js";import p from"../lightbox/ButtonOpenLightBox.js";import d from"../../../../../image/components/NextImage.js";import u from"../../../../../carousel-v3/components/root/Carousel.js";import g from"../../../../../carousel-v3/components/item/CarouselItem.js";import{useGalleryCarousel as y}from"../../hooks/useGalleryCarousel.js";import{If as h}from"@gem-sdk/system";let ProductGalleryCarousel=f=>{let{builderPropUID:j,productImages:C,onSwiperReady:I,activeIndexFormFeatureImage:b,onClickFeatureArrow:P,builderPropsClass:T,arrow:w,priorityFeatureImage:x,...k}=f,v=r(),{galleryItemClasses:q}=a(k),{galleryCarouselSettingAttrs:G}=l(k),{galleryCarouselStyle:N,galleryCarouselItemStyle:A}=i(k),{isDisplay:S,shapeByLayout:B,isShowButtonLightbox:H,filteredProductImages:L,handleClickCarouselItem:M,safeMoveToIdx:R,setSliderReady:$}=y(f);return e(o,{children:S&&e(u,{parentClass:T,rootClass:T,setting:G,styles:N,slidesClass:m(v,k.position,k.navigationPosition),builderProps:{uid:`${j}-carousel`},moveToIdx:R,isHiddenArrowWhenDisabled:!0,disableMarginAuto:!0,isEnableCheckHasScrollableContent:!0,onLoaded:e=>{e&&$(!0)},onSwiperReady:I,children:L?.map(o=>{let r=n(o.contentType)?o.previewImage:o.src;return t(g,{contentType:"productImage",className:q(`gp-gallery-image-item gem-slider-item-${j}`),onClickItem:()=>M(o?.id),style:A,"data-id":o?.id,children:[e(d,{draggable:"false",src:r,width:o?.width,height:o?.height,alt:o?.alt,setting:{aspectRatio:s(B),layout:k?.layout,qualityPercent:k?.qualityPercent,qualityType:k?.qualityType},style:{width:"100%",height:"100%",cursor:"pointer"},className:"product-list-image"}),e(c,{contentType:o?.contentType||""}),h(H,e(p,{}))]},o?.id)})})})};export{ProductGalleryCarousel as default};
@@ -0,0 +1,46 @@
1
+ import{template as e,getResponsiveValueByScreen as t}from"@gem-sdk/core";import i from"../../../../../image/components/NextImage.liquid.js";import{getDisplayStyle as o,getAspectRatio as r,getSrcImage as s}from"../../common/common.js";import{getShapeByLayout as a,getMinHeightByPosition as p,checkDisplayGalleryByWidth as l,getZoomDisplay as d,getCarouselVerticalConfigByPosition as m}from"../../common/productGallery.js";import{getStyleOfObject as g}from"../../../../helpers/function.js";import{getProductImagesStyles as n}from"../../composables/getProductImagesStyles.js";import{getProductImagesClassName as c}from"../../composables/getProductImagesClassName.js";import{getProductImagesAttr as u}from"../../composables/getProductImagesAttr.js";import{LiquidIf as C,LiquidFor as h}from"@gem-sdk/system";import y from"../../../../../carousel-v3/components/root/Carousel.liquid.js";import v from"../../../../../carousel-v3/components/item/CarouselItem.liquid.js";let ProductGalleryCarousel=({builderPropUID:b,children:f,enableLazyLoadImage:w,...L})=>{let{featuredImageGalleryClasses:F,galleryItemClasses:x}=c(L),{galleryCarouselSettingAttrs:$}=u(L),{galleryCarouselStyle:I,galleryCarouselItemStyle:_}=n(L),k=()=>{let e=(e,i,o)=>{let r=t(i,o),s=t(e,o),a="slider"===s&&("bottom-center"===r||"inside-bottom"===r),p=["left","right","inside-left","inside-right"].includes(r??"");return p||a},i=l({shapeByLayout:j}),r={desktop:i.desktop&&e(L.type,L.position,"desktop"),tablet:i.tablet&&e(L.type,L.position,"tablet"),mobile:i.mobile&&e(L.type,L.position,"mobile")};return o(e=>!r[e],"flex")},j=a({shape:L.shape,shapeForBottom:L.shapeForBottom,shapeFor1Col:L.shapeFor1Col,shapeFor2Col:L.shapeFor2Col,shapeForFtOnly:L.shapeForFtOnly,shapeForInsideBottom:L.shapeForInsideBottom,shapeForInside:L.shapeForInside},L.position),V=(t,o)=>e`${i({srcIsLiquidCode:!0,src:`${s("media.preview_image")}`,width:"{{media.width}}",height:"{{media.height}}",alt:"{{media.alt | escape}}",setting:t,baseSrc:"{{media.preview_image | image_url}}",style:o,className:"!gp-rounded-none gp-w-full gp-h-full gp-top-0 gp-left-0 gp-cursor-pointer",enableLazyLoadImage:w})}`,M=e=>`
2
+ ${C("media.media_type == 'video'","{% assign mediaSourceUrl = media.sources.last.url %}")}
3
+ ${C("media.media_type == 'external_video'","{% assign mediaSourceUrl = media | external_video_url %}")}
4
+ ${C("media.media_type == 'image'","{% assign mediaSourceUrl = media.src %}")}
5
+ ${v({id:"{{imageID}}",contentType:"productImage",className:`${x(`gp-gallery-image-item ${e??""}`)}`,parentId:`${b}-{{product.id}}`,builderAttrs:{"data-outline":e?"active":"deactive"},style:_,children:`
6
+ <div class="gp-w-full gp-relative gp-h-full"
7
+
8
+ >
9
+ ${V({aspectRatio:r(j),layout:L?.layout,qualityPercent:L?.qualityPercent,qualityType:L?.qualityType},{width:"100%",height:"100%",cursor:"pointer"})}
10
+
11
+ ${C("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" >
12
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
13
+ <rect opacity="0.9" width="24" height="24" rx="3" fill="#212121"/>
14
+ <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"/>
15
+ </svg>
16
+ </div>`)}
17
+ ${C("media.media_type == 'model'",`<div class="gp-absolute gp-pb-1 gp-pr-1 gp-right-0 gp-bottom-0">
18
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
19
+ <rect opacity="0.9" width="24" height="24" rx="3" fill="#212121"/>
20
+ <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"/>
21
+ </svg>
22
+ </div>`)}
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="${g(d(L?.clickOpenLightBox))}"
26
+ >
27
+ <svg
28
+ height="100%"
29
+ width="100%"
30
+ xmlns="http://www.w3.org/2000/svg"
31
+ class="gp-h-6 gp-w-6"
32
+ viewBox="0 0 512 512"
33
+ color="#fff"
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
+ </div>
43
+ `})}`,P=()=>{let e=m(L.position),t=[e.desktop?"gp-px-0":"gp-py-0",e.tablet?"tablet:gp-px-0":"tablet:gp-py-0",e.mobile?"mobile:gp-px-0":"mobile:gp-py-0"];return` ${t.join(" ")}`},Z=C("product.media.size > 1",h("media in product.media",`${C("media.media_type == 'image'",h("image in product.images",C("image.src == media.src","{% assign imageID = image.id %}{% break %}")),"{% assign imageID = '' %}")}
44
+ ${C("media.id == product.featured_media.id ",M(L?.borderActive?.border!=="none"?"active":""),M())}`));return e`
45
+ ${y({builderProps:{uid:b},rootId:`${b}-{{product.id}}`,rootClass:`${F}`,rootAttrs:{type:"grid-carousel","product-media":"{{product.media.size}}"},wrapperClass:P(),slidesClass:p(L.position,L.navigationPosition),isHiddenArrowWhenDisabled:!0,setting:$,rootStyles:{...k()},styles:I,disableMarginAuto:!0,children:Z})}
46
+ `};export{ProductGalleryCarousel as default};
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ import{jsx as r,Fragment as e}from"react/jsx-runtime";import o from"../child/ProductGalleryGrid.js";let GalleryGrid=d=>{let{setting:i,styles:l,gallery:t,builderProps:n,noDataChildren:a,onHandleClickImage:c,children:m}=d,u={...i,...l,borderActive:{...i?.borderActive,border:"none"}};return t?.[0]?.id==="noImageError"?r(e,{children:a}):r(o,{productImages:t,enableHoverAction:!0,...u,builderPropUID:n?.uid,onHandleClick:(r,e)=>c(r||"",e),children:m})};export{GalleryGrid as default};
@@ -0,0 +1,93 @@
1
+ import{makeStyleResponsive as e,template as i,getResponsiveValueByScreen as a,cls as t}from"@gem-sdk/core";import{Liquid as o,LiquidFor as s,LiquidIf as d,If as r}from"@gem-sdk/system";import l from"../../../../../image/components/Modal3d.liquid.js";import m from"../../../../../image/components/NextImage.liquid.js";import p from"../../../../../image/components/Video.liquid.js";import n from"../../../../../video/components/HTML5Embed.liquid.js";import{getStyleOfObject as g}from"../../../../helpers/function.js";import{getAspectRatio as c,getSrcImage as u}from"../../common/common.js";import{getZoomImageClass as h,getZoomLenClass as y}from"../../common/productFeaturedImage.js";import{getShapeByLayout as C,getZoomDisplay as v}from"../../common/productGallery.js";import{getProductImagesClassName as f}from"../../composables/getProductImagesClassName.js";import{getProductImagesStyles as w}from"../../composables/getProductImagesStyles.js";let ProductGalleryGrid=({builderPropUID:_,wrapperStyle:$,children:b,enableLazyLoadImage:x,...L})=>{let{galleryItemClasses:F,galleryGridWrapperClasses:V}=f(L),{galleryGridStyles:q,galleryGridItemStyles:I}=w(L),M=C({shape:L.shape,shapeForBottom:L.shapeForBottom,shapeFor1Col:L.shapeFor1Col,shapeFor2Col:L.shapeFor2Col,shapeForFtOnly:L.shapeForFtOnly,shapeForInsideBottom:L.shapeForInsideBottom,shapeForInside:L.shapeForInside},L.position),j=(i=!1)=>{let t=["desktop","mobile","tablet"],o={desktop:"none",tablet:"none",mobile:"none"};return t.forEach(e=>{let t=a(L?.position,e)||"",s="one-col"===t||"two-col"===t,d=i?!s:s;o[e]=d?"block":"none"}),e("d",o)},k=()=>j(),S=()=>j(!0),Z=(e,a)=>i`
2
+ ${m({srcIsLiquidCode:!0,src:`${u("media.preview_image")}`,width:"{{media.width}}",height:"{{media.height}}",alt:"{{media.alt | escape}}",baseSrc:"{{media.preview_image | image_url}}",setting:e,style:a,className:"!gp-rounded-none",customLazyload:!1,enableLazyLoadImage:x})}
3
+ ${r(L?.galleryHoverEffect!=="none",`<div class="${t("zoom-element !gp-max-w-none gp-w-full gp-h-full",h())}">
4
+ ${m({srcIsLiquidCode:!0,src:`${u("media.preview_image")}`,width:"{{media.width}}",height:"{{media.height}}",baseSrc:"{{media.preview_image | image_url}}",alt:"{{media.alt | escape}}",setting:e,style:a,className:"!gp-rounded-none gp-w-full gp-h-full",customLazyload:!1,enableLazyLoadImage:x})}
5
+ </div>`," ")}
6
+ ${r(L?.galleryHoverEffect=="zoom"&&L?.galleryZoomType=="glasses",`<div class="${t("zoom-lens-element",y())}" style="opacity: 0; background-image: url('{{media.preview_image | product_img_url: '1024x1024'}}')">
7
+ </div>
8
+ `," ")}
9
+ `,z=()=>l({src:d("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:c(M)}),B=()=>p({src:"{{mediaSourceVideo}}",alt:"{{media.alt | escape}}",autoplay:!1,allowfullscreen:!0,controls:!0,style:{width:"100%",height:"100%"}}),H=()=>n({src:"{{mediaSourceVideo}}",title:"{{media.alt | escape}}",autoplay:!1,controls:!0,style:{width:"100%","max-height":"100%"}}),P=()=>i`
10
+ ${d("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
+ ${d("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
+ ${Z({aspectRatio:c(M),layout:L?.layout,qualityType:L?.qualityType,qualityPercent:L?.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="${g(v(L?.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
+ `,N=i=>`
43
+ ${d("media.media_type == 'video'","{% assign mediaSourceUrl = media.sources.last.url %}")}
44
+ ${d("media.media_type == 'external_video'","{% assign mediaSourceUrl = media | external_video_url %}{% assign mediaSource = media | json %}")}
45
+ ${d("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="${F(`gem-slider-item-${_}-{{product.id}} gp-gallery-image-item ${i??""} data-[outline=deactive]:after:!gp-border-transparent`)}"
57
+ style="${g(I)}"
58
+ >
59
+ ${d("media.media_type == 'external_video' or media.media_type == 'video' or media.media_type == 'model'","{% assign isMedia = true %}")}
60
+
61
+ ${d("media.media_type == 'external_video' or media.media_type == 'video'","{% assign isVideo = true %}")}
62
+
63
+ <div class="gp-h-full gp-w-full" style="${d("media == null or media.media_type == 'image'","display: block !important;")} ${d("isVideo == true",g({...S()}))}">
64
+ ${d("media != null",P(),T())}
65
+ </div>
66
+
67
+ <div class="${d("isMedia","gp-flex gp-justify-center gp-items-center")}"
68
+ style="${d("isMedia",g({...e("aspect",c(M))}))} ${g({...k()})}"
69
+ >
70
+ {% case media.media_type %}
71
+ {% when 'external_video' %}
72
+ {% assign mediaSourceVideo = media | external_video_url %}
73
+ ${B()}
74
+ {% when 'video' %}
75
+ {% assign mediaSourceVideo = media.sources.last.url %}
76
+ ${H()}
77
+ {% when 'model' %}
78
+ ${z()}
79
+ {% endcase %}
80
+ </div>
81
+ {% assign isVideo= false %}
82
+ {% assign isMedia= false %}
83
+ </div>`,T=()=>i`
84
+ ${m({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:c(M),layout:L?.layout,qualityType:L?.qualityType,qualityPercent:L?.qualityPercent},className:"!gp-rounded-none",customLazyload:!1,enableLazyLoadImage:x})}`;return o(`
85
+ <div type="grid-gallery"
86
+ class="${V}"
87
+ style="${g(q)}}"
88
+ >
89
+ ${s("media in product.media",`${d("media.media_type == 'image'",s("image in product.images",d("image.src == media.src","{% assign imageID = image.id %}{% break %}")),"{% assign imageID = '' %}")}
90
+ ${d("media.id == product.featured_media.id ",N(L?.borderActive?.border!=="none"?"active":""),N())}`)}
91
+ ${d("product.media.size > 0",b)}
92
+ ${d("product.media.size < 1",N())}
93
+ </div>`)};export{ProductGalleryGrid as default};
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ import{jsx as C}from"react/jsx-runtime";let ButtonOpenLightBox=()=>C("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:C("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:C("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"})})});export{ButtonOpenLightBox as default};
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ import{jsx as e,jsxs as t,Fragment as o}from"react/jsx-runtime";import{useFeaturedImageGlobal as i,useEditorMode as l,cls as s}from"@gem-sdk/core";import d from"../../../../../carousel-v3/components/root/Carousel.js";import n from"../../../../../carousel-v3/components/item/CarouselItem.js";import r from"../../../../../image/components/NextImage.js";import"../../../../../modal/components/confirm.js";import p from"../../../../../modal/components/Modal.js";import{useMemo as m}from"react";import{isFeatureMedia as a}from"../../common/productFeaturedImage.js";import c from"../child/ProductFeatureVideo.js";import g from"../child/MediaIcon.js";let ProductImagesLightBox=({builderPropUID:h,productImages:u,open:b,imageRatio:f,onHandleClose:k})=>{let y=i(),E=m(()=>{let e=u?.findIndex(e=>e.id===y?.id);return e&&e>0?e:0},[u,y]),I={desktop:u&&u.length>1,mobile:u&&u?.length>1,tablet:u&&u?.length>1},j={desktop:!1,mobile:!1,tablet:!1},C=l(),v=e=>"edit"!==C&&["VIDEO","EXTERNAL_VIDEO"].includes(e?.contentType||"");return e(p,{setting:{open:b},styles:{width:"80%"},closeOnClickOutside:!0,onClose:()=>{k(),console.log("onHandleClose")},disableIframeClickEvent:!0,contentClass:"mobile:!gp-w-[100%] gp-px-2 gp-pb-10",children:e(d,{setting:{loop:j,slidesToShow:{desktop:1,tablet:1,mobile:1},defaultCurrentSlider:E,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:I,navigationStyle:{desktop:"outside"},arrowIconSize:{desktop:24},initialSlide:E},styles:{sizeSetting:{desktop:{height:"80vh"},tablet:{height:"80vh"},mobile:{height:"60vh"}},playSpeed:0},moveToIdx:E,hiddenDotWhenOnlyOne:!0,isHiddenArrowWhenDisabled:!0,isDisableResetSlide:!0,builderProps:{uid:h},fullHeight:!0,children:u?.map(i=>e(n,{className:`gem-slider-item gem-slider-item-${h} gp-flex gp-items-center gp-justify-center gp-px-4`,children:v(i)?e(c,{type:i?.contentType,url:i.src??"",aspectRatio:f}):t(o,{children:[e(r,{src:a(i?.contentType)?i?.previewImage:i?.src,width:i?.width,height:i?.height,alt:i?.alt,"content-type":i?.contentType,setting:{aspectRatio:f},className:s("gp-h-full gp-w-full gp-object-contain")},i?.id),e(g,{contentType:i?.contentType??""})]})},i?.id))})})};export{ProductImagesLightBox as default};
@@ -0,0 +1 @@
1
+ import{getGalleryCarouselSettingAttr as t,getFeaturedCarouselSettingAttr as r}from"../common/attrs.js";let getProductImagesAttr=e=>{let o=t(e),m=r(e);return{galleryCarouselSettingAttrs:o,featuredImageCarouselSettingAttrs:m}};export{getProductImagesAttr};