@gem-sdk/components 19.1.0-dev.6 → 19.1.0-dev.8

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 (204) 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/next.js +1 -1
  9. package/dist/cjs/carousel/next.js +1 -1
  10. package/dist/cjs/carousel-v3/next.js +1 -1
  11. package/dist/cjs/cart/components/CartList.js +1 -1
  12. package/dist/cjs/cart/index.js +1 -1
  13. package/dist/cjs/cart/next.js +1 -1
  14. package/dist/cjs/code/next.js +1 -1
  15. package/dist/cjs/collection/next.js +1 -1
  16. package/dist/cjs/common/const.js +1 -1
  17. package/dist/cjs/countdown-timer/next.js +1 -1
  18. package/dist/cjs/coupon/next.js +1 -1
  19. package/dist/cjs/dialog/index.js +1 -1
  20. package/dist/cjs/dialog/next.js +1 -1
  21. package/dist/cjs/estimate-delivery/next.js +1 -1
  22. package/dist/cjs/form/next.js +1 -1
  23. package/dist/cjs/grid/components/section/Section.js +1 -1
  24. package/dist/cjs/grid/index.js +1 -1
  25. package/dist/cjs/header/components/kind/basic/index.js +1 -1
  26. package/dist/cjs/header/components/kind/modern/index.js +1 -1
  27. package/dist/cjs/header/index.js +1 -1
  28. package/dist/cjs/header/next.js +1 -1
  29. package/dist/cjs/hero-banner/components/HeroBannerItem.js +1 -1
  30. package/dist/cjs/hero-banner/index.js +1 -1
  31. package/dist/cjs/hero-banner/next.js +1 -1
  32. package/dist/cjs/icon/next.js +1 -1
  33. package/dist/cjs/icon-list/next.js +1 -1
  34. package/dist/cjs/icon-list-hoz/next.js +1 -1
  35. package/dist/cjs/icon-list-v2/next.js +1 -1
  36. package/dist/cjs/image/common/const.js +1 -1
  37. package/dist/cjs/image/common/helpers.js +2 -2
  38. package/dist/cjs/image-comparison/next.js +1 -1
  39. package/dist/cjs/image-detection/next.js +1 -1
  40. package/dist/cjs/input/next.js +1 -1
  41. package/dist/cjs/line/next.js +1 -1
  42. package/dist/cjs/link/next.js +1 -1
  43. package/dist/cjs/marquee/next.js +1 -1
  44. package/dist/cjs/menu/next.js +1 -1
  45. package/dist/cjs/modal/next.js +1 -1
  46. package/dist/cjs/pagination/next.js +1 -1
  47. package/dist/cjs/post-purchase/advanced-list/next.js +1 -1
  48. package/dist/cjs/post-purchase/button/next.js +1 -1
  49. package/dist/cjs/post-purchase/buyer-consent/next.js +1 -1
  50. package/dist/cjs/post-purchase/callout-banner/components/CalloutBox.js +1 -1
  51. package/dist/cjs/post-purchase/callout-banner/index.js +1 -1
  52. package/dist/cjs/post-purchase/callout-banner/next.js +1 -1
  53. package/dist/cjs/post-purchase/countdown-timer/next.js +1 -1
  54. package/dist/cjs/post-purchase/image/next.js +1 -1
  55. package/dist/cjs/post-purchase/line/next.js +1 -1
  56. package/dist/cjs/post-purchase/link/next.js +1 -1
  57. package/dist/cjs/post-purchase/product/components/product-image/FeatureImage.js +1 -1
  58. package/dist/cjs/post-purchase/product/components/product-image/carousel-post-purchase/Arrow.js +1 -1
  59. package/dist/cjs/post-purchase/product/components/product-image/carousel-post-purchase/CarouselWrapperPostPurchase.js +1 -1
  60. package/dist/cjs/post-purchase/product/components/product-image/layouts/OnlyGalleryImage.js +1 -1
  61. package/dist/cjs/post-purchase/product/components/product-offer/components/ProductOffer.js +1 -1
  62. package/dist/cjs/post-purchase/product/components/product-offer/components/ProductOfferItem.js +1 -1
  63. package/dist/cjs/post-purchase/product/hooks/useNavigationCarouselPostPurchase.js +1 -1
  64. package/dist/cjs/post-purchase/product/index.js +1 -1
  65. package/dist/cjs/post-purchase/product/next.js +1 -1
  66. package/dist/cjs/post-purchase/text/next.js +1 -1
  67. package/dist/cjs/product/components/product-badge/ProductBadge.js +1 -1
  68. package/dist/cjs/product/components/product-badge/ProductBadge.liquid.js +18 -18
  69. package/dist/cjs/product/components/product-badge/common/styles.js +1 -1
  70. package/dist/cjs/product/components/product-badge/utils/injectBadgeStateExtras.js +1 -0
  71. package/dist/cjs/product/components/product-badge/utils/renderBadgeLiquid.js +5 -5
  72. package/dist/cjs/product/components/product-discount-tag/ProductDiscountTag.js +1 -1
  73. package/dist/cjs/product/components/product-images-v3/ProductImagesV3.liquid.js +3 -3
  74. package/dist/cjs/product/components/product-list/ProductList.js +1 -1
  75. package/dist/cjs/product/components/product-list-v3/ProductList.js +1 -1
  76. package/dist/cjs/product/components/product-list-v3/common/helpers.js +1 -1
  77. package/dist/cjs/product/components/product-list-v3/constants/index.js +1 -0
  78. package/dist/cjs/product/components/product-list-v3/hooks/useCollectionQuery.js +1 -0
  79. package/dist/cjs/product/components/product-list-v3/hooks/useMainRelatedProductQuery.js +1 -0
  80. package/dist/cjs/product/components/product-list-v3/hooks/useProductRelatedQuery.js +1 -0
  81. package/dist/cjs/product/components/product-list-v3/hooks/useProductsQuery.js +1 -0
  82. package/dist/cjs/product/components/product-list-v3/hooks/useRelatedProductIDAssigned.js +1 -0
  83. package/dist/cjs/product/components/product-quick-view/ProductQuickView.js +1 -1
  84. package/dist/cjs/product/components/product-wrap/Product.js +1 -1
  85. package/dist/cjs/product/components/product-wrap/hook/useProductQuery.js +1 -0
  86. package/dist/cjs/product/components/product-wrap/hook/useProductSetting.js +1 -1
  87. package/dist/cjs/product/index.js +1 -1
  88. package/dist/cjs/product/next.js +1 -1
  89. package/dist/cjs/radio/next.js +1 -1
  90. package/dist/cjs/select/next.js +1 -1
  91. package/dist/cjs/shop-pay-installment/next.js +1 -1
  92. package/dist/cjs/sticky/hooks/useSticky.js +1 -1
  93. package/dist/cjs/sticky/index.js +1 -1
  94. package/dist/cjs/sticky/next.js +1 -1
  95. package/dist/cjs/stock-counter/next.js +1 -1
  96. package/dist/cjs/tab/next.js +1 -1
  97. package/dist/cjs/textarea/next.js +1 -1
  98. package/dist/cjs/third-party/next.js +1 -1
  99. package/dist/cjs/third-party-instant/next.js +1 -1
  100. package/dist/cjs/third-party-slot/next.js +1 -1
  101. package/dist/cjs/video/next.js +1 -1
  102. package/dist/esm/accordion/next.js +1 -1
  103. package/dist/esm/article/components/ArticleContent.js +2 -2
  104. package/dist/esm/article/components/ArticleExcerpt.js +1 -1
  105. package/dist/esm/article/components/ArticleList.js +1 -1
  106. package/dist/esm/article/index.js +1 -1
  107. package/dist/esm/article/next.js +1 -1
  108. package/dist/esm/breadcrumb/next.js +1 -1
  109. package/dist/esm/button/next.js +1 -1
  110. package/dist/esm/carousel/next.js +1 -1
  111. package/dist/esm/carousel-v3/next.js +1 -1
  112. package/dist/esm/cart/components/CartList.js +1 -1
  113. package/dist/esm/cart/index.js +1 -1
  114. package/dist/esm/cart/next.js +1 -1
  115. package/dist/esm/code/next.js +1 -1
  116. package/dist/esm/collection/next.js +1 -1
  117. package/dist/esm/common/const.js +1 -1
  118. package/dist/esm/countdown-timer/next.js +1 -1
  119. package/dist/esm/coupon/next.js +1 -1
  120. package/dist/esm/dialog/index.js +1 -1
  121. package/dist/esm/dialog/next.js +1 -1
  122. package/dist/esm/estimate-delivery/next.js +1 -1
  123. package/dist/esm/form/next.js +1 -1
  124. package/dist/esm/grid/components/section/Section.js +1 -1
  125. package/dist/esm/grid/index.js +1 -1
  126. package/dist/esm/header/components/kind/basic/index.js +1 -1
  127. package/dist/esm/header/components/kind/modern/index.js +1 -1
  128. package/dist/esm/header/index.js +1 -1
  129. package/dist/esm/header/next.js +1 -1
  130. package/dist/esm/hero-banner/components/HeroBannerItem.js +1 -1
  131. package/dist/esm/hero-banner/index.js +1 -1
  132. package/dist/esm/hero-banner/next.js +1 -1
  133. package/dist/esm/icon/next.js +1 -1
  134. package/dist/esm/icon-list/next.js +1 -1
  135. package/dist/esm/icon-list-hoz/next.js +1 -1
  136. package/dist/esm/icon-list-v2/next.js +1 -1
  137. package/dist/esm/image/common/const.js +1 -1
  138. package/dist/esm/image/common/helpers.js +2 -2
  139. package/dist/esm/image-comparison/next.js +1 -1
  140. package/dist/esm/image-detection/next.js +1 -1
  141. package/dist/esm/input/next.js +1 -1
  142. package/dist/esm/line/next.js +1 -1
  143. package/dist/esm/link/next.js +1 -1
  144. package/dist/esm/marquee/next.js +1 -1
  145. package/dist/esm/menu/next.js +1 -1
  146. package/dist/esm/modal/next.js +1 -1
  147. package/dist/esm/pagination/next.js +1 -1
  148. package/dist/esm/post-purchase/advanced-list/next.js +1 -1
  149. package/dist/esm/post-purchase/button/next.js +1 -1
  150. package/dist/esm/post-purchase/buyer-consent/next.js +1 -1
  151. package/dist/esm/post-purchase/callout-banner/components/CalloutBox.js +1 -1
  152. package/dist/esm/post-purchase/callout-banner/index.js +1 -1
  153. package/dist/esm/post-purchase/callout-banner/next.js +1 -1
  154. package/dist/esm/post-purchase/countdown-timer/next.js +1 -1
  155. package/dist/esm/post-purchase/image/next.js +1 -1
  156. package/dist/esm/post-purchase/line/next.js +1 -1
  157. package/dist/esm/post-purchase/link/next.js +1 -1
  158. package/dist/esm/post-purchase/product/components/product-image/FeatureImage.js +1 -1
  159. package/dist/esm/post-purchase/product/components/product-image/carousel-post-purchase/Arrow.js +1 -1
  160. package/dist/esm/post-purchase/product/components/product-image/carousel-post-purchase/CarouselWrapperPostPurchase.js +1 -1
  161. package/dist/esm/post-purchase/product/components/product-image/layouts/OnlyGalleryImage.js +1 -1
  162. package/dist/esm/post-purchase/product/components/product-offer/components/ProductOffer.js +1 -1
  163. package/dist/esm/post-purchase/product/components/product-offer/components/ProductOfferItem.js +1 -1
  164. package/dist/esm/post-purchase/product/hooks/useNavigationCarouselPostPurchase.js +1 -1
  165. package/dist/esm/post-purchase/product/index.js +1 -1
  166. package/dist/esm/post-purchase/product/next.js +1 -1
  167. package/dist/esm/post-purchase/text/next.js +1 -1
  168. package/dist/esm/product/components/product-badge/ProductBadge.js +1 -1
  169. package/dist/esm/product/components/product-badge/ProductBadge.liquid.js +15 -15
  170. package/dist/esm/product/components/product-badge/common/styles.js +1 -1
  171. package/dist/esm/product/components/product-badge/utils/injectBadgeStateExtras.js +1 -0
  172. package/dist/esm/product/components/product-badge/utils/renderBadgeLiquid.js +1 -1
  173. package/dist/esm/product/components/product-discount-tag/ProductDiscountTag.js +1 -1
  174. package/dist/esm/product/components/product-images-v3/ProductImagesV3.liquid.js +3 -3
  175. package/dist/esm/product/components/product-list/ProductList.js +1 -1
  176. package/dist/esm/product/components/product-list-v3/ProductList.js +1 -1
  177. package/dist/esm/product/components/product-list-v3/common/helpers.js +1 -1
  178. package/dist/esm/product/components/product-list-v3/constants/index.js +1 -0
  179. package/dist/esm/product/components/product-list-v3/hooks/useCollectionQuery.js +1 -0
  180. package/dist/esm/product/components/product-list-v3/hooks/useMainRelatedProductQuery.js +1 -0
  181. package/dist/esm/product/components/product-list-v3/hooks/useProductRelatedQuery.js +1 -0
  182. package/dist/esm/product/components/product-list-v3/hooks/useProductsQuery.js +1 -0
  183. package/dist/esm/product/components/product-list-v3/hooks/useRelatedProductIDAssigned.js +1 -0
  184. package/dist/esm/product/components/product-quick-view/ProductQuickView.js +1 -1
  185. package/dist/esm/product/components/product-wrap/Product.js +1 -1
  186. package/dist/esm/product/components/product-wrap/hook/useProductQuery.js +1 -0
  187. package/dist/esm/product/components/product-wrap/hook/useProductSetting.js +1 -1
  188. package/dist/esm/product/index.js +1 -1
  189. package/dist/esm/product/next.js +1 -1
  190. package/dist/esm/radio/next.js +1 -1
  191. package/dist/esm/select/next.js +1 -1
  192. package/dist/esm/shop-pay-installment/next.js +1 -1
  193. package/dist/esm/sticky/hooks/useSticky.js +1 -1
  194. package/dist/esm/sticky/index.js +1 -1
  195. package/dist/esm/sticky/next.js +1 -1
  196. package/dist/esm/stock-counter/next.js +1 -1
  197. package/dist/esm/tab/next.js +1 -1
  198. package/dist/esm/textarea/next.js +1 -1
  199. package/dist/esm/third-party/next.js +1 -1
  200. package/dist/esm/third-party-instant/next.js +1 -1
  201. package/dist/esm/third-party-slot/next.js +1 -1
  202. package/dist/esm/video/next.js +1 -1
  203. package/dist/types/index.d.ts +1 -0
  204. package/package.json +1 -1
@@ -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 m=o(()=>import("./components/Button.js"),{loading:t});var r={PostPurchaseButton:m};export{r 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 m=o(()=>import("./components/Button.js"),{loading:t});var r={PostPurchaseButton:m};export{r as default};
@@ -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 r=o(()=>import("./components/BuyerConsent.js"),{loading:t});var e={PostPurchaseBuyerConsent:r};export{e 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 m=o(()=>import("./components/BuyerConsent.js"),{loading:t});var r={PostPurchaseBuyerConsent:m};export{r as default};
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import{jsx as o}from"react/jsx-runtime";import{createClass as m,createStyle as r}from"@gem-sdk/system";import"react";import"@gem-sdk/core";import t from"../../../grid/components/row/Row.js";import{getCalloutBoxWrapperClasses as e}from"../common/classes.js";import{getCalloutBoxContainerStyles as s}from"../common/styles.js";let i=i=>{let{styles:l}=i,c=m(e(l)),p=r(s(l));return o("div",{className:c,style:p,children:o(t,{...i})})};export{i as default};
2
+ import{jsx as o}from"react/jsx-runtime";import{createClass as m,createStyle as r}from"@gem-sdk/system";import"react";import"@gem-sdk/core";import"../../../common/const.js";import t from"../../../grid/components/row/Row.js";import{getCalloutBoxWrapperClasses as s}from"../common/classes.js";import{getCalloutBoxContainerStyles as e}from"../common/styles.js";let i=i=>{let{styles:c}=i,l=m(s(c)),p=r(e(c));return o("div",{className:l,style:p,children:o(t,{...i})})};export{i as default};
@@ -1 +1 @@
1
- import"react/jsx-runtime";import"@gem-sdk/system";import"react";import"@gem-sdk/core";import"next/head";import"next/image";import"next/link";import"react-youtube";import"./common/styles.js";import t from"./settings/CalloutBox.js";import o from"./settings/CalloutText.js";let e={PostPurchaseCalloutBox:t,PostPurchaseCalloutText:o};export{e as postPurchaseCalloutBoxSetting};
1
+ import"react/jsx-runtime";import"@gem-sdk/system";import"react";import"@gem-sdk/core";import"../../common/const.js";import"next/head";import"next/image";import"next/link";import"react-youtube";import"./common/styles.js";import t from"./settings/CalloutBox.js";import o from"./settings/CalloutText.js";let e={PostPurchaseCalloutBox:t,PostPurchaseCalloutText:o};export{e as postPurchaseCalloutBoxSetting};
@@ -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 m=o(()=>import("./components/CalloutBox.js"),{loading:t}),r=o(()=>import("./components/CalloutText.js"),{loading:t});var e={PostPurchaseCalloutBox:m,PostPurchaseCalloutText:r};export{e 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 m=o(()=>import("./components/CalloutBox.js"),{loading:t}),r=o(()=>import("./components/CalloutText.js"),{loading:t});var n={PostPurchaseCalloutBox:m,PostPurchaseCalloutText:r};export{n as default};
@@ -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 r=o(()=>import("./components/PostPurchaseCountdownTimer.js"),{loading:t});var m={PostPurchaseCountdownTimer:r};export{m 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 m=o(()=>import("./components/PostPurchaseCountdownTimer.js"),{loading:t});var r={PostPurchaseCountdownTimer:m};export{r as default};
@@ -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 t=o(()=>import("./components/Image.js"),{loading:m});var r={PostPurchaseImage:t};export{r 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/Image.js"),{loading:m});var r={PostPurchaseImage:t};export{r as default};
@@ -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 r=o(()=>import("./components/PostPurchaseLine.js"),{loading:t});var e={PostPurchaseLine:r};export{e 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 m=o(()=>import("./components/PostPurchaseLine.js"),{loading:t});var r={PostPurchaseLine:m};export{r as default};
@@ -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 r=o(()=>import("./components/PostPurchaseLink.js"),{loading:t});var m={PostPurchaseLink:r};export{m 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 m=o(()=>import("./components/PostPurchaseLink.js"),{loading:t});var r={PostPurchaseLink:m};export{r as default};
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import{jsx as e}from"react/jsx-runtime";import t from"./ImageListCarousel.js";import{createStyle as o}from"@gem-sdk/system";import{useFeatureImagePostPurchase as r}from"../../hooks/useFeatureImagePostPurchase.js";import{useSlideCarousel as s}from"../../hooks/useSlideCarousel.js";import{getFeatureImageStyle as i}from"../../common/styles.js";let m=m=>{let{styles:a,setting:l,gallery:n}=m,u={...l,...a},{ftNavigation:c="none",ftSpacing:p="xtight",layoutType:d,ftAspectRatio:g,ftObjectFit:f,ftWidth:j}=u,{idxActive:h}=r({gallery:n}),{itemSlideList:v}=s({layoutType:d}),x=o(i({ftWidth:j}));return e("div",{style:x,children:e(t,{...m,productImages:n,aspectRatio:g,objectFit:f,spacing:p,navigation:c,vertical:!1,border:"none",itemPerSlide:v,idxActive:h})})};export{m as default};
2
+ import{jsx as e}from"react/jsx-runtime";import t from"./ImageListCarousel.js";import{createStyle as o}from"@gem-sdk/system";import{useFeatureImagePostPurchase as r}from"../../hooks/useFeatureImagePostPurchase.js";import{useSlideCarousel as s}from"../../hooks/useSlideCarousel.js";import{getFeatureImageStyle as i}from"../../common/styles.js";let m=m=>{let{styles:a,setting:u,gallery:l}=m,n={...u,...a},{ftNavigation:p="none",ftSpacing:c="xtight",layoutType:d,ftAspectRatio:g,ftObjectFit:f,ftWidth:j}=n,{idxActive:h}=r({gallery:l}),{itemSlideList:v}=s({layoutType:d}),x=o(i({ftWidth:j}));return e("div",{style:x,children:e(t,{...m,productImages:l,aspectRatio:g,objectFit:f,spacing:c,navigation:p,vertical:!1,border:"none",itemPerSlide:v,idxActive:h,type:"feature-image"})})};export{m as default};
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import{jsx as o}from"react/jsx-runtime";import{createClass as r}from"@gem-sdk/system";import{useNavigationCarouselPostPurchase as s}from"../../../hooks/useNavigationCarouselPostPurchase.js";import{getNavigationClass as e}from"../../../common/classes.js";let t=t=>{let{type:m,navigation:a,vertical:i,hidden:l=!1}=t,{imgSrc:n,handleClick:c,disabled:u}=s({type:m,vertical:i}),p=r(e());return"none"===a||l?null:o("button",{className:p,disabled:u,onClick:c,children:o("img",{src:n,alt:`gp-arrow-${m}`})})};export{t as ArrowPostPurchase};
2
+ import{jsx as o}from"react/jsx-runtime";import{createClass as r}from"@gem-sdk/system";import{useNavigationCarouselPostPurchase as s}from"../../../hooks/useNavigationCarouselPostPurchase.js";import{getNavigationClass as e}from"../../../common/classes.js";let t=t=>{let{type:m,navigation:a,vertical:i,hidden:l=!1,carouselType:n,productImages:c}=t,{imgSrc:u,handleClick:p,disabled:d}=s({type:m,vertical:i,productImages:c,carouselType:n}),f=r(e());return"none"===a||l?null:o("button",{className:f,disabled:d,onClick:p,children:o("img",{src:u,alt:`gp-arrow-${m}`})})};export{t as ArrowPostPurchase};
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import{jsxs as e,jsx as o}from"react/jsx-runtime";import{useEffect as r}from"react";import{postPurchaseSpacing as t}from"../../../../common/helper.js";import{createClass as m,createStyle as s}from"@gem-sdk/system";import{ArrowPostPurchase as i}from"./Arrow.js";import{CarouselPostPurchase as a}from"./CarouselPostPurchase.js";import{useCarousel as n}from"../../../hooks/useCarousel.js";import{getImageListClass as p}from"../../../common/classes.js";import{getImageListStyle as c}from"../../../common/styles.js";let l=({styles:l,setting:u,productImages:d,objectFit:f="cover",aspectRatio:h,itemPerSlide:j=1,spacing:v,navigation:g="none",vertical:y=!1,border:P="none",idxActive:x})=>{let b={...l,...u},{layoutType:C}=b||{},{setMoveToIdx:k,setMaxIdx:w}=n(),N=t[v||"none"]??"0px",R="one-col"===C,A=m(p()),F=s(c({gap:N,vertical:y}));return r(()=>{let e=d.length-Number(j||0);w(e)},[d.length,j,w]),r(()=>{(x||0===x)&&1===j&&k(x)},[x,j,k]),e("div",{className:A,style:F,children:[o(i,{type:"prev",navigation:g,vertical:y,hidden:R}),o(a,{productImages:d,itemPerRow:j,border:P,aspectRatio:h,objectFit:f,vertical:y}),o(i,{type:"next",navigation:g,vertical:y,hidden:R})]})};export{l as CarouselWrapperPostPurchase};
2
+ import{jsxs as e,jsx as o}from"react/jsx-runtime";import{useEffect as r}from"react";import{postPurchaseSpacing as t}from"../../../../common/helper.js";import{createClass as m,createStyle as s}from"@gem-sdk/system";import{ArrowPostPurchase as a}from"./Arrow.js";import{CarouselPostPurchase as i}from"./CarouselPostPurchase.js";import{useCarousel as p}from"../../../hooks/useCarousel.js";import{getImageListClass as c}from"../../../common/classes.js";import{getImageListStyle as n}from"../../../common/styles.js";let l=({styles:l,setting:u,productImages:d,objectFit:f="cover",aspectRatio:g,itemPerSlide:h=1,spacing:j,navigation:v="none",vertical:y=!1,border:P="none",idxActive:x,type:b})=>{let C={...l,...u},{layoutType:I}=C||{},{setMoveToIdx:k,setMaxIdx:w}=p(),N=t[j||"none"]??"0px",R="one-col"===I,T=m(c()),A=s(n({gap:N,vertical:y}));return r(()=>{let e=d.length-Number(h||0);w(e)},[d.length,h,w]),r(()=>{(x||0===x)&&1===h&&k(x)},[x,h,k]),e("div",{className:T,style:A,children:[o(a,{type:"prev",productImages:d,navigation:v,carouselType:b,vertical:y,hidden:R}),o(i,{productImages:d,itemPerRow:h,border:P,aspectRatio:g,objectFit:f,vertical:y}),o(a,{type:"next",productImages:d,navigation:v,carouselType:b,vertical:y,hidden:R})]})};export{l as CarouselWrapperPostPurchase};
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import{jsx as e}from"react/jsx-runtime";import t from"../ImageListGrid.js";import i from"../ImageListCarousel.js";import{createClass as r}from"@gem-sdk/system";import{useProductImagePostPurchase as o}from"../../../hooks/useProductImagePostPurchase.js";import{getOnlyFeatureLayoutClass as m}from"../../../common/classes.js";let a=a=>{let{setting:s,styles:l,gallery:c}=a,p={...s,...l},{isImageListCarousel:d}=o({imageList:c,setting:s}),g=r(m());return e("div",{className:g,children:d?e(i,{...a,productImages:c,aspectRatio:p?.ilAspectRatio,objectFit:p.ilObjectFit,spacing:p.ilSpacing,navigation:p?.ilNavigation,vertical:p?.layoutType!=="bottom-center",border:p?.ilBorder,itemPerSlide:p?.ilItemPerSlide}):e(t,{...a,productImages:c})})};export{a as default};
2
+ import{jsx as e}from"react/jsx-runtime";import t from"../ImageListGrid.js";import i from"../ImageListCarousel.js";import{createClass as r}from"@gem-sdk/system";import{useProductImagePostPurchase as o}from"../../../hooks/useProductImagePostPurchase.js";import{getOnlyFeatureLayoutClass as m}from"../../../common/classes.js";let s=s=>{let{setting:a,styles:l,gallery:c}=s,p={...a,...l},{isImageListCarousel:g}=o({imageList:c,setting:a}),d=r(m());return e("div",{className:d,children:g?e(i,{...s,productImages:c,aspectRatio:p?.ilAspectRatio,objectFit:p.ilObjectFit,spacing:p.ilSpacing,navigation:p?.ilNavigation,vertical:p?.layoutType!=="bottom-center",border:p?.ilBorder,itemPerSlide:p?.ilItemPerSlide,type:"images-list"}):e(t,{...s,productImages:c})})};export{s as default};
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import{jsx as o,Fragment as t}from"react/jsx-runtime";import{createElement as e}from"react";import r from"../../../../../common/components/Loading.js";import"@gem-sdk/core";import{getProductOfferContainerClasses as m,getProductOfferWrapperClasses as s}from"../common/classes.js";import{createClass as a,createStyle as c}from"@gem-sdk/system";import{getWrapperStyles as d,getContainerStyles as i}from"../common/styles.js";import{useProductOfferData as l}from"../hooks/useProductOfferData.js";import{ProductOfferItem as n}from"./ProductOfferItem.js";let f=f=>{let{styles:p,builderAttrs:u,builderProps:h,setting:P}=f,{isLoading:j,productSortedById:y,totalProduct:g}=l(),k=a({...m(h?.uid)}),v=a({...s()}),x=c({...d(p)}),O=c({...i(P)});return o(t,{children:j?o(r,{}):y?.length?o("div",{...u,className:k,style:O,children:o("div",{className:v,style:x,children:y?.map((o,t)=>e(n,{...f,product:o,index:t,key:t,totalProduct:g}))})}):o("div",{children:"You haven't set up a product yet. Please go back to the sales funnel details to add a product."})})};export{f as default};
2
+ import{jsx as o,Fragment as t}from"react/jsx-runtime";import{createElement as e}from"react";import r from"../../../../../common/components/Loading.js";import"@gem-sdk/core";import"../../../../../common/const.js";import{getProductOfferContainerClasses as m,getProductOfferWrapperClasses as s}from"../common/classes.js";import{createClass as c,createStyle as a}from"@gem-sdk/system";import{getWrapperStyles as d,getContainerStyles as i}from"../common/styles.js";import{useProductOfferData as l}from"../hooks/useProductOfferData.js";import{ProductOfferItem as n}from"./ProductOfferItem.js";let p=p=>{let{styles:f,builderAttrs:u,builderProps:h,setting:j}=p,{isLoading:P,productSortedById:y,totalProduct:g}=l(),k=c({...m(h?.uid)}),v=c({...s()}),x=a({...d(f)}),O=a({...i(j)});return o(t,{children:P?o(r,{}):y?.length?o("div",{...u,className:k,style:O,children:o("div",{className:v,style:x,children:y?.map((o,t)=>e(n,{...p,product:o,index:t,key:t,totalProduct:g}))})}):o("div",{children:"You haven't set up a product yet. Please go back to the sales funnel details to add a product."})})};export{p as default};
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import{jsx as r}from"react/jsx-runtime";import{useRenderMode as e,isEmptyChildren as t,ProductProvider as o}from"@gem-sdk/core";import{useRef as i}from"react";import m from"../../../../../grid/components/row/Row.js";import s from"../../../../../grid/components/ChildrenDroppable.js";import{createAttr as n,createClass as d}from"@gem-sdk/system";import{getProductOfferAttrs as c}from"../common/attrs.js";import{getProductOfferItemClasses as l}from"../common/classes.js";import{ProductOfferSubscriptionPresenceProvider as a}from"../context/PrdOfferSubscriptionPresenceContext.js";let f=f=>{let{product:p,setting:u,builderProps:h,children:j,index:b,totalProduct:g,builderAttrs:y,styles:x}=f,{isEditMode:I}=e(),{variantSelected:O,productOfferLayout:k,layout:v,...P}=u??{};Object.keys(v||{}).forEach(r=>{k?.[r]==="2col"&&v?.[r]&&(v[r].display="fill")});let w=O?.[p?.baseID??""]?.variantId,C=n({...c(p,h?.uid)}),D=d({...l(b,u,g)}),R=i(null),A=r("div",{ref:R,...I&&C,children:r(m,{builderAttrs:y,setting:{...P,layout:v},styles:x,children:t(j)?r(s,{}):j})});return r("div",{className:D,children:r(o,{product:p,readOnly:!0,initialVariantId:w??"Latest",uid:h?.uid,children:r(a,{containerRef:R,children:A})})},`uid-${p?.id}`)};export{f as ProductOfferItem};
2
+ import{jsx as r}from"react/jsx-runtime";import{useRenderMode as t,isEmptyChildren as e,ProductProvider as o}from"@gem-sdk/core";import{useRef as i}from"react";import"../../../../../common/const.js";import m from"../../../../../grid/components/row/Row.js";import s from"../../../../../grid/components/ChildrenDroppable.js";import{createAttr as n,createClass as c}from"@gem-sdk/system";import{getProductOfferAttrs as d}from"../common/attrs.js";import{getProductOfferItemClasses as l}from"../common/classes.js";import{ProductOfferSubscriptionPresenceProvider as a}from"../context/PrdOfferSubscriptionPresenceContext.js";let f=f=>{let{product:p,setting:u,builderProps:j,children:h,index:b,totalProduct:g,builderAttrs:y,styles:x}=f,{isEditMode:I}=t(),{variantSelected:O,productOfferLayout:k,layout:v,...P}=u??{};Object.keys(v||{}).forEach(r=>{k?.[r]==="2col"&&v?.[r]&&(v[r].display="fill")});let w=O?.[p?.baseID??""]?.variantId,C=n({...d(p,j?.uid)}),D=c({...l(b,u,g)}),R=i(null),A=r("div",{ref:R,...I&&C,children:r(m,{builderAttrs:y,setting:{...P,layout:v},styles:x,children:e(h)?r(s,{}):h})});return r("div",{className:D,children:r(o,{product:p,readOnly:!0,initialVariantId:w??"Latest",uid:j?.uid,children:r(a,{containerRef:R,children:A})})},`uid-${p?.id}`)};export{f as ProductOfferItem};
@@ -1 +1 @@
1
- import{useMemo as e}from"react";import{BUTTON_URL_MAP_POST_PURCHASE as r}from"../constants/index.js";import{useCarousel as t}from"./useCarousel.js";let o=o=>{let{moveToIdx:a,maxIdx:i,setMoveToIdx:n}=t(),{type:s,vertical:l}=o,u="next"==s?a>=i:0===a,m=e(()=>r[s][l?"vertical":"horizontal"][u?"disabled":"enabled"],[s,l,u]);return{imgSrc:m,handleClick:()=>{if("next"===s){n(a+1);return}n(a-1)},disabled:u}};export{o as useNavigationCarouselPostPurchase};
1
+ import{useMemo as e}from"react";import{BUTTON_URL_MAP_POST_PURCHASE as t}from"../constants/index.js";import{useCarousel as r}from"./useCarousel.js";import{useProductStore as o}from"@gem-sdk/core";let a=a=>{let{moveToIdx:s,maxIdx:i,setMoveToIdx:l}=r(),m=o(e=>e.setProductFeaturedImage),{type:u,vertical:n}=a,c="next"==u?s>=i:0===s,d=e(()=>t[u][n?"vertical":"horizontal"][c?"disabled":"enabled"],[u,n,c]);return{imgSrc:d,handleClick:()=>{let e="next"===u?s+1:s-1;if(l(e),"feature-image"===a.carouselType){let t=a.productImages?.[e];t&&m(t)}},disabled:c}};export{a as useNavigationCarouselPostPurchase};
@@ -1 +1 @@
1
- import"react/jsx-runtime";import"@gem-sdk/core";import"@gem-sdk/system";import"react";import"./components/product-subscription/types.js";import"./constants/index.js";import"./components/product-variant/components/variants/VariantItem.js";import"next/link";import"next/head";import"next/image";import"react-youtube";import"./components/product-subscription/components/OneTimePurchaseTooltip.js";import"../image/components/Img.js";import t from"./settings/product-title/ProductTitle.js";import o from"./settings/product-description/ProductDescription.js";import r from"./settings/product-price/ProductPrice.js";import s from"./settings/product-variants/ProductVariant.js";import i from"./settings/accept-button/index.js";import e from"./settings/product-quantity/index.js";import c from"./settings/product-offer/index.js";import n from"./settings/product-price-breakdown/index.js";import p from"./settings/product-discount-tag/ProductDiscountTag.js";import u from"./settings/product-subscription/index.js";import m from"./settings/product-image/ProductImages.js";let P={PostPurchaseProductTitle:t,PostPurchaseProductDescription:o,PostPurchaseProductPrice:r,PostPurchaseProductVariants:s,PostPurchaseAcceptButton:i,PostPurchaseProductQuantity:e,PostPurchaseProductPriceBreakdown:n,PostPurchaseProductOffer:c,PostPurchaseProductDiscountTag:p,PostPurchaseProductImages:m,PostPurchaseProductSubscription:u};export{P as postPurchaseProductSetting};
1
+ import"react/jsx-runtime";import"@gem-sdk/core";import"@gem-sdk/system";import"react";import"./components/product-subscription/types.js";import"./constants/index.js";import"./components/product-variant/components/variants/VariantItem.js";import"next/link";import"../../common/const.js";import"next/head";import"next/image";import"react-youtube";import"./components/product-subscription/components/OneTimePurchaseTooltip.js";import"../image/components/Img.js";import t from"./settings/product-title/ProductTitle.js";import o from"./settings/product-description/ProductDescription.js";import r from"./settings/product-price/ProductPrice.js";import s from"./settings/product-variants/ProductVariant.js";import i from"./settings/accept-button/index.js";import e from"./settings/product-quantity/index.js";import c from"./settings/product-offer/index.js";import n from"./settings/product-price-breakdown/index.js";import p from"./settings/product-discount-tag/ProductDiscountTag.js";import u from"./settings/product-subscription/index.js";import m from"./settings/product-image/ProductImages.js";let P={PostPurchaseProductTitle:t,PostPurchaseProductDescription:o,PostPurchaseProductPrice:r,PostPurchaseProductVariants:s,PostPurchaseAcceptButton:i,PostPurchaseProductQuantity:e,PostPurchaseProductPriceBreakdown:n,PostPurchaseProductOffer:c,PostPurchaseProductDiscountTag:p,PostPurchaseProductImages:m,PostPurchaseProductSubscription:u};export{P as postPurchaseProductSetting};
@@ -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/ProductTitle.js"),{loading:t}),r=o(()=>import("./components/ProductDescription.js"),{ssr:!1,loading:t}),i=o(()=>import("./components/ProductPrice.js"),{loading:t}),c=o(()=>import("./components/product-variant/components/ProductVariant.js"),{loading:t}),p=o(()=>import("./components/AcceptButton.js"),{loading:t}),m=o(()=>import("./components/ProductQuantity.js"),{loading:t}),s=o(()=>import("./components/product-subscription/ProductSubscription.js"),{loading:t}),e=o(()=>import("./components/ProductPriceBreakdown.js"),{loading:t}),d=o(()=>import("./components/product-offer/components/ProductOffer.js"),{loading:t}),a=o(()=>import("./components/ProductDiscountTag.js"),{loading:t}),u=o(()=>import("./components/product-image/index.js"),{loading:t});var g={PostPurchaseProductTitle:n,PostPurchaseProductDescription:r,PostPurchaseProductPrice:i,PostPurchaseProductVariants:c,PostPurchaseAcceptButton:p,PostPurchaseProductQuantity:m,PostPurchaseProductPriceBreakdown:e,PostPurchaseProductOffer:d,PostPurchaseProductDiscountTag:a,PostPurchaseProductImages:u,PostPurchaseProductSubscription:s};export{g 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/ProductTitle.js"),{loading:t}),r=o(()=>import("./components/ProductDescription.js"),{ssr:!1,loading:t}),i=o(()=>import("./components/ProductPrice.js"),{loading:t}),c=o(()=>import("./components/product-variant/components/ProductVariant.js"),{loading:t}),m=o(()=>import("./components/AcceptButton.js"),{loading:t}),p=o(()=>import("./components/ProductQuantity.js"),{loading:t}),s=o(()=>import("./components/product-subscription/ProductSubscription.js"),{loading:t}),e=o(()=>import("./components/ProductPriceBreakdown.js"),{loading:t}),d=o(()=>import("./components/product-offer/components/ProductOffer.js"),{loading:t}),a=o(()=>import("./components/ProductDiscountTag.js"),{loading:t}),u=o(()=>import("./components/product-image/index.js"),{loading:t});var g={PostPurchaseProductTitle:n,PostPurchaseProductDescription:r,PostPurchaseProductPrice:i,PostPurchaseProductVariants:c,PostPurchaseAcceptButton:m,PostPurchaseProductQuantity:p,PostPurchaseProductPriceBreakdown:e,PostPurchaseProductOffer:d,PostPurchaseProductDiscountTag:a,PostPurchaseProductImages:u,PostPurchaseProductSubscription:s};export{g as default};
@@ -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 m=o(()=>import("./components/Text.js"),{loading:t}),e=o(()=>import("./components/Text.js"),{loading:t});var r={PostPurchaseText:m,PostPurchaseHeading:e};export{r 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 m=o(()=>import("./components/Text.js"),{loading:t}),r=o(()=>import("./components/Text.js"),{loading:t});var e={PostPurchaseText:m,PostPurchaseHeading:r};export{e as default};
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import{jsxs as e,jsx as s}from"react/jsx-runtime";import{useI18nStore as m,useProduct as o,useCurrentVariant as t,useMoneyFormat as r,useCurrentDevice as i,useProductBundleDiscount as l,useEditorMode as a,useRenderMode as c,usePageType as n,useSafeGetProductListSettings as d,filterToolbarPreview as p}from"@gem-sdk/core";import{getBadgeContent as h,getIsNoDiscountState as y}from"./utils/common.js";import"./constants.js";import f from"../../../common/components/NoDataState.js";import N from"../../../common/components/TooltipHover.js";import{createClass as j,createStyle as u,createAttr as g,If as v}from"@gem-sdk/system";import{getEditTooltipAttrs as T,getSubWrapperAttrs as k,getContainerAttrs as x,getTextContentAttrs as C,getImageAttr as H}from"./common/attrs.js";import{getContainerClasses as S,getWrapperClasses as b,getSubWrapperClass as w,getTextContainerClasses as A,getTextWrapperClasses as B,getTextContentClasses as D,getImageContainerClasses as I,getImageClasses as M}from"./common/classes.js";import{getContainerStyle as P,getSubWrapperStyle as q,getContentStyleInternal as z,getTextBadgeWrapperStyles as E,getTextContentStyle as F,getImageContainerStyles as G}from"./common/styles.js";let J=J=>{let{t:K}=m(),{setting:L,styles:O,children:Q,builderAttrs:R,...U}=J,V=o(),W=t(),{moneyFormat:X}=r(),Y=i(),{useProductCompareAtPrice:Z}=l(),$=U?.["bundle-item"],_=a(),{isEditMode:ee}=c(),es="STATIC"===n(),{settings:em}=d(),eo=em?.sameHeight,et=h({detail:V,currentVariant:W,bundleItem:$,useProductCompareAtPrice:Z},L?.displayContent,X),er=y({props:J,product:V,currentVariant:W,moneyFormat:X,useProductCompareAtPrice:Z}),ei=j({...S({mode:_,isInstant:es,product:V,currentVariant:W,props:J,isSameHeightInProductList:eo})}),el=u({...P(J)}),ea=g({...T(J,ee)}),ec=j({...b(J)}),en=j({...w(J,Y)}),ed=u({...q({props:J,product:V,currentVariant:W,isEditMode:ee})}),ep=g({...k(J,V)}),eh=z(J),ey=j({...A()}),ef=g({...x(J)}),eN=j({...B()}),ej=u({...E({setting:L,styles:O})}),eu=j({...D(O)}),eg=u({...F({setting:L,styles:O})}),ev=g({...C()}),eT=j({...I()}),ek=u({...G({setting:L,styles:O})}),ex=j({...M()}),eC=g({...H({setting:L})});return V?e("div",{...ef,style:el,className:ei,children:[v(ee&&er,s(N,{...ea,children:s(f,{...R,elementType:"secondary",description:K("No discount"),rawMode:!0})}),s("div",{className:ec,children:e("div",{...ep,className:en,style:ed,children:[s("style",{children:eh}),v(L?.shape!=="image",s("div",{className:ey,children:s("div",{className:eN,style:ej,children:s("pre",{...ev,className:eu,style:eg,children:et})})}),s("div",{className:eT,style:ek,children:s("img",{...eC,className:ex,alt:""})}))]})})),p(Q,!0)]}):null};export{J as default};
2
+ import{jsxs as e,jsx as s}from"react/jsx-runtime";import{useI18nStore as m,useProduct as o,useCurrentVariant as t,useMoneyFormat as r,useCurrentDevice as i,useProductBundleDiscount as l,useEditorMode as c,useRenderMode as a,usePageType as n,useSafeGetProductListSettings as d,filterToolbarPreview as p}from"@gem-sdk/core";import{getBadgeContent as h,getIsNoDiscountState as y}from"./utils/common.js";import"./constants.js";import f from"../../../common/components/NoDataState.js";import N from"../../../common/components/TooltipHover.js";import"../../../common/const.js";import{createClass as j,createStyle as u,createAttr as g,If as v}from"@gem-sdk/system";import{getEditTooltipAttrs as T,getSubWrapperAttrs as k,getContainerAttrs as x,getTextContentAttrs as C,getImageAttr as H}from"./common/attrs.js";import{getContainerClasses as S,getWrapperClasses as b,getSubWrapperClass as w,getTextContainerClasses as A,getTextWrapperClasses as B,getTextContentClasses as D,getImageContainerClasses as I,getImageClasses as M}from"./common/classes.js";import{getContainerStyle as P,getSubWrapperStyle as q,getContentStyleInternal as z,getTextBadgeWrapperStyles as E,getTextContentStyle as F,getImageContainerStyles as G}from"./common/styles.js";let J=J=>{let{t:K}=m(),{setting:L,styles:O,children:Q,builderAttrs:R,...U}=J,V=o(),W=t(),{moneyFormat:X}=r(),Y=i(),{useProductCompareAtPrice:Z}=l(),$=U?.["bundle-item"],_=c(),{isEditMode:ee}=a(),es="STATIC"===n(),{settings:em}=d(),eo=em?.sameHeight,et=h({detail:V,currentVariant:W,bundleItem:$,useProductCompareAtPrice:Z},L?.displayContent,X),er=y({props:J,product:V,currentVariant:W,moneyFormat:X,useProductCompareAtPrice:Z}),ei=j({...S({mode:_,isInstant:es,product:V,currentVariant:W,props:J,isSameHeightInProductList:eo})}),el=u({...P(J)}),ec=g({...T(J,ee)}),ea=j({...b(J)}),en=j({...w(J,Y)}),ed=u({...q({props:J,product:V,currentVariant:W,isEditMode:ee})}),ep=g({...k(J,V)}),eh=z(J),ey=j({...A()}),ef=g({...x(J)}),eN=j({...B()}),ej=u({...E({setting:L,styles:O})}),eu=j({...D(O)}),eg=u({...F({setting:L,styles:O})}),ev=g({...C()}),eT=j({...I()}),ek=u({...G({setting:L,styles:O})}),ex=j({...M()}),eC=g({...H({setting:L})});return V?e("div",{...ef,style:el,className:ei,children:[v(ee&&er,s(N,{...ec,children:s(f,{...R,elementType:"secondary",description:K("No discount"),rawMode:!0})}),s("div",{className:ea,children:e("div",{...ep,className:en,style:ed,children:[s("style",{children:eh}),v(L?.shape!=="image",s("div",{className:ey,children:s("div",{className:eN,style:ej,children:s("pre",{...ev,className:eu,style:eg,children:et})})}),s("div",{className:eT,style:ek,children:s("img",{...eC,className:ex,alt:""})}))]})})),p(Q,!0)]}):null};export{J as default};
@@ -1,14 +1,14 @@
1
- import{sanitizeLiquid as e,dataStringify as t,RenderIf as s,template as i,isLocalEnv as r,baseAssetURL as a}from"@gem-sdk/core";import{getDynamicSourceLocales as o,getSettingPreloadData as c}from"../../../helpers.js";import{generateBadgeContent as n}from"./utils/generateLiquidContent.js";import{renderBadgeInFirstTime as p}from"./utils/renderBadgeLiquid.js";import{createClass as d,createStyle as l,createAttr as u,createStateOrContext as m}from"@gem-sdk/system";import{IS_LIQUID as g}from"./constants.js";import{getContainerStyle as y,getSubWrapperStyle as $,getContentStyleInternal as v,getTextBadgeWrapperStyles as f,getTextContentStyle as j,getImageContainerStyles as P}from"./common/styles.js";import{getContainerClasses as S,getWrapperClasses as D,getSubWrapperClass as V,getTextContainerClasses as b,getTextWrapperClasses as h,getTextContentClasses as C,getImageContainerClasses as I,getImageClasses as L}from"./common/classes.js";import{getSubWrapperAttrs as T,getContainerAttrs as k,getTextContentAttrs as q,getImageAttr as A}from"./common/attrs.js";import{checkDiscountContentProductBadge as E}from"./utils/common.js";import{ProductBadge as K}from"../../settings/product-badge/configs/translate.js";let N=N=>{let{styles:_,setting:B,builderProps:O,pageContext:Q}=N,w=B?.shape!=="image",G=w&&B?.displayContent?.trim()==="",H=E(B?.displayContent),J=d({...S({isInstant:!1,props:N})}),x=l({...y(N,g)}),M=d({...D(N)}),R=d({...V(N)}),Y=l({...$({props:N})}),z=u({...T(N)}),F=v(N),U=d({...b()}),W=u({...k(N)}),X=d({...h()}),Z=l({...f({setting:B,styles:_})}),ee=d({...C(_)}),et=l({...j({setting:B,styles:_})}),es=u({...q()}),ei=d({...I()}),er=l({...P({setting:B,styles:_})}),ea=d({...L()}),eo=u({...A({setting:B})}),ec=m({minPrice:"{{ minPriceValue | replace: '\"', '\\\"' | escape }}",variantIDs:'{{ product.variants | map: "id" | json | escape }}',variantInventoryQuantities:'{{ product.variants | map: "inventory_quantity" | json | escape }}',amountDiscount:"{{amountDiscountValue | replace: '\"', '\\\"' | escape }}",percentDiscount:"{{percentDiscountValue}}",price:"{{price}}",displayTrigger:JSON.parse(JSON.stringify(B?.displayTrigger).replaceAll("'","'")),uid:N.builderProps?.uid,productCreatedAt:'{{product.created_at | date: "%Y-%m-%d" }}',productTags:"{{ product.tags | join: \",\" | replace: '\"', '\\\"' | escape }}",isTextBadge:w,isSettingSameHeightProductList:"{{ isSettingSameHeightProductList }}"}),{displayContent:en}=B??{},ep=o({val:en?.trim(),uid:O?.uid,settingId:K?.displayContent?.id,isLiquid:!0,pageContext:Q});return i`
1
+ import{sanitizeLiquid as t,RenderIf as e,template as s,isLocalEnv as i,baseAssetURL as r}from"@gem-sdk/core";import{getDynamicSourceLocales as a,getSettingPreloadData as o}from"../../../helpers.js";import{generateBadgeContent as n}from"./utils/generateLiquidContent.js";import{renderBadgeInFirstTime as c}from"./utils/renderBadgeLiquid.js";import{createClass as d,createStyle as p,createAttr as l,createStateOrContext as m}from"@gem-sdk/system";import{IS_LIQUID as u}from"./constants.js";import{getContainerStyle as g,getSubWrapperStyle as y,getContentStyleInternal as $,getTextBadgeWrapperStyles as v,getTextContentStyle as f,getImageContainerStyles as j}from"./common/styles.js";import{getContainerClasses as P,getWrapperClasses as S,getSubWrapperClass as D,getTextContainerClasses as V,getTextWrapperClasses as b,getTextContentClasses as h,getImageContainerClasses as C,getImageClasses as E}from"./common/classes.js";import{getSubWrapperAttrs as I,getContainerAttrs as L,getTextContentAttrs as k,getImageAttr as q}from"./common/attrs.js";import{checkDiscountContentProductBadge as B}from"./utils/common.js";import{injectBadgeStateExtras as K}from"./utils/injectBadgeStateExtras.js";import{ProductBadge as T}from"../../settings/product-badge/configs/translate.js";let _=_=>{let{styles:A,setting:N,builderProps:Q,pageContext:w}=_,x=N?.shape!=="image",G=x&&N?.displayContent?.trim()==="",H=B(N?.displayContent),O=d({...P({isInstant:!1,props:_})}),J=p({...g(_,u)}),M=d({...S(_)}),R=d({...D(_)}),Y=p({...y({props:_})}),z=l({...I(_)}),F=$(_),U=d({...V()}),W=l({...L(_)}),X=d({...b()}),Z=p({...v({setting:N,styles:A})}),tt=d({...h(A)}),te=p({...f({setting:N,styles:A})}),ts=l({...k()}),ti=d({...C()}),tr=p({...j({setting:N,styles:A})}),ta=d({...E()}),to=l({...q({setting:N})}),tn=m({minPrice:"{{ minPriceValue | escape }}",variantIDs:"{{ product.variants | map: 'id' | json | escape }}",variantInventoryQuantities:"{{ product.variants | map: 'inventory_quantity' | json | escape }}",amountDiscount:"{{ amountDiscountValue | escape }}",percentDiscount:"{{percentDiscountValue}}",price:"{{price}}",displayTrigger:N?.displayTrigger??[],uid:_.builderProps?.uid,productCreatedAt:"{{ product.created_at | date: '%Y-%m-%d' }}",isTextBadge:x,isSettingSameHeightProductList:"{{ isSettingSameHeightProductList }}"}),tc=K(JSON.stringify(tn)),{displayContent:td}=N??{},tp=a({val:td?.trim(),uid:Q?.uid,settingId:T?.displayContent?.id,isLiquid:!0,pageContext:w});return s`
2
2
  {% if product %}
3
- ${n(ep,Q?.isPreviewing)}
4
- ${p(B?.displayTrigger,!G,H)}
3
+ ${n(tp,w?.isPreviewing)}
4
+ ${c(N?.displayTrigger,!G,H)}
5
5
  <gp-product-badge
6
6
  ${{...W}}
7
- class="${J} {{ className }}"
8
- style="${x}"
9
- data-display-content="${Q?.isPreviewing?ep:e(`{{${ep}}}`)}"
7
+ class="${O} {{ className }}"
8
+ style="${J}"
9
+ data-display-content="${w?.isPreviewing?tp:t(`{{${tp}}}`)}"
10
10
  >
11
- <script gp-data type="application/json">${t(ec)}</script>
11
+ <script gp-data type="application/json">${tc}</script>
12
12
  <div class="${M}">
13
13
  <div
14
14
  ${{...z}}
@@ -16,24 +16,24 @@ import{sanitizeLiquid as e,dataStringify as t,RenderIf as s,template as i,isLoca
16
16
  style="${Y}"
17
17
  >
18
18
  <style>${F}</style>
19
- ${s(w,i`
19
+ ${e(x,s`
20
20
  <div class="${U}">
21
21
  <div
22
22
  class="${X}"
23
23
  style="${Z}"
24
24
  >
25
25
  <pre
26
- ${{...es}}
27
- class="${ee}"
28
- style="${et}"
26
+ ${{...ts}}
27
+ class="${tt}"
28
+ style="${te}"
29
29
  >{{ content | replace: percentDiscountKey, percentDiscountValue | replace: amountDiscountKey, amountDiscountValue | replace: inventoryQuantityKey, inventoryQuantityValue | replace: minPriceKey, minPriceValue }}</pre>
30
30
  </div>
31
- </div>`,i`<div class="${ei}" style="${er}">
32
- <img ${{...eo}} class="${ea}" alt="" />
31
+ </div>`,s`<div class="${ti}" style="${tr}">
32
+ <img ${{...to}} class="${ta}" alt="" />
33
33
  </div>`)}
34
34
  </div>
35
35
  </div>
36
36
  </gp-product-badge>
37
- ${s(r,`<script ${c('class="gps-link" delay',"src")}="{{ 'gp-product-badge-v7-5.js' | asset_url }}" defer="defer"></script>`,`<script ${c('class="gps-link" delay',"src")}="${a}/assets-v2/gp-product-badge-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}" defer="defer"></script>`)}
37
+ ${e(i,`<script ${o('class="gps-link" delay',"src")}="{{ 'gp-product-badge-v7-5.js' | asset_url }}" defer="defer"></script>`,`<script ${o('class="gps-link" delay',"src")}="${r}/assets-v2/gp-product-badge-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}" defer="defer"></script>`)}
38
38
  {% endif %}
39
- `};export{N as default};
39
+ `};export{_ as default};
@@ -1 +1 @@
1
- import{makeGlobalSize as t,getStyleShadow as e,composeTypographyStyle as o,convertDecimalToNumber as r}from"@gem-sdk/core";import{convertToStyle as i,getSize as a,getWrapperStyle as n,getShapeWrapperPadding as p,checkDiscountContentProductBadge as s}from"../utils/common.js";import{getShapePosition as d}from"../utils/getShapePosition.js";import{composeShapeStyleByPosition as l,composeTextStyleByPosition as g}from"../utils/getRotateShape.js";import{getStyleAdvanced as m}from"../utils/getStyleAdvanced.js";import{getWhiteSpaceStyle as u}from"../utils/getWhiteSpace.js";import{generateShadowCSS as h,getStyleBackground as y,getStyleBorder as S,getStyleCornerRadius as x}from"../utils/stylesV2.js";import{getShape as c}from"../utils/shape.js";import{checkShowBadge as C}from"../utils/renderBadgeILP.js";let T=t=>{let{setting:e,styles:o}=t,r=c(e?.shape),i=e?.contentType==="text",n=i?o?.textSizeV2:o?.imageSizeV2;return i?a(r,n):a(void 0,n)},f=(t,e=!1)=>{let{setting:o,styles:r,style:i,navigationPosition:a,imageData:p,dotData:s}=t,l=o?.positionWithImage==="outside",g=n(e),u=d({positionType:r?.position,navigationPosition:a,dataImage:{...p,...s}}),h=T(t),y=m(l?{}:{...u,...h},i);return{...!l&&{"--pos":"absolute"},...g,...y}},B=({styles:r,setting:a})=>{let n=t(r?.textSizeV2).padding,p=c(a?.shape),s=a?.positionWithImage==="outside";return{...u(r?.textSizeV2),...i(p?.textStyle),...g(p,r?.position,s),...o(r?.typo),...e({value:r?.typo?.custom?.textShadow,styleAppliedFor:"text-shadow",isEnableShadow:r?.typo?.custom?.hasShadowText}),...y(!!p?.backgroundColorInText,r?.badgeColorV2),...n}},b=({styles:t,setting:e})=>{let o=c(e?.shape),r=e?.contentType==="text";return o?.supportBorder?r?S(t?.textBadgeBorder):S(t?.imageBadgeBorder):{}},I=({styles:t,setting:e})=>{let o=c(e?.shape),r=e?.contentType==="text";return o?.supportCorner?r?x(t?.textBadgeCorner,o?.shapeRadius):x(t?.imageBadgeCorner,o?.shapeRadius):{}},j=({styles:t,setting:e})=>{let o=c(e?.shape),r=b({setting:e,styles:t}),i=e?.positionWithImage==="outside",a=I({setting:e,styles:t}),n=p(o?.ratio);return{...r,...a,...l(o,t?.position,i),...y(!o?.backgroundColorInText,t?.badgeColorV2),...n,height:o?.ratio===1?"0px":"100%"}},V=({styles:e,setting:o})=>{let r=b({setting:o,styles:e}),i=I({setting:o,styles:e}),a=t(e?.imageSizeV2).padding;return{...r,...i,...a}},W=({props:t,currentVariant:e,product:o,isEditMode:i})=>{let{"bundle-item":a,setting:n}=t;if(a)return 1;let p=n?.contentType==="text",d=p&&!n?.displayContent?.trim(),l=s(n?.displayContent);if(d)return i?.2:0;let g=r(e?.price)??0,m=r(e?.salePrice)??0,u=C(n?.displayTrigger,o,e);return(m-g>0||!l)&&u?1:i?.2:0},w=({props:t,product:e,currentVariant:o,isEditMode:r})=>{let{setting:i}=t,a=i?.positionWithImage==="outside",n=T(t),p=r&&o?W({props:t,currentVariant:o,product:e,isEditMode:r}):1;return{...a?{...n,"--mb":0}:{},opacity:p}},z=t=>{let{styles:e,setting:o,builderProps:r}=t,i=o?.contentType==="text";return h(`[id="${r?.uid}"] .product-badge-item`,i?e?.textBadgeShadow:e?.imageBadgeShadow)};export{f as getContainerStyle,z as getContentStyleInternal,V as getImageContainerStyles,w as getSubWrapperStyle,j as getTextBadgeWrapperStyles,B as getTextContentStyle};
1
+ import{getResponsiveValueByScreen as e,makeGlobalSize as t,getStyleShadow as o,composeTypographyStyle as r,convertDecimalToNumber as i}from"@gem-sdk/core";import{getDisplayStyle as a}from"../../../../helpers.js";import{convertToStyle as n,getSize as s,getWrapperStyle as p,getShapeWrapperPadding as l,checkDiscountContentProductBadge as d}from"../utils/common.js";import{getShapePosition as g}from"../utils/getShapePosition.js";import{composeShapeStyleByPosition as m,composeTextStyleByPosition as u}from"../utils/getRotateShape.js";import{getStyleAdvanced as h}from"../utils/getStyleAdvanced.js";import{getWhiteSpaceStyle as y}from"../utils/getWhiteSpace.js";import{generateShadowCSS as S,getStyleBackground as c,getStyleBorder as x,getStyleCornerRadius as C}from"../utils/stylesV2.js";import{getShape as f}from"../utils/shape.js";import{checkShowBadge as T}from"../utils/renderBadgeILP.js";let b=e=>{let{setting:t,styles:o}=e,r=f(t?.shape),i=t?.contentType==="text",a=i?o?.textSizeV2:o?.imageSizeV2;return i?s(r,a):s(void 0,a)},B=(t,o=!1)=>{let{setting:r,styles:i,style:n,navigationPosition:s,imageData:l,dotData:d,isInsideImageList:m}=t,u=r?.positionWithImage==="outside",y=p(o),S=g({positionType:i?.position,navigationPosition:s,dataImage:{...l,...d}}),c=b(t),x=h(u?{}:{...S,...c},n),C=m?a(t=>!["one-col","two-col"].includes(e(l?.imageLayout,t)||""),"block"):{};return{...!u&&{"--pos":"absolute"},...y,...x,...C}},I=({styles:e,setting:i})=>{let a=t(e?.textSizeV2).padding,s=f(i?.shape),p=i?.positionWithImage==="outside";return{...y(e?.textSizeV2),...n(s?.textStyle),...u(s,e?.position,p),...r(e?.typo),...o({value:e?.typo?.custom?.textShadow,styleAppliedFor:"text-shadow",isEnableShadow:e?.typo?.custom?.hasShadowText}),...c(!!s?.backgroundColorInText,e?.badgeColorV2),...a}},j=({styles:e,setting:t})=>{let o=f(t?.shape),r=t?.contentType==="text";return o?.supportBorder?r?x(e?.textBadgeBorder):x(e?.imageBadgeBorder):{}},V=({styles:e,setting:t})=>{let o=f(t?.shape),r=t?.contentType==="text";return o?.supportCorner?r?C(e?.textBadgeCorner,o?.shapeRadius):C(e?.imageBadgeCorner,o?.shapeRadius):{}},w=({styles:e,setting:t})=>{let o=f(t?.shape),r=j({setting:t,styles:e}),i=t?.positionWithImage==="outside",a=V({setting:t,styles:e}),n=l(o?.ratio);return{...r,...a,...m(o,e?.position,i),...c(!o?.backgroundColorInText,e?.badgeColorV2),...n,height:o?.ratio===1?"0px":"100%"}},W=({styles:e,setting:o})=>{let r=j({setting:o,styles:e}),i=V({setting:o,styles:e}),a=t(e?.imageSizeV2).padding;return{...r,...i,...a}},z=({props:e,currentVariant:t,product:o,isEditMode:r})=>{let{"bundle-item":a,setting:n}=e;if(a)return 1;let s=n?.contentType==="text",p=s&&!n?.displayContent?.trim(),l=d(n?.displayContent);if(p)return r?.2:0;let g=i(t?.price)??0,m=i(t?.salePrice)??0,u=T(n?.displayTrigger,o,t);return(m-g>0||!l)&&u?1:r?.2:0},k=({props:e,product:t,currentVariant:o,isEditMode:r})=>{let{setting:i}=e,a=i?.positionWithImage==="outside",n=b(e),s=r&&o?z({props:e,currentVariant:o,product:t,isEditMode:r}):1;return{...a?{...n,"--mb":0}:{},opacity:s}},v=e=>{let{styles:t,setting:o,builderProps:r}=e,i=o?.contentType==="text";return S(`[id="${r?.uid}"] .product-badge-item`,i?t?.textBadgeShadow:t?.imageBadgeShadow)};export{B as getContainerStyle,v as getContentStyleInternal,W as getImageContainerStyles,k as getSubWrapperStyle,w as getTextBadgeWrapperStyles,I as getTextContentStyle};
@@ -0,0 +1 @@
1
+ let t=t=>{let e=t.slice(0,-1);return`${e},"productTags":{{ product.tags | json }}}`};export{t as injectBadgeStateExtras};
@@ -133,7 +133,7 @@ import{CompareType as e}from"../types.js";let i=i=>i===e.ABOVE?0:i===e.BELOW?2:1
133
133
  {% assign conditionTriggers = conditionTriggers | append: "," | append: false %}
134
134
  {% endif %}
135
135
 
136
- `},c=e=>{let{searchTag:i}=e,n=i.map(e=>e.replaceAll("'","&#039;")).join(", ");return`
136
+ `},c=e=>{let{searchTag:i}=e,n=i.map(e=>e.replaceAll("&","&amp;").replaceAll("<","&lt;").replaceAll(">","&gt;").replaceAll("'","&#39;").replaceAll('"',"&quot;")).join(", ");return`
137
137
  {% assign productTags = product.tags | escape %}
138
138
  {% assign searchTag = '${n}' %}
139
139
  {% for tag in productTags %}
@@ -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(" ","&nbsp;"),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(" ","&nbsp;"),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 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=m(a(y)),C=m(p(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",children:[e(r,{styles:y,setting:{...g,text:j?.prefix?.replaceAll(" ","&nbsp;"),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(" ","&nbsp;"),excludeFlex:!0,options:{useState:!0,uniqueId:`${h?.uid}-suffix`}}})]})})}))})};export{g as default};
@@ -9,8 +9,8 @@ import{isLocalEnv as e,baseAssetURL as o,template as i,WrapRenderChildren as t,R
9
9
  "collectionUrl": {{ collection.url | json }},
10
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}=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}})}`}))}
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=(e=!1)=>i`
13
+ ${t({uid:b?.uid||"",customProps:O?.[0].customProps},O?.map(o=>{if(o)return i`${r({...o,isInsideProductImage:!0,isInsideImageList:e,imageData:{imageShape:D?.ftShape,imageAlign:D?.align,imageLayout:D?.position},dotData:{dotSize:G?.ftDotSize,dotGapToCarousel:G?.ftDotGapToCarousel,dotStyle:G?.ftDotStyle}})}`}))}
14
14
  `;return i`
15
15
  ${v(G?.borderActive?.border!=="none",h("product.media.size > 1",`<style>${F({settings:N,uid:b?.uid,type:"Liquid"})}</style>`),"")}
16
16
  ${S(`
@@ -35,7 +35,7 @@ import{isLocalEnv as e,baseAssetURL as o,template as i,WrapRenderChildren as t,R
35
35
  ${{...q}}
36
36
  >
37
37
  ${h("product.media.size > 1",d({builderPropUID:`gp-gallery-${b?.uid}`,...N,pageContext:_}))}
38
- ${v(k,m({builderPropUID:b?.uid,wrapperStyle:{...V},children:W(),...N,pageContext:_}))}
38
+ ${v(k,m({builderPropUID:b?.uid,wrapperStyle:{...V},children:W(!0),...N,pageContext:_}))}
39
39
  </div>
40
40
  `)}
41
41
  </div>
@@ -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,PICKED_PRODUCT_STATUSES as b,useCollectionQuery as k,flattenConnection as I,ProductListProvider as T,filterToolbarPreview as v}from"@gem-sdk/core";import y from"../SalePageProductListWarning.js";import O from"next/head";import w from"./ProductListGridLayout.js";import S from"./ProductListCarouselLayout.js";import{getStyle as C}from"./common/styles.js";import{If as E}from"@gem-sdk/system";import{getClass as N}from"./common/classes.js";import{getData as L}from"./common/helpers.js";import{getPropertyByDevice as W}from"../../../dialog/common/helpers.js";let j=o(()=>import("../ProductNotFound.js"),{loading:d}),x=o=>{let{children:x,styles:G,builderProps:M,setting:B,builderAttrs:A}=o,{isRelatedProduct:H,productSetting:Q}=L(o),z=Q.relatedTag&&Q.relatedTag[0],{isEditMode:D,isPreviewSharePageMode:F}=c(),R=s(),$=n(),_=u(e=>e.dynamicProduct),V=u(e=>e.dynamicCollection),[q,U]=a(1),[J,K]=a(!0),[X,Y]=a(),[Z,ee]=a(!1),et="GP_FUNNEL_PAGE"===$;"GP_COLLECTION"==$&&(Q.productSrc="DynamicCollection",Q.collectionId=V?.collectionId??"latest");let er=Q?.productSrc??"Collection",eo=_?.productId&&_?.productId!==Q.relatedProductId?_?.productId:Q.relatedProductId,ed=m(),ea=u(e=>e.publicStoreFrontData),el=l(()=>g(ea)?h(ea):ed,[ea]),{data:ei}=p(H&&eo?eo:void 0,{revalidateOnMount:D||F},el),ec=Q.relatedTag&&"tags"===Q.relatedTag[0]&&(!ei?.tags||ei?.tags.length===0),es=Q.relatedTag&&"collection"===Q.relatedTag[0]&&(!ei?.collections?.edges||ei?.collections.edges.length===0),en=Q.relatedTag&&"vendor"===Q.relatedTag[0]&&!ei?.vendor,eu=f(X,{revalidateOnMount:D||F},el),em=D||F,eg=P("PickProduct"===er?Q?.productIds:void 0,{revalidateOnMount:em},{defaultSelectedProductCount:Q?.numOfSelectedProducts,selectedStatus:em&&Q?.productIds?.length?b:void 0}),eh=l(()=>({id:Q?.collectionId??"latest",numberOfProducts:B?.numberOfProducts??4,orderBy:B?.orderBy}),[Q?.collectionId,Number(B?.numberOfProducts),B?.orderBy]),ep=k("PickProduct"!==er?eh:void 0,{revalidateOnMount:em});i(()=>{if(H&&ei&&Q.relatedTag&&"recommended-product"!==Q.relatedType){let e;switch(ee(!1),Q.hasRelatedExclude&&(e=Q?.relatedExclude&&Q.relatedExclude.split(",").map(e=>e.trim())),Q.relatedTag[0]){case"vendor":Y({first:B?.numberOfProducts,where:{vendor:Q.relatedTag&&"vendor"===Q.relatedTag[0]?ei?.vendor:"",idNEQ:ei.id}});break;case"collection":{let t=ei?.collections?.edges.map(e=>e.node?.id);if(!t||t?.length===0){ee(!0);break}Y(e&&e.length>0?{first:B?.numberOfProducts,where:{idNEQ:ei.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:t},{titleNotIn:e}]}]}}:{first:B?.numberOfProducts,where:{idNEQ:ei.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:t}]}]}});break}case"tags":if(!ei.tags||0===ei.tags.length){ee(!0);break}Y(e&&e.length>0?{first:B?.numberOfProducts,where:{idNEQ:ei.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:ei.tags},{nameNotIn:e}]}]}}:{first:B?.numberOfProducts,where:{idNEQ:ei.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:ei.tags}]}]}})}}},[ei,Q.relatedType,Q.relatedTag,B?.numberOfProducts,Q.relatedExclude,Q.hasRelatedExclude,H]);let ef="PickProduct"===er?eg.isValidating:ep.isValidating,eP="PickProduct"===er?eg.isLoading:ep.isLoading,eb="PickProduct"===er?eg.error:ep.error,ek=ep.data?.collections?.edges?.[0]?.node,eI="PickProduct"===er?I(eg.data?.products):I(ek?.products),eT=eu?.data?.products?I(eu?.data?.products):void 0,ev=H&&eT?eT:"PickProduct"===er&&Q?.productIds?.length?Q?.productIds?.map(e=>eI?.find(t=>t?.baseID===e)).filter(Boolean)??eI:"PickProduct"!==er?eI:eI.filter((e,t)=>t<(Q?.numOfSelectedProducts??4)),ey=l(()=>Z&&H&&D||!ev.length&&!eP&&J&&D,[J,eP,Z,H,D,ev.length]),eO=l(()=>!ev||Z&&H,[Z,H,ev]),ew=l(()=>{if(!B?.sameHeight)return[];let e=0,t=Math.ceil((ev?.length??0)/+(B?.slidesToShow?.[R]??1));return Array.from(Array(ev?.length??0)).map((r,o)=>(o>=+(B?.slidesToShow?.[R]??1)*(e+1)&&++e,{gridRow:`${1+q*e}/${q+1+q*e}`,marginBottom:e+1<t?W(G?.horizontalGutter,R):void 0}))},[B?.sameHeight,B?.slidesToShow,q,ev?.length,R,G?.horizontalGutter]),eS=l(()=>ef||eP||eb||!ev||Z&&H,[eb,eP,Z,H,ef,ev]);i(()=>{eS||setTimeout(()=>{let{builderData:e}=M??{},t=e?.childrens?.[0];if(!t)return;let r=document.querySelector(`[data-id=${t}] div`);r&&U(r.childElementCount||1)},D?0:500)},[M,eS,D]);let eC=l(()=>({collection:ek,products:ev,settings:{loop:B?.loop??{desktop:!1},scrollMode:B?.scrollMode??{desktop:"snap"},slidesToShow:B?.slidesToShow??{desktop:4,tablet:3,mobile:1},layout:G?.layout,dot:B?.dot,dotStyle:B?.dotStyle,arrow:B?.arrow,controlOverContent:B?.controlOverContent,sameHeight:B?.sameHeight},styles:{horizontalGutter:G?.horizontalGutter,verticalGutter:G?.verticalGutter,fullWidth:G?.fullWidth,spacing:G?.spacing,width:G?.width,height:G?.height}}),[ek,ev,B,G]);if(M?.isPreview&&et)return e(t,{});if(ey)return e(t,{children:E(J,e(j,{builderAttrs:A,collectionHandle:ek?.handle,productSrc:er,onClose:()=>K(!1),children:x,relatedTagString:z,assignProductNoTags:ec||es||en,noAssignedProduct:!eo}))});let{productListWrapStyle:eE,productListContentStyle:eN,productListWrapAlignStyle:eL}=C(o),{productListWrapClass:eW}=N(o);return r("div",{...A,className:eW,style:eE,children:[!!G?.preloadBgImage&&r(O,{children:[!!G.backgroundImage?.desktop?.image?.src&&e("link",{rel:"preload",href:G.backgroundImage.desktop.image.src,as:"image"}),!!G.backgroundImage?.tablet?.image?.src&&e("link",{rel:"preload",href:G.backgroundImage?.tablet?.image?.src,as:"image"}),!!G.backgroundImage?.mobile?.image?.src&&e("link",{rel:"preload",href:G.backgroundImage?.mobile?.image?.src,as:"image"})]}),ef||eP?e(d,{}):eb?r("div",{children:["Error: ",eb?.message]}):eO?e("div",{children:"Products not found"}):e(T,{...eC,children:e("div",{className:"gp-flex gp-w-full",style:eL,children:r("div",{style:eN,children:[et&&e(y,{}),e(t,{children:E(G?.layout==="grid",e(w,{...o,productSortedById:ev,generateGridRowArray:ew}),e(S,{...o,productSortedById:ev}))})]})})}),v(x,!0)]})};export{x as default};
1
+ 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,PICKED_PRODUCT_STATUSES as b,useCollectionQuery as I,flattenConnection as k,ProductListProvider as T,filterToolbarPreview as v}from"@gem-sdk/core";import y from"../SalePageProductListWarning.js";import O from"next/head";import w from"./ProductListGridLayout.js";import S from"./ProductListCarouselLayout.js";import{getStyle as C}from"./common/styles.js";import{If as E}from"@gem-sdk/system";import{getClass as N}from"./common/classes.js";import{getData as L}from"./common/helpers.js";import{getPropertyByDevice as W}from"../../../dialog/common/helpers.js";let j=o(()=>import("../ProductNotFound.js"),{loading:d}),x=o=>{let{children:x,styles:G,builderProps:A,setting:M,builderAttrs:B}=o,{isRelatedProduct:H,productSetting:Q}=L(o),z=Q.relatedTag&&Q.relatedTag[0],{isEditMode:D,isPreviewSharePageMode:F}=s(),R=c(),$=n(),_=u(e=>e.dynamicProduct),V=u(e=>e.dynamicCollection),[q,U]=l(1),[J,K]=l(!0),[X,Y]=l(),[Z,ee]=l(!1),et="GP_FUNNEL_PAGE"===$;"GP_COLLECTION"==$&&(Q.productSrc="DynamicCollection",Q.collectionId=V?.collectionId??"latest");let er=Q?.productSrc??"Collection",eo=_?.productId&&_?.productId!==Q.relatedProductId?_?.productId:Q.relatedProductId,ed=m(),el=u(e=>e.publicStoreFrontData),ea=a(()=>g(el)?h(el):ed,[el]),{data:ei}=p(H&&eo?eo:void 0,{revalidateOnMount:D||F},ea),es=Q.relatedTag&&"tags"===Q.relatedTag[0]&&(!ei?.tags||ei?.tags.length===0),ec=Q.relatedTag&&"collection"===Q.relatedTag[0]&&(!ei?.collections?.edges||ei?.collections.edges.length===0),en=Q.relatedTag&&"vendor"===Q.relatedTag[0]&&!ei?.vendor,eu=f(X,{revalidateOnMount:D||F},ea),em=D||F,eg=P("PickProduct"===er?Q?.productIds:void 0,{revalidateOnMount:em},{defaultSelectedProductCount:Q?.numOfSelectedProducts,selectedStatus:em&&Q?.productIds?.length?b:void 0}),eh=a(()=>({id:Q?.collectionId??"latest",numberOfProducts:M?.numberOfProducts??4,orderBy:M?.orderBy}),[Q?.collectionId,Number(M?.numberOfProducts),M?.orderBy]),ep=I("PickProduct"!==er?eh:void 0,{revalidateOnMount:em});i(()=>{if(H&&ei&&Q.relatedTag&&"recommended-product"!==Q.relatedType){let e;switch(ee(!1),Q.hasRelatedExclude&&(e=Q?.relatedExclude&&Q.relatedExclude.split(",").map(e=>e.trim())),Q.relatedTag[0]){case"vendor":Y({first:M?.numberOfProducts,where:{vendor:Q.relatedTag&&"vendor"===Q.relatedTag[0]?ei?.vendor:"",idNEQ:ei.id}});break;case"collection":{let t=ei?.collections?.edges.map(e=>e.node?.id);if(!t||t?.length===0){ee(!0);break}Y(e&&e.length>0?{first:M?.numberOfProducts,where:{idNEQ:ei.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:t},{titleNotIn:e}]}]}}:{first:M?.numberOfProducts,where:{idNEQ:ei.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:t}]}]}});break}case"tags":if(!ei.tags||0===ei.tags.length){ee(!0);break}Y(e&&e.length>0?{first:M?.numberOfProducts,where:{idNEQ:ei.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:ei.tags},{nameNotIn:e}]}]}}:{first:M?.numberOfProducts,where:{idNEQ:ei.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:ei.tags}]}]}})}}},[ei,Q.relatedType,Q.relatedTag,M?.numberOfProducts,Q.relatedExclude,Q.hasRelatedExclude,H]);let ef="PickProduct"===er?eg.isValidating:ep.isValidating,eP="PickProduct"===er?eg.isLoading:ep.isLoading,eb="PickProduct"===er?eg.error:ep.error,eI=ep.data?.collections?.edges?.[0]?.node,ek="PickProduct"===er?k(eg.data?.products):k(eI?.products),eT=u(e=>e.assignedProductIds),ev=u(e=>e.isApplyAllProducts),ey=a(()=>(eT??[]).length>0&&!ev||ev,[eT,ev]),eO=eu?.data?.products&&ey?k(eu?.data?.products):[],ew=H?eO:"PickProduct"===er&&Q?.productIds?.length?Q?.productIds?.map(e=>ek?.find(t=>t?.baseID===e)).filter(Boolean)??ek:"PickProduct"!==er?ek:ek.filter((e,t)=>t<(Q?.numOfSelectedProducts??4)),eS=a(()=>Z&&H&&D||!ew.length&&!eP&&J&&D,[J,eP,Z,H,D,ew.length]),eC=a(()=>!ew||Z&&H,[Z,H,ew]),eE=a(()=>{if(!M?.sameHeight)return[];let e=0,t=Math.ceil((ew?.length??0)/+(M?.slidesToShow?.[R]??1));return Array.from(Array(ew?.length??0)).map((r,o)=>(o>=+(M?.slidesToShow?.[R]??1)*(e+1)&&++e,{gridRow:`${1+q*e}/${q+1+q*e}`,marginBottom:e+1<t?W(G?.horizontalGutter,R):void 0}))},[M?.sameHeight,M?.slidesToShow,q,ew?.length,R,G?.horizontalGutter]),eN=a(()=>ef||eP||eb||!ew||Z&&H,[eb,eP,Z,H,ef,ew]),eL=ei?.collections?.edges.map(e=>e.node?.id)??[];i(()=>{eN||setTimeout(()=>{let{builderData:e}=A??{},t=e?.childrens?.[0];if(!t)return;let r=document.querySelector(`[data-id=${t}] div`);r&&U(r.childElementCount||1)},D?0:500)},[A,eN,D,eL]);let eW=a(()=>({collection:eI,products:ew,settings:{loop:M?.loop??{desktop:!1},scrollMode:M?.scrollMode??{desktop:"snap"},slidesToShow:M?.slidesToShow??{desktop:4,tablet:3,mobile:1},layout:G?.layout,dot:M?.dot,dotStyle:M?.dotStyle,arrow:M?.arrow,controlOverContent:M?.controlOverContent,sameHeight:M?.sameHeight},styles:{horizontalGutter:G?.horizontalGutter,verticalGutter:G?.verticalGutter,fullWidth:G?.fullWidth,spacing:G?.spacing,width:G?.width,height:G?.height}}),[eI,ew,M,G]);if(A?.isPreview&&et)return e(t,{});if(eS)return e(t,{children:E(J,e(j,{builderAttrs:B,collectionHandle:eI?.handle,productSrc:er,onClose:()=>K(!1),children:x,relatedTagString:z,assignProductNoTags:es||ec||en,noAssignedProduct:!eo}))});let{productListWrapStyle:ej,productListContentStyle:ex,productListWrapAlignStyle:eG}=C(o),{productListWrapClass:eA}=N(o);return r("div",{...B,className:eA,style:ej,children:[!!G?.preloadBgImage&&r(O,{children:[!!G.backgroundImage?.desktop?.image?.src&&e("link",{rel:"preload",href:G.backgroundImage.desktop.image.src,as:"image"}),!!G.backgroundImage?.tablet?.image?.src&&e("link",{rel:"preload",href:G.backgroundImage?.tablet?.image?.src,as:"image"}),!!G.backgroundImage?.mobile?.image?.src&&e("link",{rel:"preload",href:G.backgroundImage?.mobile?.image?.src,as:"image"})]}),ef||eP?e(d,{}):eb?r("div",{children:["Error: ",eb?.message]}):eC?e("div",{children:"Products not found"}):e(T,{...eW,children:e("div",{className:"gp-flex gp-w-full",style:eG,children:r("div",{style:ex,children:[et&&e(y,{}),e(t,{children:E(G?.layout==="grid",e(w,{...o,productSortedById:ew,generateGridRowArray:eE}),e(S,{...o,productSortedById:ew}))})]})})}),v(x,!0)]})};export{x as default};
1
+ 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 +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};