@gem-sdk/components 19.1.0-staging.9 → 20.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (303) hide show
  1. package/dist/cjs/accordion/components/Accordion.liquid.js +5 -4
  2. package/dist/cjs/accordion/next.js +1 -1
  3. package/dist/cjs/article/components/ArticleContent.js +2 -2
  4. package/dist/cjs/article/components/ArticleExcerpt.js +1 -1
  5. package/dist/cjs/article/components/ArticleList.js +1 -1
  6. package/dist/cjs/article/index.js +1 -1
  7. package/dist/cjs/article/next.js +1 -1
  8. package/dist/cjs/breadcrumb/next.js +1 -1
  9. package/dist/cjs/button/components/Button.liquid.js +14 -14
  10. package/dist/cjs/button/next.js +1 -1
  11. package/dist/cjs/carousel/components/root/Carousel.liquid.js +4 -5
  12. package/dist/cjs/carousel/components/root/common/helpers.js +1 -1
  13. package/dist/cjs/carousel/next.js +1 -1
  14. package/dist/cjs/carousel-v3/components/root/Carousel.liquid.js +5 -6
  15. package/dist/cjs/carousel-v3/components/root/CarouselEmbla.liquid.js +5 -6
  16. package/dist/cjs/carousel-v3/components/root/common/helpers.js +1 -1
  17. package/dist/cjs/carousel-v3/next.js +1 -1
  18. package/dist/cjs/cart/components/CartList.js +1 -1
  19. package/dist/cjs/cart/components/shop-pay-button/ShopPayButton.liquid.js +2 -2
  20. package/dist/cjs/cart/index.js +1 -1
  21. package/dist/cjs/cart/next.js +1 -1
  22. package/dist/cjs/code/next.js +1 -1
  23. package/dist/cjs/collection/components/collection-description/CollectionDescription.liquid.js +8 -7
  24. package/dist/cjs/collection/components/collection-paginator/CollectionPaginator.liquid.js +3 -4
  25. package/dist/cjs/collection/components/collection-toolbar/CollectionToolbar.liquid.js +1 -1
  26. package/dist/cjs/collection/next.js +1 -1
  27. package/dist/cjs/common/const.js +1 -1
  28. package/dist/cjs/countdown-timer/components/Countdown.liquid.js +15 -16
  29. package/dist/cjs/countdown-timer/next.js +1 -1
  30. package/dist/cjs/coupon/next.js +1 -1
  31. package/dist/cjs/dialog/index.js +1 -1
  32. package/dist/cjs/dialog/next.js +1 -1
  33. package/dist/cjs/estimate-delivery/next.js +1 -1
  34. package/dist/cjs/form/components/form-dropdown/FormDropdown.liquid.js +10 -10
  35. package/dist/cjs/form/next.js +1 -1
  36. package/dist/cjs/grid/components/row/Row.liquid.js +3 -8
  37. package/dist/cjs/grid/components/row/common/helpers.js +1 -1
  38. package/dist/cjs/grid/components/section/Section.js +1 -1
  39. package/dist/cjs/grid/index.js +1 -1
  40. package/dist/cjs/header/components/kind/basic/index.js +1 -1
  41. package/dist/cjs/header/components/kind/modern/index.js +1 -1
  42. package/dist/cjs/header/index.js +1 -1
  43. package/dist/cjs/header/next.js +1 -1
  44. package/dist/cjs/hero-banner/common/helpers.js +1 -1
  45. package/dist/cjs/hero-banner/components/HeroBanner.liquid.js +3 -3
  46. package/dist/cjs/hero-banner/components/HeroBannerItem.js +1 -1
  47. package/dist/cjs/hero-banner/index.js +1 -1
  48. package/dist/cjs/hero-banner/next.js +1 -1
  49. package/dist/cjs/icon/next.js +1 -1
  50. package/dist/cjs/icon-list/next.js +1 -1
  51. package/dist/cjs/icon-list-hoz/next.js +1 -1
  52. package/dist/cjs/icon-list-v2/components/IconList.liquid.js +7 -7
  53. package/dist/cjs/icon-list-v2/next.js +1 -1
  54. package/dist/cjs/image-comparison/components/CompareImage.liquid.js +6 -6
  55. package/dist/cjs/image-comparison/next.js +1 -1
  56. package/dist/cjs/image-detection/next.js +1 -1
  57. package/dist/cjs/input/next.js +1 -1
  58. package/dist/cjs/line/next.js +1 -1
  59. package/dist/cjs/link/next.js +1 -1
  60. package/dist/cjs/marquee/components/Marquee.liquid.js +21 -21
  61. package/dist/cjs/marquee/next.js +1 -1
  62. package/dist/cjs/menu/next.js +1 -1
  63. package/dist/cjs/modal/next.js +1 -1
  64. package/dist/cjs/pagination/next.js +1 -1
  65. package/dist/cjs/post-purchase/advanced-list/next.js +1 -1
  66. package/dist/cjs/post-purchase/button/next.js +1 -1
  67. package/dist/cjs/post-purchase/buyer-consent/next.js +1 -1
  68. package/dist/cjs/post-purchase/callout-banner/components/CalloutBox.js +1 -1
  69. package/dist/cjs/post-purchase/callout-banner/index.js +1 -1
  70. package/dist/cjs/post-purchase/callout-banner/next.js +1 -1
  71. package/dist/cjs/post-purchase/countdown-timer/next.js +1 -1
  72. package/dist/cjs/post-purchase/image/next.js +1 -1
  73. package/dist/cjs/post-purchase/line/next.js +1 -1
  74. package/dist/cjs/post-purchase/link/next.js +1 -1
  75. package/dist/cjs/post-purchase/product/components/product-offer/components/ProductOffer.js +1 -1
  76. package/dist/cjs/post-purchase/product/components/product-offer/components/ProductOfferItem.js +1 -1
  77. package/dist/cjs/post-purchase/product/index.js +1 -1
  78. package/dist/cjs/post-purchase/product/next.js +1 -1
  79. package/dist/cjs/post-purchase/text/next.js +1 -1
  80. package/dist/cjs/product/components/ProductImages.liquid.js +9 -9
  81. package/dist/cjs/product/components/dynamic-checkout/Button.liquid.js +9 -9
  82. package/dist/cjs/product/components/file-upload/UploadFile.liquid.js +3 -2
  83. package/dist/cjs/product/components/product-badge/ProductBadge.js +1 -1
  84. package/dist/cjs/product/components/product-badge/ProductBadge.liquid.js +5 -5
  85. package/dist/cjs/product/components/product-bundle/ProductBundleDiscount.liquid.js +3 -4
  86. package/dist/cjs/product/components/product-button/ProductButton.liquid.js +7 -8
  87. package/dist/cjs/product/components/product-description/ProductDescription.liquid.js +2 -2
  88. package/dist/cjs/product/components/product-discount-tag/ProductDiscountTag.js +1 -1
  89. package/dist/cjs/product/components/product-discount-tag/ProductDiscountTag.liquid.js +5 -5
  90. package/dist/cjs/product/components/product-images-v2/ProductImagesV2.liquid.js +9 -9
  91. package/dist/cjs/product/components/product-images-v2/components/child/ProductFeaturedImageOnly.js +1 -1
  92. package/dist/cjs/product/components/product-images-v3/ProductImagesV3.liquid.js +6 -6
  93. package/dist/cjs/product/components/product-images-v3/ProductImagesV3Embla.liquid.js +9 -9
  94. package/dist/cjs/product/components/product-images-v3/components/child/ProductFeaturedImageOnly.js +1 -1
  95. package/dist/cjs/product/components/product-list/ProductList.js +1 -1
  96. package/dist/cjs/product/components/product-list/ProductListCarouselItem.liquid.js +6 -5
  97. package/dist/cjs/product/components/product-list/ProductListGridItem.liquid.js +8 -7
  98. package/dist/cjs/product/components/product-list/ProductListGridLayout.liquid.js +4 -6
  99. package/dist/cjs/product/components/product-list-v3/ProductList.js +1 -1
  100. package/dist/cjs/product/components/product-list-v3/ProductListCarouselItem.liquid.js +6 -6
  101. package/dist/cjs/product/components/product-list-v3/ProductListGridItem.liquid.js +8 -7
  102. package/dist/cjs/product/components/product-list-v3/ProductListGridLayout.liquid.js +4 -6
  103. package/dist/cjs/product/components/product-list-v3/common/helpers.js +1 -1
  104. package/dist/cjs/product/components/product-price/ProductPrice.liquid.js +4 -4
  105. package/dist/cjs/product/components/product-quick-view/ProductQuickView.js +1 -1
  106. package/dist/cjs/product/components/product-sku/Sku.liquid.js +3 -4
  107. package/dist/cjs/product/components/product-title/ProductTitle.liquid.js +8 -7
  108. package/dist/cjs/product/components/product-variants/ProductVariants.liquid.js +29 -29
  109. package/dist/cjs/product/components/product-wrap/Product.js +1 -1
  110. package/dist/cjs/product/components/product-wrap/Product.liquid.js +9 -9
  111. package/dist/cjs/product/components/product-wrap/hook/useProductSetting.js +1 -1
  112. package/dist/cjs/product/index.js +1 -1
  113. package/dist/cjs/product/next.js +1 -1
  114. package/dist/cjs/radio/next.js +1 -1
  115. package/dist/cjs/select/next.js +1 -1
  116. package/dist/cjs/shop-pay-installment/next.js +1 -1
  117. package/dist/cjs/sticky/components/Sticky.liquid.js +5 -4
  118. package/dist/cjs/sticky/index.js +1 -1
  119. package/dist/cjs/sticky/next.js +1 -1
  120. package/dist/cjs/stock-counter/next.js +1 -1
  121. package/dist/cjs/tab/components/Tabs.liquid.js +6 -7
  122. package/dist/cjs/tab/next.js +1 -1
  123. package/dist/cjs/text/components/Text.liquid.js +3 -3
  124. package/dist/cjs/textarea/next.js +1 -1
  125. package/dist/cjs/third-party/next.js +1 -1
  126. package/dist/cjs/third-party/settings/AppstleBundlesDiscounts/index.js +2 -2
  127. package/dist/cjs/third-party/settings/BoldSubscriptions/index.js +1 -1
  128. package/dist/cjs/third-party/settings/BoldSubscriptions/uiV2.js +1 -1
  129. package/dist/cjs/third-party/settings/GloColorSwatchvariantImage/index.js +1 -1
  130. package/dist/cjs/third-party/settings/HextomCountdownTimerBar/index.js +2 -2
  131. package/dist/cjs/third-party/settings/LoopSubscriptions/index.js +1 -1
  132. package/dist/cjs/third-party/settings/LoopSubscriptions/uiV2.js +1 -1
  133. package/dist/cjs/third-party/settings/RechargeSubscriptions/index.js +1 -1
  134. package/dist/cjs/third-party/settings/SeoantTrustBadgesIcon/uiV2.js +1 -1
  135. package/dist/cjs/third-party/settings/ShopifyForms/uiV2.js +1 -1
  136. package/dist/cjs/third-party/settings/SkioSubscriptionsYcS20/index.js +2 -2
  137. package/dist/cjs/third-party/settings/SproutPlantTreesGrowSales/index.js +1 -1
  138. package/dist/cjs/third-party/settings/TrustshopProductReviews/index.js +2 -2
  139. package/dist/cjs/third-party/settings/WcWishlistBackInStock/index.js +2 -2
  140. package/dist/cjs/third-party-instant/next.js +1 -1
  141. package/dist/cjs/third-party-slot/next.js +1 -1
  142. package/dist/cjs/video/components/LiteVimeoEmbed.liquid.js +7 -8
  143. package/dist/cjs/video/components/LiteYouTubeEmbed.liquid.js +4 -5
  144. package/dist/cjs/video/next.js +1 -1
  145. package/dist/esm/accordion/components/Accordion.liquid.js +9 -8
  146. package/dist/esm/accordion/next.js +1 -1
  147. package/dist/esm/article/components/ArticleContent.js +2 -2
  148. package/dist/esm/article/components/ArticleExcerpt.js +1 -1
  149. package/dist/esm/article/components/ArticleList.js +1 -1
  150. package/dist/esm/article/index.js +1 -1
  151. package/dist/esm/article/next.js +1 -1
  152. package/dist/esm/breadcrumb/next.js +1 -1
  153. package/dist/esm/button/components/Button.liquid.js +23 -23
  154. package/dist/esm/button/next.js +1 -1
  155. package/dist/esm/carousel/components/root/Carousel.liquid.js +3 -4
  156. package/dist/esm/carousel/components/root/common/helpers.js +1 -1
  157. package/dist/esm/carousel/next.js +1 -1
  158. package/dist/esm/carousel-v3/components/root/Carousel.liquid.js +3 -4
  159. package/dist/esm/carousel-v3/components/root/CarouselEmbla.liquid.js +3 -4
  160. package/dist/esm/carousel-v3/components/root/common/helpers.js +1 -1
  161. package/dist/esm/carousel-v3/next.js +1 -1
  162. package/dist/esm/cart/components/CartList.js +1 -1
  163. package/dist/esm/cart/components/shop-pay-button/ShopPayButton.liquid.js +2 -2
  164. package/dist/esm/cart/index.js +1 -1
  165. package/dist/esm/cart/next.js +1 -1
  166. package/dist/esm/code/next.js +1 -1
  167. package/dist/esm/collection/components/collection-description/CollectionDescription.liquid.js +7 -6
  168. package/dist/esm/collection/components/collection-paginator/CollectionPaginator.liquid.js +3 -4
  169. package/dist/esm/collection/components/collection-toolbar/CollectionToolbar.liquid.js +3 -3
  170. package/dist/esm/collection/next.js +1 -1
  171. package/dist/esm/common/const.js +1 -1
  172. package/dist/esm/countdown-timer/components/Countdown.liquid.js +20 -21
  173. package/dist/esm/countdown-timer/next.js +1 -1
  174. package/dist/esm/coupon/next.js +1 -1
  175. package/dist/esm/dialog/index.js +1 -1
  176. package/dist/esm/dialog/next.js +1 -1
  177. package/dist/esm/estimate-delivery/next.js +1 -1
  178. package/dist/esm/form/components/form-dropdown/FormDropdown.liquid.js +9 -9
  179. package/dist/esm/form/next.js +1 -1
  180. package/dist/esm/grid/components/row/Row.liquid.js +3 -8
  181. package/dist/esm/grid/components/row/common/helpers.js +1 -1
  182. package/dist/esm/grid/components/section/Section.js +1 -1
  183. package/dist/esm/grid/index.js +1 -1
  184. package/dist/esm/header/components/kind/basic/index.js +1 -1
  185. package/dist/esm/header/components/kind/modern/index.js +1 -1
  186. package/dist/esm/header/index.js +1 -1
  187. package/dist/esm/header/next.js +1 -1
  188. package/dist/esm/hero-banner/common/helpers.js +1 -1
  189. package/dist/esm/hero-banner/components/HeroBanner.liquid.js +5 -5
  190. package/dist/esm/hero-banner/components/HeroBannerItem.js +1 -1
  191. package/dist/esm/hero-banner/index.js +1 -1
  192. package/dist/esm/hero-banner/next.js +1 -1
  193. package/dist/esm/icon/next.js +1 -1
  194. package/dist/esm/icon-list/next.js +1 -1
  195. package/dist/esm/icon-list-hoz/next.js +1 -1
  196. package/dist/esm/icon-list-v2/components/IconList.liquid.js +7 -7
  197. package/dist/esm/icon-list-v2/next.js +1 -1
  198. package/dist/esm/image-comparison/components/CompareImage.liquid.js +7 -7
  199. package/dist/esm/image-comparison/next.js +1 -1
  200. package/dist/esm/image-detection/next.js +1 -1
  201. package/dist/esm/input/next.js +1 -1
  202. package/dist/esm/line/next.js +1 -1
  203. package/dist/esm/link/next.js +1 -1
  204. package/dist/esm/marquee/components/Marquee.liquid.js +21 -21
  205. package/dist/esm/marquee/next.js +1 -1
  206. package/dist/esm/menu/next.js +1 -1
  207. package/dist/esm/modal/next.js +1 -1
  208. package/dist/esm/pagination/next.js +1 -1
  209. package/dist/esm/post-purchase/advanced-list/next.js +1 -1
  210. package/dist/esm/post-purchase/button/next.js +1 -1
  211. package/dist/esm/post-purchase/buyer-consent/next.js +1 -1
  212. package/dist/esm/post-purchase/callout-banner/components/CalloutBox.js +1 -1
  213. package/dist/esm/post-purchase/callout-banner/index.js +1 -1
  214. package/dist/esm/post-purchase/callout-banner/next.js +1 -1
  215. package/dist/esm/post-purchase/countdown-timer/next.js +1 -1
  216. package/dist/esm/post-purchase/image/next.js +1 -1
  217. package/dist/esm/post-purchase/line/next.js +1 -1
  218. package/dist/esm/post-purchase/link/next.js +1 -1
  219. package/dist/esm/post-purchase/product/components/product-offer/components/ProductOffer.js +1 -1
  220. package/dist/esm/post-purchase/product/components/product-offer/components/ProductOfferItem.js +1 -1
  221. package/dist/esm/post-purchase/product/index.js +1 -1
  222. package/dist/esm/post-purchase/product/next.js +1 -1
  223. package/dist/esm/post-purchase/text/next.js +1 -1
  224. package/dist/esm/product/components/ProductImages.liquid.js +12 -12
  225. package/dist/esm/product/components/dynamic-checkout/Button.liquid.js +14 -14
  226. package/dist/esm/product/components/file-upload/UploadFile.liquid.js +4 -3
  227. package/dist/esm/product/components/product-badge/ProductBadge.js +1 -1
  228. package/dist/esm/product/components/product-badge/ProductBadge.liquid.js +6 -6
  229. package/dist/esm/product/components/product-bundle/ProductBundleDiscount.liquid.js +7 -8
  230. package/dist/esm/product/components/product-button/ProductButton.liquid.js +6 -7
  231. package/dist/esm/product/components/product-description/ProductDescription.liquid.js +4 -4
  232. package/dist/esm/product/components/product-discount-tag/ProductDiscountTag.js +1 -1
  233. package/dist/esm/product/components/product-discount-tag/ProductDiscountTag.liquid.js +8 -8
  234. package/dist/esm/product/components/product-images-v2/ProductImagesV2.liquid.js +12 -12
  235. package/dist/esm/product/components/product-images-v2/components/child/ProductFeaturedImageOnly.js +1 -1
  236. package/dist/esm/product/components/product-images-v3/ProductImagesV3.liquid.js +12 -12
  237. package/dist/esm/product/components/product-images-v3/ProductImagesV3Embla.liquid.js +14 -14
  238. package/dist/esm/product/components/product-images-v3/components/child/ProductFeaturedImageOnly.js +1 -1
  239. package/dist/esm/product/components/product-list/ProductList.js +1 -1
  240. package/dist/esm/product/components/product-list/ProductListCarouselItem.liquid.js +6 -5
  241. package/dist/esm/product/components/product-list/ProductListGridItem.liquid.js +8 -7
  242. package/dist/esm/product/components/product-list/ProductListGridLayout.liquid.js +7 -9
  243. package/dist/esm/product/components/product-list-v3/ProductList.js +1 -1
  244. package/dist/esm/product/components/product-list-v3/ProductListCarouselItem.liquid.js +6 -6
  245. package/dist/esm/product/components/product-list-v3/ProductListGridItem.liquid.js +8 -7
  246. package/dist/esm/product/components/product-list-v3/ProductListGridLayout.liquid.js +7 -9
  247. package/dist/esm/product/components/product-list-v3/common/helpers.js +1 -1
  248. package/dist/esm/product/components/product-price/ProductPrice.liquid.js +3 -3
  249. package/dist/esm/product/components/product-quick-view/ProductQuickView.js +1 -1
  250. package/dist/esm/product/components/product-sku/Sku.liquid.js +5 -6
  251. package/dist/esm/product/components/product-title/ProductTitle.liquid.js +6 -5
  252. package/dist/esm/product/components/product-variants/ProductVariants.liquid.js +44 -44
  253. package/dist/esm/product/components/product-wrap/Product.js +1 -1
  254. package/dist/esm/product/components/product-wrap/Product.liquid.js +6 -6
  255. package/dist/esm/product/components/product-wrap/hook/useProductSetting.js +1 -1
  256. package/dist/esm/product/index.js +1 -1
  257. package/dist/esm/product/next.js +1 -1
  258. package/dist/esm/radio/next.js +1 -1
  259. package/dist/esm/select/next.js +1 -1
  260. package/dist/esm/shop-pay-installment/next.js +1 -1
  261. package/dist/esm/sticky/components/Sticky.liquid.js +12 -11
  262. package/dist/esm/sticky/index.js +1 -1
  263. package/dist/esm/sticky/next.js +1 -1
  264. package/dist/esm/stock-counter/next.js +1 -1
  265. package/dist/esm/tab/components/Tabs.liquid.js +11 -12
  266. package/dist/esm/tab/next.js +1 -1
  267. package/dist/esm/text/components/Text.liquid.js +3 -3
  268. package/dist/esm/textarea/next.js +1 -1
  269. package/dist/esm/third-party/next.js +1 -1
  270. package/dist/esm/third-party/settings/AppstleBundlesDiscounts/index.js +2 -2
  271. package/dist/esm/third-party/settings/BoldSubscriptions/index.js +1 -1
  272. package/dist/esm/third-party/settings/BoldSubscriptions/uiV2.js +1 -1
  273. package/dist/esm/third-party/settings/GloColorSwatchvariantImage/index.js +1 -1
  274. package/dist/esm/third-party/settings/HextomCountdownTimerBar/index.js +2 -2
  275. package/dist/esm/third-party/settings/LoopSubscriptions/index.js +1 -1
  276. package/dist/esm/third-party/settings/LoopSubscriptions/uiV2.js +1 -1
  277. package/dist/esm/third-party/settings/RechargeSubscriptions/index.js +1 -1
  278. package/dist/esm/third-party/settings/SeoantTrustBadgesIcon/uiV2.js +1 -1
  279. package/dist/esm/third-party/settings/ShopifyForms/uiV2.js +1 -1
  280. package/dist/esm/third-party/settings/SkioSubscriptionsYcS20/index.js +2 -2
  281. package/dist/esm/third-party/settings/SproutPlantTreesGrowSales/index.js +1 -1
  282. package/dist/esm/third-party/settings/TrustshopProductReviews/index.js +2 -2
  283. package/dist/esm/third-party/settings/WcWishlistBackInStock/index.js +2 -2
  284. package/dist/esm/third-party-instant/next.js +1 -1
  285. package/dist/esm/third-party-slot/next.js +1 -1
  286. package/dist/esm/video/components/LiteVimeoEmbed.liquid.js +3 -4
  287. package/dist/esm/video/components/LiteYouTubeEmbed.liquid.js +4 -5
  288. package/dist/esm/video/next.js +1 -1
  289. package/package.json +5 -5
  290. package/dist/cjs/product/components/product-list-v3/constants/index.js +0 -1
  291. package/dist/cjs/product/components/product-list-v3/hooks/useCollectionQuery.js +0 -1
  292. package/dist/cjs/product/components/product-list-v3/hooks/useMainRelatedProductQuery.js +0 -1
  293. package/dist/cjs/product/components/product-list-v3/hooks/useProductRelatedQuery.js +0 -1
  294. package/dist/cjs/product/components/product-list-v3/hooks/useProductsQuery.js +0 -1
  295. package/dist/cjs/product/components/product-list-v3/hooks/useRelatedProductIDAssigned.js +0 -1
  296. package/dist/cjs/product/components/product-wrap/hook/useProductQuery.js +0 -1
  297. package/dist/esm/product/components/product-list-v3/constants/index.js +0 -1
  298. package/dist/esm/product/components/product-list-v3/hooks/useCollectionQuery.js +0 -1
  299. package/dist/esm/product/components/product-list-v3/hooks/useMainRelatedProductQuery.js +0 -1
  300. package/dist/esm/product/components/product-list-v3/hooks/useProductRelatedQuery.js +0 -1
  301. package/dist/esm/product/components/product-list-v3/hooks/useProductsQuery.js +0 -1
  302. package/dist/esm/product/components/product-list-v3/hooks/useRelatedProductIDAssigned.js +0 -1
  303. package/dist/esm/product/components/product-wrap/hook/useProductQuery.js +0 -1
@@ -1,44 +1,44 @@
1
- import{isLocalEnv as e,baseAssetURL as o,template as i,WrapRenderChildren as t,RenderChildren as r}from"@gem-sdk/core";import{getConditionRenderGalleryImages as s,getStyleInsideLayout as a,setDefaultWhenUndefineSetting as l}from"./common/common.js";import p from"./components/feature-gallery/FeatureImageWithGalleryEmbla.liquid.js";import d from"./components/gallery-carousel/GalleryCarouselEmbla.liquid.js";import m from"./components/gallery-grid/GalleryGrid.liquid.js";import{filterPageContext as n,getSettingPreloadData as c}from"../../../helpers.js";import{getShapeByLayout as u,sizeSettingDefaultForNewLayout as g}from"./common/productGallery.js";import{getProductImagesClassName as f}from"./composables/getProductImagesClassName.js";import{getProductImagesStyles as y}from"./composables/getProductImagesStyles.js";import{createAttr as $,LiquidIf as h,createClass as j,If as v,Liquid as S}from"@gem-sdk/system";import{getBorderActiveCss as F}from"./common/getBorderActiveCss.js";import{getStyleOfObject as I}from"../../helpers/function.js";let C=C=>{let P=l(C),{setting:b,styles:G,builderProps:D,style:z}=P,{rawChildren:O,pageContext:_}=C,E={...b,...G},N=`
1
+ import{isLocalEnv as e,baseAssetURL as o,template as s,WrapRenderChildren as r,RenderChildren as i}from"@gem-sdk/core";import{getConditionRenderGalleryImages as t,getStyleInsideLayout as a,setDefaultWhenUndefineSetting as l}from"./common/common.js";import p from"./components/feature-gallery/FeatureImageWithGalleryEmbla.liquid.js";import d from"./components/gallery-carousel/GalleryCarouselEmbla.liquid.js";import m from"./components/gallery-grid/GalleryGrid.liquid.js";import{filterPageContext as c,getSettingPreloadData as n}from"../../../helpers.js";import{getShapeByLayout as u,sizeSettingDefaultForNewLayout as g}from"./common/productGallery.js";import{getProductImagesClassName as f}from"./composables/getProductImagesClassName.js";import{getProductImagesStyles as $}from"./composables/getProductImagesStyles.js";import{createAttr as y,LiquidIf as h,createClass as v,If as j,Liquid as S}from"@gem-sdk/system";import{getBorderActiveCss as F}from"./common/getBorderActiveCss.js";import{getStyleOfObject as I}from"../../helpers/function.js";let C=C=>{let P=l(C),{setting:b,styles:G,builderProps:D,style:z}=P,{rawChildren:O,pageContext:_}=C,E={...b,...G},N=`
2
2
  {
3
3
  "id":${JSON.stringify(D?.uid)},
4
- "pageContext": ${JSON.stringify(n(_))},
4
+ "pageContext": ${JSON.stringify(c(_))},
5
5
  "setting":${JSON.stringify(b)},
6
6
  "styles":${JSON.stringify(G)},
7
- "productUrl":{{product.url | json }},
8
- "product":{% if product %}{"id":{{ product.id | json }},"handle":{{ product.handle | json }},"media":{{ product.media | json }}}{% else %}null{% endif %},
9
- "collectionUrl": {{ collection.url | json }},
10
- "collection": {% if collection %}{"handle":{{ collection.handle | json }}}{% else %}null{% endif %}
7
+ "productUrl":{{product.url | json | escape}},
8
+ "product":{% if product %}{"id":{{ product.id | json | escape }},"handle":{{ product.handle | json | escape }},"media":{{ product.media | json | escape }}}{% else %}null{% endif %},
9
+ "collectionUrl": {{ collection.url | json | escape }},
10
+ "collection": {% if collection %}{"handle":{{ collection.handle | json | escape }}}{% else %}null{% endif %}
11
11
  }
12
- `,A=$({"section-id":"{{section.id}}","data-id":`${D?.uid}`}),{isOnlyFeatureAllDevices:B,isRenderGalleryGrid:U}=s(E?.position,b?.type),k=U?{}:$({"data-only-image":h("product.media.size > 1","false","true")}),{wrapperClasses:q,productImagesGalleryClasses:J}=f(C),w=j({"gp-grid gp-w-full !gp-m-0 gp-relative":!0}),T=j({"gp-w-full !gp-m-0 gp-relative":!0}),{wrapContainerStyle:x,wrapContainerStyleOnlyOneImage:L,galleryImageStyle:M}=y(E),R=u({shape:E.shape,shapeForBottom:E.shapeForBottom,shapeFor1Col:E.shapeFor1Col,shapeFor2Col:E.shapeFor2Col,shapeForFtOnly:E.shapeForFtOnly,shapeForInsideBottom:E.shapeForInsideBottom??g,shapeForInside:E.shapeForInside??g},E.position),V=a(E.position,R,E?.spacing),W=()=>i`
13
- ${t({uid:D?.uid||"",customProps:O?.[0].customProps},O?.map(e=>{if(e)return i`${r({...e,isInsideProductImage:!0,imageData:{imageShape:G?.ftShape,imageAlign:G?.align,imageLayout:G?.position},dotData:{dotSize:b?.ftDotSize,dotGapToCarousel:b?.ftDotGapToCarousel,dotStyle:b?.ftDotStyle}})}`}))}
14
- `;return i`
15
- ${v(b?.borderActive?.border!=="none",h("product.media.size > 1",`<style>${F({settings:E,uid:D?.uid,type:"Liquid"})}</style>`),"")}
12
+ `,A=y({"section-id":"{{section.id}}","data-id":`${D?.uid}`}),{isOnlyFeatureAllDevices:B,isRenderGalleryGrid:U}=t(E?.position,b?.type),k=U?{}:y({"data-only-image":h("product.media.size > 1","false","true")}),{wrapperClasses:q,productImagesGalleryClasses:J}=f(C),w=v({"gp-grid gp-w-full !gp-m-0 gp-relative":!0}),T=v({"gp-w-full !gp-m-0 gp-relative":!0}),{wrapContainerStyle:x,wrapContainerStyleOnlyOneImage:L,galleryImageStyle:M}=$(E),R=u({shape:E.shape,shapeForBottom:E.shapeForBottom,shapeFor1Col:E.shapeFor1Col,shapeFor2Col:E.shapeFor2Col,shapeForFtOnly:E.shapeForFtOnly,shapeForInsideBottom:E.shapeForInsideBottom??g,shapeForInside:E.shapeForInside??g},E.position),V=a(E.position,R,E?.spacing),W=()=>s`
13
+ ${r({uid:D?.uid||"",customProps:O?.[0].customProps},O?.map(e=>{if(e)return s`${i({...e,isInsideProductImage:!0,imageData:{imageShape:G?.ftShape,imageAlign:G?.align,imageLayout:G?.position},dotData:{dotSize:b?.ftDotSize,dotGapToCarousel:b?.ftDotGapToCarousel,dotStyle:b?.ftDotStyle}})}`}))}
14
+ `;return s`
15
+ ${j(b?.borderActive?.border!=="none",h("product.media.size > 1",`<style>${F({settings:E,uid:D?.uid,type:"Liquid"})}</style>`),"")}
16
16
  ${S(`
17
17
  {% assign featured_image = product.featured_image %}
18
18
  ${h("variant != null and variant.featured_image != null","{% assign featured_image = variant.featured_image %}")}
19
19
  `)}
20
20
  <gp-product-images-v3
21
+ gp-data='${N}'
21
22
  ${{...A}}
22
23
  style="${{...z}}"
23
24
  class="${q}"
24
25
  >
25
- <script gp-data type="application/json">${N}</script>
26
26
  <div
27
27
  class="${h("product.media.size > 1",`${w}`,`${T}`)}"
28
28
  style="${h("product.media.size > 1",I(x),I(L))}"
29
29
  >
30
30
  ${p({builderPropUID:`gp-carousel-${D?.uid}`,...E,children:W(),pageContext:_})}
31
- ${v(!B,i`
31
+ ${j(!B,s`
32
32
  <div
33
33
  class="${J}"
34
34
  style="${I(M)}"
35
35
  ${{...k}}
36
36
  >
37
37
  ${h("product.media.size > 1",d({builderPropUID:`gp-gallery-${D?.uid}`,...E,pageContext:_}))}
38
- ${v(U,m({builderPropUID:D?.uid,wrapperStyle:{...V},children:W(),...E,pageContext:_}))}
38
+ ${j(U,m({builderPropUID:D?.uid,wrapperStyle:{...V},children:W(),...E,pageContext:_}))}
39
39
  </div>
40
40
  `)}
41
41
  </div>
42
42
  </gp-product-images-v3>
43
- ${v(e,`<script ${c('class="gps-link" delay',"src")}="{{ 'gp-product-images-v3-v7-5.js' | asset_url }}" defer="defer"></script>`,`<script ${c('class="gps-link" delay',"src")}="${o}/assets-v2/gp-product-images-v3-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}" defer="defer"></script>`)}
43
+ ${j(e,`<script ${n('class="gps-link" delay',"src")}="{{ 'gp-product-images-v3-v7-5.js' | asset_url }}" defer="defer"></script>`,`<script ${n('class="gps-link" delay',"src")}="${o}/assets-v2/gp-product-images-v3-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}" defer="defer"></script>`)}
44
44
  `};export{C as default};
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import{jsx as e,Fragment as t,jsxs as r}from"react/jsx-runtime";import{useProduct as o,useCurrentDevice as i,useShopStore as a,useRenderMode as c,getResponsiveValueByScreen as n,cls as l,makeStyle as s}from"@gem-sdk/core";import{memo as h,useMemo as f,useCallback as p}from"react";import m from"../../../../../image/components/NextImage.js";import g from"./MediaIcon.js";import{isFeatureMedia as d,getZoomImageClass as u,getZoomLenClass as y}from"../../common/productFeaturedImage.js";import v from"./ProductFeatureVideo.js";let E={src:"https://cdn.shopify.com/s/assets/no-image-2048-5e88c1b20e087fb7bbe9a3771824e743c244f437e4f8ba93bbf7b11b53f7824c_large.gif",id:"noImageError",width:480,height:480,alt:"no image",contentType:"IMAGE"};var T=h(({image:h,imageShowWhenHover:T,setting:b,aspectRatio:w})=>{let I=o(),k=i(),x=a(e=>e.storefrontUrl),{isEditMode:L,isPreviewSharePageMode:N}=c(),O=f(()=>"none"!==n(b.ftClickOpenLightBox,k),[k,b.ftClickOpenLightBox]),j=f(()=>!L&&["VIDEO","EXTERNAL_VIDEO"].includes(h?.contentType||"")&&!O,[L,h?.contentType,O]),R=f(()=>h?{...h,src:j?h.src:d(h?.contentType)?h?.previewImage:h.src}:E,[h,j]),C=f(()=>{if(N)return"javascript:void(0)";if(!x)return"#";let e=new URL(x);return I?`${e.protocol}//${e.host}/products/${I.handle}`:"#"},[x,I,N]),$=f(()=>b?.hoverEffect!=="none"&&!d(R?.contentType),[R?.contentType,b?.hoverEffect]),_=f(()=>b?.hoverEffect=="zoom"&&b?.zoomType=="glasses"&&!d(R?.contentType),[R?.contentType,b?.hoverEffect,b?.zoomType]),z=p(e=>"IMAGE"!==e.contentType?e.previewImage:e.src,[]),A=f(()=>T?"other"!==b.hoverEffect?z(R):z(T):E.src,[T,R,b.hoverEffect,z]);return e(t,{children:(t=>{if("product-link"===n(b.ftClickOpenLightBox,k)){let r=b.ftClickOpenNewTab?"_blank":"_self";return e("a",{title:I?.title,href:C,className:"gp-w-full",target:r,children:t})}return t})(e(t,{children:j?e(v,{type:R?.contentType,url:R.src??"",thumbnail:R?.previewImage,aspectRatio:w}):r(t,{children:[e(m,{draggable:"false",src:R.src,width:R?.width,height:R?.height,alt:R?.alt,setting:{aspectRatio:w,layout:b?.ftLayout},priority:b?.preload,className:"featured-image-only",style:{width:"100%",height:"100%",cursor:"pointer"}}),e(g,{contentType:R?.contentType??""}),$&&e(m,{draggable:"false",src:A,width:b?.hoverEffect==="other"?T?.width:R.width,height:b?.hoverEffect==="other"?T?.height:R.height,alt:b?.hoverEffect==="other"?T?.alt:R.alt,setting:{layout:b.ftLayout,aspectRatio:w},style:{width:"100%",height:"100%"},className:l("hover-image featured-image-only !gp-max-w-none",u()),priority:b?.preload}),_&&e("div",{className:l(y(),"room-len"),style:{...s({bgi:`url("${R?.src}")`})}})]})}))})});export{T as default};
2
+ import{jsx as e,Fragment as t,jsxs as o}from"react/jsx-runtime";import{useProduct as r,useCurrentDevice as i,useShopStore as a,useRenderMode as c,getResponsiveValueByScreen as n,cls as s,makeStyle as h}from"@gem-sdk/core";import{memo as l,useMemo as f,useCallback as p}from"react";import m from"../../../../../image/components/NextImage.js";import g from"./MediaIcon.js";import{isFeatureMedia as d,getZoomImageClass as y,getZoomLenClass as u}from"../../common/productFeaturedImage.js";import v from"./ProductFeatureVideo.js";let E={src:"https://cdn.shopify.com/s/assets/no-image-2048-5e88c1b20e087fb7bbe9a3771824e743c244f437e4f8ba93bbf7b11b53f7824c_large.gif",id:"noImageError",width:480,height:480,alt:"no image",contentType:"IMAGE"};var T=l(({image:l,imageShowWhenHover:T,setting:w,aspectRatio:b})=>{var I;let x=r(),L=i(),j=a(e=>e.storefrontUrl),{isEditMode:N,isPreviewSharePageMode:O}=c(),k=f(()=>"none"!==n(w.ftClickOpenLightBox,L),[L,w.ftClickOpenLightBox]),R=f(()=>!N&&["VIDEO","EXTERNAL_VIDEO"].includes(l?.contentType||"")&&!k,[N,l?.contentType,k]),$=f(()=>l?{...l,src:R?l.src:d(l?.contentType)?l?.previewImage:l.src}:E,[l,R]),z=f(()=>{if(O)return"javascript:void(0)";if(!j)return"#";let e=new URL(j);return x?`${e.protocol}//${e.host}/products/${x.handle}`:"#"},[j,x,O]),A=f(()=>w?.hoverEffect!=="none"&&!d($?.contentType),[$?.contentType,w?.hoverEffect]),B=f(()=>w?.hoverEffect=="zoom"&&w?.zoomType=="glasses"&&!d($?.contentType),[$?.contentType,w?.hoverEffect,w?.zoomType]),C=p(e=>"IMAGE"!==e.contentType?e.previewImage:e.src,[]),F=f(()=>T?"other"!==w.hoverEffect?C($):C(T):E.src,[T,$,w.hoverEffect,C]);return e(t,{children:(I=e(t,{children:R?e(v,{type:$?.contentType,url:$.src??"",thumbnail:$?.previewImage,aspectRatio:b}):o(t,{children:[e(m,{draggable:"false",src:$.src,width:$?.width,height:$?.height,alt:$?.alt,setting:{aspectRatio:b,layout:w?.ftLayout},priority:w?.preload,className:"featured-image-only",style:{width:"100%",height:"100%",cursor:"pointer"}}),e(g,{contentType:$?.contentType??""}),A&&e(m,{draggable:"false",src:F,width:w?.hoverEffect==="other"?T?.width:$.width,height:w?.hoverEffect==="other"?T?.height:$.height,alt:w?.hoverEffect==="other"?T?.alt:$.alt,setting:{layout:w.ftLayout,aspectRatio:b},style:{width:"100%",height:"100%"},className:s("hover-image featured-image-only !gp-max-w-none",y()),priority:w?.preload}),B&&e("div",{className:s(u(),"room-len"),style:{...h({bgi:`url("${$?.src}")`})}})]})}),"product-link"===n(w.ftClickOpenLightBox,L)?e("a",{title:x?.title,href:z,className:"gp-w-full",children:I}):I)})});export{T as default};
@@ -1 +1 @@
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 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,PICKED_PRODUCT_STATUSES as b,useCollectionQuery as k,flattenConnection as I,ProductListProvider as T,filterToolbarPreview as v}from"@gem-sdk/core";import{PRODUCT_LIST_PRODUCT_SOURCE as y}from"../../../common/const.js";import O from"../SalePageProductListWarning.js";import S from"next/head";import C from"./ProductListGridLayout.js";import E from"./ProductListCarouselLayout.js";import{getStyle as N}from"./common/styles.js";import{If as w}from"@gem-sdk/system";import{getClass as L}from"./common/classes.js";import{getData as j}from"./common/helpers.js";import{getPropertyByDevice as W}from"../../../dialog/common/helpers.js";let x=r(()=>import("../ProductNotFound.js"),{loading:d}),G=r=>{let{children:G,styles:M,builderProps:B,setting:A,builderAttrs:D}=r,{isRelatedProduct:H,productSetting:Q}=j(r),z=Q.relatedTag&&Q.relatedTag[0],{isEditMode:F,isPreviewSharePageMode:R}=c(),$=s(),_=n(),V=u(e=>e.dynamicProduct),q=u(e=>e.dynamicCollection),[U,J]=l(1),[K,X]=l(!0),[Y,Z]=l(),[ee,et]=l(!1),eo="GP_FUNNEL_PAGE"===_;"GP_COLLECTION"!=_||[y.Collection,y.DynamicCollection].includes(Q?.productSrc)||(Q.productSrc=y.DynamicCollection);let er=Q?.productSrc??y.Collection;er===y.DynamicCollection&&(Q.collectionId=q?.collectionId||"latest");let ed=V?.productId&&V?.productId!==Q.relatedProductId?V?.productId:Q.relatedProductId,el=m(),ei=u(e=>e.publicStoreFrontData),ea=i(()=>g(ei)?h(ei):el,[ei]),{data:ec}=p(H&&ed?ed:void 0,{revalidateOnMount:F||R},ea),es=Q.relatedTag&&"tags"===Q.relatedTag[0]&&(!ec?.tags||ec?.tags.length===0),en=Q.relatedTag&&"collection"===Q.relatedTag[0]&&(!ec?.collections?.edges||ec?.collections.edges.length===0),eu=Q.relatedTag&&"vendor"===Q.relatedTag[0]&&!ec?.vendor,em=f(Y,{revalidateOnMount:F||R},ea),eg=F||R,eh=P(er===y.PickProduct?Q?.productIds:void 0,{revalidateOnMount:eg},{defaultSelectedProductCount:Q?.numOfSelectedProducts,selectedStatus:eg&&Q?.productIds?.length?b:void 0}),ep=i(()=>({id:Q?.collectionId??"latest",numberOfProducts:A?.numberOfProducts??4,orderBy:A?.orderBy}),[Q?.collectionId,Number(A?.numberOfProducts),A?.orderBy]),ef=k(er!==y.PickProduct?ep:void 0,{revalidateOnMount:eg});a(()=>{if(H&&ec&&Q.relatedTag&&"recommended-product"!==Q.relatedType){let e;switch(et(!1),Q.hasRelatedExclude&&(e=Q?.relatedExclude&&Q.relatedExclude.split(",").map(e=>e.trim())),Q.relatedTag[0]){case"vendor":Z({first:A?.numberOfProducts,vendor:Q.relatedTag&&"vendor"===Q.relatedTag[0]?ec?.vendor:"",idNEQ:ec.id});break;case"collection":{let t=ec?.collections?.edges.map(e=>e.node?.id);if(!t||t?.length===0){et(!0);break}Z(e&&e.length>0?{first:A?.numberOfProducts,idNEQ:ec.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:t},{titleNotIn:e}]}]}:{first:A?.numberOfProducts,idNEQ:ec.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:t}]}]});break}case"tags":if(!ec.tags||0===ec.tags.length){et(!0);break}Z(e&&e.length>0?{first:A?.numberOfProducts,idNEQ:ec.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:ec.tags},{nameNotIn:e}]}]}:{first:A?.numberOfProducts,idNEQ:ec.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:ec.tags}]}]})}}},[ec,Q.relatedType,Q.relatedTag,A?.numberOfProducts,Q.relatedExclude,Q.hasRelatedExclude,H]);let eP=er===y.PickProduct?eh.isValidating:ef.isValidating,eb=er===y.PickProduct?eh.isLoading:ef.isLoading,ek=er===y.PickProduct?eh.error:ef.error,eI=ef.data?.collections?.edges?.[0]?.node,eT=er===y.PickProduct?I(eh.data?.products):I(eI?.products),ev=em?.data?.products?I(em?.data?.products):void 0,ey=H&&ev?ev:er===y.PickProduct&&Q?.productIds?.length?Q?.productIds?.map(e=>eT?.find(t=>t?.baseID===e)).filter(Boolean)??eT:er!==y.PickProduct?eT:eT.filter((e,t)=>t<(Q?.numOfSelectedProducts??4)),eO=i(()=>ee&&H&&F||!ey.length&&!eb&&K&&F,[K,eb,ee,H,F,ey.length]),eS=i(()=>!ey||ee&&H,[ee,H,ey]),eC=i(()=>{if(!A?.sameHeight)return[];let e=0,t=Math.ceil((ey?.length??0)/+(A?.slidesToShow?.[$]??1));return Array.from(Array(ey?.length??0)).map((o,r)=>(r>=+(A?.slidesToShow?.[$]??1)*(e+1)&&++e,{gridRow:`${1+U*e}/${U+1+U*e}`,marginBottom:e+1<t?W(M?.horizontalGutter,$):void 0}))},[A?.sameHeight,A?.slidesToShow,U,ey?.length,$,M?.horizontalGutter]),eE=i(()=>eP||eb||ek||!ey||ee&&H,[ek,eb,ee,H,eP,ey]);a(()=>{eE||setTimeout(()=>{let{builderData:e}=B??{},t=e?.childrens?.[0];if(!t)return;let o=document.querySelector(`[data-id=${t}] div`);o&&J(o.childElementCount||1)},F?0:500)},[B,eE,F]);let eN=i(()=>({collection:eI,products:ey,settings:{loop:A?.loop??{desktop:!1},scrollMode:A?.scrollMode??{desktop:"snap"},slidesToShow:A?.slidesToShow??{desktop:4,tablet:3,mobile:1},layout:M?.layout,dot:A?.dot,dotStyle:A?.dotStyle,arrow:A?.arrow,controlOverContent:A?.controlOverContent,sameHeight:A?.sameHeight},styles:{horizontalGutter:M?.horizontalGutter,verticalGutter:M?.verticalGutter,fullWidth:M?.fullWidth,spacing:M?.spacing,width:M?.width,height:M?.height}}),[eI,ey,A,M]);if(B?.isPreview&&eo)return e(t,{});if(eO)return e(t,{children:w(K,e(x,{builderAttrs:D,collectionHandle:eI?.handle,productSrc:er,onClose:()=>X(!1),children:G,relatedTagString:z,assignProductNoTags:es||en||eu,noAssignedProduct:!ed}))});let{productListWrapStyle:ew,productListContentStyle:eL,productListWrapAlignStyle:ej}=N(r),{productListWrapClass:eW}=L(r);return o("div",{...D,className:eW,style:ew,children:[!!M?.preloadBgImage&&o(S,{children:[!!M.backgroundImage?.desktop?.image?.src&&e("link",{rel:"preload",href:M.backgroundImage.desktop.image.src,as:"image"}),!!M.backgroundImage?.tablet?.image?.src&&e("link",{rel:"preload",href:M.backgroundImage?.tablet?.image?.src,as:"image"}),!!M.backgroundImage?.mobile?.image?.src&&e("link",{rel:"preload",href:M.backgroundImage?.mobile?.image?.src,as:"image"})]}),eP||eb?e(d,{}):ek?o("div",{children:["Error: ",ek?.message]}):eS?e("div",{children:"Products not found"}):e(T,{...eN,children:e("div",{className:"gp-flex gp-w-full",style:ej,children:o("div",{style:eL,children:[eo&&e(O,{}),e(t,{children:w(M?.layout==="grid",e(C,{...r,productSortedById:ey,generateGridRowArray:eC}),e(E,{...r,productSortedById:ey}))})]})})}),v(G,!0)]})};export{G as default};
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,PICKED_PRODUCT_STATUSES as b,useCollectionQuery as k,flattenConnection as I,ProductListProvider as T,filterToolbarPreview as v}from"@gem-sdk/core";import y from"../SalePageProductListWarning.js";import O from"next/head";import w 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 L}from"./common/helpers.js";import{getPropertyByDevice as W}from"../../../dialog/common/helpers.js";let j=o(()=>import("../ProductNotFound.js"),{loading:d}),x=o=>{let{children:x,styles:G,builderProps:M,setting:B,builderAttrs:A}=o,{isRelatedProduct:H,productSetting:Q}=L(o),z=Q.relatedTag&&Q.relatedTag[0],{isEditMode:D,isPreviewSharePageMode:F}=c(),R=s(),$=n(),_=u(e=>e.dynamicProduct),V=u(e=>e.dynamicCollection),[q,U]=a(1),[J,K]=a(!0),[X,Y]=a(),[Z,ee]=a(!1),et="GP_FUNNEL_PAGE"===$;"GP_COLLECTION"==$&&(Q.productSrc="DynamicCollection",Q.collectionId=V?.collectionId??"latest");let er=Q?.productSrc??"Collection",eo=_?.productId&&_?.productId!==Q.relatedProductId?_?.productId:Q.relatedProductId,ed=m(),ea=u(e=>e.publicStoreFrontData),el=l(()=>g(ea)?h(ea):ed,[ea]),{data:ei}=p(H&&eo?eo:void 0,{revalidateOnMount:D||F},el),ec=Q.relatedTag&&"tags"===Q.relatedTag[0]&&(!ei?.tags||ei?.tags.length===0),es=Q.relatedTag&&"collection"===Q.relatedTag[0]&&(!ei?.collections?.edges||ei?.collections.edges.length===0),en=Q.relatedTag&&"vendor"===Q.relatedTag[0]&&!ei?.vendor,eu=f(X,{revalidateOnMount:D||F},el),em=D||F,eg=P("PickProduct"===er?Q?.productIds:void 0,{revalidateOnMount:em},{defaultSelectedProductCount:Q?.numOfSelectedProducts,selectedStatus:em&&Q?.productIds?.length?b:void 0}),eh=l(()=>({id:Q?.collectionId??"latest",numberOfProducts:B?.numberOfProducts??4,orderBy:B?.orderBy}),[Q?.collectionId,Number(B?.numberOfProducts),B?.orderBy]),ep=k("PickProduct"!==er?eh:void 0,{revalidateOnMount:em});i(()=>{if(H&&ei&&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,where:{vendor:Q.relatedTag&&"vendor"===Q.relatedTag[0]?ei?.vendor:"",idNEQ:ei.id}});break;case"collection":{let t=ei?.collections?.edges.map(e=>e.node?.id);if(!t||t?.length===0){ee(!0);break}Y(e&&e.length>0?{first:B?.numberOfProducts,where:{idNEQ:ei.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:t},{titleNotIn:e}]}]}}:{first:B?.numberOfProducts,where:{idNEQ:ei.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:t}]}]}});break}case"tags":if(!ei.tags||0===ei.tags.length){ee(!0);break}Y(e&&e.length>0?{first:B?.numberOfProducts,where:{idNEQ:ei.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:ei.tags},{nameNotIn:e}]}]}}:{first:B?.numberOfProducts,where:{idNEQ:ei.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:ei.tags}]}]}})}}},[ei,Q.relatedType,Q.relatedTag,B?.numberOfProducts,Q.relatedExclude,Q.hasRelatedExclude,H]);let ef="PickProduct"===er?eg.isValidating:ep.isValidating,eP="PickProduct"===er?eg.isLoading:ep.isLoading,eb="PickProduct"===er?eg.error:ep.error,ek=ep.data?.collections?.edges?.[0]?.node,eI="PickProduct"===er?I(eg.data?.products):I(ek?.products),eT=eu?.data?.products?I(eu?.data?.products):void 0,ev=H&&eT?eT:"PickProduct"===er&&Q?.productIds?.length?Q?.productIds?.map(e=>eI?.find(t=>t?.baseID===e)).filter(Boolean)??eI:"PickProduct"!==er?eI:eI.filter((e,t)=>t<(Q?.numOfSelectedProducts??4)),ey=l(()=>Z&&H&&D||!ev.length&&!eP&&J&&D,[J,eP,Z,H,D,ev.length]),eO=l(()=>!ev||Z&&H,[Z,H,ev]),ew=l(()=>{if(!B?.sameHeight)return[];let e=0,t=Math.ceil((ev?.length??0)/+(B?.slidesToShow?.[R]??1));return Array.from(Array(ev?.length??0)).map((r,o)=>(o>=+(B?.slidesToShow?.[R]??1)*(e+1)&&++e,{gridRow:`${1+q*e}/${q+1+q*e}`,marginBottom:e+1<t?W(G?.horizontalGutter,R):void 0}))},[B?.sameHeight,B?.slidesToShow,q,ev?.length,R,G?.horizontalGutter]),eS=l(()=>ef||eP||eb||!ev||Z&&H,[eb,eP,Z,H,ef,ev]);i(()=>{eS||setTimeout(()=>{let{builderData:e}=M??{},t=e?.childrens?.[0];if(!t)return;let r=document.querySelector(`[data-id=${t}] div`);r&&U(r.childElementCount||1)},D?0:500)},[M,eS,D]);let eC=l(()=>({collection:ek,products:ev,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,sameHeight:B?.sameHeight},styles:{horizontalGutter:G?.horizontalGutter,verticalGutter:G?.verticalGutter,fullWidth:G?.fullWidth,spacing:G?.spacing,width:G?.width,height:G?.height}}),[ek,ev,B,G]);if(M?.isPreview&&et)return e(t,{});if(ey)return e(t,{children:E(J,e(j,{builderAttrs:A,collectionHandle:ek?.handle,productSrc:er,onClose:()=>K(!1),children:x,relatedTagString:z,assignProductNoTags:ec||es||en,noAssignedProduct:!eo}))});let{productListWrapStyle:eE,productListContentStyle:eN,productListWrapAlignStyle:eL}=C(o),{productListWrapClass:eW}=N(o);return r("div",{...A,className:eW,style:eE,children:[!!G?.preloadBgImage&&r(O,{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?r("div",{children:["Error: ",eb?.message]}):eO?e("div",{children:"Products not found"}):e(T,{...eC,children:e("div",{className:"gp-flex gp-w-full",style:eL,children:r("div",{style:eN,children:[et&&e(y,{}),e(t,{children:E(G?.layout==="grid",e(w,{...o,productSortedById:ev,generateGridRowArray:ew}),e(S,{...o,productSortedById:ev}))})]})})}),v(x,!0)]})};export{x as default};
@@ -1,14 +1,15 @@
1
- import{template as t}from"@gem-sdk/core";import{getClass as n}from"./common/classes.js";let o=o=>{let{pageContext:e,children:a}=o,{productItemClass:r,gpProductClass:i}=n(o);return t`
1
+ import{template as t}from"@gem-sdk/core";import{getClass as e}from"./common/classes.js";import{filterPageContext as n}from"../../../helpers.js";let o=o=>{let{pageContext:a,children:r}=o,{productItemClass:i,gpProductClass:c}=e(o);return t`
2
2
  <gp-product
3
3
  gp-context='{"variantSelected": {{ variant | json | escape }}, "inventory_management": {{ variant.inventory_management | json | escape }}, "inventory_policy": {{ variant.inventory_policy | json | escape }}, "quantity": 1 , "inventoryQuantity": {{ variant.inventory_quantity | default: 0 }}, "formId": "{{ product_form_id }}"}'
4
- class="${i}"
4
+ gp-data='{"variantSelected": {{ variant | json | escape }}, "quantity": 1, "productUrl":{{ product.url | json | escape }}, "productHandle":{{ product.handle | json | escape }}, "collectionUrl": {{ collection.url | json | escape }}, "collectionHandle": {{ collection.handle | json | escape }},"pageContext" : ${JSON.stringify(n(a))}}'
5
+ class="${c}"
6
+
5
7
  >
6
- <script gp-data type="application/json">{"variantSelected": {{ variant | json }}, "quantity": 1, "productUrl":{{ product.url | json }}, "productHandle":{{ product.handle | json }}, "collectionUrl": {{ collection.url | json }}, "collectionHandle": {{ collection.handle | json }},"pageContext" : ${JSON.stringify(e)}}</script>
7
- {%- form 'product', product, id: product_form_id, class: 'form contents ${r}', data-type: 'add-to-cart-form', autocomplete: 'off' -%}
8
+ {%- form 'product', product, id: product_form_id, class: 'form contents ${i}', data-type: 'add-to-cart-form', autocomplete: 'off' -%}
8
9
  <input type="hidden" name="id" value="{{ variant.id }}" />
9
10
  <input type="hidden" min="1" name="quantity" value="{{ quantity }}" />
10
11
  <button type="submit" onclick="return false;" style="display:none;"></button>
11
- ${a}
12
+ ${r}
12
13
  {%- endform -%}
13
14
  </gp-product>
14
15
  `};export{o as default};
@@ -1,18 +1,19 @@
1
- import{template as t,RenderChildren as n}from"@gem-sdk/core";import{getClass as e}from"./common/classes.js";let o=o=>{let{pageContext:a,rawChildren:r}=o,{productItemClass:i,gpProductClass:c}=e(o);return t`
1
+ import{template as t,RenderChildren as e}from"@gem-sdk/core";import{getClass as n}from"./common/classes.js";import{filterPageContext as o}from"../../../helpers.js";let a=a=>{let{pageContext:r,rawChildren:i}=a,{productItemClass:c,gpProductClass:p}=n(a);return t`
2
2
  <gp-product
3
3
  gp-context='{"variantSelected": {{ variant | json | escape }}, "inventory_management": {{ variant.inventory_management | json | escape }}, "inventory_policy": {{ variant.inventory_policy | json | escape }}, "quantity": 1 , "inventoryQuantity": {{ variant.inventory_quantity | default: 0 }}, "formId": "{{ product_form_id }}"}'
4
- class="${c}"
4
+ gp-data='{"variantSelected": {{ variant | json | escape }}, "quantity": 1, "productUrl":{{ product.url | json | escape }}, "productHandle":{{ product.handle | json | escape }}, "collectionUrl": {{ collection.url | json | escape }}, "collectionHandle": {{ collection.handle | json | escape }},"pageContext" : ${JSON.stringify(o(r))}}'
5
+ class="${p}"
6
+
5
7
  >
6
- <script gp-data type="application/json">{"variantSelected": {{ variant | json }}, "quantity": 1, "productUrl":{{ product.url | json }}, "productHandle":{{ product.handle | json }}, "collectionUrl": {{ collection.url | json }}, "collectionHandle": {{ collection.handle | json }},"pageContext" : ${JSON.stringify(a)}}</script>
7
- {%- form 'product', product, id: product_form_id, class: 'form contents ${i}', data-type: 'add-to-cart-form', autocomplete: 'off' -%}
8
+ {%- form 'product', product, id: product_form_id, class: 'form contents ${c}', data-type: 'add-to-cart-form', autocomplete: 'off' -%}
8
9
  <input type="hidden" name="id" value="{{ variant.id }}" />
9
10
  <input type="hidden" min="1" name="quantity" value="{{ quantity }}" />
10
11
  <button type="submit" onclick="return false;" style="display:none;"></button>
11
12
  ${t`
12
- ${r?.map((e,o)=>{if(e)return t`
13
- ${n({...e,index:o})}
13
+ ${i?.map((n,o)=>{if(n)return t`
14
+ ${e({...n,index:o})}
14
15
  `}).join("")}
15
16
  `}
16
17
  {%- endform -%}
17
18
  </gp-product>
18
- `};export{o as default};
19
+ `};export{a as default};
@@ -1,18 +1,18 @@
1
- import{RenderIf as t,template as i}from"@gem-sdk/core";import{getStyle as o}from"./common/styles.js";import{getClass as s}from"./common/classes.js";import{getAttr as r}from"./common/attrs.js";import e from"./ProductListGridItem.liquid.js";import{getStaticLocale as d}from"../../../helpers.js";let a=a=>{let{setting:n,builderProps:p,styles:c,productListId:m,productSrc:l}=a,{gridLayoutStyle:u}=o(a),{gridLayoutClass:f}=s(a),{productListAttr:g}=r(a),$=()=>i`
1
+ import{RenderIf as t,template as i}from"@gem-sdk/core";import{getStyle as o}from"./common/styles.js";import{getClass as s}from"./common/classes.js";import{getAttr as r}from"./common/attrs.js";import d from"./ProductListGridItem.liquid.js";import{getStaticLocale as e}from"../../../helpers.js";let a=a=>{let{setting:n,builderProps:m,styles:c,productListId:p,productSrc:l}=a,{gridLayoutStyle:u}=o(a),{gridLayoutClass:f}=s(a),{productListAttr:g}=r(a),$=()=>i`
2
2
  {%- assign count = 0 -%}
3
3
  {%- for product in products limit: limit -%}
4
4
  {%- if product.id != empty -%}
5
5
  {%- assign count = count | plus: 1 -%}
6
6
  {%- assign variant = product.selected_or_first_available_variant -%}
7
- {%- assign product_form_id = 'product-form-' | append: "${p?.uid}" | append: product.id -%}
8
- ${e({...a})}
7
+ {%- assign product_form_id = 'product-form-' | append: "${m?.uid}" | append: product.id -%}
8
+ ${d({...a})}
9
9
  {%- endif -%}
10
10
  {% endfor %}
11
- {%- if count == 0 and ${m?.length} == 0 -%}
11
+ {%- if count == 0 and ${p?.length} == 0 -%}
12
12
  {% if '${l}' == 'RelatedProduct' -%}
13
- <div>${d("ProductList","no_related_products")}</div>
13
+ <div>${e("ProductList","no_related_products")}</div>
14
14
  {% else %}
15
- <div>${d("ProductList","no_products_found")}</div>
15
+ <div>${e("ProductList","no_products_found")}</div>
16
16
  {%- endif -%}
17
17
  {%- endif -%}
18
18
  `;return i`
@@ -25,9 +25,7 @@ import{RenderIf as t,template as i}from"@gem-sdk/core";import{getStyle as o}from
25
25
  <gp-same-height
26
26
  class="gp-contents"
27
27
  style="visibility: hidden"
28
- >
29
- <script gp-data type="application/json">${JSON.stringify({targetUid:p?.builderData?.childrens?.[0],slidesToShow:n?.slidesToShow,rowGap:c?.horizontalGutter})}
30
- </script>
28
+ gp-data='${JSON.stringify({targetUid:m?.builderData?.childrens?.[0],slidesToShow:n?.slidesToShow,rowGap:c?.horizontalGutter})}'>
31
29
  ${`${$()}`}
32
30
  </gp-same-height>
33
31
  `)}
@@ -1 +1 @@
1
- import{jsx as o,Fragment as e,jsxs as t}from"react/jsx-runtime";import r from"next/dynamic";import i from"../../../common/components/Loading.js";import{useState as d,useRef as l,useMemo as s,useEffect as c}from"react";import{useRenderMode as n,useCurrentDevice as a,usePageType as m,usePageStore as u,flattenConnection as g,ProductListProvider as p,filterToolbarPreview as h,PICKED_PRODUCT_STATUSES as f}from"@gem-sdk/core";import{PRODUCT_LIST_PRODUCT_SOURCE as P}from"../../../common/const.js";import y from"../SalePageProductListWarning.js";import k from"next/head";import I from"./ProductListGridLayout.js";import b from"./ProductListCarouselLayout.js";import{getStyle as S}from"./common/styles.js";import{If as j}from"@gem-sdk/system";import{getClass as C}from"./common/classes.js";import{getData as v}from"./common/helpers.js";import{getPropertyByDevice as L}from"../../../dialog/common/helpers.js";import{useCollectionQuery as w}from"./hooks/useCollectionQuery.js";import N from"./hooks/useProductRelatedQuery.js";import{DEFAULT_COLLECTION_NUMBER_OF_PRODUCTS as G}from"./constants/index.js";import T from"./hooks/useRelatedProductIDAssigned.js";import{useProductsQuery as A}from"./hooks/useProductsQuery.js";let O=r(()=>import("../ProductNotFound.js"),{loading:i}),x=r=>{let{children:x,styles:D,builderProps:B,setting:E,builderAttrs:H}=r,{isRelatedProduct:z,productSetting:M}=v(r),{isEditMode:Q,isPreviewSharePageMode:R}=n(),W=a(),$=m(),_=u(o=>o.dynamicCollection),[F,V]=d(1),[q,U]=d(!0),J=l(),K="GP_FUNNEL_PAGE"===$;"GP_COLLECTION"!=$||[P.Collection,P.DynamicCollection].includes(M?.productSrc)||(M.productSrc=P.DynamicCollection);let X=M?.productSrc??P.Collection;X===P.DynamicCollection&&(M.collectionId=_?.collectionId||"latest");let Y=Number.isNaN(Number(E?.numberOfProducts))?G:Number(E?.numberOfProducts),{relatedProductIdAssigned:Z}=T({productSetting:M}),{isNotFoundRelatedProduct:oo,relatedProducts:oe,isNoRelatedProductData:ot,relatedTagString:or,isLoading:oi}=N({productSetting:M,isRelatedProduct:z,relatedProductIdAssigned:Z,numberOfProducts:Y}),od=Q||R,ol=A({productIds:M?.productIds,defaultSelectedProductCount:M?.numOfSelectedProducts,productSrc:X,selectedStatus:od&&M?.productIds?.length?f:void 0}),os=w({productSrc:X,collectionID:M?.collectionId??"latest",numberOfProducts:Y,orderBy:E?.orderBy}),oc=oi||(X===P.PickProduct?ol.isLoading:os.isLoading),on=X===P.PickProduct?ol.error:os.error,oa=X===P.PickProduct?ol.isValidating:os.isValidating,om=os.data?.collections?.edges?.[0]?.node,ou=X===P.PickProduct?g(ol.data?.products):g(om?.products),og=u(o=>o.assignedProductIds),op=u(o=>o.isApplyAllProducts),oh=s(()=>(og??[]).length>0&&!op||op,[og,op]),of=oe?.data?.products&&oh?g(oe?.data?.products):[],oP=z?of:X===P.PickProduct&&M?.productIds?.length?M?.productIds?.map(o=>ou?.find(e=>e?.baseID===o)).filter(Boolean)??ou:X!==P.PickProduct?ou:ou.filter((o,e)=>e<(M?.numOfSelectedProducts??4)),oy=s(()=>oo&&z&&Q||!oP.length&&!oc&&q&&Q,[q,oc,oo,z,Q,oP.length]),ok=s(()=>!oP||oo&&z,[oo,z,oP]),oI=s(()=>{if(!E?.sameHeight)return[];let o=0,e=Math.ceil((oP?.length??0)/+(E?.slidesToShow?.[W]??1));return Array.from(Array(oP?.length??0)).map((t,r)=>(r>=+(E?.slidesToShow?.[W]??1)*(o+1)&&++o,{gridRow:`${1+F*o}/${F+1+F*o}`,marginBottom:o+1<e?L(D?.horizontalGutter,W):void 0}))},[E?.sameHeight,E?.slidesToShow,F,oP?.length,W,D?.horizontalGutter]),ob=s(()=>oa||oc||on||!oP||oo&&z,[on,oc,oo,z,oa,oP]);c(()=>{if(!ob)return J.current=setTimeout(()=>{let{builderData:o}=B??{},e=o?.childrens?.[0];if(!e)return;let t=document.querySelector(`[data-id=${e}] div`);t&&V(t.childElementCount||1)},Q?0:500),()=>{clearTimeout(J.current)}},[B,ob,Q,oP]);let oS=s(()=>({collection:om,products:oP,settings:{loop:E?.loop??{desktop:!1},scrollMode:E?.scrollMode??{desktop:"snap"},slidesToShow:E?.slidesToShow??{desktop:4,tablet:3,mobile:1},layout:D?.layout,dot:E?.dot,dotStyle:E?.dotStyle,arrow:E?.arrow,controlOverContent:E?.controlOverContent,sameHeight:E?.sameHeight},styles:{horizontalGutter:D?.horizontalGutter,verticalGutter:D?.verticalGutter,fullWidth:D?.fullWidth,spacing:D?.spacing,width:D?.width,height:D?.height}}),[om,oP,E,D]);if(B?.isPreview&&K)return o(e,{});if(oy)return o(e,{children:j(q,o(O,{builderAttrs:H,collectionHandle:om?.handle,productSrc:X,onClose:()=>U(!1),children:x,relatedTagString:or,assignProductNoTags:ot,noAssignedProduct:!Z}))});let{productListWrapStyle:oj,productListContentStyle:oC,productListWrapAlignStyle:ov}=S(r),{productListWrapClass:oL}=C(r);return t("div",{...H,className:oL,style:oj,children:[!!D?.preloadBgImage&&t(k,{children:[!!D.backgroundImage?.desktop?.image?.src&&o("link",{rel:"preload",href:D.backgroundImage.desktop.image.src,as:"image"}),!!D.backgroundImage?.tablet?.image?.src&&o("link",{rel:"preload",href:D.backgroundImage?.tablet?.image?.src,as:"image"}),!!D.backgroundImage?.mobile?.image?.src&&o("link",{rel:"preload",href:D.backgroundImage?.mobile?.image?.src,as:"image"})]}),oc||oa?o(i,{}):on?t("div",{children:["Error: ",on?.message]}):ok?o("div",{children:"Products not found"}):o(p,{...oS,children:o("div",{className:"gp-flex gp-w-full",style:ov,children:t("div",{style:oC,children:[K&&o(y,{}),o(e,{children:j(D?.layout==="grid",o(I,{...r,productSortedById:oP,generateGridRowArray:oI}),o(b,{...r,productSortedById:oP}))})]})})}),h(x,!0)]})};export{x as default};
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 l,useMemo as a,useEffect as i}from"react";import{useRenderMode as s,useCurrentDevice as c,usePageType as n,usePageStore as u,useFetchHandle as m,hasPublicStoreFrontData as g,createStoreFrontFetcher as h,useProductQuery as p,useProductsQueryAll as f,useProductsQuery as P,PICKED_PRODUCT_STATUSES as b,useCollectionQuery as I,flattenConnection as k,ProductListProvider as T,filterToolbarPreview as v}from"@gem-sdk/core";import y from"../SalePageProductListWarning.js";import O from"next/head";import w 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 L}from"./common/helpers.js";import{getPropertyByDevice as W}from"../../../dialog/common/helpers.js";let j=o(()=>import("../ProductNotFound.js"),{loading:d}),x=o=>{let{children:x,styles:G,builderProps:A,setting:M,builderAttrs:B}=o,{isRelatedProduct:H,productSetting:Q}=L(o),z=Q.relatedTag&&Q.relatedTag[0],{isEditMode:D,isPreviewSharePageMode:F}=s(),R=c(),$=n(),_=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"==$&&(Q.productSrc="DynamicCollection",Q.collectionId=V?.collectionId??"latest");let er=Q?.productSrc??"Collection",eo=_?.productId&&_?.productId!==Q.relatedProductId?_?.productId:Q.relatedProductId,ed=m(),el=u(e=>e.publicStoreFrontData),ea=a(()=>g(el)?h(el):ed,[el]),{data:ei}=p(H&&eo?eo:void 0,{revalidateOnMount:D||F},ea),es=Q.relatedTag&&"tags"===Q.relatedTag[0]&&(!ei?.tags||ei?.tags.length===0),ec=Q.relatedTag&&"collection"===Q.relatedTag[0]&&(!ei?.collections?.edges||ei?.collections.edges.length===0),en=Q.relatedTag&&"vendor"===Q.relatedTag[0]&&!ei?.vendor,eu=f(X,{revalidateOnMount:D||F},ea),em=D||F,eg=P("PickProduct"===er?Q?.productIds:void 0,{revalidateOnMount:em},{defaultSelectedProductCount:Q?.numOfSelectedProducts,selectedStatus:em&&Q?.productIds?.length?b:void 0}),eh=a(()=>({id:Q?.collectionId??"latest",numberOfProducts:M?.numberOfProducts??4,orderBy:M?.orderBy}),[Q?.collectionId,Number(M?.numberOfProducts),M?.orderBy]),ep=I("PickProduct"!==er?eh:void 0,{revalidateOnMount:em});i(()=>{if(H&&ei&&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:M?.numberOfProducts,where:{vendor:Q.relatedTag&&"vendor"===Q.relatedTag[0]?ei?.vendor:"",idNEQ:ei.id}});break;case"collection":{let t=ei?.collections?.edges.map(e=>e.node?.id);if(!t||t?.length===0){ee(!0);break}Y(e&&e.length>0?{first:M?.numberOfProducts,where:{idNEQ:ei.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:t},{titleNotIn:e}]}]}}:{first:M?.numberOfProducts,where:{idNEQ:ei.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:t}]}]}});break}case"tags":if(!ei.tags||0===ei.tags.length){ee(!0);break}Y(e&&e.length>0?{first:M?.numberOfProducts,where:{idNEQ:ei.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:ei.tags},{nameNotIn:e}]}]}}:{first:M?.numberOfProducts,where:{idNEQ:ei.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:ei.tags}]}]}})}}},[ei,Q.relatedType,Q.relatedTag,M?.numberOfProducts,Q.relatedExclude,Q.hasRelatedExclude,H]);let ef="PickProduct"===er?eg.isValidating:ep.isValidating,eP="PickProduct"===er?eg.isLoading:ep.isLoading,eb="PickProduct"===er?eg.error:ep.error,eI=ep.data?.collections?.edges?.[0]?.node,ek="PickProduct"===er?k(eg.data?.products):k(eI?.products),eT=u(e=>e.assignedProductIds),ev=u(e=>e.isApplyAllProducts),ey=a(()=>(eT??[]).length>0&&!ev||ev,[eT,ev]),eO=eu?.data?.products&&ey?k(eu?.data?.products):[],ew=H?eO:"PickProduct"===er&&Q?.productIds?.length?Q?.productIds?.map(e=>ek?.find(t=>t?.baseID===e)).filter(Boolean)??ek:"PickProduct"!==er?ek:ek.filter((e,t)=>t<(Q?.numOfSelectedProducts??4)),eS=a(()=>Z&&H&&D||!ew.length&&!eP&&J&&D,[J,eP,Z,H,D,ew.length]),eC=a(()=>!ew||Z&&H,[Z,H,ew]),eE=a(()=>{if(!M?.sameHeight)return[];let e=0,t=Math.ceil((ew?.length??0)/+(M?.slidesToShow?.[R]??1));return Array.from(Array(ew?.length??0)).map((r,o)=>(o>=+(M?.slidesToShow?.[R]??1)*(e+1)&&++e,{gridRow:`${1+q*e}/${q+1+q*e}`,marginBottom:e+1<t?W(G?.horizontalGutter,R):void 0}))},[M?.sameHeight,M?.slidesToShow,q,ew?.length,R,G?.horizontalGutter]),eN=a(()=>ef||eP||eb||!ew||Z&&H,[eb,eP,Z,H,ef,ew]),eL=ei?.collections?.edges.map(e=>e.node?.id)??[];i(()=>{eN||setTimeout(()=>{let{builderData:e}=A??{},t=e?.childrens?.[0];if(!t)return;let r=document.querySelector(`[data-id=${t}] div`);r&&U(r.childElementCount||1)},D?0:500)},[A,eN,D,eL]);let eW=a(()=>({collection:eI,products:ew,settings:{loop:M?.loop??{desktop:!1},scrollMode:M?.scrollMode??{desktop:"snap"},slidesToShow:M?.slidesToShow??{desktop:4,tablet:3,mobile:1},layout:G?.layout,dot:M?.dot,dotStyle:M?.dotStyle,arrow:M?.arrow,controlOverContent:M?.controlOverContent,sameHeight:M?.sameHeight},styles:{horizontalGutter:G?.horizontalGutter,verticalGutter:G?.verticalGutter,fullWidth:G?.fullWidth,spacing:G?.spacing,width:G?.width,height:G?.height}}),[eI,ew,M,G]);if(A?.isPreview&&et)return e(t,{});if(eS)return e(t,{children:E(J,e(j,{builderAttrs:B,collectionHandle:eI?.handle,productSrc:er,onClose:()=>K(!1),children:x,relatedTagString:z,assignProductNoTags:es||ec||en,noAssignedProduct:!eo}))});let{productListWrapStyle:ej,productListContentStyle:ex,productListWrapAlignStyle:eG}=C(o),{productListWrapClass:eA}=N(o);return r("div",{...B,className:eA,style:ej,children:[!!G?.preloadBgImage&&r(O,{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?r("div",{children:["Error: ",eb?.message]}):eC?e("div",{children:"Products not found"}):e(T,{...eW,children:e("div",{className:"gp-flex gp-w-full",style:eG,children:r("div",{style:ex,children:[et&&e(y,{}),e(t,{children:E(G?.layout==="grid",e(w,{...o,productSortedById:ew,generateGridRowArray:eE}),e(S,{...o,productSortedById:ew}))})]})})}),v(x,!0)]})};export{x as default};
@@ -1,15 +1,15 @@
1
- import{template as t}from"@gem-sdk/core";import{getClass as n}from"./common/classes.js";let e=e=>{let{pageContext:o,children:a}=e,{productItemClass:i,gpProductClass:r}=n(e);return t`
1
+ import{template as t}from"@gem-sdk/core";import{getClass as e}from"./common/classes.js";import{filterPageContext as n}from"../../../helpers.js";let o=o=>{let{pageContext:a,children:r}=o,{productItemClass:i,gpProductClass:c}=e(o);return t`
2
2
  <gp-product
3
3
  gp-context='{"variantSelected": {{ variant | json | escape }}, "inventory_management": {{ variant.inventory_management | json | escape }}, "inventory_policy": {{ variant.inventory_policy | json | escape }}, "quantity": 1 ,"inventoryQuantity": {{ variant.inventory_quantity | default: 0 }}, "formId": "{{ product_form_id }}"}'
4
- gp-context='{"variantSelected": {{ variant | json | escape }}, "inventory_management": {{ variant.inventory_management | json | escape }}, "inventory_policy": {{ variant.inventory_policy | json | escape }}, "quantity": 1 ,"inventoryQuantity": {{ variant.inventory_quantity }}, "formId": "{{ product_form_id }}"}'
5
- class="${r}"
4
+ gp-data='{"variantSelected": {{ variant | json | escape }}, "quantity": 1, "productUrl":{{ product.url | json | escape }}, "productHandle":{{ product.handle | json | escape }}, "collectionUrl": {{ collection.url | json | escape }}, "collectionHandle": {{ collection.handle | json | escape }},"pageContext" : ${JSON.stringify(n(a))}}'
5
+ class="${c}"
6
+
6
7
  >
7
- <script gp-data type="application/json">{"variantSelected": {{ variant | json }}, "quantity": 1, "productUrl":{{ product.url | json }}, "productHandle":{{ product.handle | json }}, "collectionUrl": {{ collection.url | json }}, "collectionHandle": {{ collection.handle | json }},"pageContext" : ${JSON.stringify(o)}}</script>
8
8
  {%- form 'product', product, id: product_form_id, class: 'form contents ${i}', data-type: 'add-to-cart-form', autocomplete: 'off' -%}
9
9
  <input type="hidden" name="id" value="{{ variant.id }}" />
10
10
  <input type="hidden" min="1" name="quantity" value="{{ quantity }}" />
11
11
  <button type="submit" onclick="return false;" style="display:none;"></button>
12
- ${a}
12
+ ${r}
13
13
  {%- endform -%}
14
14
  </gp-product>
15
- `};export{e as default};
15
+ `};export{o as default};
@@ -1,18 +1,19 @@
1
- import{template as t,RenderChildren as n}from"@gem-sdk/core";import{getClass as e}from"./common/classes.js";let o=o=>{let{pageContext:a,rawChildren:r}=o,{productItemClass:i,gpProductClass:c}=e(o);return t`
1
+ import{template as t,RenderChildren as e}from"@gem-sdk/core";import{getClass as n}from"./common/classes.js";import{filterPageContext as o}from"../../../helpers.js";let a=a=>{let{pageContext:r,rawChildren:i}=a,{productItemClass:c,gpProductClass:p}=n(a);return t`
2
2
  <gp-product
3
3
  gp-context='{"variantSelected": {{ variant | json | escape }}, "inventory_management": {{ variant.inventory_management | json | escape }}, "inventory_policy": {{ variant.inventory_policy | json | escape }}, "quantity": 1 ,"inventoryQuantity": {{ variant.inventory_quantity | default: 0 }}, "formId": "{{ product_form_id }}"}'
4
- class="${c}"
4
+ gp-data='{"variantSelected": {{ variant | json | escape }}, "quantity": 1, "productUrl":{{ product.url | json | escape }}, "productHandle":{{ product.handle | json | escape }}, "collectionUrl": {{ collection.url | json | escape }}, "collectionHandle": {{ collection.handle | json | escape }},"pageContext" : ${JSON.stringify(o(r))}}'
5
+ class="${p}"
6
+
5
7
  >
6
- <script gp-data type="application/json">{"variantSelected": {{ variant | json }}, "quantity": 1, "productUrl":{{ product.url | json }}, "productHandle":{{ product.handle | json }}, "collectionUrl": {{ collection.url | json }}, "collectionHandle": {{ collection.handle | json }},"pageContext" : ${JSON.stringify(a)}}</script>
7
- {%- form 'product', product, id: product_form_id, class: 'form contents ${i}', data-type: 'add-to-cart-form', autocomplete: 'off' -%}
8
+ {%- form 'product', product, id: product_form_id, class: 'form contents ${c}', data-type: 'add-to-cart-form', autocomplete: 'off' -%}
8
9
  <input type="hidden" name="id" value="{{ variant.id }}" />
9
10
  <input type="hidden" min="1" name="quantity" value="{{ quantity }}" />
10
11
  <button type="submit" onclick="return false;" style="display:none;"></button>
11
12
  ${t`
12
- ${r?.map((e,o)=>{if(e)return t`
13
- ${n({...e,index:o})}
13
+ ${i?.map((n,o)=>{if(n)return t`
14
+ ${e({...n,index:o})}
14
15
  `}).join("")}
15
16
  `}
16
17
  {%- endform -%}
17
18
  </gp-product>
18
- `};export{o as default};
19
+ `};export{a as default};
@@ -1,18 +1,18 @@
1
- import{RenderIf as t,template as i}from"@gem-sdk/core";import{getStyle as o}from"./common/styles.js";import{getClass as s}from"./common/classes.js";import{getAttr as r}from"./common/attrs.js";import e from"./ProductListGridItem.liquid.js";import{getStaticLocale as d}from"../../../helpers.js";let a=a=>{let{setting:n,builderProps:p,styles:c,productListId:m,productSrc:l}=a,{gridLayoutStyle:u}=o(a),{gridLayoutClass:f}=s(a),{productListAttr:g}=r(a),$=()=>i`
1
+ import{RenderIf as t,template as i}from"@gem-sdk/core";import{getStyle as o}from"./common/styles.js";import{getClass as s}from"./common/classes.js";import{getAttr as r}from"./common/attrs.js";import d from"./ProductListGridItem.liquid.js";import{getStaticLocale as e}from"../../../helpers.js";let a=a=>{let{setting:n,builderProps:m,styles:c,productListId:p,productSrc:l}=a,{gridLayoutStyle:u}=o(a),{gridLayoutClass:f}=s(a),{productListAttr:g}=r(a),$=()=>i`
2
2
  {%- assign count = 0 -%}
3
3
  {%- for product in products limit: limit -%}
4
4
  {%- if product.id != empty -%}
5
5
  {%- assign count = count | plus: 1 -%}
6
6
  {%- assign variant = product.selected_or_first_available_variant -%}
7
- {%- assign product_form_id = 'product-form-' | append: "${p?.uid}" | append: product.id -%}
8
- ${e({...a})}
7
+ {%- assign product_form_id = 'product-form-' | append: "${m?.uid}" | append: product.id -%}
8
+ ${d({...a})}
9
9
  {%- endif -%}
10
10
  {% endfor %}
11
- {%- if count == 0 and ${m?.length} == 0 -%}
11
+ {%- if count == 0 and ${p?.length} == 0 -%}
12
12
  {% if '${l}' == 'RelatedProduct' -%}
13
- <div>${d("ProductList","no_related_products")}</div>
13
+ <div>${e("ProductList","no_related_products")}</div>
14
14
  {% else %}
15
- <div>${d("ProductList","no_products_found")}</div>
15
+ <div>${e("ProductList","no_products_found")}</div>
16
16
  {%- endif -%}
17
17
  {%- endif -%}
18
18
  `;return i`
@@ -25,9 +25,7 @@ import{RenderIf as t,template as i}from"@gem-sdk/core";import{getStyle as o}from
25
25
  <gp-same-height
26
26
  class="gp-contents"
27
27
  style="visibility: hidden"
28
- >
29
- <script gp-data type="application/json">${JSON.stringify({targetUid:p?.builderData?.childrens?.[0],slidesToShow:n?.slidesToShow,rowGap:c?.horizontalGutter})}
30
- </script>
28
+ gp-data='${JSON.stringify({targetUid:m?.builderData?.childrens?.[0],slidesToShow:n?.slidesToShow,rowGap:c?.horizontalGutter})}'>
31
29
  ${`${$()}`}
32
30
  </gp-same-height>
33
31
  `)}
@@ -1 +1 @@
1
- import{getSizeSetting as t}from"../../../helpers/product.js";import{convertUnitToNumber as e}from"../../product-images/common/productFeaturedImage.js";import{getUpdatedDotStyle as o}from"../../../../carousel-v3/components/dot/common/helpers.js";import{RELATED_TAG_PRODUCT_SETTING as r}from"../constants/index.js";import"react/jsx-runtime";import"react";import"@gem-sdk/core";import{PRODUCT_LIST_PRODUCT_SOURCE as d}from"../../../../common/const.js";let c=e=>{let{setting:r,styles:c}=e,l=r?.productSetting??{},i=l.productSrc===d.RelatedProduct,n=o(r?.dot,r?.dotStyle),p={dotSize:{desktop:12},dotGapToCarousel:{desktop:16},arrowIconSize:{desktop:24},showWhenHover:!1,rtl:!1,...r};delete p.childItem;let a={...c,sizeSetting:{...t({adaptiveHeight:c?.adaptiveHeight,height:c?.height,fullWidth:{desktop:!0}})},spacing:c?.spacing};return delete a.backgroundColor,delete a.backgroundImage,{isRelatedProduct:i,productSetting:l,dotStyle:n,carouselConfigSetting:p,carouselConfigStyle:a}},l=t=>{let{setting:o,styles:c}=t,l=o?.productSetting,p=l?.relatedTag,a=l?.hasRelatedExclude,u=(p&&p[0]===r.Collection?l?.relatedCollectionExclude:l?.relatedTagsExclude)??"",s=u?.split(",").map(t=>t.trim()).toString(),m=l?.productSrc??d.Collection,g=l?.collectionId?.replace(i,"")??"latest",h=l?.productSrc===d.PickProduct&&l?.productIds?.length===0,P=c?.layout==="grid",I=e(o?.numberOfProducts,4),S=m===d.PickProduct&&l?.productIds?.length?l?.productIds.map(t=>t.replace(n,"")):[],C=m===d.PickProduct&&l?.productHandles?.length?l?.productHandles:[],k=o?.orderBy&&o?.orderBy!=="none",f=(l?.productSrc===d.Collection||l?.productSrc===d.DynamicCollection)&&k?o?.orderBy?.split("_"):"none",y=k&&f?.[0]==="TITLE"?"| sort: 'title'":"| sort: 'updated_at'",E=f?.[f.length-1]==="DESC";return{hasRelatedExclude:a,relatedExcludeTrim:s,collectionID:g,isLatestProducts:h,isGrid:P,numberOfProducts:I,productListId:S,productListHandles:C,sortedBy:y,isReverse:E,productSrc:m,productSetting:l,isSorted:k,relatedTag:p,productNumber:m===d.PickProduct?h?4:l?.numOfSelectedProducts??4:I,collectionHandle:l?.collectionHandle}},i="gid://shopify/Collection/",n="gid://shopify/Product/";export{i as PREFIX_COLLECTION_ID,n as PREFIX_PRODUCT_ID,c as getData,l as getDataLiquid};
1
+ import{getSizeSetting as t}from"../../../helpers/product.js";import{convertUnitToNumber as e}from"../../product-images/common/productFeaturedImage.js";import{getUpdatedDotStyle as o}from"../../../../carousel-v3/components/dot/common/helpers.js";let r=e=>{let{setting:r,styles:d}=e,c=r?.productSetting??{},l="RelatedProduct"===c.productSrc,i=o(r?.dot,r?.dotStyle),a={dotSize:{desktop:12},dotGapToCarousel:{desktop:16},arrowIconSize:{desktop:24},showWhenHover:!1,rtl:!1,...r};delete a.childItem;let p={...d,sizeSetting:{...t({adaptiveHeight:d?.adaptiveHeight,height:d?.height,fullWidth:{desktop:!0}})},spacing:d?.spacing};return delete p.backgroundColor,delete p.backgroundImage,{isRelatedProduct:l,productSetting:c,dotStyle:i,carouselConfigSetting:a,carouselConfigStyle:p}},d=t=>{let{setting:o,styles:r}=t,d=o?.productSetting,i=d?.relatedTag,a=d?.hasRelatedExclude,p=(i&&"collection"===i[0]?d?.relatedCollectionExclude:d?.relatedTagsExclude)??"",u=p?.split(",").map(t=>t.trim()).toString(),n=d?.productSrc??"Collection",s=d?.collectionId?.replace(c,"")??"latest",g=d?.productSrc==="PickProduct"&&d?.productIds?.length===0,m=r?.layout==="grid",h=e(o?.numberOfProducts,4),P="PickProduct"===n&&d?.productIds?.length?d?.productIds.map(t=>t.replace(l,"")):[],I="PickProduct"===n&&d?.productHandles?.length?d?.productHandles:[],S=o?.orderBy&&o?.orderBy!=="none",C=(d?.productSrc==="Collection"||d?.productSrc==="DynamicCollection")&&S?o?.orderBy?.split("_"):"none",k=S&&C?.[0]==="TITLE"?"| sort: 'title'":"| sort: 'updated_at'",f=C?.[C.length-1]==="DESC";return{hasRelatedExclude:a,relatedExcludeTrim:u,collectionID:s,isLatestProducts:g,isGrid:m,numberOfProducts:h,productListId:P,productListHandles:I,sortedBy:k,isReverse:f,productSrc:n,productSetting:d,isSorted:S,relatedTag:i,productNumber:"PickProduct"===n?g?4:d?.numOfSelectedProducts??4:h,collectionHandle:d?.collectionHandle}},c="gid://shopify/Collection/",l="gid://shopify/Product/";export{c as PREFIX_COLLECTION_ID,l as PREFIX_PRODUCT_ID,r as getData,d as getDataLiquid};
@@ -1,11 +1,11 @@
1
- import{dataStringify as r,template as e,baseAssetURL as o,isLocalEnv as s}from"@gem-sdk/core";import{getSettingPreloadData as p}from"../../../helpers.js";import t from"../../../text/components/Text.liquid.js";import{createClass as c,createAttr as m,createStateOrContext as i,Liquid as a}from"@gem-sdk/system";import{getWrapperClasses as l}from"./common/classes.js";import{getAttrs as d}from"./common/attrs.js";import{getTextProps as n}from"./common/helpers.js";let u=u=>{let{style:f,setting:y,builderProps:$,pageContext:h}=u,g=c(l(u)),j=m(d(u)),P=n(u),_=i({priceType:y?.priceType,uid:$?.uid,locale:"{{shop.locale}}",currency:"{{shop.currency}}",moneyFormat:`{{ ${h?.showPriceCurrency?"shop.money_with_currency_format":"shop.money_format"} | replace: '"', '\\"' | escape }}`});return a(e`
1
+ import{dataStringify as r,template as e,baseAssetURL as o,isLocalEnv as s}from"@gem-sdk/core";import{getSettingPreloadData as p}from"../../../helpers.js";import t from"../../../text/components/Text.liquid.js";import{createClass as c,createAttr as m,createStateOrContext as i,Liquid as l}from"@gem-sdk/system";import{getWrapperClasses as a}from"./common/classes.js";import{getAttrs as d}from"./common/attrs.js";import{getTextProps as u}from"./common/helpers.js";let n=n=>{let{style:f,setting:y,builderProps:$,pageContext:h}=n,g=c(a(n)),j=m(d(n)),P=u(n),_=i({priceType:y?.priceType,uid:$?.uid,locale:"{{shop.locale}}",currency:"{{shop.currency}}",moneyFormat:`{{ ${h?.showPriceCurrency?"shop.money_with_currency_format":"shop.money_format"} | replace: '"', '\\"' | escape }}`});return l(e`
2
2
  <gp-product-price
3
3
  ${j}
4
4
  class="${g}"
5
5
  style="${f}"
6
+ gp-data='${r(_)}'
6
7
  >
7
- <script gp-data type="application/json">${r(_)}</script>
8
8
  ${t({...P})}
9
9
  </gp-product-price>
10
10
  ${(()=>{let r=s?"{{ 'gp-product-price-v7-5.js' | asset_url }}":`${o}/assets-v2/gp-product-price-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}`;return`<script ${p('class="gps-link" delay',"src")}="${r}" defer="defer"></script>`})()}
11
- `)};export{u as ProductPrice,u as default};
11
+ `)};export{n as ProductPrice,n as default};
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import{jsxs as t,jsx as o}from"react/jsx-runtime";import{usePluginEnable as r,useProduct as e,useProductQuery as i,ProductProvider as c}from"@gem-sdk/core";import{useState as l}from"react";import"../../../common/const.js";import p from"../../../grid/components/row/Row.js";import s from"../../../grid/components/col/Col.js";import"../../../modal/components/confirm.js";import n from"../../../modal/components/Modal.js";import a from"../product-button/ProductButton.js";import d from"../ProductImages.js";import m from"../product-price/ProductPrice.js";import u from"../product-quantity/ProductQuantity.js";import g from"../product-title/ProductTitle.js";import h from"../product-variants/ProductVariants.js";let y=()=>{let r=e(),{data:l,isValidating:n,error:y}=i(r?.id);return n?o("div",{children:t("svg",{className:"gp-mx-auto gp-my-20 gp-h-8 gp-w-8 gp-animate-spin gp-text-base",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",children:[o("circle",{className:"gp-opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),o("path",{className:"gp-opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]})}):y?o("p",{className:"gp-py-20 gp-text-center gp-font-semibold",children:"Something went wrong"}):o(c,{product:l,children:t(p,{setting:{layout:{desktop:{cols:[6,6],display:"fill"},mobile:{cols:[12]}}},children:[o(s,{children:o(d,{})}),t(s,{children:[o(g,{setting:{htmlTag:"p"},styles:{typography:{type:"heading-3"}}}),t(p,{setting:{layout:{desktop:{cols:[6,6],display:"fit"}}},children:[o(s,{children:o(m,{setting:{priceType:"regular"},styles:{typography:{type:"subheading-2"}}})}),o(s,{children:o(m,{setting:{priceType:"compare"},styles:{typography:{type:"paragraph-2"}}})})]}),o(h,{}),o(u,{}),o(a,{})]})]})})},f=({label:e})=>{let[i,c]=l(!1),p=r();return p?.includes("quick-view")?t("div",{children:[o("div",{"aria-hidden":!0,role:"button","aria-label":"Quick view",onClick:()=>c(t=>!t),children:e}),o(n,{setting:{open:i},closeOnClickOutside:!0,onClose:()=>c(t=>!t),children:o(y,{})})]}):null};f.defaultProps={label:"Quick View"};export{f as default};
2
+ import{jsxs as t,jsx as r}from"react/jsx-runtime";import{usePluginEnable as o,useProduct as e,useProductQuery as i,ProductProvider as l}from"@gem-sdk/core";import{useState as c}from"react";import p from"../../../grid/components/row/Row.js";import s from"../../../grid/components/col/Col.js";import"../../../modal/components/confirm.js";import n from"../../../modal/components/Modal.js";import a from"../product-button/ProductButton.js";import d from"../ProductImages.js";import m from"../product-price/ProductPrice.js";import u from"../product-quantity/ProductQuantity.js";import g from"../product-title/ProductTitle.js";import h from"../product-variants/ProductVariants.js";let y=()=>{let o=e(),{data:c,isValidating:n,error:y}=i(o?.id);return n?r("div",{children:t("svg",{className:"gp-mx-auto gp-my-20 gp-h-8 gp-w-8 gp-animate-spin gp-text-base",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",children:[r("circle",{className:"gp-opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),r("path",{className:"gp-opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]})}):y?r("p",{className:"gp-py-20 gp-text-center gp-font-semibold",children:"Something went wrong"}):r(l,{product:c,children:t(p,{setting:{layout:{desktop:{cols:[6,6],display:"fill"},mobile:{cols:[12]}}},children:[r(s,{children:r(d,{})}),t(s,{children:[r(g,{setting:{htmlTag:"p"},styles:{typography:{type:"heading-3"}}}),t(p,{setting:{layout:{desktop:{cols:[6,6],display:"fit"}}},children:[r(s,{children:r(m,{setting:{priceType:"regular"},styles:{typography:{type:"subheading-2"}}})}),r(s,{children:r(m,{setting:{priceType:"compare"},styles:{typography:{type:"paragraph-2"}}})})]}),r(h,{}),r(u,{}),r(a,{})]})]})})},f=({label:e})=>{let[i,l]=c(!1),p=o();return p?.includes("quick-view")?t("div",{children:[r("div",{"aria-hidden":!0,role:"button","aria-label":"Quick view",onClick:()=>l(t=>!t),children:e}),r(n,{setting:{open:i},closeOnClickOutside:!0,onClose:()=>l(t=>!t),children:r(y,{})})]}):null};f.defaultProps={label:"Quick View"};export{f as default};
@@ -1,7 +1,6 @@
1
- import{template as t,baseAssetURL as e,isLocalEnv as r}from"@gem-sdk/core";import{getSettingPreloadData as s}from"../../../helpers.js";import a from"../../../text/components/Text.liquid.js";import{LiquidUnless as o,LiquidIf as l,If as i}from"@gem-sdk/system";let p=({setting:p,styles:u,advanced:c,builderProps:n})=>{let d=u?.typo?.attrs?.transform==="capitalize",m=p?.label&&p.label.trim().length?`${d?p.label.toString().toLocaleLowerCase():p.label}`:"";return u?.disableHoverColor&&delete u.underlineLink,t`
2
- ${o("product","<p>Product not found</p>",`{% assign currentVariant = product.selected_or_first_available_variant %}
3
- <gp-product-sku>
4
- <script gp-data type="application/json">${JSON.stringify({label:m})}</script>
5
- ${a({styles:u,setting:{...p,text:`${l("currentVariant.sku.size > 0 ",`${m} ${i(d,"{{ currentVariant.sku | downcase }}","{{ currentVariant.sku }}")}`)}`,excludeFlex:!0,isForceValue:!0},advanced:c,builderProps:n,className:"gp-product-sku"})}
1
+ import{template as e,baseAssetURL as t,isLocalEnv as r}from"@gem-sdk/core";import{getSettingPreloadData as s}from"../../../helpers.js";import a from"../../../text/components/Text.liquid.js";import{LiquidUnless as l,LiquidIf as o,If as u}from"@gem-sdk/system";let i=({setting:i,styles:p,advanced:c,builderProps:d})=>{let n=p?.typo?.attrs?.transform==="capitalize",m=i?.label&&i.label.trim().length?`${n?i.label.toString().toLocaleLowerCase():i.label}`:"";return p?.disableHoverColor&&delete p.underlineLink,e`
2
+ ${l("product","<p>Product not found</p>",`{% assign currentVariant = product.selected_or_first_available_variant %}
3
+ <gp-product-sku gp-data='${JSON.stringify({label:m})}'>
4
+ ${a({styles:p,setting:{...i,text:`${o("currentVariant.sku.size > 0 ",`${m} ${u(n,"{{ currentVariant.sku | downcase }}","{{ currentVariant.sku }}")}`)}`,excludeFlex:!0,isForceValue:!0},advanced:c,builderProps:d,className:"gp-product-sku"})}
6
5
  </gp-product-sku>
7
- ${(()=>{let t=r?"{{ 'gp-product-sku-v7-5.js' | asset_url }}":`${e}/assets-v2/gp-product-sku-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}`;return`<script ${s('class="gps-link" delay',"src")}="${t}" defer="defer"></script>`})()}`)}`};export{p as default};
6
+ ${(()=>{let e=r?"{{ 'gp-product-sku-v7-5.js' | asset_url }}":`${t}/assets-v2/gp-product-sku-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}`;return`<script ${s('class="gps-link" delay',"src")}="${e}" defer="defer"></script>`})()}`)}`};export{i as default};
@@ -1,9 +1,10 @@
1
- import{dataStringify as t,template as r,baseAssetURL as e,isLocalEnv as p}from"@gem-sdk/core";import{getStaticLocale as o,getSettingPreloadData as s}from"../../../helpers.js";import i from"../../../text/components/Text.liquid.js";import{createAttr as l,createClass as d,createStateOrContext as c,LiquidUnless as u,If as m}from"@gem-sdk/system";import{getTextProps as a}from"./common/helpers.js";let n=n=>{let{setting:$,builderProps:f}=n,g=`<p>${o("ProductTitle","product_not_found")}</p>`,k=()=>i(a(n)),j=l({href:"{{ product.url }}",title:"{{ product.title }}"}),P=$?.linkProduct,S=d({"gp-product-title-link-wrapper":!0}),h=c({setting:{linkProduct:$?.linkProduct},uid:f?.uid});return u("product",`${g}`,r`
2
- <gp-product-title>
3
- <script gp-data type="application/json">${t(h)}</script>
4
- ${m(P,r`<a ${j} class="${S}">
1
+ import{dataStringify as t,template as r,baseAssetURL as e,isLocalEnv as o}from"@gem-sdk/core";import{getStaticLocale as p,getSettingPreloadData as s}from"../../../helpers.js";import i from"../../../text/components/Text.liquid.js";import{createAttr as l,createClass as d,createStateOrContext as u,LiquidUnless as c,If as m}from"@gem-sdk/system";import{getTextProps as a}from"./common/helpers.js";let n=n=>{let{setting:$,builderProps:f}=n,g=`<p>${p("ProductTitle","product_not_found")}</p>`,k=()=>i(a(n)),P=l({href:"{{ product.url }}",title:"{{ product.title }}"}),j=$?.linkProduct,S=d({"gp-product-title-link-wrapper":!0}),h=u({setting:{linkProduct:$?.linkProduct},uid:f?.uid});return c("product",`${g}`,r`
2
+ <gp-product-title
3
+ gp-data='${t(h)}'
4
+ >
5
+ ${m(j,r`<a ${P} class="${S}">
5
6
  ${k()}
6
7
  </a>`,r`${k()}`)}
7
8
  </gp-product-title>
8
- ${(()=>{let t=p?"{{ 'gp-product-title-v7-5.js' | asset_url }}":`${e}/assets-v2/gp-product-title-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}`;return`<script ${s('class="gps-link" delay',"src")}="${t}" defer="defer"></script>`})()}
9
+ ${(()=>{let t=o?"{{ 'gp-product-title-v7-5.js' | asset_url }}":`${e}/assets-v2/gp-product-title-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}`;return`<script ${s('class="gps-link" delay',"src")}="${t}" defer="defer"></script>`})()}
9
10
  `)};export{n as default};