@gem-sdk/components 17.0.0-dev.9 → 17.0.0-dev.92

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 (372) hide show
  1. package/dist/cjs/accordion/settings/configs/ui-v2.js +1 -1
  2. package/dist/cjs/article/settings/configs/article-author/ui-v2.js +1 -1
  3. package/dist/cjs/article/settings/configs/article-category/ui-v2.js +1 -1
  4. package/dist/cjs/article/settings/configs/article-content/ui-v2.js +1 -1
  5. package/dist/cjs/article/settings/configs/article-date/ui-v2.js +1 -1
  6. package/dist/cjs/article/settings/configs/article-excerpt/ui-v2.js +1 -1
  7. package/dist/cjs/article/settings/configs/article-image/ui-v2.js +1 -1
  8. package/dist/cjs/article/settings/configs/article-list/ui-v2.js +1 -1
  9. package/dist/cjs/article/settings/configs/article-read-more/ui-v2.js +1 -1
  10. package/dist/cjs/article/settings/configs/article-tag/ui-v2.js +1 -1
  11. package/dist/cjs/article/settings/configs/article-title/ui-v2.js +1 -1
  12. package/dist/cjs/breadcrumb/settings/configs/ui-v2.js +1 -1
  13. package/dist/cjs/builder.js +1 -1
  14. package/dist/cjs/button/settings/configs/ui-v2.js +1 -1
  15. package/dist/cjs/carousel-v3/components/arrow/Arrow.liquid.js +8 -8
  16. package/dist/cjs/carousel-v3/components/arrow/common/classes.js +1 -1
  17. package/dist/cjs/carousel-v3/components/item/CarouselItem.js +1 -1
  18. package/dist/cjs/carousel-v3/components/root/Carousel.js +1 -1
  19. package/dist/cjs/carousel-v3/components/root/Carousel.liquid.js +1 -1
  20. package/dist/cjs/carousel-v3/components/root/common/helpers.js +1 -1
  21. package/dist/cjs/carousel-v3/components/swiper/Swiper.js +1 -1
  22. package/dist/cjs/carousel-v3/hooks/useCarousel.js +1 -1
  23. package/dist/cjs/carousel-v3/index.js +1 -1
  24. package/dist/cjs/carousel-v3/settings/configs/settings-v2.js +3 -3
  25. package/dist/cjs/carousel-v3/settings/configs/ui-v2.js +1 -1
  26. package/dist/cjs/cart/components/CartList.js +1 -1
  27. package/dist/cjs/cart/index.js +1 -1
  28. package/dist/cjs/collection/components/collection-description/CollectionDescription.js +1 -1
  29. package/dist/cjs/collection/index.js +1 -1
  30. package/dist/cjs/collection/settings/collection-banner/configs/ui-v2.js +1 -1
  31. package/dist/cjs/collection/settings/collection-description/configs/ui-v2.js +1 -1
  32. package/dist/cjs/collection/settings/collection-paginator/configs/ui-v2.js +1 -1
  33. package/dist/cjs/collection/settings/collection-title/configs/ui-v2.js +1 -1
  34. package/dist/cjs/collection/settings/collection-toolbar/configs/ui-v2.js +1 -1
  35. package/dist/cjs/common/helpers/index.js +1 -0
  36. package/dist/cjs/common/hooks/useInView.js +1 -1
  37. package/dist/cjs/countdown-timer/settings/configs/ui-v2.js +1 -1
  38. package/dist/cjs/coupon/settings/configs/ui-v2.js +1 -1
  39. package/dist/cjs/dialog/settings/configs/ui-v2.js +1 -1
  40. package/dist/cjs/estimate-delivery/settings/configs/ui-v2.js +1 -1
  41. package/dist/cjs/form/settings/contact/configs/ui-v2.js +1 -1
  42. package/dist/cjs/form/settings/form-checkbox/configs/ui-v2.js +1 -1
  43. package/dist/cjs/form/settings/form-dropdown/configs/ui-v2.js +1 -1
  44. package/dist/cjs/form/settings/form-email/configs/ui-v2.js +1 -1
  45. package/dist/cjs/form/settings/form-textarea/configs/ui-v2.js +1 -1
  46. package/dist/cjs/form/settings/newsletter/configs/ui-v2.js +1 -1
  47. package/dist/cjs/form/settings/submit-button/configs/ui-v2.js +1 -1
  48. package/dist/cjs/form/settings/text-field/configs/ui-v2.js +1 -1
  49. package/dist/cjs/grid/components/row/Row.js +1 -1
  50. package/dist/cjs/grid/components/section/Section.js +1 -1
  51. package/dist/cjs/grid/components/section/lazyload/LazySectionWrapper.js +1 -0
  52. package/dist/cjs/grid/components/section/lazyload/lazyInteractionTrigger.js +1 -0
  53. package/dist/cjs/grid/components/section/lazyload/lazySectionCoordinator.js +1 -0
  54. package/dist/cjs/grid/hooks/useRowEditorViewportWhenTrackingResumes.js +1 -0
  55. package/dist/cjs/grid/hooks/useRowSetting.js +1 -1
  56. package/dist/cjs/grid/index.js +1 -1
  57. package/dist/cjs/grid/next.js +1 -1
  58. package/dist/cjs/grid/settings/configs/row/ui-v2.js +1 -1
  59. package/dist/cjs/grid/settings/configs/section/ui-v2.js +1 -1
  60. package/dist/cjs/header/components/kind/basic/index.js +1 -1
  61. package/dist/cjs/header/components/kind/modern/index.js +1 -1
  62. package/dist/cjs/header/index.js +1 -1
  63. package/dist/cjs/heading/next.js +1 -1
  64. package/dist/cjs/heading/settings/configs/ui-v2.js +1 -1
  65. package/dist/cjs/headless.js +1 -0
  66. package/dist/cjs/hero-banner/index.js +1 -1
  67. package/dist/cjs/hero-banner/settings/configs/ui-v2.js +1 -1
  68. package/dist/cjs/icon/settings/configs/ui-v2.js +1 -1
  69. package/dist/cjs/icon-list/settings/configs/ui-v2.js +1 -1
  70. package/dist/cjs/icon-list-hoz/settings/configs/uiV2.js +1 -1
  71. package/dist/cjs/icon-list-v2/settings/configs/ui-v2.js +1 -1
  72. package/dist/cjs/image/common/const.js +1 -0
  73. package/dist/cjs/image/common/helpers.js +2 -2
  74. package/dist/cjs/image/next.js +1 -1
  75. package/dist/cjs/image/settings/configs/ui-v2.js +1 -1
  76. package/dist/cjs/image-comparison/components/ImageComparison.js +1 -1
  77. package/dist/cjs/image-comparison/components/ImageComparison.liquid.js +2 -2
  78. package/dist/cjs/image-comparison/settings/configs/ui-v2.js +1 -1
  79. package/dist/cjs/index.js +1 -1
  80. package/dist/cjs/index.liquid.js +1 -1
  81. package/dist/cjs/line/settings/configs/ui-v2.js +1 -1
  82. package/dist/cjs/marquee/settings/configs/ui-v2.js +1 -1
  83. package/dist/cjs/modal/components/Modal.js +1 -1
  84. package/dist/cjs/modal/index.js +1 -1
  85. package/dist/cjs/post-purchase/callout-banner/index.js +1 -1
  86. package/dist/cjs/post-purchase/product/components/ProductPrice.js +1 -1
  87. package/dist/cjs/post-purchase/product/components/ProductQuantity.js +1 -1
  88. package/dist/cjs/post-purchase/product/components/product-image/FeatureImage.js +1 -1
  89. package/dist/cjs/post-purchase/product/components/product-image/carousel-post-purchase/CarouselWrapperPostPurchase.js +1 -1
  90. package/dist/cjs/post-purchase/product/components/product-image/layouts/OnlyGalleryImage.js +1 -1
  91. package/dist/cjs/post-purchase/product/components/product-offer/components/ProductOfferItem.js +1 -1
  92. package/dist/cjs/post-purchase/product/components/product-offer/context/PrdOfferSubscriptionPresenceContext.js +2 -0
  93. package/dist/cjs/post-purchase/product/components/product-offer/helpers/scanSubscriptionBlocks.js +1 -0
  94. package/dist/cjs/post-purchase/product/components/product-offer/hooks/useProductOfferSubscriptionBlocksObserver.js +1 -0
  95. package/dist/cjs/post-purchase/product/components/product-subscription/hooks/useSubscriptionVisibility.js +1 -1
  96. package/dist/cjs/post-purchase/product/components/product-variant/components/ProductVariant.js +1 -1
  97. package/dist/cjs/post-purchase/product/components/product-variant/components/variants/Dropdown.js +1 -1
  98. package/dist/cjs/post-purchase/product/components/product-variant/components/variants/DropdownOption.js +1 -1
  99. package/dist/cjs/post-purchase/product/index.js +1 -1
  100. package/dist/cjs/post-purchase/product/settings/product-quantity/configs/settings.js +1 -1
  101. package/dist/cjs/post-purchase/product/settings/product-quantity/configs/ui-v2.js +1 -1
  102. package/dist/cjs/post-purchase/text/components/Text.js +2 -2
  103. package/dist/cjs/product/components/dynamic-checkout/Button.liquid.js +4 -4
  104. package/dist/cjs/product/components/dynamic-checkout/DynamicCheckout.liquid.js +1 -1
  105. package/dist/cjs/product/components/file-upload/settings/configs/ui-v2.js +1 -1
  106. package/dist/cjs/product/components/product-badge/ProductBadge.js +1 -1
  107. package/dist/cjs/product/components/product-badge/ProductBadge.liquid.js +12 -12
  108. package/dist/cjs/product/components/product-badge/common/attrs.js +1 -1
  109. package/dist/cjs/product/components/product-badge/utils/renderBadgeLiquid.js +7 -5
  110. package/dist/cjs/product/components/product-bundle/ProductBundleDiscount.js +1 -1
  111. package/dist/cjs/product/components/product-bundle/setting/configs/ui-v2.js +1 -1
  112. package/dist/cjs/product/components/product-button/ProductButton.liquid.js +4 -4
  113. package/dist/cjs/product/components/product-button/common/helpers.js +1 -1
  114. package/dist/cjs/product/components/product-button/hooks/useAddToCart.js +1 -1
  115. package/dist/cjs/product/components/product-description/ProductDescription.js +1 -1
  116. package/dist/cjs/product/components/product-description/hooks/useGpDescription.js +1 -1
  117. package/dist/cjs/product/components/product-images-v3/common/productFeaturedImage.js +1 -1
  118. package/dist/cjs/product/components/product-images-v3/components/child/ProductFeatureVideo.js +1 -1
  119. package/dist/cjs/product/components/product-images-v3/components/feature-gallery/FeatureImageWithGallery.liquid.js +34 -33
  120. package/dist/cjs/product/components/product-images-v3/components/gallery-carousel/GalleryCarousel.liquid.js +2 -2
  121. package/dist/cjs/product/components/product-images-v3/components/gallery-grid/GalleryGrid.liquid.js +21 -18
  122. package/dist/cjs/product/components/product-images-v3/components/lightbox/ProductImagesLightBox.js +1 -1
  123. package/dist/cjs/product/components/product-images-v3/composables/getProductImagesClassName.js +1 -1
  124. package/dist/cjs/product/components/product-list/ProductList.js +1 -1
  125. package/dist/cjs/product/components/product-list/ProductList.liquid.js +10 -9
  126. package/dist/cjs/product/components/product-list-v3/ProductList.js +1 -1
  127. package/dist/cjs/product/components/product-list-v3/ProductList.liquid.js +12 -11
  128. package/dist/cjs/product/components/product-list-v3/ProductListCarouselLayout.liquid.js +6 -6
  129. package/dist/cjs/product/components/product-list-v3/common/helpers.js +1 -1
  130. package/dist/cjs/product/components/product-list-v3/constants/index.js +1 -1
  131. package/dist/cjs/product/components/product-list-v3/hooks/useCollectionQuery.js +1 -1
  132. package/dist/cjs/product/components/product-list-v3/hooks/useMainRelatedProductQuery.js +1 -1
  133. package/dist/cjs/product/components/product-list-v3/hooks/useProductRelatedQuery.js +1 -1
  134. package/dist/cjs/product/components/product-list-v3/hooks/useProductsQuery.js +1 -1
  135. package/dist/cjs/product/components/product-list-v3/hooks/useRelatedProductIDAssigned.js +1 -0
  136. package/dist/cjs/product/components/product-sku/Sku.js +1 -1
  137. package/dist/cjs/product/components/product-wrap/hook/useProductQuery.js +1 -1
  138. package/dist/cjs/product/index.js +1 -1
  139. package/dist/cjs/product/settings/dynamic-checkout/configs/ui-v2.js +1 -1
  140. package/dist/cjs/product/settings/product/configs/ui-v2.js +1 -1
  141. package/dist/cjs/product/settings/product-badge/configs/ui-v2.js +1 -1
  142. package/dist/cjs/product/settings/product-button/configs/ui-v2.js +1 -1
  143. package/dist/cjs/product/settings/product-image-v2/configs/ui-v2.js +1 -1
  144. package/dist/cjs/product/settings/product-image-v3/configs/setting-v2/ProductFeatureImage.js +1 -1
  145. package/dist/cjs/product/settings/product-image-v3/configs/setting-v2/ProductGalleryImage.js +2 -2
  146. package/dist/cjs/product/settings/product-image-v3/configs/ui-v2.js +1 -1
  147. package/dist/cjs/product/settings/product-list/configs/ui-v2.js +1 -1
  148. package/dist/cjs/product/settings/product-list-v3/configs/ui-v2.js +1 -1
  149. package/dist/cjs/product/settings/product-properties/configs/ui-v2.js +1 -1
  150. package/dist/cjs/product/settings/product-quantity/configs/ui-v2.js +1 -1
  151. package/dist/cjs/product/settings/product-title/configs/ui-v2.js +1 -1
  152. package/dist/cjs/product/settings/product-variant/configs/ui-v2.js +1 -1
  153. package/dist/cjs/product/settings/product-vendor/configs/ui-v2.js +1 -1
  154. package/dist/cjs/product/settings/product-view-more/configs/ui-v2.js +1 -1
  155. package/dist/cjs/sticky/hooks/useSticky.js +1 -1
  156. package/dist/cjs/sticky/settings/configs/ui-v2.js +1 -1
  157. package/dist/cjs/stock-counter/settings/configs/ui-v2.js +1 -1
  158. package/dist/cjs/tab/settings/configs/ui-v2.js +1 -1
  159. package/dist/cjs/text/next.js +1 -1
  160. package/dist/cjs/text/settings/configs/ui-v2.js +1 -1
  161. package/dist/cjs/third-party/components/BonySubscriptionsApp.liquid.js +10 -3
  162. package/dist/cjs/third-party/components/EssentPreorderBackInStock.js +2 -0
  163. package/dist/cjs/third-party/components/EssentPreorderBackInStock.liquid.js +8 -0
  164. package/dist/cjs/third-party/components/SubscribfySubscriptionsApp.js +2 -0
  165. package/dist/cjs/third-party/components/SubscribfySubscriptionsApp.liquid.js +1 -0
  166. package/dist/cjs/third-party/components/WcWishlistBackInStock.liquid.js +19 -1
  167. package/dist/cjs/third-party/configs/EssentPreorderBackInStock.js +1 -0
  168. package/dist/cjs/third-party/configs/SubscribfySubscriptionsApp.js +1 -0
  169. package/dist/cjs/third-party/configs/WcWishlistBackInStock.js +1 -1
  170. package/dist/cjs/third-party/index.js +1 -1
  171. package/dist/cjs/third-party/next.js +1 -1
  172. package/dist/cjs/third-party/settings/EssentPreorderBackInStock/index.js +4 -0
  173. package/dist/cjs/third-party/settings/EssentPreorderBackInStock/uiV2.js +1 -0
  174. package/dist/cjs/third-party/settings/SubscribfySubscriptionsApp/index.js +4 -0
  175. package/dist/cjs/third-party/settings/SubscribfySubscriptionsApp/uiV2.js +1 -0
  176. package/dist/cjs/third-party/settings/WcWishlistBackInStock/index.js +5 -2
  177. package/dist/cjs/video/common/helpers.js +1 -1
  178. package/dist/cjs/video/components/LiteYouTubeEmbed.liquid.js +12 -12
  179. package/dist/cjs/video/hooks/useLiteYoutubeEmbed.js +1 -1
  180. package/dist/esm/accordion/settings/configs/ui-v2.js +1 -1
  181. package/dist/esm/article/settings/configs/article-author/ui-v2.js +1 -1
  182. package/dist/esm/article/settings/configs/article-category/ui-v2.js +1 -1
  183. package/dist/esm/article/settings/configs/article-content/ui-v2.js +1 -1
  184. package/dist/esm/article/settings/configs/article-date/ui-v2.js +1 -1
  185. package/dist/esm/article/settings/configs/article-excerpt/ui-v2.js +1 -1
  186. package/dist/esm/article/settings/configs/article-image/ui-v2.js +1 -1
  187. package/dist/esm/article/settings/configs/article-list/ui-v2.js +1 -1
  188. package/dist/esm/article/settings/configs/article-read-more/ui-v2.js +1 -1
  189. package/dist/esm/article/settings/configs/article-tag/ui-v2.js +1 -1
  190. package/dist/esm/article/settings/configs/article-title/ui-v2.js +1 -1
  191. package/dist/esm/breadcrumb/settings/configs/ui-v2.js +1 -1
  192. package/dist/esm/builder.js +1 -1
  193. package/dist/esm/button/settings/configs/ui-v2.js +1 -1
  194. package/dist/esm/carousel-v3/components/arrow/Arrow.liquid.js +6 -6
  195. package/dist/esm/carousel-v3/components/arrow/common/classes.js +1 -1
  196. package/dist/esm/carousel-v3/components/item/CarouselItem.js +1 -1
  197. package/dist/esm/carousel-v3/components/root/Carousel.js +1 -1
  198. package/dist/esm/carousel-v3/components/root/Carousel.liquid.js +4 -4
  199. package/dist/esm/carousel-v3/components/root/common/helpers.js +1 -1
  200. package/dist/esm/carousel-v3/components/swiper/Swiper.js +1 -1
  201. package/dist/esm/carousel-v3/hooks/useCarousel.js +1 -1
  202. package/dist/esm/carousel-v3/index.js +1 -1
  203. package/dist/esm/carousel-v3/settings/configs/settings-v2.js +3 -3
  204. package/dist/esm/carousel-v3/settings/configs/ui-v2.js +1 -1
  205. package/dist/esm/cart/components/CartList.js +1 -1
  206. package/dist/esm/cart/index.js +1 -1
  207. package/dist/esm/collection/components/collection-description/CollectionDescription.js +1 -1
  208. package/dist/esm/collection/index.js +1 -1
  209. package/dist/esm/collection/settings/collection-banner/configs/ui-v2.js +1 -1
  210. package/dist/esm/collection/settings/collection-description/configs/ui-v2.js +1 -1
  211. package/dist/esm/collection/settings/collection-paginator/configs/ui-v2.js +1 -1
  212. package/dist/esm/collection/settings/collection-title/configs/ui-v2.js +1 -1
  213. package/dist/esm/collection/settings/collection-toolbar/configs/ui-v2.js +1 -1
  214. package/dist/esm/common/helpers/index.js +1 -0
  215. package/dist/esm/common/hooks/useInView.js +1 -1
  216. package/dist/esm/countdown-timer/settings/configs/ui-v2.js +1 -1
  217. package/dist/esm/coupon/settings/configs/ui-v2.js +1 -1
  218. package/dist/esm/dialog/settings/configs/ui-v2.js +1 -1
  219. package/dist/esm/estimate-delivery/settings/configs/ui-v2.js +1 -1
  220. package/dist/esm/form/settings/contact/configs/ui-v2.js +1 -1
  221. package/dist/esm/form/settings/form-checkbox/configs/ui-v2.js +1 -1
  222. package/dist/esm/form/settings/form-dropdown/configs/ui-v2.js +1 -1
  223. package/dist/esm/form/settings/form-email/configs/ui-v2.js +1 -1
  224. package/dist/esm/form/settings/form-textarea/configs/ui-v2.js +1 -1
  225. package/dist/esm/form/settings/newsletter/configs/ui-v2.js +1 -1
  226. package/dist/esm/form/settings/submit-button/configs/ui-v2.js +1 -1
  227. package/dist/esm/form/settings/text-field/configs/ui-v2.js +1 -1
  228. package/dist/esm/grid/components/row/Row.js +1 -1
  229. package/dist/esm/grid/components/section/Section.js +1 -1
  230. package/dist/esm/grid/components/section/lazyload/LazySectionWrapper.js +1 -0
  231. package/dist/esm/grid/components/section/lazyload/lazyInteractionTrigger.js +1 -0
  232. package/dist/esm/grid/components/section/lazyload/lazySectionCoordinator.js +1 -0
  233. package/dist/esm/grid/hooks/useRowEditorViewportWhenTrackingResumes.js +1 -0
  234. package/dist/esm/grid/hooks/useRowSetting.js +1 -1
  235. package/dist/esm/grid/index.js +1 -1
  236. package/dist/esm/grid/next.js +1 -1
  237. package/dist/esm/grid/settings/configs/row/ui-v2.js +1 -1
  238. package/dist/esm/grid/settings/configs/section/ui-v2.js +1 -1
  239. package/dist/esm/header/components/kind/basic/index.js +1 -1
  240. package/dist/esm/header/components/kind/modern/index.js +1 -1
  241. package/dist/esm/header/index.js +1 -1
  242. package/dist/esm/heading/next.js +1 -1
  243. package/dist/esm/heading/settings/configs/ui-v2.js +1 -1
  244. package/dist/esm/headless.js +1 -0
  245. package/dist/esm/hero-banner/index.js +1 -1
  246. package/dist/esm/hero-banner/settings/configs/ui-v2.js +1 -1
  247. package/dist/esm/icon/settings/configs/ui-v2.js +1 -1
  248. package/dist/esm/icon-list/settings/configs/ui-v2.js +1 -1
  249. package/dist/esm/icon-list-hoz/settings/configs/uiV2.js +1 -1
  250. package/dist/esm/icon-list-v2/settings/configs/ui-v2.js +1 -1
  251. package/dist/esm/image/common/const.js +1 -0
  252. package/dist/esm/image/common/helpers.js +2 -2
  253. package/dist/esm/image/next.js +1 -1
  254. package/dist/esm/image/settings/configs/ui-v2.js +1 -1
  255. package/dist/esm/image-comparison/components/ImageComparison.js +1 -1
  256. package/dist/esm/image-comparison/components/ImageComparison.liquid.js +3 -3
  257. package/dist/esm/image-comparison/settings/configs/ui-v2.js +1 -1
  258. package/dist/esm/index.js +1 -1
  259. package/dist/esm/index.liquid.js +1 -1
  260. package/dist/esm/line/settings/configs/ui-v2.js +1 -1
  261. package/dist/esm/marquee/settings/configs/ui-v2.js +1 -1
  262. package/dist/esm/modal/components/Modal.js +1 -1
  263. package/dist/esm/modal/index.js +1 -1
  264. package/dist/esm/post-purchase/callout-banner/index.js +1 -1
  265. package/dist/esm/post-purchase/product/components/ProductPrice.js +1 -1
  266. package/dist/esm/post-purchase/product/components/ProductQuantity.js +1 -1
  267. package/dist/esm/post-purchase/product/components/product-image/FeatureImage.js +1 -1
  268. package/dist/esm/post-purchase/product/components/product-image/carousel-post-purchase/CarouselWrapperPostPurchase.js +1 -1
  269. package/dist/esm/post-purchase/product/components/product-image/layouts/OnlyGalleryImage.js +1 -1
  270. package/dist/esm/post-purchase/product/components/product-offer/components/ProductOfferItem.js +1 -1
  271. package/dist/esm/post-purchase/product/components/product-offer/context/PrdOfferSubscriptionPresenceContext.js +2 -0
  272. package/dist/esm/post-purchase/product/components/product-offer/helpers/scanSubscriptionBlocks.js +1 -0
  273. package/dist/esm/post-purchase/product/components/product-offer/hooks/useProductOfferSubscriptionBlocksObserver.js +1 -0
  274. package/dist/esm/post-purchase/product/components/product-subscription/hooks/useSubscriptionVisibility.js +1 -1
  275. package/dist/esm/post-purchase/product/components/product-variant/components/ProductVariant.js +1 -1
  276. package/dist/esm/post-purchase/product/components/product-variant/components/variants/Dropdown.js +1 -1
  277. package/dist/esm/post-purchase/product/components/product-variant/components/variants/DropdownOption.js +1 -1
  278. package/dist/esm/post-purchase/product/index.js +1 -1
  279. package/dist/esm/post-purchase/product/settings/product-quantity/configs/settings.js +1 -1
  280. package/dist/esm/post-purchase/product/settings/product-quantity/configs/ui-v2.js +1 -1
  281. package/dist/esm/post-purchase/text/components/Text.js +2 -2
  282. package/dist/esm/product/components/dynamic-checkout/Button.liquid.js +6 -6
  283. package/dist/esm/product/components/dynamic-checkout/DynamicCheckout.liquid.js +1 -1
  284. package/dist/esm/product/components/file-upload/settings/configs/ui-v2.js +1 -1
  285. package/dist/esm/product/components/product-badge/ProductBadge.js +1 -1
  286. package/dist/esm/product/components/product-badge/ProductBadge.liquid.js +12 -12
  287. package/dist/esm/product/components/product-badge/common/attrs.js +1 -1
  288. package/dist/esm/product/components/product-badge/utils/renderBadgeLiquid.js +5 -3
  289. package/dist/esm/product/components/product-bundle/ProductBundleDiscount.js +1 -1
  290. package/dist/esm/product/components/product-bundle/setting/configs/ui-v2.js +1 -1
  291. package/dist/esm/product/components/product-button/ProductButton.liquid.js +4 -4
  292. package/dist/esm/product/components/product-button/common/helpers.js +1 -1
  293. package/dist/esm/product/components/product-button/hooks/useAddToCart.js +1 -1
  294. package/dist/esm/product/components/product-description/ProductDescription.js +1 -1
  295. package/dist/esm/product/components/product-description/hooks/useGpDescription.js +1 -1
  296. package/dist/esm/product/components/product-images-v3/common/productFeaturedImage.js +1 -1
  297. package/dist/esm/product/components/product-images-v3/components/child/ProductFeatureVideo.js +1 -1
  298. package/dist/esm/product/components/product-images-v3/components/feature-gallery/FeatureImageWithGallery.liquid.js +26 -25
  299. package/dist/esm/product/components/product-images-v3/components/gallery-carousel/GalleryCarousel.liquid.js +3 -3
  300. package/dist/esm/product/components/product-images-v3/components/gallery-grid/GalleryGrid.liquid.js +13 -10
  301. package/dist/esm/product/components/product-images-v3/components/lightbox/ProductImagesLightBox.js +1 -1
  302. package/dist/esm/product/components/product-images-v3/composables/getProductImagesClassName.js +1 -1
  303. package/dist/esm/product/components/product-list/ProductList.js +1 -1
  304. package/dist/esm/product/components/product-list/ProductList.liquid.js +18 -17
  305. package/dist/esm/product/components/product-list-v3/ProductList.js +1 -1
  306. package/dist/esm/product/components/product-list-v3/ProductList.liquid.js +20 -19
  307. package/dist/esm/product/components/product-list-v3/ProductListCarouselLayout.liquid.js +9 -9
  308. package/dist/esm/product/components/product-list-v3/common/helpers.js +1 -1
  309. package/dist/esm/product/components/product-list-v3/constants/index.js +1 -1
  310. package/dist/esm/product/components/product-list-v3/hooks/useCollectionQuery.js +1 -1
  311. package/dist/esm/product/components/product-list-v3/hooks/useMainRelatedProductQuery.js +1 -1
  312. package/dist/esm/product/components/product-list-v3/hooks/useProductRelatedQuery.js +1 -1
  313. package/dist/esm/product/components/product-list-v3/hooks/useProductsQuery.js +1 -1
  314. package/dist/esm/product/components/product-list-v3/hooks/useRelatedProductIDAssigned.js +1 -0
  315. package/dist/esm/product/components/product-sku/Sku.js +1 -1
  316. package/dist/esm/product/components/product-wrap/hook/useProductQuery.js +1 -1
  317. package/dist/esm/product/index.js +1 -1
  318. package/dist/esm/product/settings/dynamic-checkout/configs/ui-v2.js +1 -1
  319. package/dist/esm/product/settings/product/configs/ui-v2.js +1 -1
  320. package/dist/esm/product/settings/product-badge/configs/ui-v2.js +1 -1
  321. package/dist/esm/product/settings/product-button/configs/ui-v2.js +1 -1
  322. package/dist/esm/product/settings/product-image-v2/configs/ui-v2.js +1 -1
  323. package/dist/esm/product/settings/product-image-v3/configs/setting-v2/ProductFeatureImage.js +1 -1
  324. package/dist/esm/product/settings/product-image-v3/configs/setting-v2/ProductGalleryImage.js +2 -2
  325. package/dist/esm/product/settings/product-image-v3/configs/ui-v2.js +1 -1
  326. package/dist/esm/product/settings/product-list/configs/ui-v2.js +1 -1
  327. package/dist/esm/product/settings/product-list-v3/configs/ui-v2.js +1 -1
  328. package/dist/esm/product/settings/product-properties/configs/ui-v2.js +1 -1
  329. package/dist/esm/product/settings/product-quantity/configs/ui-v2.js +1 -1
  330. package/dist/esm/product/settings/product-title/configs/ui-v2.js +1 -1
  331. package/dist/esm/product/settings/product-variant/configs/ui-v2.js +1 -1
  332. package/dist/esm/product/settings/product-vendor/configs/ui-v2.js +1 -1
  333. package/dist/esm/product/settings/product-view-more/configs/ui-v2.js +1 -1
  334. package/dist/esm/sticky/hooks/useSticky.js +1 -1
  335. package/dist/esm/sticky/settings/configs/ui-v2.js +1 -1
  336. package/dist/esm/stock-counter/settings/configs/ui-v2.js +1 -1
  337. package/dist/esm/tab/settings/configs/ui-v2.js +1 -1
  338. package/dist/esm/text/next.js +1 -1
  339. package/dist/esm/text/settings/configs/ui-v2.js +1 -1
  340. package/dist/esm/third-party/components/BonySubscriptionsApp.liquid.js +11 -4
  341. package/dist/esm/third-party/components/EssentPreorderBackInStock.js +2 -0
  342. package/dist/esm/third-party/components/EssentPreorderBackInStock.liquid.js +8 -0
  343. package/dist/esm/third-party/components/SubscribfySubscriptionsApp.js +2 -0
  344. package/dist/esm/third-party/components/SubscribfySubscriptionsApp.liquid.js +1 -0
  345. package/dist/esm/third-party/components/WcWishlistBackInStock.liquid.js +19 -1
  346. package/dist/esm/third-party/configs/EssentPreorderBackInStock.js +1 -0
  347. package/dist/esm/third-party/configs/SubscribfySubscriptionsApp.js +1 -0
  348. package/dist/esm/third-party/configs/WcWishlistBackInStock.js +1 -1
  349. package/dist/esm/third-party/index.js +1 -1
  350. package/dist/esm/third-party/next.js +1 -1
  351. package/dist/esm/third-party/settings/EssentPreorderBackInStock/index.js +4 -0
  352. package/dist/esm/third-party/settings/EssentPreorderBackInStock/uiV2.js +1 -0
  353. package/dist/esm/third-party/settings/SubscribfySubscriptionsApp/index.js +4 -0
  354. package/dist/esm/third-party/settings/SubscribfySubscriptionsApp/uiV2.js +1 -0
  355. package/dist/esm/third-party/settings/WcWishlistBackInStock/index.js +5 -2
  356. package/dist/esm/video/common/helpers.js +1 -1
  357. package/dist/esm/video/components/LiteYouTubeEmbed.liquid.js +13 -13
  358. package/dist/esm/video/hooks/useLiteYoutubeEmbed.js +1 -1
  359. package/dist/types/index.d.ts +249 -25
  360. package/package.json +5 -5
  361. package/dist/cjs/modal/components/ZoomButton.js +0 -2
  362. package/dist/cjs/product/components/product-images-v3/components/child/ProductImagesLightBoxPreview.js +0 -1
  363. package/dist/cjs/product/components/product-images-v3/components/lightbox/LightBoxCarousel.js +0 -2
  364. package/dist/cjs/product/components/product-images-v3/components/lightbox/LightBoxGalleryCarousel.js +0 -2
  365. package/dist/cjs/product/components/product-images-v3/components/lightbox/LightBoxImageZoom.js +0 -2
  366. package/dist/cjs/product/components/product-images-v3/components/lightbox/constants.js +0 -1
  367. package/dist/esm/modal/components/ZoomButton.js +0 -2
  368. package/dist/esm/product/components/product-images-v3/components/child/ProductImagesLightBoxPreview.js +0 -1
  369. package/dist/esm/product/components/product-images-v3/components/lightbox/LightBoxCarousel.js +0 -2
  370. package/dist/esm/product/components/product-images-v3/components/lightbox/LightBoxGalleryCarousel.js +0 -2
  371. package/dist/esm/product/components/product-images-v3/components/lightbox/LightBoxImageZoom.js +0 -2
  372. package/dist/esm/product/components/product-images-v3/components/lightbox/constants.js +0 -1
@@ -27,10 +27,12 @@ import{CompareType as e}from"../types.js";let i=i=>i===e.ABOVE?0:i===e.BELOW?2:1
27
27
  {% endif %}
28
28
  {% if isShow and isNotDiscount == false %}
29
29
  {% assign className = "" %}
30
+ {% elsif isSettingSameHeightProductList %}
31
+ {% assign className = "!gp-invisible" %}
30
32
  {% else %}
31
33
  {% assign className = "!gp-hidden" %}
32
34
  {% endif %}
33
- `,s=e=>e?.length?e.map(e=>{switch(e?.triggerEvent){case"discount_price":return t(e);case"price_range":return o(e);case"inventory_status":return g(e);case"product_tags":return d(e);case"creation_date":return c(e);default:return""}}).join(" "):"",a=e=>e.replace(/[%$]/g,""),r=()=>`
35
+ `,s=e=>e?.length?e.map(e=>{switch(e?.triggerEvent){case"discount_price":return t(e);case"price_range":return o(e);case"inventory_status":return g(e);case"product_tags":return c(e);case"creation_date":return d(e);default:return""}}).join(" "):"",a=e=>e.replace(/[%$]/g,""),r=()=>`
34
36
  {% assign enabled = false %}
35
37
  {% case conditionType %}
36
38
  {% when "exact" %}
@@ -131,7 +133,7 @@ import{CompareType as e}from"../types.js";let i=i=>i===e.ABOVE?0:i===e.BELOW?2:1
131
133
  {% assign conditionTriggers = conditionTriggers | append: "," | append: false %}
132
134
  {% endif %}
133
135
 
134
- `},d=e=>{let{searchTag:i}=e,n=i.map(e=>e.replaceAll("'","'")).join(", ");return`
136
+ `},c=e=>{let{searchTag:i}=e,n=i.map(e=>e.replaceAll("'","'")).join(", ");return`
135
137
  {% assign productTags = product.tags | escape %}
136
138
  {% assign searchTag = '${n}' %}
137
139
  {% for tag in productTags %}
@@ -141,7 +143,7 @@ import{CompareType as e}from"../types.js";let i=i=>i===e.ABOVE?0:i===e.BELOW?2:1
141
143
  {% endif %}
142
144
  {% endfor %}
143
145
  {% assign conditionTriggers = conditionTriggers | append: "," | append: isProductTag %}
144
- `},c=e=>{let{days:i,from:n,to:s,type:t,conditionType:o}=e;return`
146
+ `},d=e=>{let{days:i,from:n,to:s,type:t,conditionType:o}=e;return`
145
147
  {% assign type = "${t}" %}
146
148
  {% assign days = ${a(i)} %}
147
149
  {% assign from = "${n}" | date: "%Y-%m-%d" | date: "%s" | times: 1000 %}
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import{jsx as e,jsxs as t}from"react/jsx-runtime";import{useRenderMode as o,useI18nStore as s,isEmptyChildren as n}from"@gem-sdk/core";import{isValidElement as r}from"react";import i from"../../../common/components/NoDataState.js";import{createClass as l,createStyle as m,If as d}from"@gem-sdk/system";import{getSizeSettings as c,getContainerStyles as u}from"./common/styles.js";import{getContainerClasses as a,getNoDiscountClasses as p}from"./common/classes.js";import f from"./hooks/useProductBundleDataState.js";import h from"./hooks/useProductBundleDiscountState.js";import y from"./ProductBundleDiscountChildrenItem.js";let b=({builderAttrs:b,style:I,children:g,setting:j,styles:k,advanced:D})=>{let{isEditMode:S,isPreviewSharePageMode:x}=o(),{isSelected:B,setSelected:N}=h(j),{emitRedirectSetupPage:P,redirectGuideline:T,svgVertical:v,svgHorizontal:A}=f(),{t:C}=s(),q=l(a(j,D?.cssClass)),w=l(p),z=m(c(k)?.gap),M=m(u(z,k,I));if(!j?.bundleItems?.length&&S)return e(i,{elementType:"secondary",description:C("Increase AOV with bundle quantity."),descriptionActions:[{text:C("Setup bundle discount"),callback:P},{text:C("read guideline"),callback:T}],additionalMedia:j?.layout=="horizontal-layout"?A:v});let O=(t,o)=>{if(j?.hideNoDiscountItem&&t?.discountType==="no_discount")return null;let s=g?.[o];if(r(s))return e(y,{index:o,childItem:s,setting:j,styles:k,isSelected:B(o),setSelected:N,bundleItem:t},o)},V=(n(g)||j?.bundleItems?.length==0)&&!x;return t("div",{...b,className:q,style:M,children:[d(V,e("div",{className:w,children:"This product has no bundle discount"})),j?.bundleItems?.map((e,t)=>O(e,t))]})};export{b as default};
2
+ import{jsx as e,jsxs as t}from"react/jsx-runtime";import{useRenderMode as o,useI18nStore as s,isEmptyChildren as n}from"@gem-sdk/core";import{isValidElement as r}from"react";import i from"../../../common/components/NoDataState.js";import{createClass as l,createStyle as m,If as d}from"@gem-sdk/system";import{getSizeSettings as c,getContainerStyles as u}from"./common/styles.js";import{getContainerClasses as a,getNoDiscountClasses as p}from"./common/classes.js";import f from"./hooks/useProductBundleDataState.js";import h from"./hooks/useProductBundleDiscountState.js";import y from"./ProductBundleDiscountChildrenItem.js";let b=({builderAttrs:b,style:I,children:g,setting:j,styles:k,advanced:D})=>{let{isEditMode:S,isPreviewSharePageMode:x}=o(),{isSelected:B,setSelected:N}=h(j),{emitRedirectSetupPage:P,redirectGuideline:T,svgVertical:v,svgHorizontal:A}=f(),{t:C}=s(),q=l(a(j,D?.cssClass)),w=l(p),z=m(c(k)?.gap),M=m(u(z,k,I));if(!j?.bundleItems?.length&&S)return e(i,{elementType:"secondary",description:C("Increase AOV with bundle quantity."),descriptionActions:[{text:C("Setup bundle discount"),callback:P},{text:C("read guideline"),callback:T}],additionalMedia:j?.layout=="horizontal-layout"?A:v});let O=(t,o)=>{if(j?.hideNoDiscountItem&&t?.discountType==="no_discount")return null;let s=g?.[o];if(r(s))return e(y,{index:o,childItem:s,setting:j,styles:k,isSelected:B(o),setSelected:N,bundleItem:t},o)},V=(n(g)||j?.bundleItems?.length==0)&&!x;return t("div",{...b,className:q,style:M,children:[d(V,e("div",{className:w,children:C("This product has no bundle discount")})),j?.bundleItems?.map((e,t)=>O(e,t))]})};export{b as default};
@@ -1 +1 @@
1
- let e=[{label:"Bundle management",controls:[{type:"control",layout:"vertical",setting:{id:"childItem"}}]},{label:"Item gap",controls:[{label:"Gap",controlConfig:{id:"gap",type:"input:slider",units:["px"],min:0,max:120,step:1,ignoreMax:!0,linkWithSetting:{name:"size",field:"gap"}},layout:"horizontal"}]},{controls:[{type:"control",label:"Radio icon",setting:{id:"enableIcon"},options:{labelVariant:"primary",toggleStyle:"switch"}},{conditionDisplay:'enableIcon == true && layout == "vertical-layout"',label:"Position",setting:{id:"iconPosition"}},{type:"control",conditionDisplay:'enableIcon == true && layout == "horizontal-layout"',label:"Position",setting:{id:"iconHorizontalPosition"}},{conditionDisplay:"enableIcon == true",type:"control",label:"Color",setting:{id:"iconItemColor"},controlConfig:{id:"icon-radio-color",type:"color-picker-v2",linkWithSetting:{name:"iconColor",field:"normal"}}},{type:"control",conditionDisplay:"enableIcon == true",label:"Size",setting:{id:"iconSize"}},{type:"control",conditionDisplay:"enableIcon == true",label:"Gap to content",setting:{id:"iconSpacing"}}]},{label:"Item style",controls:[{label:"Background",setting:{id:"backgroundColor",state:"normal"}},{label:"Border",setting:{id:"borderBundle",state:"normal"}},{label:"Corner",setting:{id:"roundedBundle",state:"normal"}},{label:"Shadow",setting:{id:"boxShadowBundle",state:"normal"},controlConfig:{id:"boxShadowBundle",type:"shadow-v2"},options:{updateFields:[{field:"normal.enable",settingId:"hasBoxShadowBundle",state:"normal"}]},controlChangeTrigger:{settings:[{condition:"boxShadowBundle.normal.enable === true",source:["boxShadowBundle","hasBoxShadowBundle"],action:{controlId:"hasBoxShadowBundle",groupType:"style",controlType:"style",state:"normal",newValue:!0}},{condition:"boxShadowBundle.normal.enable === false",source:["boxShadowBundle","hasBoxShadowBundle"],action:{controlId:"hasBoxShadowBundle",groupType:"style",controlType:"style",state:"normal",newValue:!1}}],options:{noRecordHistory:!0}}},{label:"Shadow",setting:{id:"hasBoxShadowBundle",state:"normal"},conditionDisplay:"false"},{label:"Shadow",setting:{id:"hasBoxShadowBundle",state:"hover"},conditionDisplay:"false"},{label:"Shadow",setting:{id:"hasBoxShadowBundle",state:"active"},conditionDisplay:"false"}]},{label:"Effect",controls:[{label:"Hover",type:"combo",iconName:"polaris-check-hover",fixedValue:"Styled",setting:{id:"enableHoverEffect"},state:"hover",popoverLabel:"Hover",controls:[{type:"group",label:"Background",controls:[{label:"Color",setting:{id:"backgroundColor",state:"hover"}}]},{label:"Icon",type:"group",controls:[{label:"Icon color",setting:{id:"iconColor",state:"hover"}}]},{label:"Shape",type:"group",controls:[{label:"Border",setting:{id:"borderBundle",state:"hover"}},{label:"Corner",setting:{id:"roundedBundle",state:"hover"}},{label:"Shadow",setting:{id:"boxShadowBundle",state:"hover"},controlConfig:{id:"boxShadowBundle",type:"shadow-v2"},options:{updateFields:[{field:"hover.enable",settingId:"hasBoxShadowBundle",state:"hover"}]},controlChangeTrigger:{settings:[{condition:"boxShadowBundle.hover.enable === true",source:["boxShadowBundle","hasBoxShadowBundle"],action:{controlId:"hasBoxShadowBundle",groupType:"style",controlType:"style",state:"hover",newValue:!0}},{condition:"boxShadowBundle.hover.enable === false",source:["boxShadowBundle","hasBoxShadowBundle"],action:{controlId:"hasBoxShadowBundle",groupType:"style",controlType:"style",state:"hover",newValue:!1}}],options:{noRecordHistory:!0}}}]}]},{label:"Active",type:"combo",iconName:"polaris-status-active",fixedValue:"Styled",setting:{id:"enableActiveEffect"},state:"active",popoverLabel:"Active",controls:[{type:"group",label:"Background",controls:[{label:"Color",setting:{id:"backgroundColor",state:"active"}}]},{label:"Icon",type:"group",controls:[{label:"Icon color",setting:{id:"iconColor",state:"active"}}]},{label:"Shape",type:"group",controls:[{label:"Border",setting:{id:"borderBundle",state:"active"}},{label:"Corner",setting:{id:"roundedBundle",state:"active"}},{label:"Shadow",setting:{id:"boxShadowBundle",state:"active"},controlConfig:{id:"boxShadowBundle",type:"shadow-v2"},options:{updateFields:[{field:"active.enable",settingId:"hasBoxShadowBundle",state:"active"}]},controlChangeTrigger:{settings:[{condition:"boxShadowBundle.active.enable === true",source:["boxShadowBundle","hasBoxShadowBundle"],action:{controlId:"hasBoxShadowBundle",groupType:"style",controlType:"style",state:"active",newValue:!0}},{condition:"boxShadowBundle.active.enable === false",source:["boxShadowBundle","hasBoxShadowBundle"],action:{controlId:"hasBoxShadowBundle",groupType:"style",controlType:"style",state:"active",newValue:!1}}],options:{noRecordHistory:!0}}}]}]}]},{label:"Size",controls:[{id:"Width",label:"Width",controlConfig:{id:"width",type:"dropdown:input",label:"Width",inputType:"number",units:["px","%"],hideUnit:!1,linkWithSetting:{name:"size",field:"width"},displayOptions:[{label:"Fit content",value:"Auto",showValue:!0},{label:"Full",value:"100%",showValue:!0},{label:"Small",value:"100px",showValue:!0},{label:"Medium",value:"200px",showValue:!0},{label:"Large",value:"300px",showValue:!0}]},layout:"horizontal"},{label:"Padding",controlConfig:{id:"padding",type:"padding-v2",linkWithSetting:{name:"size",field:"padding"},compoDefaultValue:{desktop:{default:{type:"custom",top:"12px",bottom:"12px",left:"32px",right:"32px"}}}}}]},{label:"Shape",conditionDisplay:'pageType != "POST_PURCHASE"',controls:[{label:"Border",setting:{id:"border",state:"normal"}},{label:"Corner",setting:{id:"rounded",state:"normal"}},{label:"Shadow",setting:{id:"boxShadow",state:"normal"},options:{updateFields:[{field:"normal.enable",settingId:"hasBoxShadow",state:"normal"}]},controlChangeTrigger:{settings:[{condition:"boxShadow.normal.enable === true",source:["boxShadow","hasBoxShadow"],action:{controlId:"hasBoxShadow",groupType:"advanced",controlType:"advanced",state:"normal",newValue:!0}},{condition:"boxShadow.normal.enable === false",source:["boxShadow","hasBoxShadow"],action:{controlId:"hasBoxShadow",groupType:"advanced",controlType:"advanced",state:"normal",newValue:!1}}],options:{noRecordHistory:!0}}}]},{label:"Display condition",conditionDisplay:"enableDisplayCondition == true",controls:[{label:"Default item",setting:{id:"hasPreSelectItem"}},{layout:"vertical",setting:{id:"selectItemDefault"},conditionDisplay:"hasPreSelectItem == true"},{label:"Compare price",setting:{id:"useProductCompareAtPrice"}},{label:"Display item",setting:{id:"hideNoDiscountItem"}}]},{controls:[{label:"Align",conditionEnable:'!(parseInt(size.width) >= 100 && size.width?.includes("%"))',setting:{id:"align"},options:{labelVariant:"primary",fullWidth:!0,disableMessage:"Horizontal alignment is disabled when the width is set to 100% or greater"}}]}];export{e as default};
1
+ let e=[{label:"Bundle management",controls:[{type:"control",layout:"vertical",setting:{id:"childItem"}}]},{label:"Item gap",controls:[{label:"Gap",controlConfig:{id:"gap",type:"input:slider",units:["px"],min:0,max:120,step:1,ignoreMax:!0,linkWithSetting:{name:"size",field:"gap"}},layout:"horizontal"}]},{controls:[{type:"control",label:"Radio icon",setting:{id:"enableIcon"},options:{labelVariant:"primary",toggleStyle:"switch"}},{conditionDisplay:'enableIcon == true && layout == "vertical-layout"',label:"Position",setting:{id:"iconPosition"}},{type:"control",conditionDisplay:'enableIcon == true && layout == "horizontal-layout"',label:"Position",setting:{id:"iconHorizontalPosition"}},{conditionDisplay:"enableIcon == true",type:"control",label:"Color",setting:{id:"iconItemColor"},controlConfig:{id:"icon-radio-color",type:"color-picker-v2",linkWithSetting:{name:"iconColor",field:"normal"}}},{type:"control",conditionDisplay:"enableIcon == true",label:"Size",setting:{id:"iconSize"}},{type:"control",conditionDisplay:"enableIcon == true",label:"Gap to content",setting:{id:"iconSpacing"}}]},{label:"Item style",hiddenOnMobile:!0,controls:[{label:"Background",setting:{id:"backgroundColor",state:"normal"}},{label:"Border",setting:{id:"borderBundle",state:"normal"}},{label:"Corner",setting:{id:"roundedBundle",state:"normal"}},{label:"Shadow",setting:{id:"boxShadowBundle",state:"normal"},controlConfig:{id:"boxShadowBundle",type:"shadow-v2"},options:{updateFields:[{field:"normal.enable",settingId:"hasBoxShadowBundle",state:"normal"}]},controlChangeTrigger:{settings:[{condition:"boxShadowBundle.normal.enable === true",source:["boxShadowBundle","hasBoxShadowBundle"],action:{controlId:"hasBoxShadowBundle",groupType:"style",controlType:"style",state:"normal",newValue:!0}},{condition:"boxShadowBundle.normal.enable === false",source:["boxShadowBundle","hasBoxShadowBundle"],action:{controlId:"hasBoxShadowBundle",groupType:"style",controlType:"style",state:"normal",newValue:!1}}],options:{noRecordHistory:!0}}},{label:"Shadow",setting:{id:"hasBoxShadowBundle",state:"normal"},conditionDisplay:"false"},{label:"Shadow",setting:{id:"hasBoxShadowBundle",state:"hover"},conditionDisplay:"false"},{label:"Shadow",setting:{id:"hasBoxShadowBundle",state:"active"},conditionDisplay:"false"}]},{label:"Effect",hiddenOnMobile:!0,controls:[{label:"Hover",type:"combo",iconName:"polaris-check-hover",fixedValue:"Styled",setting:{id:"enableHoverEffect"},state:"hover",popoverLabel:"Hover",controls:[{type:"group",label:"Background",controls:[{label:"Color",setting:{id:"backgroundColor",state:"hover"}}]},{label:"Icon",type:"group",controls:[{label:"Icon color",setting:{id:"iconColor",state:"hover"}}]},{label:"Shape",type:"group",controls:[{label:"Border",setting:{id:"borderBundle",state:"hover"}},{label:"Corner",setting:{id:"roundedBundle",state:"hover"}},{label:"Shadow",setting:{id:"boxShadowBundle",state:"hover"},controlConfig:{id:"boxShadowBundle",type:"shadow-v2"},options:{updateFields:[{field:"hover.enable",settingId:"hasBoxShadowBundle",state:"hover"}]},controlChangeTrigger:{settings:[{condition:"boxShadowBundle.hover.enable === true",source:["boxShadowBundle","hasBoxShadowBundle"],action:{controlId:"hasBoxShadowBundle",groupType:"style",controlType:"style",state:"hover",newValue:!0}},{condition:"boxShadowBundle.hover.enable === false",source:["boxShadowBundle","hasBoxShadowBundle"],action:{controlId:"hasBoxShadowBundle",groupType:"style",controlType:"style",state:"hover",newValue:!1}}],options:{noRecordHistory:!0}}}]}]},{label:"Active",type:"combo",iconName:"polaris-status-active",fixedValue:"Styled",setting:{id:"enableActiveEffect"},state:"active",popoverLabel:"Active",controls:[{type:"group",label:"Background",controls:[{label:"Color",setting:{id:"backgroundColor",state:"active"}}]},{label:"Icon",type:"group",controls:[{label:"Icon color",setting:{id:"iconColor",state:"active"}}]},{label:"Shape",type:"group",controls:[{label:"Border",setting:{id:"borderBundle",state:"active"}},{label:"Corner",setting:{id:"roundedBundle",state:"active"}},{label:"Shadow",setting:{id:"boxShadowBundle",state:"active"},controlConfig:{id:"boxShadowBundle",type:"shadow-v2"},options:{updateFields:[{field:"active.enable",settingId:"hasBoxShadowBundle",state:"active"}]},controlChangeTrigger:{settings:[{condition:"boxShadowBundle.active.enable === true",source:["boxShadowBundle","hasBoxShadowBundle"],action:{controlId:"hasBoxShadowBundle",groupType:"style",controlType:"style",state:"active",newValue:!0}},{condition:"boxShadowBundle.active.enable === false",source:["boxShadowBundle","hasBoxShadowBundle"],action:{controlId:"hasBoxShadowBundle",groupType:"style",controlType:"style",state:"active",newValue:!1}}],options:{noRecordHistory:!0}}}]}]}]},{label:"Size",hiddenOnMobile:!0,controls:[{id:"Width",label:"Width",controlConfig:{id:"width",type:"dropdown:input",label:"Width",inputType:"number",units:["px","%"],hideUnit:!1,linkWithSetting:{name:"size",field:"width"},displayOptions:[{label:"Fit content",value:"Auto",showValue:!0},{label:"Full",value:"100%",showValue:!0},{label:"Small",value:"100px",showValue:!0},{label:"Medium",value:"200px",showValue:!0},{label:"Large",value:"300px",showValue:!0}]},layout:"horizontal"},{label:"Padding",controlConfig:{id:"padding",type:"padding-v2",linkWithSetting:{name:"size",field:"padding"},compoDefaultValue:{desktop:{default:{type:"custom",top:"12px",bottom:"12px",left:"32px",right:"32px"}}}}}]},{label:"Shape",hiddenOnMobile:!0,conditionDisplay:'pageType != "POST_PURCHASE"',controls:[{label:"Border",setting:{id:"border",state:"normal"}},{label:"Corner",setting:{id:"rounded",state:"normal"}},{label:"Shadow",setting:{id:"boxShadow",state:"normal"},options:{updateFields:[{field:"normal.enable",settingId:"hasBoxShadow",state:"normal"}]},controlChangeTrigger:{settings:[{condition:"boxShadow.normal.enable === true",source:["boxShadow","hasBoxShadow"],action:{controlId:"hasBoxShadow",groupType:"advanced",controlType:"advanced",state:"normal",newValue:!0}},{condition:"boxShadow.normal.enable === false",source:["boxShadow","hasBoxShadow"],action:{controlId:"hasBoxShadow",groupType:"advanced",controlType:"advanced",state:"normal",newValue:!1}}],options:{noRecordHistory:!0}}}]},{label:"Display condition",conditionDisplay:"enableDisplayCondition == true",controls:[{label:"Default item",setting:{id:"hasPreSelectItem"}},{layout:"vertical",setting:{id:"selectItemDefault"},conditionDisplay:"hasPreSelectItem == true"},{label:"Compare price",setting:{id:"useProductCompareAtPrice"}},{label:"Display item",setting:{id:"hideNoDiscountItem"}}]},{controls:[{label:"Align",hiddenOnMobile:!0,conditionEnable:'!(parseInt(size.width) >= 100 && size.width?.includes("%"))',setting:{id:"align"},options:{labelVariant:"primary",fullWidth:!0,disableMessage:"Horizontal alignment is disabled when the width is set to 100% or greater"}}]}];export{e as default};
@@ -1,6 +1,6 @@
1
- import{getSplitStyle as t}from"./common/styles.js";import{getGPProductButtonState as e}from"./common/helpers.js";import{template as s,isLocalEnv as o,baseAssetURL as r}from"@gem-sdk/core";import{createStateOrContext as a,Liquid as i,LiquidFor as l,If as n}from"@gem-sdk/system";import{getInsertLinkData as p,getSettingPreloadData as c}from"../../../helpers.js";import{getButtonDynamicSourceLocales as u}from"./helpers/getButtonDynamicSourceLocales.js";import{SoldOutButton as d}from"./SoldOutButton.liquid.js";import{AddToCartButton as m}from"./AddToCartButton.liquid.js";let f=f=>{let{setting:g,builderProps:b,style:y,styles:$,pageContext:v}=f,{wrapStyle:_,restStyle:h}=t(y),{outOfStockButtonLabel:S,unavailableButtonLabel:j,variantSelectionRequiredMessage:k,successMessage:E,errorMessage:q}=u({setting:g,pageContext:v,builderProps:b}),{urlData:A}=p("",g?.actionEffect==="open-cart-drawer"?{link:"/cart",target:"_self"}:g?.customURL),B=a(e({styles:$,setting:g,successMessage:E,errorMessage:q}));return s`
1
+ import{getSplitStyle as t}from"./common/styles.js";import{getGPProductButtonState as s}from"./common/helpers.js";import{template as e,isLocalEnv as o,baseAssetURL as r}from"@gem-sdk/core";import{createStateOrContext as a,Liquid as i,LiquidFor as n,If as l}from"@gem-sdk/system";import{getInsertLinkData as p,getSettingPreloadData as c}from"../../../helpers.js";import{getButtonDynamicSourceLocales as u}from"./helpers/getButtonDynamicSourceLocales.js";import{SoldOutButton as d}from"./SoldOutButton.liquid.js";import{AddToCartButton as m}from"./AddToCartButton.liquid.js";let f=f=>{let{setting:g,builderProps:b,style:y,styles:$,pageContext:v}=f,{wrapStyle:_,restStyle:h}=t(y),{outOfStockButtonLabel:S,unavailableButtonLabel:j,variantSelectionRequiredMessage:k,successMessage:E,errorMessage:q}=u({setting:g,pageContext:v,builderProps:b}),{urlData:A}=p("",g?.actionEffect==="open-cart-drawer"?{link:"/cart",target:"_self"}:g?.customURL),B=a(s({styles:$,setting:g,successMessage:E,errorMessage:q}));return e`
2
2
  ${i("{%- assign total_combinations = 1 -%}")}
3
- ${l("option in product.options_with_values","{%- assign total_combinations = total_combinations | times: option.values.size -%}")}
3
+ ${n("option in product.options_with_values","{%- assign total_combinations = total_combinations | times: option.values.size -%}")}
4
4
  {%- liquid
5
5
  assign inventory_quantity = variant.inventory_quantity | default: 0
6
6
  assign is_in_stock = variant.available
@@ -12,12 +12,12 @@ import{getSplitStyle as t}from"./common/styles.js";import{getGPProductButtonStat
12
12
  class="gp-product-button"
13
13
  gp-label-out-of-stock="${S}"
14
14
  gp-label-unavailable="${j}"
15
- gp-data='${JSON.stringify(B).replaceAll("'","'")}'
15
+ gp-data='${JSON.stringify(B)}'
16
16
  data-variant-selection-required-message="${k}"
17
17
  gp-enable-third-partycart="{{shop.metafields.GEMPAGES.enableThirdPartyCart}}"
18
18
  >
19
19
  ${m({...f,style:h})}
20
20
  ${d({...f,style:h,label:S})}
21
21
  </gp-product-button>
22
- ${n(o,`<script ${c('class="gps-link" delay',"src")}="{{ 'gp-product-button-v7-5.js' | asset_url }}" defer="defer"></script>`,`<script ${c('class="gps-link" delay',"src")}="${r}/assets-v2/gp-product-button-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}" defer="defer"></script>`)}
22
+ ${l(o,`<script ${c('class="gps-link" delay',"src")}="{{ 'gp-product-button-v7-5.js' | asset_url }}" defer="defer"></script>`,`<script ${c('class="gps-link" delay',"src")}="${r}/assets-v2/gp-product-button-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}" defer="defer"></script>`)}
23
23
  `};export{f as default};
@@ -1 +1 @@
1
- import{SEPARATOR as e}from"./constants.js";let t=e=>e?.enableIcon===!0,r=e=>({lineThrough:!1,typo:c(e?.priceTypo)}),a=e=>({lineThrough:!0,typo:c(e?.compareAtPriceTypo),opacityPrice:e?.opacityPrice}),o=({styles:e,setting:t,successMessage:r,errorMessage:a})=>({styles:{errorTypo:e?.errorTypo,successTypo:e?.successTypo},setting:{errorType:t?.errorType,actionEffect:t?.actionEffect,enableMessage:t?.enableMessage,label:t?.label?.replaceAll("'","&#039;"),errorMessage:a??t?.errorMessage?.replaceAll("'","&#039;"),successMessage:r??t?.successMessage?.replaceAll("'","&#039;"),outOfStockLabel:t?.outOfStockLabel?.replaceAll("'","&#039;"),customURL:{link:t?.customURL?.link?.replaceAll("'","&#039;"),target:t?.customURL?.target}},variantID:"{{variant.id}}",disabled:"{{variant.available}}",totalVariant:"{{total_combinations}}"}),l=t=>({dot:e.DOT,"vertical-line":e.VERTICAL_LINE,"horizontal-line":e.HORIZONTAL_LINE})[t??"horizontal-line"]??e.HORIZONTAL_LINE,c=e=>(e?.attrs&&e?.attrs.color&&delete e.attrs.color,e);export{t as checkIconVisibility,o as getGPProductButtonState,a as getRenderComparePriceSettings,r as getRenderRegularPriceSettings,l as renderSeparator};
1
+ import{SEPARATOR as e}from"./constants.js";let t=/^\s*\{\{[\s\S]*\}\}\s*$/,r=e=>e.replace(/\s*\}\}\s*$/," | escape }}"),o=e=>{if(null==e)return e;let o=e.toString();return t.test(o)?r(o):o.replaceAll("'","&#39;").replaceAll("’","&#39;")},a=e=>e?.enableIcon===!0,s=e=>({lineThrough:!1,typo:n(e?.priceTypo)}),l=e=>({lineThrough:!0,typo:n(e?.compareAtPriceTypo),opacityPrice:e?.opacityPrice}),c=({styles:e,setting:t,successMessage:r,errorMessage:a})=>({styles:{errorTypo:e?.errorTypo,successTypo:e?.successTypo},setting:{errorType:t?.errorType,actionEffect:t?.actionEffect,enableMessage:t?.enableMessage,label:o(t?.label),errorMessage:o(a??t?.errorMessage),successMessage:o(r??t?.successMessage),outOfStockLabel:o(t?.outOfStockLabel),customURL:{link:o(t?.customURL?.link),target:t?.customURL?.target}},variantID:"{{variant.id}}",disabled:"{{variant.available}}",totalVariant:"{{total_combinations}}"}),i=t=>({dot:e.DOT,"vertical-line":e.VERTICAL_LINE,"horizontal-line":e.HORIZONTAL_LINE})[t??"horizontal-line"]??e.HORIZONTAL_LINE,n=e=>(e?.attrs&&e?.attrs.color&&delete e.attrs.color,e);export{a as checkIconVisibility,c as getGPProductButtonState,l as getRenderComparePriceSettings,s as getRenderRegularPriceSettings,i as renderSeparator};
@@ -1 +1 @@
1
- import{useRenderMode as e,useProduct as t,useCurrency as r,useQuantity as i,useProductProperties as a,useCurrentVariant as s,useHasPreSelected as o,useStickyStore as n,useProductStore as u,useCreateCart as l,useAddToCart as d,convertDecimalToNumber as c,useCurrentVariantInStock as m}from"@gem-sdk/core";import{useRef as p,useEffect as b,useCallback as f}from"react";import{addToCartTracking as v}from"../../../helpers/tracking.js";import{useDispatchInteractionEvent as g,useDispatchCustomEvent as k}from"./useDispatchAfterSubmitEvent.js";import{useCartMessage as D}from"./useCartMessage.js";import{useCartOperations as I}from"./useCartOperations.js";let E=({styles:E,setting:y,builderProps:S})=>{let j=p(null),{isEditMode:C,isPreviewSharePageMode:M}=e(),h=t(),{currency:w}=r(),{quantity:A}=i(),L=a(),O=s(),{hasPreSelected:q}=o(),x=n(e=>e.setElement),B=u(e=>e.updateIsSubmit),T=g(S?.uid),U=k({product:h,currentVariant:O,quantity:A}),{showMessage:V,notiComponent:z}=D(E,y),{handleSuccess:F,handleError:G,cartId:H}=I({setting:y,showMessage:V,dispatchInteractionEvent:T,dispatchCustomEvent:U}),{isMutating:J,trigger:K}=l({onSuccess:F,onError:G}),{isMutating:N,trigger:P}=d({onSuccess:F,onError:G});b(()=>{let e=j.current;!(!e||e.closest(".sticky-wrapper"))&&S?.uid&&S.builderData?.advanced&&x({id:S.uid,element:e,deviceVisibility:S.builderData.advanced.d})},[]);let Q=f(()=>{if(!O?.baseID||!A||!h?.baseID||void 0!==q&&!q||C||M)return;let e=L?.some(e=>e.required&&!e.value);if(B(!0),e)return;let t=L?.filter(e=>!!e.value)?.map(e=>({key:e.key,value:e.value}));v({quantity:A,currency:w,id:h?.baseID,name:h?.title,brand:h?.vendor,sku:O.sku,price:c(O?.price),variant:O.title});let r={quantity:A,attributes:t,variantId:O.baseID};y?.actionEffect!=="buy-now"&&H?P({cartId:H,lines:[r]}):K({items:[r]})},[C,M,H,w,A,L,q,h?.title,h?.vendor,h?.baseID,O?.sku,O?.price,O?.title,O?.baseID,y?.actionEffect,K,P,B]),R=m(),W=O?y?.outOfStockLabel:"Unavailable";return{addToCartRef:j,isLoading:J||N,isInStock:R,notiComponent:z,outOfStockLabel:W,addToCart:Q}};export{E as useBtnAddToCart};
1
+ import{useRenderMode as e,useProduct as t,useCurrency as r,useQuantity as i,useProductProperties as a,useCurrentVariant as s,useHasPreSelected as o,useStickyStore as n,useProductStore as u,useCreateCart as l,useAddToCart as d,convertDecimalToNumber as c,useCurrentVariantInStock as m}from"@gem-sdk/core";import{useRef as p,useEffect as b,useCallback as f}from"react";import{addToCartTracking as v}from"../../../helpers/tracking.js";import{useDispatchInteractionEvent as g,useDispatchCustomEvent as k}from"./useDispatchAfterSubmitEvent.js";import{useCartMessage as D}from"./useCartMessage.js";import{useCartOperations as I}from"./useCartOperations.js";let E=({styles:E,setting:y,builderProps:S})=>{let j=p(null),{isEditMode:C,isPreviewSharePageMode:M}=e(),h=t(),{currency:w}=r(),{quantity:A}=i(),L=a(),O=s(),{hasPreSelected:$}=o(),q=n(e=>e.setElement),x=u(e=>e.updateIsSubmit),B=g(S?.uid),T=k({product:h,currentVariant:O,quantity:A}),{showMessage:U,notiComponent:V}=D(E,y),{handleSuccess:z,handleError:F,cartId:G}=I({setting:y,showMessage:U,dispatchInteractionEvent:B,dispatchCustomEvent:T}),{isMutating:H,trigger:J}=l({onSuccess:z,onError:F}),{isMutating:K,trigger:N}=d({onSuccess:z,onError:F});b(()=>{let e=j.current;!(!e||e.closest(".sticky-wrapper"))&&h?.id&&S?.uid&&S.builderData?.advanced&&q({id:`${S.uid}-${h.id}`,element:e,deviceVisibility:S.builderData.advanced.d})},[]);let P=f(()=>{if(!O?.baseID||!A||!h?.baseID||void 0!==$&&!$||C||M)return;let e=L?.some(e=>e.required&&!e.value);if(x(!0),e)return;let t=L?.filter(e=>!!e.value)?.map(e=>({key:e.key,value:e.value}));v({quantity:A,currency:w,id:h?.baseID,name:h?.title,brand:h?.vendor,sku:O.sku,price:c(O?.price),variant:O.title});let r={quantity:A,attributes:t,variantId:O.baseID};y?.actionEffect!=="buy-now"&&G?N({cartId:G,lines:[r]}):J({items:[r]})},[C,M,G,w,A,L,$,h?.title,h?.vendor,h?.baseID,O?.sku,O?.price,O?.title,O?.baseID,y?.actionEffect,J,N,x]),Q=m(),R=O?y?.outOfStockLabel:"Unavailable";return{addToCartRef:j,isLoading:H||K,isInStock:Q,notiComponent:V,outOfStockLabel:R,addToCart:P}};export{E as useBtnAddToCart};
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import{jsx as e,Fragment as t,jsxs as s}from"react/jsx-runtime";import{useProduct as o,useCurrentDevice as i,getResponsiveValueByScreen as r,useI18nStore as m,makeStyleResponsive as c,makeLineClamp as n}from"@gem-sdk/core";import l from"../../../common/components/NoDataState.js";import{ICON_SVG as a}from"./common/helpers.js";import{createClass as p,createStyle as d,createAttr as h,If as u}from"@gem-sdk/system";import{getClasses as y,getButtonClasses as g,getClassPreBuilt as f}from"./common/classes.js";import{getTextStyle as x,getButtonStyle as k,getStaticCss as N}from"./common/styles.js";import{useGpDescription as j}from"./hooks/useGpDescription.js";let w=w=>{let{setting:L,advanced:b,builderProps:v}=w,{htmlTag:C}=L??{},H=o(),T=i(),M=r(L?.hasLineClamp,T),{ref:_,open:D,isShowViewMore:I,handleToggleShowMore:S,mode:A,redirectProductShopifyLink:P}=j(L),{t:q}=m(),G=p({"gp-product-description":!0,[b?.cssClass]:!0}),V=p(y({setting:L,isLiquid:!1})),$=p(g({setting:L})),z=p({"gp-show-more-text":!0}),B=p({"gp-show-more-icon gp-ml-1":!0,...D?{"gp-rotate-180":!0}:{}}),E=p(f()),F=d({...x({setting:L}),...D?{}:c("line-clamp",n(L?.lineClamp,L?.hasLineClamp))}),J=d(k({setting:L})),K=h({"data-id":`${v?.uid}`}),O=h({"data-gp-text":""}),{gpDescriptionCss:Q,textDescriptionCss:R}=N(),U=!H?.descriptionHtml;return U&&"edit"===A?e(l,{elementType:"secondary",description:q("Highlight key benefits with product description."),descriptionActions:[{text:q("Add description"),callback:P},{text:q("sync data"),callback:"syncProduct"}]}):e(t,{children:u(U,"",s("div",{...K,className:G,children:[e("style",{children:R}),e("style",{children:Q}),e("div",{className:E}),e("html"===C?"div":"p",{ref:_,...O,className:V,style:F,dangerouslySetInnerHTML:{__html:H?.descriptionHtml||""}}),u(M&&I,s("button",{className:$,style:J,onClick:S,children:[e("span",{className:z,children:u(D,L?.viewLessText||"",L?.viewMoreText)}),u(L?.enableViewMoreIcon,e("span",{className:B,dangerouslySetInnerHTML:{__html:a}}))]})," ")]}))})};export{w as default};
2
+ import{jsx as e,Fragment as t,jsxs as s}from"react/jsx-runtime";import{useProduct as o,useCurrentDevice as i,getResponsiveValueByScreen as r,useI18nStore as m,makeStyleResponsive as c,makeLineClamp as n}from"@gem-sdk/core";import l from"../../../common/components/NoDataState.js";import{ICON_SVG as a}from"./common/helpers.js";import{createClass as p,createStyle as d,createAttr as h,If as u}from"@gem-sdk/system";import{getClasses as y,getButtonClasses as g,getClassPreBuilt as f}from"./common/classes.js";import{getTextStyle as x,getButtonStyle as k,getStaticCss as N}from"./common/styles.js";import{useGpDescription as j}from"./hooks/useGpDescription.js";let w=w=>{let{setting:L,advanced:b,builderProps:v}=w,{htmlTag:C}=L??{},H=o(),T=i(),M=r(L?.hasLineClamp,T),{ref:_,open:D,isShowViewMore:I,isOverflowChecked:S,handleToggleShowMore:A,mode:P,redirectProductShopifyLink:q}=j(L),{t:G}=m(),V=p({"gp-product-description":!0,[b?.cssClass]:!0}),$=p(y({setting:L,isLiquid:!1})),z=p(g({setting:L})),B=p({"gp-show-more-text":!0}),E=p({"gp-show-more-icon gp-ml-1":!0,...D?{"gp-rotate-180":!0}:{}}),F=p(f()),J=d({...x({setting:L}),...D||S&&!I?{}:c("line-clamp",n(L?.lineClamp,L?.hasLineClamp))}),K=d(k({setting:L})),O=h({"data-id":`${v?.uid}`}),Q=h({"data-gp-text":""}),{gpDescriptionCss:R,textDescriptionCss:U}=N(),W=!H?.descriptionHtml;return W&&"edit"===P?e(l,{elementType:"secondary",description:G("Highlight key benefits with product description."),descriptionActions:[{text:G("Add description"),callback:q},{text:G("sync data"),callback:"syncProduct"}]}):e(t,{children:u(W,"",s("div",{...O,className:V,children:[e("style",{children:U}),e("style",{children:R}),e("div",{className:F}),e("html"===C?"div":"p",{ref:_,...Q,className:$,style:J,dangerouslySetInnerHTML:{__html:H?.descriptionHtml||""}}),u(M&&I,s("button",{className:z,style:K,onClick:A,children:[e("span",{className:B,children:u(D,L?.viewLessText||"",L?.viewMoreText)}),u(L?.enableViewMoreIcon,e("span",{className:E,dangerouslySetInnerHTML:{__html:a}}))]})," ")]}))})};export{w as default};
@@ -1 +1 @@
1
- import{useRef as e,useState as t,useCallback as r,useEffect as l}from"react";import{useProduct as i,useCurrentDevice as o,getResponsiveValueByScreen as n,useProductShopifyEditLink as m,useEditorMode as c,isSafari as p}from"@gem-sdk/core";let s=s=>{let u=e(null),[a,h]=t(!1),[g,d]=t(!1),H=i(),y=o(),x=n(s?.hasLineClamp,y),f=n(s?.lineClamp,y),{redirectProductShopifyLink:C}=m(),w=c(),k=r(()=>`calc(${f} * 1lh)`,[f]),v=r(e=>x&&f&&e||"auto",[x,f]),D=r(()=>{u.current&&(u.current.style.maxHeight=a?k():"none",h(e=>!e))},[a,k]);return l(()=>{v(k())},[s?.typo?.custom,v,k]),l(()=>{let e=u.current;if(h(!1),!e)return;let t=x&&H?.descriptionHtml;t?setTimeout(()=>{let t=e?.scrollHeight??0,r=e?.clientHeight??0,l=window.getComputedStyle(e).getPropertyValue("line-height"),i=parseInt(l,10)||1,o=void 0!==f&&f<Math.round((t??0)/i),n=p()?o:r<t;e.style.maxHeight=k(),f&&n?d(()=>!0):d(()=>!1)},100):e.style.maxHeight="none"},[x,f,H?.descriptionHtml,k]),{ref:u,open:a,isShowViewMore:g,handleToggleShowMore:D,mode:w,redirectProductShopifyLink:C}};export{s as useGpDescription};
1
+ import{useRef as e,useState as t,useCallback as r,useEffect as n}from"react";import{useProduct as i,useCurrentDevice as l,getResponsiveValueByScreen as o,useProductShopifyEditLink as c,useEditorMode as s}from"@gem-sdk/core";let u=u=>{let m=e(null),a=e(!1),[p,h]=t(!1),[H,g]=t(!1),[d,f]=t(!1),x=i(),y=l(),w=o(u?.hasLineClamp,y),b=o(u?.lineClamp,y),{redirectProductShopifyLink:v}=c(),C=s(),T=r(()=>`calc(${b} * 1lh)`,[b]),k=r(e=>w&&b&&e||"auto",[w,b]),z=r(()=>{if(!m.current)return;let e=!p;a.current=e,m.current.style.maxHeight=e?"none":T(),h(e)},[p,T]);return n(()=>{k(T())},[u?.typo?.custom,k,T]),n(()=>{let e=m.current;if(a.current=!1,h(!1),f(!1),!e)return;if(!w||!x?.descriptionHtml||!b){e.style.maxHeight="none",g(!1),f(!0);return}let t=()=>{if(a.current){e.style.maxHeight="none";return}e.style.maxHeight=T();let t=e.scrollHeight-e.clientHeight>1;t||(e.style.maxHeight="none"),g(t),f(!0)},r=window.setTimeout(t,100),n=new ResizeObserver(()=>{t()});return n.observe(e),()=>{window.clearTimeout(r),n.disconnect()}},[w,b,x?.descriptionHtml,T]),{ref:m,open:p,isShowViewMore:H,isOverflowChecked:d,handleToggleShowMore:z,mode:C,redirectProductShopifyLink:v}};export{u as useGpDescription};
@@ -1 +1 @@
1
- import{getResponsiveValueByScreen as e,DEVICES as t,makeStyleResponsive as o}from"@gem-sdk/core";let n=e=>!!e&&["EXTERNAL_VIDEO","MODEL_3D","VIDEO"].includes(e),p=()=>"!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",r=()=>"gp-absolute gp-left-0 gp-top-0 gp-opacity-0 gp-transition-opacity gp-bg-white gp-pointer-events-none",g=o=>{let n={};return t.forEach(t=>{let p=e(o.position,t),r=e(o.dotStyle,t);n={...n,[t]:"only-feature"===p?r:"none"}}),n},l=e=>{if(!e)return null;let t={};return Object.keys(e).forEach(o=>{let n=e[o];n&&(t[o]="cover"===n?"100%":"auto")}),o("h",t)},a=e=>{let t=!1;return["desktop","mobile","tablet"].forEach(o=>{let n=i(e,o);i(e,o)&&(t=n)}),t},i=(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{a as checkRenderFeaturedCarousel,g as getDotStyleForOnlyFeaturedImage,l as getVideoHeight,r as getZoomImageClass,p as getZoomLenClass,n as isFeatureMedia};
1
+ import{getResponsiveValueByScreen as e,DEVICES as t,makeStyleResponsive as o}from"@gem-sdk/core";let n=e=>!!e&&["EXTERNAL_VIDEO","MODEL_3D","VIDEO"].includes(e),p=()=>"!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",r=()=>"gp-absolute gp-left-0 gp-top-0 gp-opacity-0 gp-transition-opacity gp-bg-white gp-pointer-events-none",g=o=>{let n={};return t.forEach(t=>{let p=e(o.position,t),r=e(o.dotStyle,t);n={...n,[t]:"only-feature"===p?r:"none"}}),n},l=({ftLayout:t,ftShape:n})=>{if(!t)return null;let p={};return Object.keys(t).forEach(o=>{let r=t[o],g=e(n,o),l=g?.shape==="original";r&&(p[o]=l||"cover"===r?"100%":"auto")}),o("h",p)},a=e=>{let t=!1;return["desktop","mobile","tablet"].forEach(o=>{let n=i(e,o);i(e,o)&&(t=n)}),t},i=(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{a as checkRenderFeaturedCarousel,g as getDotStyleForOnlyFeaturedImage,l as getVideoHeight,r as getZoomImageClass,p as getZoomLenClass,n as isFeatureMedia};
@@ -1 +1 @@
1
- import{jsx as e,Fragment as o}from"react/jsx-runtime";import{memo as t,useMemo as r}from"react";import"@gem-sdk/core";import"next/link";import i from"../../../../../video/components/Video.js";var m=t(t=>{let{url:m,aspectRatio:l}=t,u=r(()=>m.includes("youtu.be")?"youtube":m.includes("vimeo")?"vimeo":"html5",[m]);return e(o,{children:e(i,{setting:{type:u,html5Url:m,youtubeUrl:m,vimeoUrl:m,preload:!0,controls:!0,aspectRatio:l}})})});export{m as default};
1
+ import{jsx as e}from"react/jsx-runtime";import{memo as t,useMemo as r}from"react";import"@gem-sdk/core";import"next/link";import o from"../../../../../video/components/Video.js";var i=t(t=>{let{url:i,aspectRatio:l}=t,m=r(()=>i.includes("youtu.be")?"youtube":i.includes("vimeo")?"vimeo":"html5",[i]);return e("div",{className:"gp-w-full gp-h-full gp-flex gp-items-center gp-justify-center",children:e(o,{setting:{type:m,html5Url:i,youtubeUrl:i,vimeoUrl:i,preload:!0,controls:!0,aspectRatio:l}})})});export{i as default};
@@ -1,4 +1,4 @@
1
- import{makeStyleResponsive as e,cls as a,template as i}from"@gem-sdk/core";import{getAspectRatio as t,getPaddingBottomByShapeSetting as r,getSrcImage as s}from"../../common/common.js";import{checkRenderFeaturedCarousel as d,getZoomImageClass as o,getZoomLenClass as u,getVideoHeight as l}from"../../common/productFeaturedImage.js";import m from"../../../../../video/components/HTML5Embed.liquid.js";import p from"../../../../../image/components/Modal3d.liquid.js";import g 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{If as M,LiquidIf as b,LiquidFor as _,Liquid as v,createStyle as w}from"@gem-sdk/system";import $ from"../../../../../carousel-v3/components/root/Carousel.liquid.js";import I from"../../../../../carousel-v3/components/item/CarouselItem.liquid.js";let x=({builderPropUID:x,children:q,enableLazyLoadImage:z,...j})=>{let{featuredImageCarouselClasses:S,galleryItemClasses:L,featuredCarouselItemClasses:P}=h({...j,builderProps:{uid:x}}),{featuredImageCarouselStyle:R,featureImageStyle:T,featureImageCarouselOnlyOneImageStyle:W,featureImageOnlyOneImageStyle:C,featureImageCarouselItemStyle:N}=f(j),{featuredImageCarouselSettingAttrs:k}=y(j),E=t(j.ftShape),O=M("other"==j.hoverEffect,b("product.media.size > 1","group-hover:gp-opacity-0")),A=()=>`
1
+ import{makeStyleResponsive as e,cls as a,template as i}from"@gem-sdk/core";import{getAspectRatio as t,getPaddingBottomByShapeSetting as r,getSrcImage as s}from"../../common/common.js";import{checkRenderFeaturedCarousel as d,getZoomImageClass as o,getZoomLenClass as u,getVideoHeight as m}from"../../common/productFeaturedImage.js";import l from"../../../../../video/components/HTML5Embed.liquid.js";import p from"../../../../../image/components/Modal3d.liquid.js";import g 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{If as M,LiquidIf as _,LiquidFor as w,Liquid as v,createStyle as b}from"@gem-sdk/system";import $ from"../../../../../carousel-v3/components/root/Carousel.liquid.js";import I from"../../../../../carousel-v3/components/item/CarouselItem.liquid.js";let x=({builderPropUID:x,children:q,enableLazyLoadImage:S,...z})=>{let{featuredImageCarouselClasses:j,galleryItemClasses:L,featuredCarouselItemClasses:P}=h({...z,builderProps:{uid:x}}),{featuredImageCarouselStyle:R,featureImageStyle:T,featureImageCarouselOnlyOneImageStyle:W,featureImageOnlyOneImageStyle:C,featureImageCarouselItemStyle:N}=f(z),{featuredImageCarouselSettingAttrs:k}=y(z),E=t(z.ftShape),O=M("other"==z.hoverEffect,_("product.media.size > 1","group-hover:gp-opacity-0")),A=()=>`
2
2
  {% case featureMedia.media_type %}
3
3
  {% when 'image' %}
4
4
  ${F()}
@@ -13,31 +13,32 @@ import{makeStyleResponsive as e,cls as a,template as i}from"@gem-sdk/core";impor
13
13
  {% else %}
14
14
  ${G()}
15
15
  {% endcase %}
16
- `,D=()=>p({src:b("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}),V=()=>n({src:"{{mediaSourceVideo}}",alt:"{{featureMedia.alt | escape}}",autoplay:!1,allowfullscreen:!0,controls:!0,style:{width:"100%",height:"100%"},aspectRatio:E}),H=()=>{let a=w({...l(j?.ftLayout),...e("objf",j?.ftLayout)}),i=w({...l(j?.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,poster:{altText:"{{featureMedia.alt | escape}}"},style:{width:"100%","max-height":"100%",...a},className:"gp-invisible"})},F=()=>i`
16
+ `,D=()=>p({src:_("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}),V=()=>n({src:"{{mediaSourceVideo}}",alt:"{{featureMedia.alt | escape}}",autoplay:!1,allowfullscreen:!0,controls:!0,style:{width:"100%",height:"100%"},aspectRatio:E}),H=()=>{let a=b({...m({ftLayout:z?.ftLayout,ftShape:z?.ftShape}),...e("objf",z?.ftLayout)}),i=b({...m({ftLayout:z?.ftLayout,ftShape:z?.ftShape})});return l({src:"{{mediaSourceVideo}}",title:"{{featureMedia.alt | escape}}",autoplay:!1,controls:!0,thumbnail:"{{featureMedia.preview_image.src | product_img_url: '1024x1024'}}",isCheckLoaded:!0,wrapperStyles:i,poster:{altText:"{{featureMedia.alt | escape}}"},style:{width:"100%","max-height":"100%",...a},className:"gp-invisible"})},F=()=>i`
17
17
  ${B(a("gp-w-full gp-transition-opacity",O,"{{shouldHidden}}"))}
18
- ${M(j?.hoverEffect!=="none",`<div class="${a("zoom-element !gp-max-w-none",o())}">
18
+ ${M(z?.hoverEffect!=="none",`<div class="${a("zoom-element !gp-max-w-none",o())}">
19
19
  ${B("image-zoom",!0)}
20
20
  </div>`," ")}
21
- ${M(j?.hoverEffect=="zoom"&&j?.zoomType=="glasses",`<div class="${a("zoom-lens-element",u())}" style="opacity: 0; background-image: url('{{ featureMedia.src | img_url: "1024x1024"}}')"></div>`," ")}
21
+ ${M(z?.hoverEffect=="zoom"&&z?.zoomType=="glasses",`<div class="${a("zoom-lens-element",u())}" style="opacity: 0; background-image: url('{{ featureMedia.src | img_url: "1024x1024"}}')"></div>`," ")}
22
22
  `,B=(e,a)=>i`
23
23
  {% assign src = featureMedia.src %}
24
- ${M(a&&"other"==j.hoverEffect,`{% assign media_length = product.media | size %}
25
- {% assign other_image_index = ${j.otherImage} | plus: 0 %}
24
+ ${M(a&&"other"==z.hoverEffect,`{% assign media_length = product.media | size %}
25
+ {% assign other_image_index = ${z.otherImage} | plus: 0 %}
26
26
  {% if other_image_index >= media_length %}
27
27
  {% assign other_image_index = media_length | minus: 1 %}
28
28
  {% endif %}
29
29
  {% assign otherImage = product.media[other_image_index] %}
30
- ${b("otherImage.media_type != 'image'","{% assign src = otherImage.preview_image.src %}","{% assign src = otherImage.src %}")}
30
+ ${_("otherImage.media_type != 'image'","{% assign src = otherImage.preview_image.src %}","{% assign src = otherImage.src %}")}
31
31
  `)}
32
- ${g({srcIsLiquidCode:!0,src:b("src != null",s("src"),"https://cdn.shopify.com/s/assets/no-image-2048-5e88c1b20e087fb7bbe9a3771824e743c244f437e4f8ba93bbf7b11b53f7824c_large.gif"),id:b("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:j?.ftLayout,aspectRatio:E,qualityType:j?.qualityType,qualityPercent:j?.qualityPercent},priority:j?.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:z})}`,G=()=>i`
33
- ${g({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:j?.ftLayout,aspectRatio:E,qualityType:j?.qualityType,qualityPercent:j?.qualityPercent},priority:j?.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:z})}`,J=r(j.ftShape),K=d(j),Q="gp-featured-image-wrapper",U=b("product.media.size > 0",`{% assign largestRatio = 0 %}
34
- ${_("featureMedia in product.media",`
35
- {% assign height = featureMedia.height | times: 1.0 %}
36
- {% assign width = featureMedia.width | times: 1.0 %}
32
+ ${g({srcIsLiquidCode:!0,src:_("src != null",s("src"),"https://cdn.shopify.com/s/assets/no-image-2048-5e88c1b20e087fb7bbe9a3771824e743c244f437e4f8ba93bbf7b11b53f7824c_large.gif"),id:_("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:S})}`,G=()=>i`
33
+ ${g({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:S})}`,J=r(z.ftShape),K=d(z),Q="gp-featured-image-wrapper",U=_("product.media.size > 0",`{% assign largestRatio = 0 %}
34
+ ${w("featureMedia in product.media",`
35
+ ${_("featureMedia.media_type == 'video' and featureMedia.preview_image",`{% assign height = featureMedia.preview_image.height | times: 1.0 %}
36
+ {% assign width = featureMedia.preview_image.width | times: 1.0 %}`,`{% assign height = featureMedia.height | times: 1.0 %}
37
+ {% assign width = featureMedia.width | times: 1.0 %}`)}
37
38
  {% assign ratio = height | divided_by: width %}
38
- ${b("ratio > largestRatio","{% assign largestRatio = ratio %}")}
39
+ ${_("ratio > largestRatio","{% assign largestRatio = ratio %}")}
39
40
  `)}
40
- ${_("featureMedia in product.media",`${b("featureMedia.media_type == 'image'",`${_("image in product.images",b("image.src == featureMedia.src","{% assign imageID = image.id %}{% break %}"))}`,"{% assign imageID = '' %}")}
41
+ ${w("featureMedia in product.media",`${_("featureMedia.media_type == 'image'",`${w("image in product.images",_("image.src == featureMedia.src","{% assign imageID = image.id %}{% break %}"))}`,"{% assign imageID = '' %}")}
41
42
 
42
43
  ${v(`{% assign productImageWidth = 0 %}
43
44
  {% case featureMedia.media_type %}
@@ -48,22 +49,22 @@ import{makeStyleResponsive as e,cls as a,template as i}from"@gem-sdk/core";impor
48
49
  {% endcase %}`)}
49
50
  ${I({id:"{{section.id}}-{{imageID}}",contentType:"productImage",className:`${L("gp-ft-image-item !gp-min-w-full !gp-max-w-full ")}`,parentId:`ft-${x}-{{section.id}}-{{product.id}}`,style:N,customStyle:{width:"{{productImageWidth}}px"},children:`
50
51
  <div
51
- class="gp-w-full gp-relative ${b("featureMedia == null or featureMedia.media_type == 'image'","{{ 'gp-h-0' }}","{{ 'gp-h-full !gp-pb-0' }}")}"
52
- style="${c(e("pb",J))} ${b("featureMedia.media_type == 'video' or featureMedia.media_type == 'external_video'","{{ 'display: flex; align-items: center; justify-content: center' }}")}"
52
+ class="gp-w-full gp-relative ${_("featureMedia == null or featureMedia.media_type == 'image'","{{ 'gp-h-0' }}","{{ 'gp-h-full !gp-pb-0' }}")}"
53
+ style="${c(e("pb",J))} ${_("featureMedia.media_type == 'video' or featureMedia.media_type == 'external_video'","{{ 'display: flex; align-items: center; justify-content: center' }}")}"
53
54
  >
54
55
  ${A()}
55
56
  </div>
56
57
  `})}`)}
57
- `,g({src:"https://cdn.shopify.com/s/assets/no-image-2048-5e88c1b20e087fb7bbe9a3771824e743c244f437e4f8ba93bbf7b11b53f7824c_large.gif",id:"noImageError",width:"480",height:"480",alt:"no image",priority:j?.preload,setting:{layout:j?.ftLayout,aspectRatio:E,qualityType:j?.qualityType,qualityPercent:j?.qualityPercent},style:{height:"100%"},className:"gp-w-full featured-image-only !gp-rounded-none",customLazyload:!0,enableLazyLoadImage:z}));return v(`
58
+ `,g({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:S}));return v(`
58
59
  {% capture featureImageOnlyOne %}
59
60
  ${v(`
60
61
  {% assign featureMedia = variant.featured_media %}
61
62
  {% unless featureMedia %}
62
63
  {% assign featureMedia = product.featured_media %}
63
64
  {% endunless %}
64
- ${b("product.media.size > 1",(()=>{switch(j?.preDisplay){case"1st-images":return`
65
+ ${_("product.media.size > 1",(()=>{switch(z?.preDisplay){case"1st-images":return`
65
66
  {% assign featureMedia = product.media.first %}
66
- `;case"1st-3d-mode":return _("media in product.media",b("media.media_type == 'model'","{% assign featureMedia = media %}{% break %}"));case"1st-video":return _("media in product.media",b("media.media_type == 'video' or media.media_type == 'external_video'","{% assign featureMedia = media %}{% break %}"));default:return`
67
+ `;case"1st-3d-mode":return w("media in product.media",_("media.media_type == 'model'","{% assign featureMedia = media %}{% break %}"));case"1st-video":return w("media in product.media",_("media.media_type == 'video' or media.media_type == 'external_video'","{% assign featureMedia = media %}{% break %}"));default:return`
67
68
  {% assign featureMedia = variant.featured_media %}
68
69
  {% unless featureMedia %}
69
70
  {% assign featureMedia = product.featured_media %}
@@ -73,7 +74,7 @@ import{makeStyleResponsive as e,cls as a,template as i}from"@gem-sdk/core";impor
73
74
  {% assign height = featureMedia.height | times: 1.0 %}
74
75
  {% assign width = featureMedia.width | times: 1.0 %}
75
76
  {% assign ratio = height | divided_by: width %}
76
- ${b("ratio > largestRatio","{% assign largestRatio = ratio %}")}
77
+ ${_("ratio > largestRatio","{% assign largestRatio = ratio %}")}
77
78
  {% assign productImageWidth = 0 %}
78
79
  {% case featureMedia.media_type %}
79
80
  {% when 'image' %}
@@ -81,7 +82,7 @@ import{makeStyleResponsive as e,cls as a,template as i}from"@gem-sdk/core";impor
81
82
  {% else %}
82
83
  {% assign productImageWidth = featureMedia.preview_image.width %}
83
84
  {% endcase %}
84
- ${b("featureMedia == null","{% assign productImageWidth = 1600 %}")}
85
+ ${_("featureMedia == null","{% assign productImageWidth = 1600 %}")}
85
86
  <div
86
87
  class='gp-feature-image-carousel gp-feature-image-only'
87
88
  style="${c(T)}"
@@ -99,8 +100,8 @@ import{makeStyleResponsive as e,cls as a,template as i}from"@gem-sdk/core";impor
99
100
  style="${c(W)}"
100
101
  >
101
102
  <div
102
- class="gp-w-full gp-relative ${b("featureMedia == null or featureMedia.media_type == 'image'","{{ 'gp-h-0' }}","{{ 'gp-h-full !gp-pb-0' }}")}"
103
- style="${c(e("pb",J))} ${b("featureMedia.media_type == 'video' or featureMedia.media_type == 'external_video'","{{ 'display: flex; align-items: center; justify-content: center' }}")}"
103
+ class="gp-w-full gp-relative ${_("featureMedia == null or featureMedia.media_type == 'image'","{{ 'gp-h-0' }}","{{ 'gp-h-full !gp-pb-0' }}")}"
104
+ style="${c(e("pb",J))} ${_("featureMedia.media_type == 'video' or featureMedia.media_type == 'external_video'","{{ 'display: flex; align-items: center; justify-content: center' }}")}"
104
105
  >
105
106
  ${A()}
106
107
  </div>
@@ -109,9 +110,9 @@ import{makeStyleResponsive as e,cls as a,template as i}from"@gem-sdk/core";impor
109
110
  </div>
110
111
  `)}
111
112
  {% endcapture %}
112
- ${b("product.media.size > 1",`
113
+ ${_("product.media.size > 1",`
113
114
  ${M(K,`
114
- ${$({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:T,styles:R,style:{playSpeed:600},disableMarginAuto:!0,children:U,productBadgeLiquid:q||""})}
115
+ ${$({builderProps:{uid:x},rootId:`ft-${x}-{{section.id}}-{{product.id}}`,conditionAppendJs:"product.media.size > 1",wrapperClass:Q,rootClass:`${j}`,rootAttrs:{type:"gp-feature-image-carousel","product-id":"{{product.id}}","product-media":"{{product.media.size}}"},isHiddenArrowWhenDisabled:!0,setting:k,rootStyles:T,styles:R,style:{playSpeed:600},disableMarginAuto:!0,children:U,productBadgeLiquid:q||"",carouselType:"feature_image"})}
115
116
  `," ")}
116
117
  ${M(!K,"{{ featureImageOnlyOne }}"," ")}
117
118
  `,"{{ featureImageOnlyOne }}")}
@@ -1,10 +1,10 @@
1
- import{template as e,getResponsiveValueByScreen as t}from"@gem-sdk/core";import i from"../../../../../image/components/NextImage.liquid.js";import{getGalleryCarouselRenderByLayout as o,getAspectRatio as r,getDisplayStyle as s,getSrcImage as a}from"../../common/common.js";import{getShapeByLayout as p,getMinHeightByPosition as l,getZoomDisplay as d,checkDisplayGalleryByWidth as m,getCarouselVerticalConfigByPosition as g}from"../../common/productGallery.js";import{getStyleOfObject as n}from"../../../../helpers/function.js";import{getProductImagesStyles as c}from"../../composables/getProductImagesStyles.js";import{getProductImagesClassName as u}from"../../composables/getProductImagesClassName.js";import{getProductImagesAttr as C}from"../../composables/getProductImagesAttr.js";import{LiquidIf as h,LiquidFor as y}from"@gem-sdk/system";import v from"../../../../../carousel-v3/components/root/Carousel.liquid.js";import b from"../../../../../carousel-v3/components/item/CarouselItem.liquid.js";let f=({builderPropUID:f,children:w,enableLazyLoadImage:L,...F})=>{let{featuredImageGalleryClasses:x,galleryItemClasses:$}=u(F),{galleryCarouselSettingAttrs:I}=C(F),{galleryCarouselStyle:_,galleryCarouselItemStyle:k}=c(F),j=p({shape:F.shape,shapeForBottom:F.shapeForBottom,shapeFor1Col:F.shapeFor1Col,shapeFor2Col:F.shapeFor2Col,shapeForFtOnly:F.shapeForFtOnly,shapeForInsideBottom:F.shapeForInsideBottom,shapeForInside:F.shapeForInside},F.position),V=(t,o)=>e`${i({srcIsLiquidCode:!0,src:`${a("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:L})}`,M=e=>`
1
+ import{template as e,getResponsiveValueByScreen as t}from"@gem-sdk/core";import i from"../../../../../image/components/NextImage.liquid.js";import{getGalleryCarouselRenderByLayout as o,getAspectRatio as r,getDisplayStyle as s,getSrcImage as a}from"../../common/common.js";import{getShapeByLayout as p,getMinHeightByPosition as l,getZoomDisplay as d,checkDisplayGalleryByWidth as m,getCarouselVerticalConfigByPosition as g}from"../../common/productGallery.js";import{getStyleOfObject as n}from"../../../../helpers/function.js";import{getProductImagesStyles as c}from"../../composables/getProductImagesStyles.js";import{getProductImagesClassName as u}from"../../composables/getProductImagesClassName.js";import{getProductImagesAttr as C}from"../../composables/getProductImagesAttr.js";import{LiquidIf as h,LiquidFor as y}from"@gem-sdk/system";import v from"../../../../../carousel-v3/components/root/Carousel.liquid.js";import b from"../../../../../carousel-v3/components/item/CarouselItem.liquid.js";let f=({builderPropUID:f,children:w,enableLazyLoadImage:L,...F})=>{let{featuredImageGalleryClasses:x,galleryItemClasses:$}=u(F),{galleryCarouselSettingAttrs:_}=C(F),{galleryCarouselStyle:I,galleryCarouselItemStyle:k}=c(F),j=p({shape:F.shape,shapeForBottom:F.shapeForBottom,shapeFor1Col:F.shapeFor1Col,shapeFor2Col:F.shapeFor2Col,shapeForFtOnly:F.shapeForFtOnly,shapeForInsideBottom:F.shapeForInsideBottom,shapeForInside:F.shapeForInside},F.position),V=(t,o)=>e`${i({srcIsLiquidCode:!0,src:`${a("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:L})}`,M=e=>`
2
2
  ${h("media.media_type == 'video'","{% assign mediaSourceUrl = media.sources.last.url %}")}
3
3
  ${h("media.media_type == 'external_video'","{% assign mediaSourceUrl = media | external_video_url %}")}
4
4
  ${h("media.media_type == 'image'","{% assign mediaSourceUrl = media.src %}")}
5
5
  ${b({id:"{{imageID}}",contentType:"productImage",className:`${$(`gp-gallery-image-item ${e??""}`)}`,parentId:`${f}-{{product.id}}`,builderAttrs:{"data-outline":e?"active":"deactive"},style:k,children:`
6
6
  <div class="gp-w-full gp-relative gp-h-full"
7
-
7
+
8
8
  >
9
9
  ${V({aspectRatio:r(j),layout:F?.layout,qualityPercent:F?.qualityPercent,qualityType:F?.qualityType},{width:"100%",height:"100%",cursor:"pointer"})}
10
10
 
@@ -42,5 +42,5 @@ import{template as e,getResponsiveValueByScreen as t}from"@gem-sdk/core";import
42
42
  </div>
43
43
  `})}`,B=h("product.media.size > 1",y("media in product.media",`${h("media.media_type == 'image'",y("image in product.images",h("image.src == media.src","{% assign imageID = image.id %}{% break %}")),"{% assign imageID = '' %}")}
44
44
  ${h("media.id == product.featured_media.id ",M(F?.borderActive?.border!=="none"?"active":""),M())}`));return e`
45
- ${v({builderProps:{uid:f},rootId:`${f}-{{product.id}}`,rootClass:`${x}`,rootAttrs:{type:"grid-carousel","product-media":"{{product.media.size}}"},wrapperClass:(()=>{let e=g(F.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(" ")}`})(),slidesClass:l(F.position,F.navigationPosition),isHiddenArrowWhenDisabled:!0,setting:I,rootStyles:{...(()=>{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=m({shapeByLayout:j}),o={desktop:i.desktop&&e(F.type,F.position,"desktop"),tablet:i.tablet&&e(F.type,F.position,"tablet"),mobile:i.mobile&&e(F.type,F.position,"mobile")};return s(e=>!o[e],"flex")})()},styles:_,disableMarginAuto:!0,children:B,renderByLayout:o(F.position)})}
45
+ ${v({builderProps:{uid:f},rootId:`${f}-{{product.id}}`,rootClass:`${x}`,rootAttrs:{type:"grid-carousel","product-media":"{{product.media.size}}"},wrapperClass:(()=>{let e=g(F.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(" ")}`})(),slidesClass:l(F.position,F.navigationPosition),isHiddenArrowWhenDisabled:!0,setting:_,rootStyles:{...(()=>{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=m({shapeByLayout:j}),o={desktop:i.desktop&&e(F.type,F.position,"desktop"),tablet:i.tablet&&e(F.type,F.position,"tablet"),mobile:i.mobile&&e(F.type,F.position,"mobile")};return s(e=>!o[e],"flex")})()},styles:I,disableMarginAuto:!0,children:B,renderByLayout:o(F.position),carouselType:"feature_image_thumbs"})}
46
46
  `};export{f as default};
@@ -1,4 +1,4 @@
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 _=({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:"none",tablet:"none",mobile:"none"};return["desktop","mobile","tablet"].forEach(e=>{let o=a(L?.position,e)||"",s="one-col"===o||"two-col"===o;t[e]=(i?!s:s)?"block":"none"}),e("d",t)},k=()=>j(),S=()=>j(!0),Z=(e,a)=>i`
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 _=({builderPropUID:_,wrapperStyle:$,children:b,enableLazyLoadImage:x,...L})=>{let{galleryItemClasses:F,galleryGridWrapperClasses:M}=f(L),{galleryGridStyles:V,galleryGridItemStyles:q}=w(L),I=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:"none",tablet:"none",mobile:"none"};return["desktop","mobile","tablet"].forEach(e=>{let o=a(L?.position,e)||"",s="one-col"===o||"two-col"===o;t[e]=(i?!s:s)?"block":"none"}),e("d",t)},k=()=>j(),S=()=>j(!0),Z=(e,a)=>i`
2
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
3
  ${r(L?.galleryHoverEffect!=="none",`<div class="${t("zoom-element !gp-max-w-none gp-w-full gp-h-full",h())}">
4
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})}
@@ -6,7 +6,7 @@ import{makeStyleResponsive as e,template as i,getResponsiveValueByScreen as a,cl
6
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
7
  </div>
8
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`
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(I)}),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
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
11
  <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
12
12
  <rect opacity="0.9" width="24" height="24" rx="3" fill="#212121"/>
@@ -19,7 +19,7 @@ import{makeStyleResponsive as e,template as i,getResponsiveValueByScreen as a,cl
19
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
20
  </svg>
21
21
  </div>`)}
22
- ${Z({aspectRatio:c(M),layout:L?.layout,qualityType:L?.qualityType,qualityPercent:L?.qualityPercent},{width:"100%",height:"100%"})}
22
+ ${Z({aspectRatio:c(I),layout:L?.layout,qualityType:L?.qualityType,qualityPercent:L?.qualityPercent},{width:"100%",height:"100%"})}
23
23
 
24
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
25
  style="${g(v(L?.clickOpenLightBox))}" >
@@ -54,18 +54,20 @@ import{makeStyleResponsive as e,template as i,getResponsiveValueByScreen as a,cl
54
54
  grid-index="{{forloop.index}}"
55
55
  data-outline="none"
56
56
  class="${F(`gem-slider-item-${_}-{{product.id}} gp-gallery-image-item ${i??""} data-[outline=deactive]:after:!gp-border-transparent`)}"
57
- style="${g(I)}"
57
+ style="${g(q)}"
58
58
  >
59
59
  ${d("media.media_type == 'external_video' or media.media_type == 'video' or media.media_type == 'model'","{% assign isMedia = true %}")}
60
60
 
61
61
  ${d("media.media_type == 'external_video' or media.media_type == 'video'","{% assign isVideo = true %}")}
62
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()}))}">
63
+ ${d("media.media_type == 'model'","{% assign isModel = true %}")}
64
+
65
+ <div class="gp-w-full" style="${d("media == null or media.media_type == 'image'","display: block !important;")} ${d("isMedia",g({...S()}))}">
64
66
  ${d("media != null",P(),T())}
65
67
  </div>
66
68
 
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
+ <div class="${d("isMedia","gp-flex gp-justify-center gp-items-center")} ${d("isModel","gp-w-full")}"
70
+ style="${d("isMedia",g({...e("aspect",c(I))}))} ${g({...k()})}"
69
71
  >
70
72
  {% case media.media_type %}
71
73
  {% when 'external_video' %}
@@ -80,11 +82,12 @@ import{makeStyleResponsive as e,template as i,getResponsiveValueByScreen as a,cl
80
82
  </div>
81
83
  {% assign isVideo= false %}
82
84
  {% assign isMedia= false %}
85
+ {% assign isModel= false %}
83
86
  </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(`
87
+ ${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(I),layout:L?.layout,qualityType:L?.qualityType,qualityPercent:L?.qualityPercent},className:"!gp-rounded-none",customLazyload:!1,enableLazyLoadImage:x})}`;return o(`
85
88
  <div type="grid-gallery"
86
- class="${V}"
87
- style="${g(q)}}"
89
+ class="${M}"
90
+ style="${g(V)}}"
88
91
  >
89
92
  ${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
93
  ${d("media.id == product.featured_media.id ",N(L?.borderActive?.border!=="none"?"active":""),N())}`)}
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import{jsx as e,jsxs as o,Fragment as p}from"react/jsx-runtime";import{useFeaturedImageGlobal as t}from"@gem-sdk/core";import{useState as l,useMemo as i,useEffect as g}from"react";import"../../../../../modal/components/confirm.js";import n from"../../../../../modal/components/Modal.js";import s from"./LightBoxCarousel.js";import r from"./LightBoxGalleryCarousel.js";import m from"./LightBoxImageZoom.js";let a=({builderPropUID:a,productImages:c,open:d,onHandleClose:x})=>{let f=t(),[u,h]=l(!1),[I,y]=l(0),w=i(()=>(c||[]).map((e,o)=>({...e,id:e.id||`gp-lightbox-${o}`,src:e.src||e.previewImage,alt:e.alt||"Product image"})),[c]),C=i(()=>!["VIDEO","EXTERNAL_VIDEO","MODEL_3D"].includes(w[I]?.contentType||""),[w,I]),b=i(()=>{let e=w.findIndex(e=>e.id===f?.id);return e&&e>0?e:0},[w,f]);g(()=>{d&&(h(!1),y(b))},[d]);let j=()=>{h(e=>!e)};return e(n,{setting:{open:d},styles:{width:"calc(100% + 2rem)"},closeOnClickOutside:!0,closeOnEscape:!0,onKeypressEscape:()=>x(),onClose:()=>{x()},lockBodyScroll:!0,disableIframeClickEvent:!0,contentClass:"!gp--mx-4 !gp-my-auto !gp-h-screen !gp-max-w-none !gp-rounded-none !gp-bg-[#0F0F10] !gp-px-0 !gp-py-0 !gp-text-white",zoomButton:{isShowButton:C,isZoomIn:u,onToggleZoom:j},closeButtonClassName:"gp-top-[34px] gp-text-[#AAAAAA] gp-scale-125",wrapperContentClasses:"gp-size-full",children:e("div",{className:"gp-flex gp-gap-2 gp-size-full gp-min-w-0 gp-flex-col gp-items-center gp-justify-center",children:u?e(m,{image:w[I],onExitZoom:j}):o(p,{children:[e("div",{className:"gp-flex gp-w-full gp-min-w-0 gp-flex-1 gp-items-center gp-justify-center gp-overflow-hidden gp-px-[52px] gp-mt-[52px] mobile:gp-px-0",children:e(s,{builderPropUID:a,displayImages:w,activeIndex:I,imageActiveIndex:b,onChangeSlide:y,onToggleZoom:j})}),e("div",{className:"gp-flex gp-justify-center gp-w-full gp-pb-2 mobile:gp-pb-5 gp-px-[52px] mobile:gp-px-0",children:e(r,{builderPropUID:a,displayImages:w,activeIndex:I,onChangeSlide:y})})]})})})};export{a as default};
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 h=({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=l(),C=e=>"edit"!==j&&["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:{desktop:!1,mobile:!1,tablet:!1},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:C(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{h as default};
@@ -1 +1 @@
1
- import{createClass as e}from"@gem-sdk/system";import{getWrapperClasses as s,getGalleryWrapperClasses as r,getGalleryGridWrapperClasses as a,getFtImageWithGalleryClasses as t,getImageGalleryWrapperClasses as l,getFeaturedImageCarouselClasses as g,getFeaturedImageGalleryClasses as o,getFeaturedImageClasses as m,getFeaturedCarouselItemClasses as p,getGalleryItemClasses as d}from"../common/classes.js";import{checkAddOverFlowClass as i,setDefaultWhenUndefineSetting as u}from"../common/common.js";let C=C=>{let{setting:c,style:x}=C,f=u(C),{builderProps:$,advanced:n}=f,y=n?.cssClass,w=e(s({extraClass:`${$?.uid} ${y??""} `,isAddOverFlowClass:i(x)})),b=e(r({})),h=e(a({})),v=e(t({extraClass:`gp-product-images-feature--${$?.uid}`})),I=e(l({extraClass:`gp-product-images-gallery-${$?.uid}`})),j=e(g({extraClass:`gp-product-images-gallery-${$?.uid}`})),F=e(o({settings:c})),A=e(m({setting:c,extraClass:`gp-flex gp-relative gp-product-images-gallery-${$?.uid} gp-overflow-hidden gp-flex gp-w-full gp-items-center gp-justify-center `}));return{wrapperClasses:w,productImagesGalleryClasses:b,galleryGridWrapperClasses:h,galleryItemClasses:s=>e(d({extraClass:`${s??""}`})),ftImageGalleryClasses:v,imageGalleryWrapperClasses:I,featuredImageCarouselClasses:j,featuredImageGalleryClasses:F,featureImageOnlyOneImageClasses:A,featuredCarouselItemClasses:s=>e(p({extraClass:`${s??""}`}))}},c=(s,r,a)=>e(d({extraClass:`${a} ${s===r?"gp-border-[#5EA2FF] gp-border-[3px]":"gp-border-white/20 hover:gp-border-white/60"}`}));export{c as galleryItemClasses,C as getProductImagesClassName};
1
+ import{createClass as e}from"@gem-sdk/system";import{getWrapperClasses as s,getGalleryWrapperClasses as a,getGalleryGridWrapperClasses as r,getFtImageWithGalleryClasses as t,getImageGalleryWrapperClasses as l,getFeaturedImageCarouselClasses as g,getFeaturedImageGalleryClasses as m,getFeaturedImageClasses as o,getFeaturedCarouselItemClasses as p,getGalleryItemClasses as i}from"../common/classes.js";import{checkAddOverFlowClass as d,setDefaultWhenUndefineSetting as u}from"../common/common.js";let C=C=>{let{setting:c,style:f}=C,x=u(C),{builderProps:n,advanced:$}=x,y=$?.cssClass,j=e(s({extraClass:`${n?.uid} ${y??""} `,isAddOverFlowClass:d(f)})),v=e(a({})),w=e(r({})),I=e(t({extraClass:`gp-product-images-feature--${n?.uid}`})),h=e(l({extraClass:`gp-product-images-gallery-${n?.uid}`})),k=e(g({extraClass:`gp-product-images-gallery-${n?.uid}`})),A=e(m({settings:c})),F=e(o({setting:c,extraClass:`gp-flex gp-relative gp-product-images-gallery-${n?.uid} gp-overflow-hidden gp-flex gp-w-full gp-items-center gp-justify-center `}));return{wrapperClasses:j,productImagesGalleryClasses:v,galleryGridWrapperClasses:w,galleryItemClasses:s=>e(i({extraClass:`${s??""}`})),ftImageGalleryClasses:I,imageGalleryWrapperClasses:h,featuredImageCarouselClasses:k,featuredImageGalleryClasses:A,featureImageOnlyOneImageClasses:F,featuredCarouselItemClasses:s=>e(p({extraClass:`${s??""}`}))}};export{C as getProductImagesClassName};
@@ -1 +1 @@
1
- import{jsx as e,Fragment as t,jsxs as r}from"react/jsx-runtime";import o from"next/dynamic";import d from"../../../common/components/Loading.js";import{useState as a,useMemo as l,useEffect as i}from"react";import{useRenderMode as c,useCurrentDevice as s,usePageType as n,usePageStore as u,useFetchHandle as m,hasPublicStoreFrontData as g,createStoreFrontFetcher as h,useProductQuery as p,useProductsQueryAll as f,useProductsQuery as P,useCollectionQuery as b,flattenConnection as k,ProductListProvider as T,filterToolbarPreview as I}from"@gem-sdk/core";import v from"../SalePageProductListWarning.js";import y from"next/head";import O from"./ProductListGridLayout.js";import S from"./ProductListCarouselLayout.js";import{getStyle as C}from"./common/styles.js";import{If as E}from"@gem-sdk/system";import{getClass as N}from"./common/classes.js";import{getData as w}from"./common/helpers.js";import{getPropertyByDevice as L}from"../../../dialog/common/helpers.js";let W=o(()=>import("../ProductNotFound.js"),{loading:d}),j=o=>{let{children:j,styles:x,builderProps:G,setting:M,builderAttrs:B}=o,{isRelatedProduct:A,productSetting:Q}=w(o),z=Q.relatedTag&&Q.relatedTag[0],{isEditMode:D,isPreviewSharePageMode:F}=c(),H=s(),R=n(),$=u(e=>e.dynamicProduct),_=u(e=>e.dynamicCollection),[V,q]=a(1),[U,J]=a(!0),[K,X]=a(),[Y,Z]=a(!1),ee="GP_FUNNEL_PAGE"===R;"GP_COLLECTION"==R&&(Q.productSrc="DynamicCollection",Q.collectionId=_?.collectionId??"latest");let et=Q?.productSrc??"Collection",er=$?.productId&&$?.productId!==Q.relatedProductId?$?.productId:Q.relatedProductId,eo=m(),ed=u(e=>e.publicStoreFrontData),ea=l(()=>g(ed)?h(ed):eo,[ed]),{data:el}=p(A&&er?er:void 0,{revalidateOnMount:D||F},ea),ei=Q.relatedTag&&"tags"===Q.relatedTag[0]&&(!el?.tags||el?.tags.length===0),ec=Q.relatedTag&&"collection"===Q.relatedTag[0]&&(!el?.collections?.edges||el?.collections.edges.length===0),es=Q.relatedTag&&"vendor"===Q.relatedTag[0]&&!el?.vendor,en=f(K,{revalidateOnMount:D||F},ea),eu=D||F,em=P("PickProduct"===et?Q?.productIds:void 0,{revalidateOnMount:eu},{defaultSelectedProductCount:Q?.numOfSelectedProducts}),eg=l(()=>({id:Q?.collectionId??"latest",numberOfProducts:M?.numberOfProducts??4,orderBy:M?.orderBy}),[Q?.collectionId,Number(M?.numberOfProducts),M?.orderBy]),eh=b("PickProduct"!==et?eg:void 0,{revalidateOnMount:eu});i(()=>{if(A&&el&&Q.relatedTag&&"recommended-product"!==Q.relatedType){let e;switch(Z(!1),Q.hasRelatedExclude&&(e=Q?.relatedExclude&&Q.relatedExclude.split(",").map(e=>e.trim())),Q.relatedTag[0]){case"vendor":X({first:M?.numberOfProducts,vendor:Q.relatedTag&&"vendor"===Q.relatedTag[0]?el?.vendor:"",idNEQ:el.id});break;case"collection":{let t=el?.collections?.edges.map(e=>e.node?.id);if(!t||t?.length===0){Z(!0);break}X(e&&e.length>0?{first:M?.numberOfProducts,idNEQ:el.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:t},{titleNotIn:e}]}]}:{first:M?.numberOfProducts,idNEQ:el.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:t}]}]});break}case"tags":if(!el.tags||0===el.tags.length){Z(!0);break}X(e&&e.length>0?{first:M?.numberOfProducts,idNEQ:el.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:el.tags},{nameNotIn:e}]}]}:{first:M?.numberOfProducts,idNEQ:el.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:el.tags}]}]})}}},[el,Q.relatedType,Q.relatedTag,M?.numberOfProducts,Q.relatedExclude,Q.hasRelatedExclude,A]);let ep="PickProduct"===et?em.isValidating:eh.isValidating,ef="PickProduct"===et?em.isLoading:eh.isLoading,eP="PickProduct"===et?em.error:eh.error,eb=eh.data?.collections?.edges?.[0]?.node,ek="PickProduct"===et?k(em.data?.products):k(eb?.products),eT=en?.data?.products?k(en?.data?.products):void 0,eI=A&&eT?eT:"PickProduct"===et&&Q?.productIds?.length?Q?.productIds?.map(e=>ek?.find(t=>t?.baseID===e)).filter(Boolean)??ek:"PickProduct"!==et?ek:ek.filter((e,t)=>t<(Q?.numOfSelectedProducts??4)),ev=l(()=>Y&&A&&D||!eI.length&&!ef&&U&&D,[U,ef,Y,A,D,eI.length]),ey=l(()=>!eI||Y&&A,[Y,A,eI]),eO=l(()=>{if(!M?.sameHeight)return[];let e=0,t=Math.ceil((eI?.length??0)/+(M?.slidesToShow?.[H]??1));return Array.from(Array(eI?.length??0)).map((r,o)=>(o>=+(M?.slidesToShow?.[H]??1)*(e+1)&&++e,{gridRow:`${1+V*e}/${V+1+V*e}`,marginBottom:e+1<t?L(x?.horizontalGutter,H):void 0}))},[M?.sameHeight,M?.slidesToShow,V,eI?.length,H,x?.horizontalGutter]),eS=l(()=>ep||ef||eP||!eI||Y&&A,[eP,ef,Y,A,ep,eI]);i(()=>{eS||setTimeout(()=>{let{builderData:e}=G??{},t=e?.childrens?.[0];if(!t)return;let r=document.querySelector(`[data-id=${t}] div`);r&&q(r.childElementCount||1)},D?0:500)},[G,eS,D]);let eC=l(()=>({collection:eb,products:eI,settings:{loop:M?.loop??{desktop:!1},scrollMode:M?.scrollMode??{desktop:"snap"},slidesToShow:M?.slidesToShow??{desktop:4,tablet:3,mobile:1},layout:x?.layout,dot:M?.dot,dotStyle:M?.dotStyle,arrow:M?.arrow,controlOverContent:M?.controlOverContent},styles:{horizontalGutter:x?.horizontalGutter,verticalGutter:x?.verticalGutter,fullWidth:x?.fullWidth,spacing:x?.spacing,width:x?.width,height:x?.height}}),[eb,eI,M,x]);if(G?.isPreview&&ee)return e(t,{});if(ev)return e(t,{children:E(U,e(W,{builderAttrs:B,collectionHandle:eb?.handle,productSrc:et,onClose:()=>J(!1),children:j,relatedTagString:z,assignProductNoTags:ei||ec||es,noAssignedProduct:!er}))});let{productListWrapStyle:eE,productListContentStyle:eN,productListWrapAlignStyle:ew}=C(o),{productListWrapClass:eL}=N(o);return r("div",{...B,className:eL,style:eE,children:[!!x?.preloadBgImage&&r(y,{children:[!!x.backgroundImage?.desktop?.image?.src&&e("link",{rel:"preload",href:x.backgroundImage.desktop.image.src,as:"image"}),!!x.backgroundImage?.tablet?.image?.src&&e("link",{rel:"preload",href:x.backgroundImage?.tablet?.image?.src,as:"image"}),!!x.backgroundImage?.mobile?.image?.src&&e("link",{rel:"preload",href:x.backgroundImage?.mobile?.image?.src,as:"image"})]}),ep||ef?e(d,{}):eP?r("div",{children:["Error: ",eP?.message]}):ey?e("div",{children:"Products not found"}):e(T,{...eC,children:e("div",{className:"gp-flex gp-w-full",style:ew,children:r("div",{style:eN,children:[ee&&e(v,{}),e(t,{children:E(x?.layout==="grid",e(O,{...o,productSortedById:eI,generateGridRowArray:eO}),e(S,{...o,productSortedById:eI}))})]})})}),I(j,!0)]})};export{j as default};
1
+ import{jsx as e,Fragment as t,jsxs as o}from"react/jsx-runtime";import r from"next/dynamic";import d from"../../../common/components/Loading.js";import{useState as l,useMemo as i,useEffect as a}from"react";import{useRenderMode as c,useCurrentDevice as n,usePageType as s,usePageStore as u,useFetchHandle as m,hasPublicStoreFrontData as g,createStoreFrontFetcher as h,useProductQuery as p,useProductsQueryAll as f,useProductsQuery as P,useCollectionQuery as b,flattenConnection as k,ProductListProvider as T,filterToolbarPreview as v}from"@gem-sdk/core";import y from"../SalePageProductListWarning.js";import I from"next/head";import O from"./ProductListGridLayout.js";import C from"./ProductListCarouselLayout.js";import{getStyle as S}from"./common/styles.js";import{If as E}from"@gem-sdk/system";import{getClass as N}from"./common/classes.js";import{getData as w}from"./common/helpers.js";import{getPropertyByDevice as L}from"../../../dialog/common/helpers.js";import{PRODUCT_SOURCE as j}from"../product-list-v3/constants/index.js";let x=r(()=>import("../ProductNotFound.js"),{loading:d}),W=r=>{let{children:W,styles:G,builderProps:M,setting:B,builderAttrs:A}=r,{isRelatedProduct:D,productSetting:Q}=w(r),z=Q.relatedTag&&Q.relatedTag[0],{isEditMode:F,isPreviewSharePageMode:H}=c(),R=n(),$=s(),_=u(e=>e.dynamicProduct),V=u(e=>e.dynamicCollection),[q,U]=l(1),[J,K]=l(!0),[X,Y]=l(),[Z,ee]=l(!1),et="GP_FUNNEL_PAGE"===$;"GP_COLLECTION"!=$||[j.Collection,j.DynamicCollection].includes(Q?.productSrc)||(Q.productSrc=j.DynamicCollection);let eo=Q?.productSrc??j.Collection;eo===j.DynamicCollection&&(Q.collectionId=V?.collectionId||"latest");let er=_?.productId&&_?.productId!==Q.relatedProductId?_?.productId:Q.relatedProductId,ed=m(),el=u(e=>e.publicStoreFrontData),ei=i(()=>g(el)?h(el):ed,[el]),{data:ea}=p(D&&er?er:void 0,{revalidateOnMount:F||H},ei),ec=Q.relatedTag&&"tags"===Q.relatedTag[0]&&(!ea?.tags||ea?.tags.length===0),en=Q.relatedTag&&"collection"===Q.relatedTag[0]&&(!ea?.collections?.edges||ea?.collections.edges.length===0),es=Q.relatedTag&&"vendor"===Q.relatedTag[0]&&!ea?.vendor,eu=f(X,{revalidateOnMount:F||H},ei),em=F||H,eg=P(eo===j.PickProduct?Q?.productIds:void 0,{revalidateOnMount:em},{defaultSelectedProductCount:Q?.numOfSelectedProducts}),eh=i(()=>({id:Q?.collectionId??"latest",numberOfProducts:B?.numberOfProducts??4,orderBy:B?.orderBy}),[Q?.collectionId,Number(B?.numberOfProducts),B?.orderBy]),ep=b(eo!==j.PickProduct?eh:void 0,{revalidateOnMount:em});a(()=>{if(D&&ea&&Q.relatedTag&&"recommended-product"!==Q.relatedType){let e;switch(ee(!1),Q.hasRelatedExclude&&(e=Q?.relatedExclude&&Q.relatedExclude.split(",").map(e=>e.trim())),Q.relatedTag[0]){case"vendor":Y({first:B?.numberOfProducts,vendor:Q.relatedTag&&"vendor"===Q.relatedTag[0]?ea?.vendor:"",idNEQ:ea.id});break;case"collection":{let t=ea?.collections?.edges.map(e=>e.node?.id);if(!t||t?.length===0){ee(!0);break}Y(e&&e.length>0?{first:B?.numberOfProducts,idNEQ:ea.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:t},{titleNotIn:e}]}]}:{first:B?.numberOfProducts,idNEQ:ea.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:t}]}]});break}case"tags":if(!ea.tags||0===ea.tags.length){ee(!0);break}Y(e&&e.length>0?{first:B?.numberOfProducts,idNEQ:ea.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:ea.tags},{nameNotIn:e}]}]}:{first:B?.numberOfProducts,idNEQ:ea.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:ea.tags}]}]})}}},[ea,Q.relatedType,Q.relatedTag,B?.numberOfProducts,Q.relatedExclude,Q.hasRelatedExclude,D]);let ef=eo===j.PickProduct?eg.isValidating:ep.isValidating,eP=eo===j.PickProduct?eg.isLoading:ep.isLoading,eb=eo===j.PickProduct?eg.error:ep.error,ek=ep.data?.collections?.edges?.[0]?.node,eT=eo===j.PickProduct?k(eg.data?.products):k(ek?.products),ev=eu?.data?.products?k(eu?.data?.products):void 0,ey=D&&ev?ev:eo===j.PickProduct&&Q?.productIds?.length?Q?.productIds?.map(e=>eT?.find(t=>t?.baseID===e)).filter(Boolean)??eT:eo!==j.PickProduct?eT:eT.filter((e,t)=>t<(Q?.numOfSelectedProducts??4)),eI=i(()=>Z&&D&&F||!ey.length&&!eP&&J&&F,[J,eP,Z,D,F,ey.length]),eO=i(()=>!ey||Z&&D,[Z,D,ey]),eC=i(()=>{if(!B?.sameHeight)return[];let e=0,t=Math.ceil((ey?.length??0)/+(B?.slidesToShow?.[R]??1));return Array.from(Array(ey?.length??0)).map((o,r)=>(r>=+(B?.slidesToShow?.[R]??1)*(e+1)&&++e,{gridRow:`${1+q*e}/${q+1+q*e}`,marginBottom:e+1<t?L(G?.horizontalGutter,R):void 0}))},[B?.sameHeight,B?.slidesToShow,q,ey?.length,R,G?.horizontalGutter]),eS=i(()=>ef||eP||eb||!ey||Z&&D,[eb,eP,Z,D,ef,ey]);a(()=>{eS||setTimeout(()=>{let{builderData:e}=M??{},t=e?.childrens?.[0];if(!t)return;let o=document.querySelector(`[data-id=${t}] div`);o&&U(o.childElementCount||1)},F?0:500)},[M,eS,F]);let eE=i(()=>({collection:ek,products:ey,settings:{loop:B?.loop??{desktop:!1},scrollMode:B?.scrollMode??{desktop:"snap"},slidesToShow:B?.slidesToShow??{desktop:4,tablet:3,mobile:1},layout:G?.layout,dot:B?.dot,dotStyle:B?.dotStyle,arrow:B?.arrow,controlOverContent:B?.controlOverContent},styles:{horizontalGutter:G?.horizontalGutter,verticalGutter:G?.verticalGutter,fullWidth:G?.fullWidth,spacing:G?.spacing,width:G?.width,height:G?.height}}),[ek,ey,B,G]);if(M?.isPreview&&et)return e(t,{});if(eI)return e(t,{children:E(J,e(x,{builderAttrs:A,collectionHandle:ek?.handle,productSrc:eo,onClose:()=>K(!1),children:W,relatedTagString:z,assignProductNoTags:ec||en||es,noAssignedProduct:!er}))});let{productListWrapStyle:eN,productListContentStyle:ew,productListWrapAlignStyle:eL}=S(r),{productListWrapClass:ej}=N(r);return o("div",{...A,className:ej,style:eN,children:[!!G?.preloadBgImage&&o(I,{children:[!!G.backgroundImage?.desktop?.image?.src&&e("link",{rel:"preload",href:G.backgroundImage.desktop.image.src,as:"image"}),!!G.backgroundImage?.tablet?.image?.src&&e("link",{rel:"preload",href:G.backgroundImage?.tablet?.image?.src,as:"image"}),!!G.backgroundImage?.mobile?.image?.src&&e("link",{rel:"preload",href:G.backgroundImage?.mobile?.image?.src,as:"image"})]}),ef||eP?e(d,{}):eb?o("div",{children:["Error: ",eb?.message]}):eO?e("div",{children:"Products not found"}):e(T,{...eE,children:e("div",{className:"gp-flex gp-w-full",style:eL,children:o("div",{style:ew,children:[et&&e(y,{}),e(t,{children:E(G?.layout==="grid",e(O,{...r,productSortedById:ey,generateGridRowArray:eC}),e(C,{...r,productSortedById:ey}))})]})})}),v(W,!0)]})};export{W as default};