@gem-sdk/components 19.1.0-staging.0 → 19.1.0-staging.10

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 (249) hide show
  1. package/dist/cjs/accordion/next.js +1 -1
  2. package/dist/cjs/article/components/ArticleContent.js +2 -2
  3. package/dist/cjs/article/components/ArticleExcerpt.js +1 -1
  4. package/dist/cjs/article/components/ArticleList.js +1 -1
  5. package/dist/cjs/article/index.js +1 -1
  6. package/dist/cjs/article/next.js +1 -1
  7. package/dist/cjs/breadcrumb/next.js +1 -1
  8. package/dist/cjs/button/components/Button.liquid.js +6 -6
  9. package/dist/cjs/button/next.js +1 -1
  10. package/dist/cjs/carousel/components/root/common/helpers.js +1 -1
  11. package/dist/cjs/carousel/next.js +1 -1
  12. package/dist/cjs/carousel-v3/components/root/CarouselEmbla.liquid.js +6 -5
  13. package/dist/cjs/carousel-v3/components/root/common/helpers.js +1 -1
  14. package/dist/cjs/carousel-v3/next.js +1 -1
  15. package/dist/cjs/cart/components/CartList.js +1 -1
  16. package/dist/cjs/cart/index.js +1 -1
  17. package/dist/cjs/cart/next.js +1 -1
  18. package/dist/cjs/code/next.js +1 -1
  19. package/dist/cjs/collection/next.js +1 -1
  20. package/dist/cjs/common/const.js +1 -1
  21. package/dist/cjs/countdown-timer/components/Countdown.liquid.js +3 -3
  22. package/dist/cjs/countdown-timer/next.js +1 -1
  23. package/dist/cjs/coupon/next.js +1 -1
  24. package/dist/cjs/dialog/index.js +1 -1
  25. package/dist/cjs/dialog/next.js +1 -1
  26. package/dist/cjs/estimate-delivery/next.js +1 -1
  27. package/dist/cjs/form/components/form-dropdown/FormDropdown.liquid.js +10 -10
  28. package/dist/cjs/form/next.js +1 -1
  29. package/dist/cjs/grid/components/row/common/helpers.js +1 -1
  30. package/dist/cjs/grid/components/section/Section.js +1 -1
  31. package/dist/cjs/grid/index.js +1 -1
  32. package/dist/cjs/header/components/kind/basic/index.js +1 -1
  33. package/dist/cjs/header/components/kind/modern/index.js +1 -1
  34. package/dist/cjs/header/index.js +1 -1
  35. package/dist/cjs/header/next.js +1 -1
  36. package/dist/cjs/hero-banner/components/HeroBannerItem.js +1 -1
  37. package/dist/cjs/hero-banner/index.js +1 -1
  38. package/dist/cjs/hero-banner/next.js +1 -1
  39. package/dist/cjs/icon/next.js +1 -1
  40. package/dist/cjs/icon-list/next.js +1 -1
  41. package/dist/cjs/icon-list-hoz/next.js +1 -1
  42. package/dist/cjs/icon-list-v2/components/IconList.liquid.js +5 -5
  43. package/dist/cjs/icon-list-v2/next.js +1 -1
  44. package/dist/cjs/image/common/const.js +1 -1
  45. package/dist/cjs/image/common/helpers.js +2 -2
  46. package/dist/cjs/image/settings/configs/ui-v2.js +1 -1
  47. package/dist/cjs/image-comparison/next.js +1 -1
  48. package/dist/cjs/image-comparison/settings/configs/ui-v2.js +1 -1
  49. package/dist/cjs/image-detection/next.js +1 -1
  50. package/dist/cjs/input/next.js +1 -1
  51. package/dist/cjs/line/next.js +1 -1
  52. package/dist/cjs/link/next.js +1 -1
  53. package/dist/cjs/marquee/next.js +1 -1
  54. package/dist/cjs/menu/next.js +1 -1
  55. package/dist/cjs/modal/next.js +1 -1
  56. package/dist/cjs/pagination/next.js +1 -1
  57. package/dist/cjs/post-purchase/advanced-list/next.js +1 -1
  58. package/dist/cjs/post-purchase/button/next.js +1 -1
  59. package/dist/cjs/post-purchase/buyer-consent/next.js +1 -1
  60. package/dist/cjs/post-purchase/callout-banner/components/CalloutBox.js +1 -1
  61. package/dist/cjs/post-purchase/callout-banner/index.js +1 -1
  62. package/dist/cjs/post-purchase/callout-banner/next.js +1 -1
  63. package/dist/cjs/post-purchase/countdown-timer/next.js +1 -1
  64. package/dist/cjs/post-purchase/image/next.js +1 -1
  65. package/dist/cjs/post-purchase/line/next.js +1 -1
  66. package/dist/cjs/post-purchase/link/next.js +1 -1
  67. package/dist/cjs/post-purchase/product/components/product-offer/components/ProductOffer.js +1 -1
  68. package/dist/cjs/post-purchase/product/components/product-offer/components/ProductOfferItem.js +1 -1
  69. package/dist/cjs/post-purchase/product/index.js +1 -1
  70. package/dist/cjs/post-purchase/product/next.js +1 -1
  71. package/dist/cjs/post-purchase/text/next.js +1 -1
  72. package/dist/cjs/product/components/product-badge/ProductBadge.js +1 -1
  73. package/dist/cjs/product/components/product-badge/ProductBadge.liquid.js +1 -1
  74. package/dist/cjs/product/components/product-button/ProductButton.liquid.js +1 -1
  75. package/dist/cjs/product/components/product-description/ProductDescription.liquid.js +1 -1
  76. package/dist/cjs/product/components/product-description/common/styles.js +7 -2
  77. package/dist/cjs/product/components/product-discount-tag/ProductDiscountTag.js +1 -1
  78. package/dist/cjs/product/components/product-images-v2/components/child/ProductFeaturedImageOnly.js +1 -1
  79. package/dist/cjs/product/components/product-images-v3/ProductImagesV3.liquid.js +13 -13
  80. package/dist/cjs/product/components/product-images-v3/ProductImagesV3Embla.liquid.js +15 -15
  81. package/dist/cjs/product/components/product-images-v3/components/child/ProductFeaturedImageOnly.js +1 -1
  82. package/dist/cjs/product/components/product-list/ProductList.js +1 -1
  83. package/dist/cjs/product/components/product-list-v3/ProductList.js +1 -1
  84. package/dist/cjs/product/components/product-list-v3/common/helpers.js +1 -1
  85. package/dist/cjs/product/components/product-list-v3/constants/index.js +1 -0
  86. package/dist/cjs/product/components/product-list-v3/hooks/useCollectionQuery.js +1 -0
  87. package/dist/cjs/product/components/product-list-v3/hooks/useMainRelatedProductQuery.js +1 -0
  88. package/dist/cjs/product/components/product-list-v3/hooks/useProductRelatedQuery.js +1 -0
  89. package/dist/cjs/product/components/product-list-v3/hooks/useProductsQuery.js +1 -0
  90. package/dist/cjs/product/components/product-list-v3/hooks/useRelatedProductIDAssigned.js +1 -0
  91. package/dist/cjs/product/components/product-quick-view/ProductQuickView.js +1 -1
  92. package/dist/cjs/product/components/product-variants/ProductVariants.liquid.js +6 -6
  93. package/dist/cjs/product/components/product-wrap/Product.js +1 -1
  94. package/dist/cjs/product/components/product-wrap/hook/useProductQuery.js +1 -0
  95. package/dist/cjs/product/components/product-wrap/hook/useProductSetting.js +1 -1
  96. package/dist/cjs/product/index.js +1 -1
  97. package/dist/cjs/product/next.js +1 -1
  98. package/dist/cjs/product/settings/product-image-v3/configs/ui-v2.js +1 -1
  99. package/dist/cjs/radio/next.js +1 -1
  100. package/dist/cjs/select/next.js +1 -1
  101. package/dist/cjs/shop-pay-installment/next.js +1 -1
  102. package/dist/cjs/sticky/index.js +1 -1
  103. package/dist/cjs/sticky/next.js +1 -1
  104. package/dist/cjs/stock-counter/next.js +1 -1
  105. package/dist/cjs/tab/next.js +1 -1
  106. package/dist/cjs/textarea/next.js +1 -1
  107. package/dist/cjs/third-party/next.js +1 -1
  108. package/dist/cjs/third-party/settings/AppstleBundlesDiscounts/index.js +2 -2
  109. package/dist/cjs/third-party/settings/BoldSubscriptions/index.js +1 -1
  110. package/dist/cjs/third-party/settings/BoldSubscriptions/uiV2.js +1 -1
  111. package/dist/cjs/third-party/settings/GloColorSwatchvariantImage/index.js +1 -1
  112. package/dist/cjs/third-party/settings/HextomCountdownTimerBar/index.js +2 -2
  113. package/dist/cjs/third-party/settings/LoopSubscriptions/index.js +1 -1
  114. package/dist/cjs/third-party/settings/LoopSubscriptions/uiV2.js +1 -1
  115. package/dist/cjs/third-party/settings/RechargeSubscriptions/index.js +1 -1
  116. package/dist/cjs/third-party/settings/SeoantTrustBadgesIcon/uiV2.js +1 -1
  117. package/dist/cjs/third-party/settings/ShopifyForms/uiV2.js +1 -1
  118. package/dist/cjs/third-party/settings/SkioSubscriptionsYcS20/index.js +2 -2
  119. package/dist/cjs/third-party/settings/SproutPlantTreesGrowSales/index.js +1 -1
  120. package/dist/cjs/third-party/settings/TrustshopProductReviews/index.js +2 -2
  121. package/dist/cjs/third-party/settings/WcWishlistBackInStock/index.js +2 -2
  122. package/dist/cjs/third-party-instant/next.js +1 -1
  123. package/dist/cjs/third-party-slot/next.js +1 -1
  124. package/dist/cjs/video/next.js +1 -1
  125. package/dist/esm/accordion/next.js +1 -1
  126. package/dist/esm/article/components/ArticleContent.js +2 -2
  127. package/dist/esm/article/components/ArticleExcerpt.js +1 -1
  128. package/dist/esm/article/components/ArticleList.js +1 -1
  129. package/dist/esm/article/index.js +1 -1
  130. package/dist/esm/article/next.js +1 -1
  131. package/dist/esm/breadcrumb/next.js +1 -1
  132. package/dist/esm/button/components/Button.liquid.js +4 -4
  133. package/dist/esm/button/next.js +1 -1
  134. package/dist/esm/carousel/components/root/common/helpers.js +1 -1
  135. package/dist/esm/carousel/next.js +1 -1
  136. package/dist/esm/carousel-v3/components/root/CarouselEmbla.liquid.js +4 -3
  137. package/dist/esm/carousel-v3/components/root/common/helpers.js +1 -1
  138. package/dist/esm/carousel-v3/next.js +1 -1
  139. package/dist/esm/cart/components/CartList.js +1 -1
  140. package/dist/esm/cart/index.js +1 -1
  141. package/dist/esm/cart/next.js +1 -1
  142. package/dist/esm/code/next.js +1 -1
  143. package/dist/esm/collection/next.js +1 -1
  144. package/dist/esm/common/const.js +1 -1
  145. package/dist/esm/countdown-timer/components/Countdown.liquid.js +5 -5
  146. package/dist/esm/countdown-timer/next.js +1 -1
  147. package/dist/esm/coupon/next.js +1 -1
  148. package/dist/esm/dialog/index.js +1 -1
  149. package/dist/esm/dialog/next.js +1 -1
  150. package/dist/esm/estimate-delivery/next.js +1 -1
  151. package/dist/esm/form/components/form-dropdown/FormDropdown.liquid.js +9 -9
  152. package/dist/esm/form/next.js +1 -1
  153. package/dist/esm/grid/components/row/common/helpers.js +1 -1
  154. package/dist/esm/grid/components/section/Section.js +1 -1
  155. package/dist/esm/grid/index.js +1 -1
  156. package/dist/esm/header/components/kind/basic/index.js +1 -1
  157. package/dist/esm/header/components/kind/modern/index.js +1 -1
  158. package/dist/esm/header/index.js +1 -1
  159. package/dist/esm/header/next.js +1 -1
  160. package/dist/esm/hero-banner/components/HeroBannerItem.js +1 -1
  161. package/dist/esm/hero-banner/index.js +1 -1
  162. package/dist/esm/hero-banner/next.js +1 -1
  163. package/dist/esm/icon/next.js +1 -1
  164. package/dist/esm/icon-list/next.js +1 -1
  165. package/dist/esm/icon-list-hoz/next.js +1 -1
  166. package/dist/esm/icon-list-v2/components/IconList.liquid.js +8 -8
  167. package/dist/esm/icon-list-v2/next.js +1 -1
  168. package/dist/esm/image/common/const.js +1 -1
  169. package/dist/esm/image/common/helpers.js +2 -2
  170. package/dist/esm/image/settings/configs/ui-v2.js +1 -1
  171. package/dist/esm/image-comparison/next.js +1 -1
  172. package/dist/esm/image-comparison/settings/configs/ui-v2.js +1 -1
  173. package/dist/esm/image-detection/next.js +1 -1
  174. package/dist/esm/input/next.js +1 -1
  175. package/dist/esm/line/next.js +1 -1
  176. package/dist/esm/link/next.js +1 -1
  177. package/dist/esm/marquee/next.js +1 -1
  178. package/dist/esm/menu/next.js +1 -1
  179. package/dist/esm/modal/next.js +1 -1
  180. package/dist/esm/pagination/next.js +1 -1
  181. package/dist/esm/post-purchase/advanced-list/next.js +1 -1
  182. package/dist/esm/post-purchase/button/next.js +1 -1
  183. package/dist/esm/post-purchase/buyer-consent/next.js +1 -1
  184. package/dist/esm/post-purchase/callout-banner/components/CalloutBox.js +1 -1
  185. package/dist/esm/post-purchase/callout-banner/index.js +1 -1
  186. package/dist/esm/post-purchase/callout-banner/next.js +1 -1
  187. package/dist/esm/post-purchase/countdown-timer/next.js +1 -1
  188. package/dist/esm/post-purchase/image/next.js +1 -1
  189. package/dist/esm/post-purchase/line/next.js +1 -1
  190. package/dist/esm/post-purchase/link/next.js +1 -1
  191. package/dist/esm/post-purchase/product/components/product-offer/components/ProductOffer.js +1 -1
  192. package/dist/esm/post-purchase/product/components/product-offer/components/ProductOfferItem.js +1 -1
  193. package/dist/esm/post-purchase/product/index.js +1 -1
  194. package/dist/esm/post-purchase/product/next.js +1 -1
  195. package/dist/esm/post-purchase/text/next.js +1 -1
  196. package/dist/esm/product/components/product-badge/ProductBadge.js +1 -1
  197. package/dist/esm/product/components/product-badge/ProductBadge.liquid.js +2 -2
  198. package/dist/esm/product/components/product-button/ProductButton.liquid.js +5 -5
  199. package/dist/esm/product/components/product-description/ProductDescription.liquid.js +3 -3
  200. package/dist/esm/product/components/product-description/common/styles.js +7 -2
  201. package/dist/esm/product/components/product-discount-tag/ProductDiscountTag.js +1 -1
  202. package/dist/esm/product/components/product-images-v2/components/child/ProductFeaturedImageOnly.js +1 -1
  203. package/dist/esm/product/components/product-images-v3/ProductImagesV3.liquid.js +12 -12
  204. package/dist/esm/product/components/product-images-v3/ProductImagesV3Embla.liquid.js +16 -16
  205. package/dist/esm/product/components/product-images-v3/components/child/ProductFeaturedImageOnly.js +1 -1
  206. package/dist/esm/product/components/product-list/ProductList.js +1 -1
  207. package/dist/esm/product/components/product-list-v3/ProductList.js +1 -1
  208. package/dist/esm/product/components/product-list-v3/common/helpers.js +1 -1
  209. package/dist/esm/product/components/product-list-v3/constants/index.js +1 -0
  210. package/dist/esm/product/components/product-list-v3/hooks/useCollectionQuery.js +1 -0
  211. package/dist/esm/product/components/product-list-v3/hooks/useMainRelatedProductQuery.js +1 -0
  212. package/dist/esm/product/components/product-list-v3/hooks/useProductRelatedQuery.js +1 -0
  213. package/dist/esm/product/components/product-list-v3/hooks/useProductsQuery.js +1 -0
  214. package/dist/esm/product/components/product-list-v3/hooks/useRelatedProductIDAssigned.js +1 -0
  215. package/dist/esm/product/components/product-quick-view/ProductQuickView.js +1 -1
  216. package/dist/esm/product/components/product-variants/ProductVariants.liquid.js +8 -8
  217. package/dist/esm/product/components/product-wrap/Product.js +1 -1
  218. package/dist/esm/product/components/product-wrap/hook/useProductQuery.js +1 -0
  219. package/dist/esm/product/components/product-wrap/hook/useProductSetting.js +1 -1
  220. package/dist/esm/product/index.js +1 -1
  221. package/dist/esm/product/next.js +1 -1
  222. package/dist/esm/product/settings/product-image-v3/configs/ui-v2.js +1 -1
  223. package/dist/esm/radio/next.js +1 -1
  224. package/dist/esm/select/next.js +1 -1
  225. package/dist/esm/shop-pay-installment/next.js +1 -1
  226. package/dist/esm/sticky/index.js +1 -1
  227. package/dist/esm/sticky/next.js +1 -1
  228. package/dist/esm/stock-counter/next.js +1 -1
  229. package/dist/esm/tab/next.js +1 -1
  230. package/dist/esm/textarea/next.js +1 -1
  231. package/dist/esm/third-party/next.js +1 -1
  232. package/dist/esm/third-party/settings/AppstleBundlesDiscounts/index.js +2 -2
  233. package/dist/esm/third-party/settings/BoldSubscriptions/index.js +1 -1
  234. package/dist/esm/third-party/settings/BoldSubscriptions/uiV2.js +1 -1
  235. package/dist/esm/third-party/settings/GloColorSwatchvariantImage/index.js +1 -1
  236. package/dist/esm/third-party/settings/HextomCountdownTimerBar/index.js +2 -2
  237. package/dist/esm/third-party/settings/LoopSubscriptions/index.js +1 -1
  238. package/dist/esm/third-party/settings/LoopSubscriptions/uiV2.js +1 -1
  239. package/dist/esm/third-party/settings/RechargeSubscriptions/index.js +1 -1
  240. package/dist/esm/third-party/settings/SeoantTrustBadgesIcon/uiV2.js +1 -1
  241. package/dist/esm/third-party/settings/ShopifyForms/uiV2.js +1 -1
  242. package/dist/esm/third-party/settings/SkioSubscriptionsYcS20/index.js +2 -2
  243. package/dist/esm/third-party/settings/SproutPlantTreesGrowSales/index.js +1 -1
  244. package/dist/esm/third-party/settings/TrustshopProductReviews/index.js +2 -2
  245. package/dist/esm/third-party/settings/WcWishlistBackInStock/index.js +2 -2
  246. package/dist/esm/third-party-instant/next.js +1 -1
  247. package/dist/esm/third-party-slot/next.js +1 -1
  248. package/dist/esm/video/next.js +1 -1
  249. package/package.json +5 -5
@@ -1,4 +1,4 @@
1
- import{composeTypographyStyle as t,makeStyle as e,getGlobalColorStyle as o,makeStyleResponsive as l,getStyleShadow as i,filterTruthyStyles as n,getResponsiveValueByScreen as a}from"@gem-sdk/core";let p=["desktop","mobile","tablet"],r=(t,e)=>{let o={};return p.forEach(l=>{o={...o,[`--d${"desktop"===l?"":`-${l}`}`]:`${t(l)?"none":e}`}}),o},s=({setting:a,renderMaxHeight:p})=>{let r=t(a?.typo,a?.typography),s={...i({value:a?.typo?.custom?.textShadow,styleAppliedFor:"text-shadow",isEnableShadow:a?.typo?.custom?.hasShadowText}),...l("ta",a?.textAlign),...o(a?.color),...e({tt:a?.transform}),...r,...p&&c(a)};return n(s)},d=({setting:i})=>{let a=t(i?.typo,i?.typography),p={...l("jc",i?.textAlign),...e({tt:i?.transform}),...a,...o(i?.showMoreColor),...r(t=>!!i?.hasLineClamp&&void 0!==i.hasLineClamp[t]&&!i.hasLineClamp[t],"inline-flex")};return n(p)},h=()=>{let t=`
1
+ import{composeTypographyStyle as t,makeStyle as e,getGlobalColorStyle as o,makeStyleResponsive as l,getStyleShadow as i,filterTruthyStyles as n,getResponsiveValueByScreen as p}from"@gem-sdk/core";let a=["desktop","mobile","tablet"],r=(t,e)=>{let o={};return a.forEach(l=>{o={...o,[`--d${"desktop"===l?"":`-${l}`}`]:`${t(l)?"none":e}`}}),o},s=({setting:p,renderMaxHeight:a})=>{let r=t(p?.typo,p?.typography),s={...i({value:p?.typo?.custom?.textShadow,styleAppliedFor:"text-shadow",isEnableShadow:p?.typo?.custom?.hasShadowText}),...l("ta",p?.textAlign),...o(p?.color),...e({tt:p?.transform}),...r,...a&&c(p)};return n(s)},h=({setting:i})=>{let p=t(i?.typo,i?.typography),a={...l("jc",i?.textAlign),...e({tt:i?.transform}),...p,...o(i?.showMoreColor),...r(t=>!!i?.hasLineClamp&&void 0!==i.hasLineClamp[t]&&!i.hasLineClamp[t],"inline-flex")};return n(a)},d=()=>{let t=`
2
2
  .gp-p-description-text > :not(ol, ul, table, div, style, script) {
3
3
  display: inline !important;
4
4
  }
@@ -7,6 +7,11 @@ import{composeTypographyStyle as t,makeStyle as e,getGlobalColorStyle as o,makeS
7
7
  content: "";
8
8
  display: block; /* đảm bảo xuống d\xf2ng tr\xean Safari/iOS */
9
9
  }
10
+
11
+ .gp-p-description-text > :is(p, h1, h2, h3, h4, h5, h6, blockquote):not(:last-child)::after {
12
+ height: 1lh;
13
+ }
14
+
10
15
  .gp-p-description-text > table {
11
16
  box-shadow: none;
12
17
  }
@@ -14,4 +19,4 @@ import{composeTypographyStyle as t,makeStyle as e,getGlobalColorStyle as o,makeS
14
19
  .p-description-wrapper.gp-p-description-text * {
15
20
  color: inherit;
16
21
  line-height: inherit !important;
17
- }`;return{gpDescriptionCss:t,textDescriptionCss:e}},c=t=>{let e={desktop:"none"};return["desktop","mobile","tablet"].forEach(o=>{let l=a(t?.lineClamp,o),i=a(t?.hasLineClamp,o);i&&l?e[o]=`calc(${l} * 1lh)`:e[o]="none"}),{...l("maxh",e)}};export{d as getButtonStyle,c as getMaxHeightStyleDefault,h as getStaticCss,s as getTextStyle};
22
+ }`;return{gpDescriptionCss:t,textDescriptionCss:e}},c=t=>{let e={desktop:"none"};return["desktop","mobile","tablet"].forEach(o=>{let l=p(t?.lineClamp,o),i=p(t?.hasLineClamp,o);i&&l?e[o]=`calc(${l} * 1lh)`:e[o]="none"}),{...l("maxh",e)}};export{h as getButtonStyle,c as getMaxHeightStyleDefault,d as getStaticCss,s as getTextStyle};
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import{jsx as e,jsxs as t}from"react/jsx-runtime";import{useI18nStore as s,makeStyleResponsive as o}from"@gem-sdk/core";import i from"../../../common/components/NoDataState.js";import l from"../../../common/components/TooltipHover.js";import r from"../../../text/components/Text.js";import{createStyle as d,createClass as m,If as n}from"@gem-sdk/system";import{getWrapperTextStyle as a,getContainerStyle as p}from"./common/styles.js";import{getWrapperTextClass as c,getContainerClass as u,getRootClass as x}from"./common/classes.js";import{useGpDiscountTag as f}from"./hooks/useGpDiscountTag.js";let g=({setting:g,styles:y,builderProps:h,...b})=>{let{customContent:j}=g??{},N=b["bundle-item"],{textAlign:v}=y??{},{t:T}=s(),{mode:k,product:w,salePrice:A,priceSave:D,currentProductId:F,unitCustomDisplay:S,shouldPlaceholderNoDiscount:$}=f({setting:g,styles:y,builderProps:h,...b});if($)return e(l,{enable:!0,text:T("Not be displayed when published"),position:"bottom",width:"205px",children:e(i,{builderAttrs:h?.builderData,elementType:"secondary",description:T("No discount"),rawMode:!0,customClass:"!gp-p-[5px]"})});let q=d(a(y)),C=d(p(y)),I=m(c(y)),E=m(u()),G=m(x({mode:k,salePrice:A,priceSave:D,bundleItem:N}));return e("div",{className:G,style:{...o("ta",v)},id:`shopify-text-element-${h?.uid}`,"data-id":h?.uid,"data-product-id":F,"gp-data-hidden":"false",children:n(!w," ",e("div",{className:E,style:C,children:e("div",{className:I,style:q,children:t("div",{className:"gp-flex gp-break-all",children:[e(r,{styles:y,setting:{...g,text:j?.prefix?.replaceAll(" "," "),options:{useState:!0,uniqueId:`${h?.uid}-prefix`},excludeFlex:!0}}),e(r,{styles:y,setting:{...g,text:S,options:{isCannotEditing:!0},excludeFlex:!0}}),e(r,{styles:y,setting:{...g,text:j?.suffix?.replaceAll(" "," "),excludeFlex:!0,options:{useState:!0,uniqueId:`${h?.uid}-suffix`}}})]})})}))})};export{g as default};
2
+ import{jsx as e,jsxs as t}from"react/jsx-runtime";import{useI18nStore as s,makeStyleResponsive as o}from"@gem-sdk/core";import i from"../../../common/components/NoDataState.js";import l from"../../../common/components/TooltipHover.js";import"../../../common/const.js";import r from"../../../text/components/Text.js";import{createStyle as m,createClass as n,If as d}from"@gem-sdk/system";import{getWrapperTextStyle as p,getContainerStyle as a}from"./common/styles.js";import{getWrapperTextClass as c,getContainerClass as u,getRootClass as x}from"./common/classes.js";import{useGpDiscountTag as f}from"./hooks/useGpDiscountTag.js";let g=({setting:g,styles:y,builderProps:h,...b})=>{let{customContent:j}=g??{},N=b["bundle-item"],{textAlign:v}=y??{},{t:T}=s(),{mode:k,product:w,salePrice:A,priceSave:D,currentProductId:F,unitCustomDisplay:S,shouldPlaceholderNoDiscount:$}=f({setting:g,styles:y,builderProps:h,...b});if($)return e(l,{enable:!0,text:T("Not be displayed when published"),position:"bottom",width:"205px",children:e(i,{builderAttrs:h?.builderData,elementType:"secondary",description:T("No discount"),rawMode:!0,customClass:"!gp-p-[5px]"})});let q=m(p(y)),C=m(a(y)),I=n(c(y)),E=n(u()),G=n(x({mode:k,salePrice:A,priceSave:D,bundleItem:N}));return e("div",{className:G,style:{...o("ta",v)},id:`shopify-text-element-${h?.uid}`,"data-id":h?.uid,"data-product-id":F,"gp-data-hidden":"false",children:d(!w," ",e("div",{className:E,style:C,children:e("div",{className:I,style:q,children:t("div",{className:"gp-flex gp-break-all gp-items-center",children:[e(r,{styles:y,setting:{...g,text:j?.prefix?.replaceAll(" "," "),options:{useState:!0,uniqueId:`${h?.uid}-prefix`},excludeFlex:!0}}),e(r,{styles:y,setting:{...g,text:S,options:{isCannotEditing:!0},excludeFlex:!0}}),e(r,{styles:y,setting:{...g,text:j?.suffix?.replaceAll(" "," "),excludeFlex:!0,options:{useState:!0,uniqueId:`${h?.uid}-suffix`}}})]})})}))})};export{g as default};
@@ -1,2 +1,2 @@
1
1
  'use client';
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}from"react";import p from"../../../../../image/components/NextImage.js";import m from"./MediaIcon.js";import{isFeatureMedia as d,getZoomImageClass as g,getZoomLenClass as y}from"../../common/productFeaturedImage.js";import u from"./ProductFeatureVideo.js";let v={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 E=l(({image:l,imageShowWhenHover:E,setting:T,aspectRatio:b})=>{var w;let I=r(),x=i(),L=a(e=>e.storefrontUrl),{isEditMode:j,isPreviewSharePageMode:N}=c(),O=f(()=>"none"!==n(T.ftClickOpenLightBox,x),[x,T.ftClickOpenLightBox]),k=f(()=>!j&&["VIDEO","EXTERNAL_VIDEO"].includes(l?.contentType||"")&&!O,[j,l?.contentType,O]),R=f(()=>l?{...l,src:k?l.src:d(l?.contentType)?l?.previewImage:l.src}:v,[l,k]),$=f(()=>{if(N)return"javascript:void(0)";if(!L)return"#";let e=new URL(L);return I?`${e.protocol}//${e.host}/products/${I.handle}`:"#"},[L,I,N]),z=f(()=>T?.hoverEffect!=="none"&&!d(R?.contentType),[R?.contentType,T?.hoverEffect]),B=f(()=>T?.hoverEffect=="zoom"&&T?.zoomType=="glasses"&&!d(R?.contentType),[R?.contentType,T?.hoverEffect,T?.zoomType]);return e(t,{children:(w=e(t,{children:k?e(u,{type:R?.contentType,url:R.src??"",aspectRatio:b}):o(t,{children:[e(p,{draggable:"false",src:R.src,width:R?.width,height:R?.height,alt:R?.alt,setting:{aspectRatio:b,layout:T?.ftLayout},priority:T?.preload,className:"featured-image-only",style:{width:"100%",height:"100%",cursor:"pointer"}}),e(m,{contentType:R?.contentType??""}),z&&e(p,{draggable:"false",src:T?.hoverEffect==="other"?E?.src:R.src,width:T?.hoverEffect==="other"?E?.width:R.width,height:T?.hoverEffect==="other"?E?.height:R.height,alt:T?.hoverEffect==="other"?E?.alt:R.alt,setting:{layout:T.ftLayout,aspectRatio:b},style:{width:"100%",height:"100%"},className:s("hover-image featured-image-only !gp-max-w-none",g()),priority:T?.preload}),B&&e("div",{className:s(y(),"room-len"),style:{...h({bgi:`url("${R?.src}")`})}})]})}),"product-link"===n(T.ftClickOpenLightBox,x)?e("a",{title:I?.title,href:$,className:"gp-w-full",children:w}):w)})});export{E as default};
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}from"react";import p from"../../../../../image/components/NextImage.js";import m from"./MediaIcon.js";import{isFeatureMedia as g,getZoomImageClass as d,getZoomLenClass as u}from"../../common/productFeaturedImage.js";import y from"./ProductFeatureVideo.js";let T={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 b=h(({image:h,imageShowWhenHover:b,setting:v,aspectRatio:E})=>{let w=o(),I=i(),k=a(e=>e.storefrontUrl),{isEditMode:x,isPreviewSharePageMode:L}=c(),N=f(()=>"none"!==n(v.ftClickOpenLightBox,I),[I,v.ftClickOpenLightBox]),O=f(()=>!x&&["VIDEO","EXTERNAL_VIDEO"].includes(h?.contentType||"")&&!N,[x,h?.contentType,N]),j=f(()=>h?{...h,src:O?h.src:g(h?.contentType)?h?.previewImage:h.src}:T,[h,O]),R=f(()=>{if(L)return"javascript:void(0)";if(!k)return"#";let e=new URL(k);return w?`${e.protocol}//${e.host}/products/${w.handle}`:"#"},[k,w,L]),C=f(()=>v?.hoverEffect!=="none"&&!g(j?.contentType),[j?.contentType,v?.hoverEffect]),$=f(()=>v?.hoverEffect=="zoom"&&v?.zoomType=="glasses"&&!g(j?.contentType),[j?.contentType,v?.hoverEffect,v?.zoomType]);return e(t,{children:(t=>{if("product-link"===n(v.ftClickOpenLightBox,I)){let r=v.ftClickOpenNewTab?"_blank":"_self";return e("a",{title:w?.title,href:R,className:"gp-w-full",target:r,children:t})}return t})(e(t,{children:O?e(y,{type:j?.contentType,url:j.src??"",aspectRatio:E}):r(t,{children:[e(p,{draggable:"false",src:j.src,width:j?.width,height:j?.height,alt:j?.alt,setting:{aspectRatio:E,layout:v?.ftLayout},priority:v?.preload,className:"featured-image-only",style:{width:"100%",height:"100%",cursor:"pointer"}}),e(m,{contentType:j?.contentType??""}),C&&e(p,{draggable:"false",src:v?.hoverEffect==="other"?b?.src:j.src,width:v?.hoverEffect==="other"?b?.width:j.width,height:v?.hoverEffect==="other"?b?.height:j.height,alt:v?.hoverEffect==="other"?b?.alt:j.alt,setting:{layout:v.ftLayout,aspectRatio:E},style:{width:"100%",height:"100%"},className:l("hover-image featured-image-only !gp-max-w-none",d()),priority:v?.preload}),$&&e("div",{className:l(u(),"room-len"),style:{...s({bgi:`url("${j?.src}")`})}})]})}))})});export{b as default};
@@ -1,18 +1,18 @@
1
- import{isLocalEnv as e,baseAssetURL as o,template as r,WrapRenderChildren as t,RenderChildren as s}from"@gem-sdk/core";import{getConditionRenderGalleryImages as i,getStyleInsideLayout as a,setDefaultWhenUndefineSetting as p}from"./common/common.js";import l from"./components/feature-gallery/FeatureImageWithGallery.liquid.js";import d from"./components/gallery-carousel/GalleryCarousel.liquid.js";import m from"./components/gallery-grid/GalleryGrid.liquid.js";import{filterPageContext as c,getSettingPreloadData as u}from"../../../helpers.js";import{getShapeByLayout as n,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 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=p(C),{setting:G,styles:D,builderProps:b,style:z}=P,{rawChildren:O,pageContext:_}=C,N={...G,...D},A=`
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/FeatureImageWithGallery.liquid.js";import d from"./components/gallery-carousel/GalleryCarousel.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:G,styles:D,builderProps:b,style:z}=P,{rawChildren:O,pageContext:_}=C,N={...G,...D},A=`
2
2
  {
3
3
  "id":${JSON.stringify(b?.uid)},
4
- "pageContext": ${JSON.stringify(c(_))},
4
+ "pageContext": ${JSON.stringify(n(_))},
5
5
  "setting":${JSON.stringify(G)},
6
6
  "styles":${JSON.stringify(D)},
7
7
  "productUrl":{{product.url | json }},
8
- "product":{{ product | json }},
8
+ "product":{% if product %}{"id":{{ product.id | json }},"handle":{{ product.handle | json }},"media":{{ product.media | json }}}{% else %}null{% endif %},
9
9
  "collectionUrl": {{ collection.url | json }},
10
- "collection": {{ collection | json }}
10
+ "collection": {% if collection %}{"handle":{{ collection.handle | json }}}{% else %}null{% endif %}
11
11
  }
12
- `,B=$({"section-id":"{{section.id}}","data-id":`${b?.uid}`}),{isOnlyFeatureAllDevices:U,isRenderGalleryGrid:k}=i(N?.position,G?.type),q=k?{}:$({"data-only-image":h("product.media.size > 1","false","true")}),{wrapperClasses:E,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}=y(N),R=n({shape:N.shape,shapeForBottom:N.shapeForBottom,shapeFor1Col:N.shapeFor1Col,shapeFor2Col:N.shapeFor2Col,shapeForFtOnly:N.shapeForFtOnly,shapeForInsideBottom:N.shapeForInsideBottom??g,shapeForInside:N.shapeForInside??g},N.position),V=a(N.position,R,N?.spacing),W=()=>r`
13
- ${t({uid:b?.uid||"",customProps:O?.[0].customProps},O?.map(e=>{if(e)return r`${s({...e,isInsideProductImage:!0,imageData:{imageShape:D?.ftShape,imageAlign:D?.align,imageLayout:D?.position},dotData:{dotSize:G?.ftDotSize,dotGapToCarousel:G?.ftDotGapToCarousel,dotStyle:G?.ftDotStyle}})}`}))}
14
- `;return r`
15
- ${j(G?.borderActive?.border!=="none",h("product.media.size > 1",`<style>${F({settings:N,uid:b?.uid,type:"Liquid"})}</style>`),"")}
12
+ `,B=$({"section-id":"{{section.id}}","data-id":`${b?.uid}`}),{isOnlyFeatureAllDevices:U,isRenderGalleryGrid:k}=s(N?.position,G?.type),q=k?{}:$({"data-only-image":h("product.media.size > 1","false","true")}),{wrapperClasses:E,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(N),R=u({shape:N.shape,shapeForBottom:N.shapeForBottom,shapeFor1Col:N.shapeFor1Col,shapeFor2Col:N.shapeFor2Col,shapeForFtOnly:N.shapeForFtOnly,shapeForInsideBottom:N.shapeForInsideBottom??g,shapeForInside:N.shapeForInside??g},N.position),V=a(N.position,R,N?.spacing),W=()=>i`
13
+ ${t({uid:b?.uid||"",customProps:O?.[0].customProps},O?.map(e=>{if(e)return i`${r({...e,isInsideProductImage:!0,imageData:{imageShape:D?.ftShape,imageAlign:D?.align,imageLayout:D?.position},dotData:{dotSize:G?.ftDotSize,dotGapToCarousel:G?.ftDotGapToCarousel,dotStyle:G?.ftDotStyle}})}`}))}
14
+ `;return i`
15
+ ${v(G?.borderActive?.border!=="none",h("product.media.size > 1",`<style>${F({settings:N,uid:b?.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 %}")}
@@ -27,18 +27,18 @@ import{isLocalEnv as e,baseAssetURL as o,template as r,WrapRenderChildren as t,R
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
- ${l({builderPropUID:`gp-carousel-${b?.uid}`,...N,children:W(),pageContext:_})}
31
- ${j(!U,r`
30
+ ${p({builderPropUID:`gp-carousel-${b?.uid}`,...N,children:W(),pageContext:_})}
31
+ ${v(!U,i`
32
32
  <div
33
33
  class="${J}"
34
34
  style="${I(M)}"
35
35
  ${{...q}}
36
36
  >
37
37
  ${h("product.media.size > 1",d({builderPropUID:`gp-gallery-${b?.uid}`,...N,pageContext:_}))}
38
- ${j(k,m({builderPropUID:b?.uid,wrapperStyle:{...V},children:W(),...N,pageContext:_}))}
38
+ ${v(k,m({builderPropUID:b?.uid,wrapperStyle:{...V},children:W(),...N,pageContext:_}))}
39
39
  </div>
40
40
  `)}
41
41
  </div>
42
42
  </gp-product-images-v3>
43
- ${j(e,`<script ${u('class="gps-link" delay',"src")}="{{ 'gp-product-images-v3-v7-5.js' | asset_url }}" defer="defer"></script>`,`<script ${u('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
+ ${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>`)}
44
44
  `};export{C as default};
@@ -1,44 +1,44 @@
1
- import{isLocalEnv as e,baseAssetURL as o,template as r,WrapRenderChildren as s,RenderChildren as t}from"@gem-sdk/core";import{getConditionRenderGalleryImages as i,getStyleInsideLayout as a,setDefaultWhenUndefineSetting as p}from"./common/common.js";import l from"./components/feature-gallery/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 u}from"../../../helpers.js";import{getShapeByLayout as n,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 S,Liquid as j}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=p(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 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=`
2
2
  {
3
3
  "id":${JSON.stringify(D?.uid)},
4
- "pageContext": ${JSON.stringify(c(_))},
4
+ "pageContext": ${JSON.stringify(n(_))},
5
5
  "setting":${JSON.stringify(b)},
6
6
  "styles":${JSON.stringify(G)},
7
- "productUrl":{{product.url | json | escape}},
8
- "product":{{product | json | escape}},
9
- "collectionUrl": {{ collection.url | json | escape }},
10
- "collection": {{ collection | json | escape}}
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 %}
11
11
  }
12
- `,A=y({"section-id":"{{section.id}}","data-id":`${D?.uid}`}),{isOnlyFeatureAllDevices:B,isRenderGalleryGrid:U}=i(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=n({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=()=>r`
13
- ${s({uid:D?.uid||"",customProps:O?.[0].customProps},O?.map(e=>{if(e)return r`${t({...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 r`
15
- ${S(b?.borderActive?.border!=="none",h("product.media.size > 1",`<style>${F({settings:E,uid:D?.uid,type:"Liquid"})}</style>`),"")}
16
- ${j(`
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>`),"")}
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}'
22
21
  ${{...A}}
23
22
  style="${{...z}}"
24
23
  class="${q}"
25
24
  >
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
- ${l({builderPropUID:`gp-carousel-${D?.uid}`,...E,children:W(),pageContext:_})}
31
- ${S(!B,r`
30
+ ${p({builderPropUID:`gp-carousel-${D?.uid}`,...E,children:W(),pageContext:_})}
31
+ ${v(!B,i`
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
- ${S(U,m({builderPropUID:D?.uid,wrapperStyle:{...V},children:W(),...E,pageContext:_}))}
38
+ ${v(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
- ${S(e,`<script ${u('class="gps-link" delay',"src")}="{{ 'gp-product-images-v3-v7-5.js' | asset_url }}" defer="defer"></script>`,`<script ${u('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
+ ${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>`)}
44
44
  `};export{C as default};
@@ -1,2 +1,2 @@
1
1
  'use client';
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};
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};
@@ -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 w from"./ProductListCarouselLayout.js";import{getStyle as S}from"./common/styles.js";import{If as C}from"@gem-sdk/system";import{getClass as E}from"./common/classes.js";import{getData as N}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:H}=N(o),Q=H.relatedTag&&H.relatedTag[0],{isEditMode:z,isPreviewSharePageMode:D}=c(),F=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&&(H.productSrc="DynamicCollection",H.collectionId=_?.collectionId??"latest");let et=H?.productSrc??"Collection",er=$?.productId&&$?.productId!==H.relatedProductId?$?.productId:H.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:z||D},ea),ei=H.relatedTag&&"tags"===H.relatedTag[0]&&(!el?.tags||el?.tags.length===0),ec=H.relatedTag&&"collection"===H.relatedTag[0]&&(!el?.collections?.edges||el?.collections.edges.length===0),es=H.relatedTag&&"vendor"===H.relatedTag[0]&&!el?.vendor,en=f(K,{revalidateOnMount:z||D},ea),eu=z||D,em=P("PickProduct"===et?H?.productIds:void 0,{revalidateOnMount:eu},{defaultSelectedProductCount:H?.numOfSelectedProducts}),eg=l(()=>({id:H?.collectionId??"latest",numberOfProducts:M?.numberOfProducts??4,orderBy:M?.orderBy}),[H?.collectionId,Number(M?.numberOfProducts),M?.orderBy]),eh=b("PickProduct"!==et?eg:void 0,{revalidateOnMount:eu});i(()=>{if(A&&el&&H.relatedTag&&"recommended-product"!==H.relatedType){let e;switch(Z(!1),H.hasRelatedExclude&&(e=H?.relatedExclude&&H.relatedExclude.split(",").map(e=>e.trim())),H.relatedTag[0]){case"vendor":X({first:M?.numberOfProducts,where:{vendor:H.relatedTag&&"vendor"===H.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,where:{idNEQ:el.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:t},{titleNotIn:e}]}]}}:{first:M?.numberOfProducts,where:{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,where:{idNEQ:el.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:el.tags},{nameNotIn:e}]}]}}:{first:M?.numberOfProducts,where:{idNEQ:el.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:el.tags}]}]}})}}},[el,H.relatedType,H.relatedTag,M?.numberOfProducts,H.relatedExclude,H.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&&H?.productIds?.length?H?.productIds?.map(e=>ek?.find(t=>t?.baseID===e)).filter(Boolean)??ek:"PickProduct"!==et?ek:ek.filter((e,t)=>t<(H?.numOfSelectedProducts??4)),ev=l(()=>Y&&A&&z||!eI.length&&!ef&&U&&z,[U,ef,Y,A,z,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?.[F]??1));return Array.from(Array(eI?.length??0)).map((r,o)=>(o>=+(M?.slidesToShow?.[F]??1)*(e+1)&&++e,{gridRow:`${1+V*e}/${V+1+V*e}`,marginBottom:e+1<t?L(x?.horizontalGutter,F):void 0}))},[M?.sameHeight,M?.slidesToShow,V,eI?.length,F,x?.horizontalGutter]),ew=l(()=>ep||ef||eP||!eI||Y&&A,[eP,ef,Y,A,ep,eI]);i(()=>{ew||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)},z?0:500)},[G,ew,z]);let eS=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,sameHeight:M?.sameHeight},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:C(U,e(W,{builderAttrs:B,collectionHandle:eb?.handle,productSrc:et,onClose:()=>J(!1),children:j,relatedTagString:Q,assignProductNoTags:ei||ec||es,noAssignedProduct:!er}))});let{productListWrapStyle:eC,productListContentStyle:eE,productListWrapAlignStyle:eN}=S(o),{productListWrapClass:eL}=E(o);return r("div",{...B,className:eL,style:eC,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,{...eS,children:e("div",{className:"gp-flex gp-w-full",style:eN,children:r("div",{style:eE,children:[ee&&e(v,{}),e(t,{children:C(x?.layout==="grid",e(O,{...o,productSortedById:eI,generateGridRowArray:eO}),e(w,{...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 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 +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 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,useCollectionQuery as b,flattenConnection as k,ProductListProvider as I,filterToolbarPreview as T}from"@gem-sdk/core";import y from"../SalePageProductListWarning.js";import v from"next/head";import O from"./ProductListGridLayout.js";import w from"./ProductListCarouselLayout.js";import{getStyle as S}from"./common/styles.js";import{If as C}from"@gem-sdk/system";import{getClass as E}from"./common/classes.js";import{getData as N}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:A,builderAttrs:M}=o,{isRelatedProduct:B,productSetting:H}=N(o),Q=H.relatedTag&&H.relatedTag[0],{isEditMode:z,isPreviewSharePageMode:D}=s(),F=c(),R=n(),$=u(e=>e.dynamicProduct),_=u(e=>e.dynamicCollection),[V,q]=l(1),[U,J]=l(!0),[K,X]=l(),[Y,Z]=l(!1),ee="GP_FUNNEL_PAGE"===R;"GP_COLLECTION"==R&&(H.productSrc="DynamicCollection",H.collectionId=_?.collectionId??"latest");let et=H?.productSrc??"Collection",er=$?.productId&&$?.productId!==H.relatedProductId?$?.productId:H.relatedProductId,eo=m(),ed=u(e=>e.publicStoreFrontData),el=a(()=>g(ed)?h(ed):eo,[ed]),{data:ea}=p(B&&er?er:void 0,{revalidateOnMount:z||D},el),ei=H.relatedTag&&"tags"===H.relatedTag[0]&&(!ea?.tags||ea?.tags.length===0),es=H.relatedTag&&"collection"===H.relatedTag[0]&&(!ea?.collections?.edges||ea?.collections.edges.length===0),ec=H.relatedTag&&"vendor"===H.relatedTag[0]&&!ea?.vendor,en=f(K,{revalidateOnMount:z||D},el),eu=z||D,em=P("PickProduct"===et?H?.productIds:void 0,{revalidateOnMount:eu},{defaultSelectedProductCount:H?.numOfSelectedProducts}),eg=a(()=>({id:H?.collectionId??"latest",numberOfProducts:A?.numberOfProducts??4,orderBy:A?.orderBy}),[H?.collectionId,Number(A?.numberOfProducts),A?.orderBy]),eh=b("PickProduct"!==et?eg:void 0,{revalidateOnMount:eu});i(()=>{if(B&&ea&&H.relatedTag&&"recommended-product"!==H.relatedType){let e;switch(Z(!1),H.hasRelatedExclude&&(e=H?.relatedExclude&&H.relatedExclude.split(",").map(e=>e.trim())),H.relatedTag[0]){case"vendor":X({first:A?.numberOfProducts,where:{vendor:H.relatedTag&&"vendor"===H.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){Z(!0);break}X(e&&e.length>0?{first:A?.numberOfProducts,where:{idNEQ:ea.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:t},{titleNotIn:e}]}]}}:{first:A?.numberOfProducts,where:{idNEQ:ea.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:t}]}]}});break}case"tags":if(!ea.tags||0===ea.tags.length){Z(!0);break}X(e&&e.length>0?{first:A?.numberOfProducts,where:{idNEQ:ea.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:ea.tags},{nameNotIn:e}]}]}}:{first:A?.numberOfProducts,where:{idNEQ:ea.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:ea.tags}]}]}})}}},[ea,H.relatedType,H.relatedTag,A?.numberOfProducts,H.relatedExclude,H.hasRelatedExclude,B]);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),eI=u(e=>e.assignedProductIds),eT=u(e=>e.isApplyAllProducts),ey=a(()=>(eI??[]).length>0&&!eT||eT,[eI,eT]),ev=en?.data?.products&&ey?k(en?.data?.products):[],eO=B?ev:"PickProduct"===et&&H?.productIds?.length?H?.productIds?.map(e=>ek?.find(t=>t?.baseID===e)).filter(Boolean)??ek:"PickProduct"!==et?ek:ek.filter((e,t)=>t<(H?.numOfSelectedProducts??4)),ew=a(()=>Y&&B&&z||!eO.length&&!ef&&U&&z,[U,ef,Y,B,z,eO.length]),eS=a(()=>!eO||Y&&B,[Y,B,eO]),eC=a(()=>{if(!A?.sameHeight)return[];let e=0,t=Math.ceil((eO?.length??0)/+(A?.slidesToShow?.[F]??1));return Array.from(Array(eO?.length??0)).map((r,o)=>(o>=+(A?.slidesToShow?.[F]??1)*(e+1)&&++e,{gridRow:`${1+V*e}/${V+1+V*e}`,marginBottom:e+1<t?L(x?.horizontalGutter,F):void 0}))},[A?.sameHeight,A?.slidesToShow,V,eO?.length,F,x?.horizontalGutter]),eE=a(()=>ep||ef||eP||!eO||Y&&B,[eP,ef,Y,B,ep,eO]),eN=ea?.collections?.edges.map(e=>e.node?.id)??[];i(()=>{eE||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)},z?0:500)},[G,eE,z,eN]);let eL=a(()=>({collection:eb,products:eO,settings:{loop:A?.loop??{desktop:!1},scrollMode:A?.scrollMode??{desktop:"snap"},slidesToShow:A?.slidesToShow??{desktop:4,tablet:3,mobile:1},layout:x?.layout,dot:A?.dot,dotStyle:A?.dotStyle,arrow:A?.arrow,controlOverContent:A?.controlOverContent,sameHeight:A?.sameHeight},styles:{horizontalGutter:x?.horizontalGutter,verticalGutter:x?.verticalGutter,fullWidth:x?.fullWidth,spacing:x?.spacing,width:x?.width,height:x?.height}}),[eb,eO,A,x]);if(G?.isPreview&&ee)return e(t,{});if(ew)return e(t,{children:C(U,e(W,{builderAttrs:M,collectionHandle:eb?.handle,productSrc:et,onClose:()=>J(!1),children:j,relatedTagString:Q,assignProductNoTags:ei||es||ec,noAssignedProduct:!er}))});let{productListWrapStyle:eW,productListContentStyle:ej,productListWrapAlignStyle:ex}=S(o),{productListWrapClass:eG}=E(o);return r("div",{...M,className:eG,style:eW,children:[!!x?.preloadBgImage&&r(v,{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]}):eS?e("div",{children:"Products not found"}):e(I,{...eL,children:e("div",{className:"gp-flex gp-w-full",style:ex,children:r("div",{style:ej,children:[ee&&e(y,{}),e(t,{children:C(x?.layout==="grid",e(O,{...o,productSortedById:eO,generateGridRowArray:eC}),e(w,{...o,productSortedById:eO}))})]})})}),T(j,!0)]})};export{j as default};
1
+ import{jsx as o,Fragment as e,jsxs as t}from"react/jsx-runtime";import r from"next/dynamic";import i from"../../../common/components/Loading.js";import{useState as 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 +1 @@
1
- import{getSizeSetting as t}from"../../../helpers/product.js";import{convertUnitToNumber as e}from"../../product-images/common/productFeaturedImage.js";import{getUpdatedDotStyle as o}from"../../../../carousel-v3/components/dot/common/helpers.js";let r=e=>{let{setting:r,styles:d}=e,c=r?.productSetting??{},l="RelatedProduct"===c.productSrc,i=o(r?.dot,r?.dotStyle),a={dotSize:{desktop:12},dotGapToCarousel:{desktop:16},arrowIconSize:{desktop:24},showWhenHover:!1,rtl:!1,...r};delete a.childItem;let p={...d,sizeSetting:{...t({adaptiveHeight:d?.adaptiveHeight,height:d?.height,fullWidth:{desktop:!0}})},spacing:d?.spacing};return delete p.backgroundColor,delete p.backgroundImage,{isRelatedProduct:l,productSetting:c,dotStyle:i,carouselConfigSetting:a,carouselConfigStyle:p}},d=t=>{let{setting:o,styles:r}=t,d=o?.productSetting,i=d?.relatedTag,a=d?.hasRelatedExclude,p=(i&&"collection"===i[0]?d?.relatedCollectionExclude:d?.relatedTagsExclude)??"",u=p?.split(",").map(t=>t.trim()).toString(),n=d?.productSrc??"Collection",s=d?.collectionId?.replace(c,"")??"latest",g=d?.productSrc==="PickProduct"&&d?.productIds?.length===0,m=r?.layout==="grid",h=e(o?.numberOfProducts,4),P="PickProduct"===n&&d?.productIds?.length?d?.productIds.map(t=>t.replace(l,"")):[],I="PickProduct"===n&&d?.productHandles?.length?d?.productHandles:[],S=o?.orderBy&&o?.orderBy!=="none",C=(d?.productSrc==="Collection"||d?.productSrc==="DynamicCollection")&&S?o?.orderBy?.split("_"):"none",k=S&&C?.[0]==="TITLE"?"| sort: 'title'":"| sort: 'updated_at'",f=C?.[C.length-1]==="DESC";return{hasRelatedExclude:a,relatedExcludeTrim:u,collectionID:s,isLatestProducts:g,isGrid:m,numberOfProducts:h,productListId:P,productListHandles:I,sortedBy:k,isReverse:f,productSrc:n,productSetting:d,isSorted:S,relatedTag:i,productNumber:"PickProduct"===n?g?4:d?.numOfSelectedProducts??4:h,collectionHandle:d?.collectionHandle}},c="gid://shopify/Collection/",l="gid://shopify/Product/";export{c as PREFIX_COLLECTION_ID,l as PREFIX_PRODUCT_ID,r as getData,d as getDataLiquid};
1
+ import{getSizeSetting as t}from"../../../helpers/product.js";import{convertUnitToNumber as e}from"../../product-images/common/productFeaturedImage.js";import{getUpdatedDotStyle as o}from"../../../../carousel-v3/components/dot/common/helpers.js";import{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};
@@ -0,0 +1 @@
1
+ var T;!function(T){T.Tags="tags",T.Collection="collection",T.Vendor="vendor"}(T||(T={}));let o=4;export{o as DEFAULT_COLLECTION_NUMBER_OF_PRODUCTS,T as RELATED_TAG_PRODUCT_SETTING};
@@ -0,0 +1 @@
1
+ import{useFetchHandle as t,usePageStore as r,hasPublicStoreFrontData as o,createStoreFrontFetcher as e,useIsSampleProduct as i,useIsStorefrontProduct as a,generateCollectionQueryKey as l,getCollection as n}from"@gem-sdk/core";import{useMemo as m,useEffect as c}from"react";import s from"swr";import"react/jsx-runtime";import{PRODUCT_LIST_PRODUCT_SOURCE as d}from"../../../../common/const.js";let u=({productSrc:u,numberOfProducts:f,orderBy:p,collectionID:g})=>{let C=t(),v=r(t=>t.publicStoreFrontData),y=m(()=>o(v)?e(v):C,[v]),D=i(),j=a(),x=m(()=>u!==d.Collection&&u!==d.DynamicCollection?null:l({id:g,numberOfProducts:f,orderBy:p,isSample:D,isStorefront:j}),[u,D,j,g,f,p]),I=s(x,([,t])=>n(y,t),{revalidateOnMount:!1,refreshInterval:0,revalidateIfStale:!1});return c(()=>{if(u!==d.Collection&&u!==d.DynamicCollection)return;let t=!!I.error,r=I.isLoading||I.isValidating,o=!I.data&&!r;!t&&o&&I.mutate()},[u,I.data,I.error,I.isLoading,I.isValidating]),I};export{u as useCollectionQuery};
@@ -0,0 +1 @@
1
+ import t from"../../product-wrap/hook/useProductQuery.js";let r=({isRelatedProduct:r,relatedProductIdAssigned:e})=>{let{productData:{data:o,isLoading:u}}=t({id:r&&e?e:void 0});return{relatedProductIdAssigned:e,mainRelatedProduct:o,isLoading:u}};export{r as default};
@@ -0,0 +1 @@
1
+ import{useState as e,useMemo as t,useEffect as a}from"react";import r from"swr";import{useFetchHandle as i,usePageStore as d,hasPublicStoreFrontData as l,createStoreFrontFetcher as o,getProductQueryAll as s}from"@gem-sdk/core";import n from"./useMainRelatedProductQuery.js";import{RELATED_TAG_PRODUCT_SETTING as g}from"../constants/index.js";let c=({isRelatedProduct:c,productSetting:u,relatedProductIdAssigned:h,numberOfProducts:f})=>{let[m,p]=e(!1),[T,E]=e(),{mainRelatedProduct:v,isLoading:I}=n({isRelatedProduct:c,relatedProductIdAssigned:h}),W=i(),x=d(e=>e.publicStoreFrontData),N=t(()=>l(x)?o(x):W,[x]),P=r(T?["query/products",T]:null,async([,e])=>s(N,e),{revalidateOnMount:!1,keepPreviousData:!0,refreshInterval:0,revalidateIfStale:!1}),Q=u.relatedTag&&u.relatedTag[0],k=t(()=>{if(!Q)return!1;let e=Q===g.Tags&&!v?.tags?.length,t=Q===g.Collection&&!v?.collections?.edges.length,a=Q===g.Vendor&&!v?.vendor;return e||t||a},[Q,v]),y=t(()=>{if(!c)return!1;if(!v&&I)return!0;let e=!P.data&&!P.error&&!P.isLoading;return e||!P.error&&(P.isLoading||P.isValidating)},[c,v,I,P.error,P.isLoading,P.isValidating,P.data]);return a(()=>{if(c&&v&&u.relatedTag&&"recommended-product"!==u.relatedType){let e;switch(p(!1),u.hasRelatedExclude&&(e=u?.relatedExclude&&u.relatedExclude.split(",").map(e=>e.trim())),u.relatedTag[0]){case"vendor":E({first:f,vendor:u.relatedTag&&"vendor"===u.relatedTag[0]?v?.vendor:"",idNEQ:v.id});break;case"collection":{let t=v?.collections?.edges.map(e=>e.node?.id);if(!t||t?.length===0){p(!0);break}E(e&&e.length>0?{first:f,idNEQ:v.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:t},{titleNotIn:e}]}]}:{first:f,idNEQ:v.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:t}]}]});break}case"tags":if(!v.tags||0===v.tags.length){p(!0);break}E(e&&e.length>0?{first:f,idNEQ:v.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:v.tags},{nameNotIn:e}]}]}:{first:f,idNEQ:v.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:v.tags}]}]})}}},[v,u.relatedType,u.relatedTag,f,u.relatedExclude,u.hasRelatedExclude,c]),a(()=>{if(!c||!T)return;let e=!!P.error,t=P.isLoading||P.isValidating,a=!P.data&&!t;!e&&a&&P.mutate()},[c,P.data,P.error,P.isLoading,P.isValidating,T]),{isNotFoundRelatedProduct:m,relatedProducts:P,isNoRelatedProductData:k,relatedTagString:Q,isLoading:y}};export{c as default};
@@ -0,0 +1 @@
1
+ import{useFetchHandle as r,usePageStore as t,hasPublicStoreFrontData as e,createStoreFrontFetcher as o,useIsSampleProduct as i,useIsStorefrontProduct as a,generateProductsQueryKey as n,getProducts as m}from"@gem-sdk/core";import{useMemo as s,useEffect as d}from"react";import c from"swr";import"react/jsx-runtime";import{PRODUCT_LIST_PRODUCT_SOURCE as l}from"../../../../common/const.js";let u=({defaultSelectedProductCount:u,productIds:f,productSrc:p,selectedStatus:g})=>{let P=r(),k=t(r=>r.publicStoreFrontData),v=s(()=>e(k)?o(k):P,[k]),j=i(),x=a(),y=s(()=>p!==l.PickProduct?null:n({ids:f??[],isSample:j,isStorefront:x,defaultSelectedProductCount:u,selectedStatus:g}),[p,f,j,x,u]),I=c(y,async([,r])=>m(v,r),{revalidateOnMount:!1,refreshInterval:0,revalidateIfStale:!1});return d(()=>{if(p!==l.PickProduct)return;let r=!!I.error,t=I.isLoading||I.isValidating,e=!I.data&&!t;!r&&e&&I.mutate()},[p,I.data,I.error,I.isLoading,I.isValidating]),{...I}};export{u as useProductsQuery};
@@ -0,0 +1 @@
1
+ import{usePageStore as d}from"@gem-sdk/core";function t({productSetting:t}){let r=d(d=>d.dynamicProduct),e=t.relatedProductId,o=r?.productId&&r?.productId!==e?r?.productId:e;return{relatedProductIdAssigned:o}}export{t as default};
@@ -1,2 +1,2 @@
1
1
  'use client';
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};
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};
@@ -1,12 +1,12 @@
1
- import{template as t,baseAssetURL as e,isLocalEnv as i,DEVICES as o,getResponsiveValueByScreen as s}from"@gem-sdk/core";import n from"../../../text/components/Text.liquid.js";import a from"./components/variants/index.liquid.js";import r from"./components/dropdown-swatches/Dropdown.liquid.js";import p from"./components/dropdown-group/DropdownGroup.liquid.js";import{getSettingPreloadData as l}from"../../../helpers.js";import{mappingVariantStyles as d}from"./utils/mappingVariantStyles.js";import{createClass as m,createStyle as c,createAttr as u,Liquid as v,LiquidFor as f,LiquidIf as $,If as g}from"@gem-sdk/system";import{getAttrs as _}from"./common/main/getAttr.js";import{getVariantOptionGroupStyle as h,getWrapperStyle as y}from"./common/main/styles.js";import{getVariantOptionGroupClass as j,getWrapDropdownClass as w}from"./common/main/classes.js";import{getTextVariantTitleData as b,getDropdownGroupData as S}from"./common/main/getData.js";import{getWrapVariantOptionClass as P}from"./common/variants/classes.js";import{getStyleOfObject as O}from"../../helpers/function.js";import{getMarginBottomStyle as x}from"./common/variants/styles.js";import{PRODUCT_VARIANT_OPTION_MINW_STYLE as V}from"./common/const.js";import{renderOptionValuesNewFormatSwatches as N}from"./OptionVariantsNewFormat.liquid.js";import{renderOptionValuesOld as A}from"./OptionVariantsOldFormat.liquid.js";let q={desktop:!0,tablet:!0,mobile:!0},D=D=>{let{builderProps:E,styles:T,setting:k,advanced:F}=D,{align:G,swatchItemWidth:z,dropdownItemWidth:C,swatchSpacing:J,optionTypo:I,marginBottom:M}=T??{},{label:W,optionType:L,showAsSwatches:R,layout:H,hasPreSelected:K}=k??{},Q=F?.d??q,{uid:U}=E??{},B=()=>{let t={};return o.forEach(e=>{let i=s(z,e);t[e]="auto"===i}),t},X=()=>{let t={};return o.forEach(e=>{t[e]=C?.[e]==="fill"}),t},Y=k?.variantPresets?d(k?.variantPresets,T):[],Z=Y?.map(t=>(t.presets={[t.optionType]:t.presets[t.optionType]},t)),tt={...k,variantPresets:Z},te=t=>{let e={"'":"&apos;",'"':"&quot;"},i=t;for(let o in e)t.indexOf(o)>=0&&(i=i.replaceAll(o,e[o]));return i},ti=({showDropdown:e,isRenderDefault:i,typeOfOption:o})=>t`
2
- ${f("value in values",a({id:"{{option.name | escape | handleize}}-{{value | escape | handleize}}",variantKey:"{{option.name | escape}}-{{option.position}}-{{ forloop.index }}",showAsSwatches:R,uid:U,name:"{{option.name | escape}}",value:{label:"{{value | escape}}"},checked:K?"{%- if option.selected_value == value -%}true{% else %}false{%- endif -%}":"false",optionPosition:"rootForloop",typeOfOption:o,activeClass:K?"{%- if option.selected_value == value -%}option-item-active{%- endif -%}":"",...T,...tt,swatchAutoWidth:B(),optionTypo:I,isRenderDefault:i}))}
3
- ${$(e?'type == "dropdown"':"false",r({...T,...tt,swatchAutoWidth:X(),optionTypo:I}))}`,to=k?.variantPresets?.map(t=>({name:te(t.optionName),type:t.optionType})).map(t=>`${t.name}($1)${t.type}`).join("($2)").toString(),ts={renderVariantItem:ti,variantPresetsLiquid:to??""},tn=m(j(G)),ta=c(h(J,J)),tr=b(D,"Liquid"),tp=m(P(H,G)),tl=m(w(G)),td=S(D),tm=u(_({uid:U,hasPreSelected:K,cssClass:F?.cssClass})),tc=c(y(D)),tu=m({"gp-flex gp-flex-col !gp-ml-0":!0});return t`
1
+ import{template as t,baseAssetURL as i,isLocalEnv as o,DEVICES as e,getResponsiveValueByScreen as s}from"@gem-sdk/core";import n from"../../../text/components/Text.liquid.js";import a from"./components/variants/index.liquid.js";import r from"./components/dropdown-swatches/Dropdown.liquid.js";import p from"./components/dropdown-group/DropdownGroup.liquid.js";import{getSettingPreloadData as l}from"../../../helpers.js";import{mappingVariantStyles as d}from"./utils/mappingVariantStyles.js";import{createClass as m,createStyle as c,createAttr as u,Liquid as v,LiquidFor as f,LiquidIf as $,If as g}from"@gem-sdk/system";import{getAttrs as _}from"./common/main/getAttr.js";import{getVariantOptionGroupStyle as h,getWrapperStyle as y}from"./common/main/styles.js";import{getVariantOptionGroupClass as j,getWrapDropdownClass as w}from"./common/main/classes.js";import{getTextVariantTitleData as b,getDropdownGroupData as S}from"./common/main/getData.js";import{getWrapVariantOptionClass as P}from"./common/variants/classes.js";import{getStyleOfObject as O}from"../../helpers/function.js";import{getMarginBottomStyle as x}from"./common/variants/styles.js";import{PRODUCT_VARIANT_OPTION_MINW_STYLE as V}from"./common/const.js";import{renderOptionValuesNewFormatSwatches as N}from"./OptionVariantsNewFormat.liquid.js";import{renderOptionValuesOld as q}from"./OptionVariantsOldFormat.liquid.js";let A={desktop:!0,tablet:!0,mobile:!0},D=D=>{let{builderProps:E,styles:T,setting:k,advanced:F}=D,{align:G,swatchItemWidth:z,dropdownItemWidth:C,swatchSpacing:J,optionTypo:I,marginBottom:M}=T??{},{label:W,optionType:L,showAsSwatches:R,layout:H,hasPreSelected:K}=k??{},Q=F?.d??A,{uid:U}=E??{},B=()=>{let t={};return e.forEach(i=>{let o=s(z,i);t[i]="auto"===o}),t},X=()=>{let t={};return e.forEach(i=>{t[i]=C?.[i]==="fill"}),t},Y=k?.variantPresets?d(k?.variantPresets,T):[],Z=Y?.map(t=>(t.presets={[t.optionType]:t.presets[t.optionType]},t)),tt={...k,variantPresets:Z},ti=t=>{let i={"'":"&apos;",'"':"&quot;"},o=t;for(let e in i)t.indexOf(e)>=0&&(o=o.replaceAll(e,i[e]));return o},to=({showDropdown:i,isRenderDefault:o,typeOfOption:e})=>t`
2
+ ${f("value in values",a({id:"{{option.name | escape | handleize}}-{{value | escape | handleize}}",variantKey:"{{option.name | escape}}-{{option.position}}-{{ forloop.index }}",showAsSwatches:R,uid:U,name:"{{option.name | escape}}",value:{label:"{{value | escape}}"},checked:K?"{%- if option.selected_value == value -%}true{% else %}false{%- endif -%}":"false",optionPosition:"rootForloop",typeOfOption:e,activeClass:K?"{%- if option.selected_value == value -%}option-item-active{%- endif -%}":"",...T,...tt,swatchAutoWidth:B(),optionTypo:I,isRenderDefault:o}))}
3
+ ${$(i?'type == "dropdown"':"false",r({...T,...tt,swatchAutoWidth:X(),optionTypo:I}))}`,te=k?.variantPresets?.map(t=>({name:ti(t.optionName),type:t.optionType})).map(t=>`${t.name}($1)${t.type}`).join("($2)").toString(),ts={renderVariantItem:to,variantPresetsLiquid:te??""},tn=m(j(G)),ta=c(h(J,J)),tr=b(D,"Liquid"),tp=m(P(H,G)),tl=m(w(G)),td=S(D),tm=u(_({uid:U,hasPreSelected:K,cssClass:F?.cssClass})),tc=c(y(D)),tu=m({"gp-flex gp-flex-col !gp-ml-0":!0});return t`
4
4
  ${v("{%- assign total_combinations = 1 -%}")}
5
5
  ${f("option in product.options_with_values","{%- assign total_combinations = total_combinations | times: option.values.size -%}")}
6
6
  <gp-product-variants ${tm}>
7
7
  <script gp-data type="application/json">
8
8
  {
9
- "setting":${JSON.stringify(tt)?.replaceAll("'","&#039;")},
9
+ "setting":${JSON.stringify(tt)},
10
10
  "styles":${JSON.stringify(T)},
11
11
  "variants":{{product.variants | json}},
12
12
  "optionsWithValues": {{product.options_with_values | json}},
@@ -34,7 +34,7 @@ import{template as t,baseAssetURL as e,isLocalEnv as i,DEVICES as o,getResponsiv
34
34
  ${p(td)}
35
35
  </div>
36
36
  `,t`
37
- ${v(`{%- assign presets = "${k?.variantPresets?.map(t=>`${te(t.optionName)}($2)${t.optionType}`).join("($1)")}" | split: '($1)' -%}`)}
37
+ ${v(`{%- assign presets = "${k?.variantPresets?.map(t=>`${ti(t.optionName)}($2)${t.optionType}`).join("($1)")}" | split: '($1)' -%}`)}
38
38
  ${v(`{% assign hiddenPresetOptions = "${k?.variantPresets?.filter(t=>!!t?.hide)?.map(t=>t.optionName).join(",")}" | split: ',' %}`)}
39
39
 
40
40
  ${v(`{% assign all_option_names = options | map: 'name' %}
@@ -93,13 +93,13 @@ import{template as t,baseAssetURL as e,isLocalEnv as i,DEVICES as o,getResponsiv
93
93
  `)}
94
94
  ${g(!K,v("{%- assign selectedValue = null -%}"),"")}
95
95
  ${g(R,t`
96
- ${$("shop.metafields.GEMPAGES.swatchesJSONFormat and shop.metafields.GEMPAGES.swatchesJSONFormat != blank",N(ts),A(ts))}
97
- `,ti({showDropdown:!1,isRenderDefault:!0,typeOfOption:"optionType"}))}
96
+ ${$("shop.metafields.GEMPAGES.swatchesJSONFormat and shop.metafields.GEMPAGES.swatchesJSONFormat != blank",N(ts),q(ts))}
97
+ `,to({showDropdown:!1,isRenderDefault:!0,typeOfOption:"optionType"}))}
98
98
  </div>
99
99
  </div>`)}
100
100
  `)}
101
101
  </div>`)}
102
102
  </gp-product-variants>
103
103
 
104
- ${(()=>{let t=i?"{{ 'gp-product-variant-v7-5.js' | asset_url }}":`${e}/assets-v2/gp-product-variant-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}`;return`<script ${l('class="gps-link" delay',"src")}="${t}" defer="defer"></script>`})()}
104
+ ${(()=>{let t=o?"{{ 'gp-product-variant-v7-5.js' | asset_url }}":`${i}/assets-v2/gp-product-variant-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}`;return`<script ${l('class="gps-link" delay',"src")}="${t}" defer="defer"></script>`})()}
105
105
  `};export{D as default};
@@ -1 +1 @@
1
- import{jsx as r,Fragment as o,jsxs as t}from"react/jsx-runtime";import{isEmptyChildren as e,ProductProvider as i}from"@gem-sdk/core";import d from"../../../grid/components/ChildrenDroppable.js";import m from"../../../common/components/Loading.js";import"react";import s from"../../../grid/components/row/Row.js";import{If as c}from"@gem-sdk/system";import n from"next/dynamic";import{useProductSetting as l}from"./hook/useProductSetting.js";import{getData as p}from"./common/helpers.js";let u=n(()=>import("../ProductNotFound.js"),{loading:m}),a=n=>{let{builderProps:a,children:h,setting:f,style:g,builderAttrs:j}=n,{isAuto:P}=f??{},{isLoading:b,isProductPage:y,isProductNotFound:k,showProductNotFound:x,errorLoadProduct:A,product:v,isEditor:w,productProviderData:C,setShowProductNotFound:D}=l(n),{rowSetting:S,rowStyles:E}=p(n);return y&&P?r(o,{children:e(h)?r(d,{}):h}):r(o,{children:c(!k,r(o,{children:b?r(m,{}):r(o,{children:A?t("div",{children:["Error: ",A?.message]}):v?r(i,{...C,children:r(s,{builderProps:a,builderAttrs:j,style:g,styles:E,setting:S,customAttrs:w?{"data-product-id":v?.baseID?.replace("gid://shopify/Product/","")??""}:void 0,children:e(h)?r(d,{}):h})}):null})}),r(o,{children:c(x,r(u,{builderAttrs:j,productSrc:"PickProduct",onClose:()=>D(!1),children:h}))}))})};export{a as default};
1
+ import{jsx as r,Fragment as o,jsxs as t}from"react/jsx-runtime";import{isEmptyChildren as e,ProductProvider as i}from"@gem-sdk/core";import m from"../../../grid/components/ChildrenDroppable.js";import d from"../../../common/components/Loading.js";import"react";import"../../../common/const.js";import s from"../../../grid/components/row/Row.js";import{If as c}from"@gem-sdk/system";import n from"next/dynamic";import{useProductSetting as l}from"./hook/useProductSetting.js";import{getData as p}from"./common/helpers.js";let u=n(()=>import("../ProductNotFound.js"),{loading:d}),a=n=>{let{builderProps:a,children:h,setting:f,style:g,builderAttrs:j}=n,{isAuto:P}=f??{},{isLoading:b,isProductPage:y,isProductNotFound:k,showProductNotFound:x,errorLoadProduct:A,product:v,isEditor:w,productProviderData:C,setShowProductNotFound:D}=l(n),{rowSetting:S,rowStyles:E}=p(n);return y&&P?r(o,{children:e(h)?r(m,{}):h}):r(o,{children:c(!k,r(o,{children:b?r(d,{}):r(o,{children:A?t("div",{children:["Error: ",A?.message]}):v?r(i,{...C,children:r(s,{builderProps:a,builderAttrs:j,style:g,styles:E,setting:S,customAttrs:w?{"data-product-id":v?.baseID?.replace("gid://shopify/Product/","")??""}:void 0,children:e(h)?r(m,{}):h})}):null})}),r(o,{children:c(x,r(u,{builderAttrs:j,productSrc:"PickProduct",onClose:()=>D(!1),children:h}))}))})};export{a as default};
@@ -0,0 +1 @@
1
+ import{useFetchHandle as r,usePageStore as t,useIsSampleProduct as e,useIsStorefrontProduct as a,hasPublicStoreFrontData as i,createStoreFrontFetcher as o,generateProductQueryKey as l,getProduct as n}from"@gem-sdk/core";import{useMemo as d,useEffect as s}from"react";import u from"swr";let m=({id:m})=>{let f=r(),c=t(r=>r.publicStoreFrontData),g=e(),p=a(),v=d(()=>i(c)?o(c):f,[c]),y=d(()=>m?l({id:m,isSample:g,isStorefront:p}):null,[m,g,p]),I=u(y,async([,r])=>n(v,r),{revalidateOnMount:!1,refreshInterval:0,revalidateIfStale:!1});return s(()=>{if(!m)return;let r=!!I.error,t=I.isLoading||I.isValidating,e=!I.data&&!t;!r&&e&&I.mutate()},[m,I.data,I.error,I.isLoading,I.isValidating]),{productData:I}};export{m as default};
@@ -1 +1 @@
1
- import{usePageType as t,usePageStore as e,useRenderMode as r,hasPublicStoreFrontData as a,createStoreFrontFetcher as d,useProductQuery as i}from"@gem-sdk/core";import{useMemo as o,useState as c}from"react";let u=u=>{let{setting:n}=u,{productSetting:l,quantity:s,readOnly:P,isSyncProduct:m}=n??{},p=t(),S=e(t=>t.dynamicProduct),g=e(t=>t.publicStoreFrontData),{isEditMode:h,isPreviewSharePageMode:y}=r(),I=l?.productId??"latest",f=l?.productStatus=="dynamic"?{...l,...S}:l,k=f?.initialVariantId,v=f?.initialVariantBaseId,D=o(()=>a(g)?d(g):void 0,[g]),{data:O,isLoading:V,error:$}=i(I,{revalidateOnMount:h||y},D),[b,x]=c(!0),B=($||!O&&!V)&&h,C=o(()=>({product:O,initialVariantId:k,initialVariantBaseId:v,quantity:s,readOnly:P,isSyncProduct:m,key:`uid-${O?.id}-${k??""}`,hasPreSelected:l?.hasPreSelected}),[v,k,m,O,l?.hasPreSelected,s,P]);return{forceProductSetting:f,isProductPage:"PRODUCT"===p,isProductNotFound:B,showProductNotFound:b,isLoading:V,product:O,errorLoadProduct:$,isEditor:h,productProviderData:C,setShowProductNotFound:x}};export{u as useProductSetting};
1
+ import{usePageType as t,usePageStore as r,useRenderMode as e}from"@gem-sdk/core";import{useState as d,useMemo as a}from"react";import i from"./useProductQuery.js";let o=o=>{let{setting:c}=o,{productSetting:u,quantity:s,readOnly:P,isSyncProduct:m}=c??{},l=t(),n=r(t=>t.dynamicProduct),{isEditMode:p}=e(),S=u?.productId??"latest",y=u?.productStatus=="dynamic"?{...u,...n}:u,f=y?.initialVariantId,g=y?.initialVariantBaseId,{productData:{data:h,isLoading:I,error:k}}=i({id:S}),[D,V]=d(!0),$=(k||!h&&!I)&&p,j=a(()=>({product:h,initialVariantId:f,initialVariantBaseId:g,quantity:s,readOnly:P,isSyncProduct:m,key:`uid-${h?.id}-${f??""}`,hasPreSelected:u?.hasPreSelected}),[g,f,m,h,u?.hasPreSelected,s,P]);return{forceProductSetting:y,isProductPage:"PRODUCT"===l,isProductNotFound:$,showProductNotFound:D,isLoading:I,product:h,errorLoadProduct:k,isEditor:p,productProviderData:j,setShowProductNotFound:V}};export{o as useProductSetting};
@@ -1 +1 @@
1
- export{default as Product}from"./components/product-wrap/Product.js";import"react/jsx-runtime";import"next/link";import"@gem-sdk/core";import"react";import"@gem-sdk/system";import"../notification/components/Notifications.js";import"../notification/components/Notice.js";import"./components/product-button/types.js";import"./components/product-variants/components/variants/index.js";import"next/image";import"../carousel-v3/components/swiper/Swiper.js";import"../modal/components/confirm.js";import"react-dom";import"../video/components/Video.js";import"@gem-sdk/keen-slider/react";export{default as ProductQuickView}from"./components/product-quick-view/QuickView.js";import"./components/constants/product-bundle.js";export{default as ProductListV3}from"./components/product-list-v3/ProductList.js";export{default as ProductList}from"./components/product-list/ProductList.js";import"./components/product-bundle/common/styles.js";import"./components/product-bundle/common/classes.js";import"./components/product-badge/constants.js";import"./components/product-badge/types.js";import"./components/product-badge/utils/shape.js";import t from"./settings/Product.js";import o from"./settings/ProductQuantity.js";import r from"./settings/ProductTitle.js";import s from"./settings/ProductButton.js";import i from"./settings/ProductPrice.js";import e from"./settings/ProductVariants.js";import m from"./settings/ProductImages.js";import c from"./settings/product-image-v3/ProductImages.js";import n from"./settings/product-image-v2/ProductImages.js";import p from"./settings/ProductDescription.js";import u from"./settings/ProductProperties.js";import d from"./settings/ProductTag.js";import a from"./settings/ProductListV3.js";import P from"./settings/ProductList.js";import g from"./settings/DynamicCheckout.js";import j from"./settings/Vendor.js";import f from"./settings/Sku.js";import l from"./components/product-bundle/setting/ProductBundleDiscount.js";import V from"./components/product-bundle/setting/ProductBundleDiscountItem.js";import k from"./settings/ProductViewMore.js";import x from"./settings/ProductBadge.js";import b from"./components/file-upload/settings/index.js";let v={Product:t,ProductQuantity:o,ProductTitle:r,ProductButton:s,ProductPrice:i,ProductVariants:e,ProductImages:m,ProductImagesV2:n,ProductImagesV3:c,ProductDescription:p,ProductProperties:u,ProductTag:d,ProductListV3:a,ProductList:P,DynamicCheckout:g,ProductVendor:j,ProductSku:f,ProductBundleDiscount:l,ProductBundleDiscountItem:V,ProductViewMore:k,ProductBadge:x,FileUpload:b};export{v as productSetting};
1
+ export{default as Product}from"./components/product-wrap/Product.js";import"react/jsx-runtime";import"next/link";import"@gem-sdk/core";import"react";import"@gem-sdk/system";import"../notification/components/Notifications.js";import"../notification/components/Notice.js";import"./components/product-button/types.js";import"./components/product-variants/components/variants/index.js";import"next/image";import"../carousel-v3/components/swiper/Swiper.js";import"../modal/components/confirm.js";import"react-dom";import"../video/components/Video.js";import"@gem-sdk/keen-slider/react";export{default as ProductQuickView}from"./components/product-quick-view/QuickView.js";import"../common/const.js";import"./components/constants/product-bundle.js";export{default as ProductListV3}from"./components/product-list-v3/ProductList.js";export{default as ProductList}from"./components/product-list/ProductList.js";import"./components/product-bundle/common/styles.js";import"./components/product-bundle/common/classes.js";import"./components/product-badge/constants.js";import"./components/product-badge/types.js";import"./components/product-badge/utils/shape.js";import t from"./settings/Product.js";import o from"./settings/ProductQuantity.js";import r from"./settings/ProductTitle.js";import s from"./settings/ProductButton.js";import i from"./settings/ProductPrice.js";import e from"./settings/ProductVariants.js";import m from"./settings/ProductImages.js";import c from"./settings/product-image-v3/ProductImages.js";import n from"./settings/product-image-v2/ProductImages.js";import p from"./settings/ProductDescription.js";import u from"./settings/ProductProperties.js";import d from"./settings/ProductTag.js";import a from"./settings/ProductListV3.js";import P from"./settings/ProductList.js";import g from"./settings/DynamicCheckout.js";import j from"./settings/Vendor.js";import f from"./settings/Sku.js";import l from"./components/product-bundle/setting/ProductBundleDiscount.js";import V from"./components/product-bundle/setting/ProductBundleDiscountItem.js";import k from"./settings/ProductViewMore.js";import x from"./settings/ProductBadge.js";import b from"./components/file-upload/settings/index.js";let v={Product:t,ProductQuantity:o,ProductTitle:r,ProductButton:s,ProductPrice:i,ProductVariants:e,ProductImages:m,ProductImagesV2:n,ProductImagesV3:c,ProductDescription:p,ProductProperties:u,ProductTag:d,ProductListV3:a,ProductList:P,DynamicCheckout:g,ProductVendor:j,ProductSku:f,ProductBundleDiscount:l,ProductBundleDiscountItem:V,ProductViewMore:k,ProductBadge:x,FileUpload:b};export{v as productSetting};
@@ -1 +1 @@
1
- import o from"next/dynamic";import t from"../common/components/Loading.js";import"react/jsx-runtime";import"react";import"@gem-sdk/core";let n=o(()=>import("./components/product-wrap/Product.js"),{loading:t}),r=o(()=>import("./components/product-title/ProductTitle.js"),{loading:t}),i=o(()=>import("./components/product-quantity/ProductQuantity.js"),{loading:t}),c=o(()=>import("./components/product-description/ProductDescription.js"),{loading:t}),p=o(()=>import("./components/product-price/ProductPrice.js"),{loading:t}),d=o(()=>import("./components/product-button/ProductButton.js"),{loading:t}),s=o(()=>import("./components/product-variants/ProductVariants.js"),{loading:t}),m=o(()=>import("./components/ProductImages.js"),{loading:t}),e=o(()=>import("./components/product-images-v3/ProductImageV3.js"),{loading:t}),u=o(()=>import("./components/product-images-v2/ProductImageV2.js"),{loading:t}),a=o(()=>import("./components/product-properties/ProductProperties.js"),{loading:t}),l=o(()=>import("./components/product-quick-view/QuickView.js"),{ssr:!1}),g=o(()=>import("./components/product-discount-tag/ProductDiscountTag.js"),{loading:t}),j=o(()=>import("./components/product-list-v3/ProductList.js"),{loading:t}),P=o(()=>import("./components/product-list/ProductList.js"),{loading:t}),v=o(()=>import("./components/dynamic-checkout/DynamicCheckout.js"),{loading:t}),k=o(()=>import("./components/product-vendor/Vendor.js"),{loading:t}),V=o(()=>import("./components/product-sku/Sku.js"),{loading:t}),w=o(()=>import("./components/product-view-more/ProductViewMore.js"),{loading:t}),y=o(()=>import("./components/product-badge/ProductBadge.js"),{loading:t}),D=o(()=>import("./components/product-bundle/ProductBundleDiscount.js"),{loading:t}),b=o(()=>import("./components/product-bundle/ProductBundleDiscountItem.js"),{loading:t}),f=o(()=>import("./components/file-upload/UploadFile.js"),{loading:t});var B={Product:n,ProductTitle:r,ProductQuantity:i,ProductPrice:p,ProductButton:d,ProductDescription:c,ProductVariants:s,ProductImages:m,ProductImagesV3:e,ProductImagesV2:u,ProductProperties:a,ProductQuickView:l,ProductTag:g,ProductListV3:j,ProductList:P,DynamicCheckout:v,ProductVendor:k,ProductViewMore:w,ProductBadge:y,ProductBundleDiscount:D,ProductBundleDiscountItem:b,ProductSku:V,FileUpload:f};export{B as default};
1
+ import o from"next/dynamic";import t from"../common/components/Loading.js";import"react/jsx-runtime";import"react";import"@gem-sdk/core";import"../common/const.js";let n=o(()=>import("./components/product-wrap/Product.js"),{loading:t}),r=o(()=>import("./components/product-title/ProductTitle.js"),{loading:t}),i=o(()=>import("./components/product-quantity/ProductQuantity.js"),{loading:t}),c=o(()=>import("./components/product-description/ProductDescription.js"),{loading:t}),p=o(()=>import("./components/product-price/ProductPrice.js"),{loading:t}),d=o(()=>import("./components/product-button/ProductButton.js"),{loading:t}),s=o(()=>import("./components/product-variants/ProductVariants.js"),{loading:t}),m=o(()=>import("./components/ProductImages.js"),{loading:t}),e=o(()=>import("./components/product-images-v3/ProductImageV3.js"),{loading:t}),u=o(()=>import("./components/product-images-v2/ProductImageV2.js"),{loading:t}),a=o(()=>import("./components/product-properties/ProductProperties.js"),{loading:t}),l=o(()=>import("./components/product-quick-view/QuickView.js"),{ssr:!1}),g=o(()=>import("./components/product-discount-tag/ProductDiscountTag.js"),{loading:t}),j=o(()=>import("./components/product-list-v3/ProductList.js"),{loading:t}),P=o(()=>import("./components/product-list/ProductList.js"),{loading:t}),v=o(()=>import("./components/dynamic-checkout/DynamicCheckout.js"),{loading:t}),k=o(()=>import("./components/product-vendor/Vendor.js"),{loading:t}),V=o(()=>import("./components/product-sku/Sku.js"),{loading:t}),w=o(()=>import("./components/product-view-more/ProductViewMore.js"),{loading:t}),y=o(()=>import("./components/product-badge/ProductBadge.js"),{loading:t}),D=o(()=>import("./components/product-bundle/ProductBundleDiscount.js"),{loading:t}),b=o(()=>import("./components/product-bundle/ProductBundleDiscountItem.js"),{loading:t}),f=o(()=>import("./components/file-upload/UploadFile.js"),{loading:t});var B={Product:n,ProductTitle:r,ProductQuantity:i,ProductPrice:p,ProductButton:d,ProductDescription:c,ProductVariants:s,ProductImages:m,ProductImagesV3:e,ProductImagesV2:u,ProductProperties:a,ProductQuickView:l,ProductTag:g,ProductListV3:j,ProductList:P,DynamicCheckout:v,ProductVendor:k,ProductViewMore:w,ProductBadge:y,ProductBundleDiscount:D,ProductBundleDiscountItem:b,ProductSku:V,FileUpload:f};export{B as default};
@@ -1 +1 @@
1
- import{ImageListNavigation as i}from"./ui/ImageListNavigation.js";import{FeatureNavigation as o}from"./ui/FeatureNavigation.js";import{FeatureDots as t}from"./ui/FeatureDots.js";let e='((type == "slider" || position == "left" || position == "right") && position !== "one-col" && position != "two-col")',n='(["bottom-center", "left", "right", "only-feature", "inside-bottom", "inside-left", "inside-right"].includes(position))',l=[{label:"Layout",controls:[{layout:"vertical",setting:{id:"position"},options:{isComboLayout:!0},controls:[{label:"Ratio",type:"control",setting:{id:"ratioLayout"},layout:"vertical",conditionDisplay:'position == "left"'},{label:"Ratio",type:"control",setting:{id:"ratioLayoutRight"},layout:"vertical",conditionDisplay:'position == "right"'}]}]},{label:"Featured image",conditionDisplay:n,controls:[{setting:{id:"ftShape"},hiddenOnMobile:!0,layout:"vertical",controlChangeTrigger:{settings:[{condition:"ftShape.shape === 'original'",source:["ftShape"],action:{controlId:"ftLayout",newValue:"contain",groupType:"style",controlType:"style"}}],options:{noRecordHistory:!0}}},{conditionDisplay:"ftShape.shape !== 'original'",label:"Image scale",setting:{id:"ftLayout"}},{...t,hiddenOnMobile:!0,conditionDisplay:`${n} && position === "only-feature"`},{...o,hiddenOnMobile:!0,conditionDisplay:`${n}`}],moreSettings:{type:"collapse",controls:[{label:"Corner",setting:{id:"ftCorner"},hiddenOnMobile:!0},{type:"combo",label:"Hover action",conditionDisplay:n,iconName:"gp-trigger-action-hover",getValueFromSettingID:"hoverEffect",isShowSettingTitle:!0,defaultValueWhenClear:"none",compoDefaultValue:"zoom",hiddenOnMobile:!0,controls:[{label:"When hover",setting:{id:"hoverEffect"}},{label:"Zoom type",conditionDisplay:'hoverEffect == "zoom"',setting:{id:"zoomType"}},{label:"Zoom value",conditionDisplay:'hoverEffect == "zoom"',setting:{id:"zoom"}},{label:"Other image",conditionDisplay:'hoverEffect == "other"',setting:{id:"otherImage"}}]},{type:"combo",label:"Click action",hiddenOnMobile:!0,iconName:"gp-trigger-action-click",conditionDisplay:n,getValueFromSettingID:"ftClickOpenLightBox",isShowSettingTitle:!0,defaultValueWhenClear:"none",compoDefaultValue:"popup",controls:[{label:"After click",setting:{id:"ftClickOpenLightBox"}},{label:"Open new tab",setting:{id:"ftClickOpenNewTab"},conditionDisplay:'ftClickOpenLightBox === "product-link"'}]},{type:"control",label:"Slide speed",setting:{id:"ftAnimationSpeed"}},{type:"control",label:"Animation",setting:{id:"ftAnimationMode"}},{label:"Drag / swipe",setting:{id:"ftDragToScroll"}},{label:"Infinity loop",setting:{id:"ftLoop"}}]}},{label:"Image list",conditionDisplay:'(position !== "only-feature")',controls:[{label:"Display",hiddenOnMobile:!0,conditionDisplay:'position === "bottom-center" || position === "bottom-left" || position === "inside-bottom"',setting:{id:"type"}},{setting:{id:"shape"},hiddenOnMobile:!0,layout:"vertical",conditionDisplay:'["left", "right"].includes(position)'},{setting:{id:"shapeForBottom"},hiddenOnMobile:!0,layout:"vertical",conditionDisplay:'["bottom-left", "bottom-center"].includes(position)'},{setting:{id:"shapeForInsideBottom"},hiddenOnMobile:!0,layout:"vertical",conditionDisplay:'["inside-bottom"].includes(position)'},{setting:{id:"shapeForInside"},hiddenOnMobile:!0,layout:"vertical",conditionDisplay:'["inside-left", "inside-right"].includes(position)'},{setting:{id:"shapeForFtOnly"},hiddenOnMobile:!0,layout:"vertical",conditionDisplay:'position == "only-feature"'},{setting:{id:"shapeFor2Col"},hiddenOnMobile:!0,layout:"vertical",conditionDisplay:'position == "two-col"'},{setting:{id:"shapeFor1Col"},hiddenOnMobile:!0,layout:"vertical",conditionDisplay:'position == "one-col"'},{label:"Image gap",setting:{id:"itemSpacing"}},{conditionDisplay:"(position == 'one-col' && shapeFor1Col.shape !== 'original') || (position == 'two-col' && shapeFor2Col.shape !== 'original') || (position == 'only-feature' && shapeForFtOnly.shape !== 'original') || ([\"inside-left\", \"inside-right\"].includes(position) && shapeForInside.shape !== 'original') || ([\"inside-bottom\"].includes(position) && shapeForInsideBottom.shape !== 'original') || ([\"bottom-left\", \"bottom-center\"].includes(position) && shapeForBottom.shape !== 'original') || ([\"left\", \"right\"].includes(position) && shape.shape !== 'original')",label:"Image scale",setting:{id:"layout"}},{...i,hiddenOnMobile:!0,conditionDisplay:e}],moreSettings:{type:"collapse",controls:[{label:"Corner",hiddenOnMobile:!0,setting:{id:"corner"}},{label:"Active border",hiddenOnMobile:!0,conditionDisplay:'!["one-col", "two-col"].includes(position)',setting:{id:"borderActive"}},{type:"combo",label:"Hover action",conditionDisplay:'(position == "one-col" || position == "two-col")',iconName:"gp-trigger-action-hover",getValueFromSettingID:"galleryHoverEffect",defaultValueWhenClear:"none",hiddenOnMobile:!0,compoDefaultValue:"zoom",controls:[{label:"When hover",setting:{id:"galleryHoverEffect"},conditionDisplay:'galleryHoverEffect == "none"'},{label:"Zoom type",conditionDisplay:'galleryHoverEffect == "zoom"',setting:{id:"galleryZoomType"}},{label:"Zoom value",conditionDisplay:'galleryHoverEffect == "zoom"',setting:{id:"galleryZoom"}},{label:"Other image",conditionDisplay:'galleryHoverEffect == "other"',setting:{id:"otherImage"}}]},{label:"Click action",setting:{id:"clickOpenLightBox"}},{conditionDisplay:e,label:"Drag / swipe",setting:{id:"dragToScroll"}},{conditionDisplay:e,label:"Infinity loop",setting:{id:"loop"}}]}},{label:"Item spacing",hiddenOnMobile:!0,conditionDisplay:'["bottom-center", "left", "right", "inside-bottom", "inside-left", "inside-right"].includes(position)',controls:[{label:"Gap",setting:{id:"spacing"}}]},{label:"Display condition",controls:[{conditionDisplay:'["bottom-center", "left", "right", "only-feature", "inside-bottom", "inside-left", "inside-right"].includes(position)',label:"Default item",setting:{id:"preDisplay"}},{label:"Image list",setting:{id:"filterByVariant"}}],messageConfig:{type:"info",message:'Image list can display based on the selected variants. <a class="text-white" target="_blank" href="https://gempages.co/display-selected-variant">How to setup</a>'}},{label:"Optimize LCP",controls:[{label:"Preload",conditionDisplay:'["bottom-center", "left", "right", "only-feature", "inside-bottom", "inside-left", "inside-right"].includes(position)',setting:{id:"preload"}},{label:"Quality",setting:{id:"qualityType"},conditionDisplay:'preload === false || (preload === true && (position === "one-col" || position === "two-col"))'},{layout:"horizontal",label:"Quality",conditionDisplay:'qualityType == "custom" && (preload === false || (preload === true && (position === "one-col" || position === "two-col")))',setting:{id:"qualityPercent"}}]},{hiddenOnMobile:!0,controls:[{label:"Align",setting:{id:"align"},options:{labelVariant:"primary"}}]}];export{l as SettingUIV2};
1
+ import{ImageListNavigation as i}from"./ui/ImageListNavigation.js";import{FeatureNavigation as o}from"./ui/FeatureNavigation.js";import{FeatureDots as t}from"./ui/FeatureDots.js";let e='((type == "slider" || position == "left" || position == "right") && position !== "one-col" && position != "two-col")',n='(["bottom-center", "left", "right", "only-feature", "inside-bottom", "inside-left", "inside-right"].includes(position))',l=[{label:"Layout",controls:[{layout:"vertical",setting:{id:"position"},options:{isComboLayout:!0},controls:[{label:"Ratio",type:"control",setting:{id:"ratioLayout"},layout:"vertical",conditionDisplay:'position == "left"'},{label:"Ratio",type:"control",setting:{id:"ratioLayoutRight"},layout:"vertical",conditionDisplay:'position == "right"'}]}]},{label:"Featured image",conditionDisplay:n,controls:[{setting:{id:"ftShape"},hiddenOnMobile:!0,layout:"vertical",controlChangeTrigger:{settings:[{condition:"ftShape.shape === 'original'",source:["ftShape"],action:{controlId:"ftLayout",newValue:"contain",groupType:"style",controlType:"style"}}],options:{noRecordHistory:!0}}},{conditionDisplay:"ftShape.shape !== 'original'",label:"Image scale",setting:{id:"ftLayout"}},{...t,hiddenOnMobile:!0,conditionDisplay:`${n} && position === "only-feature"`},{...o,hiddenOnMobile:!0,conditionDisplay:`${n}`}],moreSettings:{type:"collapse",controls:[{label:"Corner",setting:{id:"ftCorner"},hiddenOnMobile:!0},{type:"combo",label:"Hover action",conditionDisplay:n,iconName:"gp-trigger-action-hover",getValueFromSettingID:"hoverEffect",isShowSettingTitle:!0,defaultValueWhenClear:"none",compoDefaultValue:"zoom",hiddenOnMobile:!0,controls:[{label:"When hover",setting:{id:"hoverEffect"}},{label:"Zoom type",conditionDisplay:'hoverEffect == "zoom"',setting:{id:"zoomType"}},{label:"Zoom value",conditionDisplay:'hoverEffect == "zoom"',setting:{id:"zoom"}},{label:"Other image",conditionDisplay:'hoverEffect == "other"',setting:{id:"otherImage"}}]},{type:"combo",label:"Click action",hiddenOnMobile:!0,iconName:"gp-trigger-action-click",conditionDisplay:n,getValueFromSettingID:"ftClickOpenLightBox",isShowSettingTitle:!0,defaultValueWhenClear:"none",compoDefaultValue:"popup",controls:[{label:"After click",setting:{id:"ftClickOpenLightBox"}},{label:"Open new tab",setting:{id:"ftClickOpenNewTab"},conditionDisplay:'ftClickOpenLightBox === "product-link"'}]},{type:"control",label:"Slide speed",setting:{id:"ftAnimationSpeed"}},{type:"control",label:"Animation",setting:{id:"ftAnimationMode"}},{label:"Drag / swipe",setting:{id:"ftDragToScroll"}},{label:"Infinity loop",setting:{id:"ftLoop"}}]}},{label:"Image list",conditionDisplay:'(position !== "only-feature")',controls:[{label:"Display",hiddenOnMobile:!0,conditionDisplay:'position === "bottom-center" || position === "bottom-left" || position === "inside-bottom"',setting:{id:"type"}},{setting:{id:"shape"},hiddenOnMobile:!0,layout:"vertical",conditionDisplay:'["left", "right"].includes(position)'},{setting:{id:"shapeForBottom"},hiddenOnMobile:!0,layout:"vertical",conditionDisplay:'["bottom-left", "bottom-center"].includes(position)'},{setting:{id:"shapeForInsideBottom"},hiddenOnMobile:!0,layout:"vertical",conditionDisplay:'["inside-bottom"].includes(position)'},{setting:{id:"shapeForInside"},hiddenOnMobile:!0,layout:"vertical",conditionDisplay:'["inside-left", "inside-right"].includes(position)'},{setting:{id:"shapeForFtOnly"},hiddenOnMobile:!0,layout:"vertical",conditionDisplay:'position == "only-feature"'},{setting:{id:"shapeFor2Col"},hiddenOnMobile:!0,layout:"vertical",conditionDisplay:'position == "two-col"'},{setting:{id:"shapeFor1Col"},hiddenOnMobile:!0,layout:"vertical",conditionDisplay:'position == "one-col"'},{label:"Image gap",setting:{id:"itemSpacing"}},{conditionDisplay:"(position == 'one-col' && shapeFor1Col.shape !== 'original') || (position == 'two-col' && shapeFor2Col.shape !== 'original') || (position == 'only-feature' && shapeForFtOnly.shape !== 'original') || ([\"inside-left\", \"inside-right\"].includes(position) && shapeForInside.shape !== 'original') || ([\"inside-bottom\"].includes(position) && shapeForInsideBottom.shape !== 'original') || ([\"bottom-left\", \"bottom-center\"].includes(position) && shapeForBottom.shape !== 'original') || ([\"left\", \"right\"].includes(position) && shape.shape !== 'original')",label:"Image scale",setting:{id:"layout"}},{...i,hiddenOnMobile:!0,conditionDisplay:e}],moreSettings:{type:"collapse",controls:[{label:"Corner",hiddenOnMobile:!0,setting:{id:"corner"}},{label:"Active border",hiddenOnMobile:!0,conditionDisplay:'!["one-col", "two-col"].includes(position)',setting:{id:"borderActive"}},{type:"combo",label:"Hover action",conditionDisplay:'(position == "one-col" || position == "two-col")',iconName:"gp-trigger-action-hover",getValueFromSettingID:"galleryHoverEffect",defaultValueWhenClear:"none",hiddenOnMobile:!0,compoDefaultValue:"zoom",controls:[{label:"When hover",setting:{id:"galleryHoverEffect"},conditionDisplay:'galleryHoverEffect == "none"'},{label:"Zoom type",conditionDisplay:'galleryHoverEffect == "zoom"',setting:{id:"galleryZoomType"}},{label:"Zoom value",conditionDisplay:'galleryHoverEffect == "zoom"',setting:{id:"galleryZoom"}},{label:"Other image",conditionDisplay:'galleryHoverEffect == "other"',setting:{id:"otherImage"}}]},{label:"Click action",setting:{id:"clickOpenLightBox"}},{conditionDisplay:e,label:"Drag / swipe",setting:{id:"dragToScroll"}},{conditionDisplay:e,label:"Infinity loop",setting:{id:"loop"}}]}},{label:"Item spacing",hiddenOnMobile:!0,conditionDisplay:'["bottom-center", "left", "right", "inside-bottom", "inside-left", "inside-right"].includes(position)',controls:[{label:"Gap",setting:{id:"spacing"}}]},{label:"Display condition",controls:[{conditionDisplay:'["bottom-center", "left", "right", "only-feature", "inside-bottom", "inside-left", "inside-right"].includes(position)',label:"Default item",setting:{id:"preDisplay"}},{label:"Image list",setting:{id:"filterByVariant"}}],messageConfig:{type:"info",message:'Image list can display based on the selected variants. <a class="text-white" target="_blank" href="https://gempages.co/display-selected-variant">How to setup</a>'}},{label:"Optimize LCP",conditionDisplay:'pageType !== "STATIC"',controls:[{label:"Preload",conditionDisplay:'["bottom-center", "left", "right", "only-feature", "inside-bottom", "inside-left", "inside-right"].includes(position)',setting:{id:"preload"}},{label:"Quality",setting:{id:"qualityType"},conditionDisplay:'preload === false || (preload === true && (position === "one-col" || position === "two-col"))'},{layout:"horizontal",label:"Quality",conditionDisplay:'qualityType == "custom" && (preload === false || (preload === true && (position === "one-col" || position === "two-col")))',setting:{id:"qualityPercent"}}]},{hiddenOnMobile:!0,controls:[{label:"Align",setting:{id:"align"},options:{labelVariant:"primary"}}]}];export{l as SettingUIV2};
@@ -1 +1 @@
1
- import o from"next/dynamic";import m from"../common/components/Loading.js";import"react/jsx-runtime";import"react";import"@gem-sdk/core";let r=o(()=>import("./components/Radio.js"),{loading:m});var t={Radio:r};export{t as default};
1
+ import o from"next/dynamic";import m from"../common/components/Loading.js";import"react/jsx-runtime";import"react";import"@gem-sdk/core";import"../common/const.js";let t=o(()=>import("./components/Radio.js"),{loading:m});var r={Radio:t};export{r as default};