@gem-sdk/components 19.1.0-staging.1 → 19.1.0-staging.12
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.
- package/dist/cjs/accordion/next.js +1 -1
- package/dist/cjs/article/components/ArticleContent.js +2 -2
- package/dist/cjs/article/components/ArticleExcerpt.js +1 -1
- package/dist/cjs/article/components/ArticleList.js +1 -1
- package/dist/cjs/article/index.js +1 -1
- package/dist/cjs/article/next.js +1 -1
- package/dist/cjs/breadcrumb/next.js +1 -1
- package/dist/cjs/button/components/Button.liquid.js +6 -6
- package/dist/cjs/button/next.js +1 -1
- package/dist/cjs/carousel/components/root/common/helpers.js +1 -1
- package/dist/cjs/carousel/next.js +1 -1
- package/dist/cjs/carousel-v3/components/root/CarouselEmbla.liquid.js +6 -5
- package/dist/cjs/carousel-v3/components/root/common/helpers.js +1 -1
- package/dist/cjs/carousel-v3/next.js +1 -1
- package/dist/cjs/cart/components/CartList.js +1 -1
- package/dist/cjs/cart/index.js +1 -1
- package/dist/cjs/cart/next.js +1 -1
- package/dist/cjs/code/next.js +1 -1
- package/dist/cjs/collection/next.js +1 -1
- package/dist/cjs/common/const.js +1 -1
- package/dist/cjs/countdown-timer/components/Countdown.liquid.js +3 -3
- package/dist/cjs/countdown-timer/next.js +1 -1
- package/dist/cjs/coupon/next.js +1 -1
- package/dist/cjs/dialog/index.js +1 -1
- package/dist/cjs/dialog/next.js +1 -1
- package/dist/cjs/estimate-delivery/next.js +1 -1
- package/dist/cjs/form/components/form-dropdown/FormDropdown.liquid.js +10 -10
- package/dist/cjs/form/next.js +1 -1
- package/dist/cjs/grid/components/row/common/helpers.js +1 -1
- package/dist/cjs/grid/components/section/Section.js +1 -1
- package/dist/cjs/grid/index.js +1 -1
- package/dist/cjs/header/components/kind/basic/index.js +1 -1
- package/dist/cjs/header/components/kind/modern/index.js +1 -1
- package/dist/cjs/header/index.js +1 -1
- package/dist/cjs/header/next.js +1 -1
- package/dist/cjs/hero-banner/components/HeroBannerItem.js +1 -1
- package/dist/cjs/hero-banner/index.js +1 -1
- package/dist/cjs/hero-banner/next.js +1 -1
- package/dist/cjs/icon/next.js +1 -1
- package/dist/cjs/icon-list/next.js +1 -1
- package/dist/cjs/icon-list-hoz/next.js +1 -1
- package/dist/cjs/icon-list-v2/components/IconList.liquid.js +5 -5
- package/dist/cjs/icon-list-v2/next.js +1 -1
- package/dist/cjs/image/common/const.js +1 -1
- package/dist/cjs/image/common/helpers.js +2 -2
- package/dist/cjs/image/settings/configs/ui-v2.js +1 -1
- package/dist/cjs/image-comparison/next.js +1 -1
- package/dist/cjs/image-comparison/settings/configs/ui-v2.js +1 -1
- package/dist/cjs/image-detection/next.js +1 -1
- package/dist/cjs/input/next.js +1 -1
- package/dist/cjs/line/next.js +1 -1
- package/dist/cjs/link/next.js +1 -1
- package/dist/cjs/marquee/next.js +1 -1
- package/dist/cjs/menu/next.js +1 -1
- package/dist/cjs/modal/next.js +1 -1
- package/dist/cjs/pagination/next.js +1 -1
- package/dist/cjs/post-purchase/advanced-list/next.js +1 -1
- package/dist/cjs/post-purchase/button/next.js +1 -1
- package/dist/cjs/post-purchase/buyer-consent/next.js +1 -1
- package/dist/cjs/post-purchase/callout-banner/components/CalloutBox.js +1 -1
- package/dist/cjs/post-purchase/callout-banner/index.js +1 -1
- package/dist/cjs/post-purchase/callout-banner/next.js +1 -1
- package/dist/cjs/post-purchase/countdown-timer/next.js +1 -1
- package/dist/cjs/post-purchase/image/next.js +1 -1
- package/dist/cjs/post-purchase/line/next.js +1 -1
- package/dist/cjs/post-purchase/link/next.js +1 -1
- package/dist/cjs/post-purchase/product/components/product-offer/components/ProductOffer.js +1 -1
- package/dist/cjs/post-purchase/product/components/product-offer/components/ProductOfferItem.js +1 -1
- package/dist/cjs/post-purchase/product/index.js +1 -1
- package/dist/cjs/post-purchase/product/next.js +1 -1
- package/dist/cjs/post-purchase/text/next.js +1 -1
- package/dist/cjs/product/components/product-badge/ProductBadge.js +1 -1
- package/dist/cjs/product/components/product-badge/ProductBadge.liquid.js +1 -1
- package/dist/cjs/product/components/product-button/ProductButton.liquid.js +1 -1
- package/dist/cjs/product/components/product-description/ProductDescription.liquid.js +1 -1
- package/dist/cjs/product/components/product-description/common/styles.js +7 -2
- package/dist/cjs/product/components/product-discount-tag/ProductDiscountTag.js +1 -1
- package/dist/cjs/product/components/product-images-v2/components/child/ProductFeaturedImageOnly.js +1 -1
- package/dist/cjs/product/components/product-images-v3/ProductImagesV3.liquid.js +13 -13
- package/dist/cjs/product/components/product-images-v3/ProductImagesV3Embla.liquid.js +15 -15
- package/dist/cjs/product/components/product-images-v3/components/child/ProductFeaturedImageOnly.js +1 -1
- package/dist/cjs/product/components/product-list/ProductList.js +1 -1
- package/dist/cjs/product/components/product-list-v3/ProductList.js +1 -1
- package/dist/cjs/product/components/product-list-v3/common/helpers.js +1 -1
- package/dist/cjs/product/components/product-list-v3/constants/index.js +1 -0
- package/dist/cjs/product/components/product-list-v3/hooks/useCollectionQuery.js +1 -0
- package/dist/cjs/product/components/product-list-v3/hooks/useMainRelatedProductQuery.js +1 -0
- package/dist/cjs/product/components/product-list-v3/hooks/useProductRelatedQuery.js +1 -0
- package/dist/cjs/product/components/product-list-v3/hooks/useProductsQuery.js +1 -0
- package/dist/cjs/product/components/product-list-v3/hooks/useRelatedProductIDAssigned.js +1 -0
- package/dist/cjs/product/components/product-quick-view/ProductQuickView.js +1 -1
- package/dist/cjs/product/components/product-variants/ProductVariants.liquid.js +6 -6
- package/dist/cjs/product/components/product-wrap/Product.js +1 -1
- package/dist/cjs/product/components/product-wrap/hook/useProductQuery.js +1 -0
- package/dist/cjs/product/components/product-wrap/hook/useProductSetting.js +1 -1
- package/dist/cjs/product/index.js +1 -1
- package/dist/cjs/product/next.js +1 -1
- package/dist/cjs/product/settings/product-image-v3/configs/ui-v2.js +1 -1
- package/dist/cjs/radio/next.js +1 -1
- package/dist/cjs/select/next.js +1 -1
- package/dist/cjs/shop-pay-installment/next.js +1 -1
- package/dist/cjs/sticky/common/helper.js +1 -0
- package/dist/cjs/sticky/common/styles.js +1 -1
- package/dist/cjs/sticky/components/Sticky.liquid.js +7 -7
- package/dist/cjs/sticky/hooks/useSticky.js +1 -1
- package/dist/cjs/sticky/index.js +1 -1
- package/dist/cjs/sticky/next.js +1 -1
- package/dist/cjs/sticky/settings/configs/settings-v2.js +1 -1
- package/dist/cjs/sticky/settings/configs/ui-v2.js +1 -1
- package/dist/cjs/stock-counter/next.js +1 -1
- package/dist/cjs/tab/next.js +1 -1
- package/dist/cjs/textarea/next.js +1 -1
- package/dist/cjs/third-party/next.js +1 -1
- package/dist/cjs/third-party/settings/AppstleBundlesDiscounts/index.js +2 -2
- package/dist/cjs/third-party/settings/BoldSubscriptions/index.js +1 -1
- package/dist/cjs/third-party/settings/BoldSubscriptions/uiV2.js +1 -1
- package/dist/cjs/third-party/settings/GloColorSwatchvariantImage/index.js +1 -1
- package/dist/cjs/third-party/settings/HextomCountdownTimerBar/index.js +2 -2
- package/dist/cjs/third-party/settings/LoopSubscriptions/index.js +1 -1
- package/dist/cjs/third-party/settings/LoopSubscriptions/uiV2.js +1 -1
- package/dist/cjs/third-party/settings/RechargeSubscriptions/index.js +1 -1
- package/dist/cjs/third-party/settings/SeoantTrustBadgesIcon/uiV2.js +1 -1
- package/dist/cjs/third-party/settings/ShopifyForms/uiV2.js +1 -1
- package/dist/cjs/third-party/settings/SkioSubscriptionsYcS20/index.js +2 -2
- package/dist/cjs/third-party/settings/SproutPlantTreesGrowSales/index.js +1 -1
- package/dist/cjs/third-party/settings/TrustshopProductReviews/index.js +2 -2
- package/dist/cjs/third-party/settings/WcWishlistBackInStock/index.js +2 -2
- package/dist/cjs/third-party-instant/next.js +1 -1
- package/dist/cjs/third-party-slot/next.js +1 -1
- package/dist/cjs/video/next.js +1 -1
- package/dist/esm/accordion/next.js +1 -1
- package/dist/esm/article/components/ArticleContent.js +2 -2
- package/dist/esm/article/components/ArticleExcerpt.js +1 -1
- package/dist/esm/article/components/ArticleList.js +1 -1
- package/dist/esm/article/index.js +1 -1
- package/dist/esm/article/next.js +1 -1
- package/dist/esm/breadcrumb/next.js +1 -1
- package/dist/esm/button/components/Button.liquid.js +4 -4
- package/dist/esm/button/next.js +1 -1
- package/dist/esm/carousel/components/root/common/helpers.js +1 -1
- package/dist/esm/carousel/next.js +1 -1
- package/dist/esm/carousel-v3/components/root/CarouselEmbla.liquid.js +4 -3
- package/dist/esm/carousel-v3/components/root/common/helpers.js +1 -1
- package/dist/esm/carousel-v3/next.js +1 -1
- package/dist/esm/cart/components/CartList.js +1 -1
- package/dist/esm/cart/index.js +1 -1
- package/dist/esm/cart/next.js +1 -1
- package/dist/esm/code/next.js +1 -1
- package/dist/esm/collection/next.js +1 -1
- package/dist/esm/common/const.js +1 -1
- package/dist/esm/countdown-timer/components/Countdown.liquid.js +5 -5
- package/dist/esm/countdown-timer/next.js +1 -1
- package/dist/esm/coupon/next.js +1 -1
- package/dist/esm/dialog/index.js +1 -1
- package/dist/esm/dialog/next.js +1 -1
- package/dist/esm/estimate-delivery/next.js +1 -1
- package/dist/esm/form/components/form-dropdown/FormDropdown.liquid.js +9 -9
- package/dist/esm/form/next.js +1 -1
- package/dist/esm/grid/components/row/common/helpers.js +1 -1
- package/dist/esm/grid/components/section/Section.js +1 -1
- package/dist/esm/grid/index.js +1 -1
- package/dist/esm/header/components/kind/basic/index.js +1 -1
- package/dist/esm/header/components/kind/modern/index.js +1 -1
- package/dist/esm/header/index.js +1 -1
- package/dist/esm/header/next.js +1 -1
- package/dist/esm/hero-banner/components/HeroBannerItem.js +1 -1
- package/dist/esm/hero-banner/index.js +1 -1
- package/dist/esm/hero-banner/next.js +1 -1
- package/dist/esm/icon/next.js +1 -1
- package/dist/esm/icon-list/next.js +1 -1
- package/dist/esm/icon-list-hoz/next.js +1 -1
- package/dist/esm/icon-list-v2/components/IconList.liquid.js +8 -8
- package/dist/esm/icon-list-v2/next.js +1 -1
- package/dist/esm/image/common/const.js +1 -1
- package/dist/esm/image/common/helpers.js +2 -2
- package/dist/esm/image/settings/configs/ui-v2.js +1 -1
- package/dist/esm/image-comparison/next.js +1 -1
- package/dist/esm/image-comparison/settings/configs/ui-v2.js +1 -1
- package/dist/esm/image-detection/next.js +1 -1
- package/dist/esm/input/next.js +1 -1
- package/dist/esm/line/next.js +1 -1
- package/dist/esm/link/next.js +1 -1
- package/dist/esm/marquee/next.js +1 -1
- package/dist/esm/menu/next.js +1 -1
- package/dist/esm/modal/next.js +1 -1
- package/dist/esm/pagination/next.js +1 -1
- package/dist/esm/post-purchase/advanced-list/next.js +1 -1
- package/dist/esm/post-purchase/button/next.js +1 -1
- package/dist/esm/post-purchase/buyer-consent/next.js +1 -1
- package/dist/esm/post-purchase/callout-banner/components/CalloutBox.js +1 -1
- package/dist/esm/post-purchase/callout-banner/index.js +1 -1
- package/dist/esm/post-purchase/callout-banner/next.js +1 -1
- package/dist/esm/post-purchase/countdown-timer/next.js +1 -1
- package/dist/esm/post-purchase/image/next.js +1 -1
- package/dist/esm/post-purchase/line/next.js +1 -1
- package/dist/esm/post-purchase/link/next.js +1 -1
- package/dist/esm/post-purchase/product/components/product-offer/components/ProductOffer.js +1 -1
- package/dist/esm/post-purchase/product/components/product-offer/components/ProductOfferItem.js +1 -1
- package/dist/esm/post-purchase/product/index.js +1 -1
- package/dist/esm/post-purchase/product/next.js +1 -1
- package/dist/esm/post-purchase/text/next.js +1 -1
- package/dist/esm/product/components/product-badge/ProductBadge.js +1 -1
- package/dist/esm/product/components/product-badge/ProductBadge.liquid.js +2 -2
- package/dist/esm/product/components/product-button/ProductButton.liquid.js +5 -5
- package/dist/esm/product/components/product-description/ProductDescription.liquid.js +3 -3
- package/dist/esm/product/components/product-description/common/styles.js +7 -2
- package/dist/esm/product/components/product-discount-tag/ProductDiscountTag.js +1 -1
- package/dist/esm/product/components/product-images-v2/components/child/ProductFeaturedImageOnly.js +1 -1
- package/dist/esm/product/components/product-images-v3/ProductImagesV3.liquid.js +12 -12
- package/dist/esm/product/components/product-images-v3/ProductImagesV3Embla.liquid.js +16 -16
- package/dist/esm/product/components/product-images-v3/components/child/ProductFeaturedImageOnly.js +1 -1
- package/dist/esm/product/components/product-list/ProductList.js +1 -1
- package/dist/esm/product/components/product-list-v3/ProductList.js +1 -1
- package/dist/esm/product/components/product-list-v3/common/helpers.js +1 -1
- package/dist/esm/product/components/product-list-v3/constants/index.js +1 -0
- package/dist/esm/product/components/product-list-v3/hooks/useCollectionQuery.js +1 -0
- package/dist/esm/product/components/product-list-v3/hooks/useMainRelatedProductQuery.js +1 -0
- package/dist/esm/product/components/product-list-v3/hooks/useProductRelatedQuery.js +1 -0
- package/dist/esm/product/components/product-list-v3/hooks/useProductsQuery.js +1 -0
- package/dist/esm/product/components/product-list-v3/hooks/useRelatedProductIDAssigned.js +1 -0
- package/dist/esm/product/components/product-quick-view/ProductQuickView.js +1 -1
- package/dist/esm/product/components/product-variants/ProductVariants.liquid.js +8 -8
- package/dist/esm/product/components/product-wrap/Product.js +1 -1
- package/dist/esm/product/components/product-wrap/hook/useProductQuery.js +1 -0
- package/dist/esm/product/components/product-wrap/hook/useProductSetting.js +1 -1
- package/dist/esm/product/index.js +1 -1
- package/dist/esm/product/next.js +1 -1
- package/dist/esm/product/settings/product-image-v3/configs/ui-v2.js +1 -1
- package/dist/esm/radio/next.js +1 -1
- package/dist/esm/select/next.js +1 -1
- package/dist/esm/shop-pay-installment/next.js +1 -1
- package/dist/esm/sticky/common/helper.js +1 -0
- package/dist/esm/sticky/common/styles.js +1 -1
- package/dist/esm/sticky/components/Sticky.liquid.js +7 -7
- package/dist/esm/sticky/hooks/useSticky.js +1 -1
- package/dist/esm/sticky/index.js +1 -1
- package/dist/esm/sticky/next.js +1 -1
- package/dist/esm/sticky/settings/configs/settings-v2.js +1 -1
- package/dist/esm/sticky/settings/configs/ui-v2.js +1 -1
- package/dist/esm/stock-counter/next.js +1 -1
- package/dist/esm/tab/next.js +1 -1
- package/dist/esm/textarea/next.js +1 -1
- package/dist/esm/third-party/next.js +1 -1
- package/dist/esm/third-party/settings/AppstleBundlesDiscounts/index.js +2 -2
- package/dist/esm/third-party/settings/BoldSubscriptions/index.js +1 -1
- package/dist/esm/third-party/settings/BoldSubscriptions/uiV2.js +1 -1
- package/dist/esm/third-party/settings/GloColorSwatchvariantImage/index.js +1 -1
- package/dist/esm/third-party/settings/HextomCountdownTimerBar/index.js +2 -2
- package/dist/esm/third-party/settings/LoopSubscriptions/index.js +1 -1
- package/dist/esm/third-party/settings/LoopSubscriptions/uiV2.js +1 -1
- package/dist/esm/third-party/settings/RechargeSubscriptions/index.js +1 -1
- package/dist/esm/third-party/settings/SeoantTrustBadgesIcon/uiV2.js +1 -1
- package/dist/esm/third-party/settings/ShopifyForms/uiV2.js +1 -1
- package/dist/esm/third-party/settings/SkioSubscriptionsYcS20/index.js +2 -2
- package/dist/esm/third-party/settings/SproutPlantTreesGrowSales/index.js +1 -1
- package/dist/esm/third-party/settings/TrustshopProductReviews/index.js +2 -2
- package/dist/esm/third-party/settings/WcWishlistBackInStock/index.js +2 -2
- package/dist/esm/third-party-instant/next.js +1 -1
- package/dist/esm/third-party-slot/next.js +1 -1
- package/dist/esm/video/next.js +1 -1
- package/dist/types/index.d.ts +8 -1
- package/package.json +5 -5
|
@@ -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}),
|
|
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}),
|
|
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
|
|
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,4 +1,4 @@
|
|
|
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
|
|
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 E}from"./common/attrs.js";import{checkDiscountContentProductBadge as K}from"./utils/common.js";import{ProductBadge as N}from"../../settings/product-badge/configs/translate.js";let _=_=>{let{styles:A,setting:B,builderProps:O,pageContext:Q}=_,w=B?.shape!=="image",G=w&&B?.displayContent?.trim()==="",H=K(B?.displayContent),J=d({...S({isInstant:!1,props:_})}),x=l({...y(_,g)}),M=d({...D(_)}),R=d({...V(_)}),Y=l({...$({props:_})}),z=u({...T(_)}),F=v(_),U=d({...b()}),W=u({...k(_)}),X=d({...h()}),Z=l({...f({setting:B,styles:A})}),ee=d({...C(A)}),et=l({...j({setting:B,styles:A})}),es=u({...q()}),ei=d({...I()}),er=l({...P({setting:B,styles:A})}),ea=d({...L()}),eo=u({...E({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)),uid:_.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:N?.displayContent?.id,isLiquid:!0,pageContext:Q});return i`
|
|
2
2
|
{% if product %}
|
|
3
3
|
${n(ep,Q?.isPreviewing)}
|
|
4
4
|
${p(B?.displayTrigger,!G,H)}
|
|
@@ -36,4 +36,4 @@ import{sanitizeLiquid as e,dataStringify as t,RenderIf as s,template as i,isLoca
|
|
|
36
36
|
</gp-product-badge>
|
|
37
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>`)}
|
|
38
38
|
{% endif %}
|
|
39
|
-
`};export{
|
|
39
|
+
`};export{_ as default};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import{getSplitStyle as t}from"./common/styles.js";import{getGPProductButtonState as e,escapeSingleQuoteForAttr as s}from"./common/helpers.js";import{template as r,isLocalEnv as a,baseAssetURL as o}from"@gem-sdk/core";import{createStateOrContext as i,Liquid as n,LiquidFor as
|
|
1
|
+
import{getSplitStyle as t}from"./common/styles.js";import{getGPProductButtonState as e,escapeSingleQuoteForAttr as s}from"./common/helpers.js";import{template as r,isLocalEnv as a,baseAssetURL as o}from"@gem-sdk/core";import{createStateOrContext as i,Liquid as n,LiquidFor as p,If as l}from"@gem-sdk/system";import{getInsertLinkData as c,getSettingPreloadData as u}from"../../../helpers.js";import{getButtonDynamicSourceLocales as d}from"./helpers/getButtonDynamicSourceLocales.js";import{SoldOutButton as m}from"./SoldOutButton.liquid.js";import{AddToCartButton as g}from"./AddToCartButton.liquid.js";let f=f=>{let{setting:$,builderProps:y,style:b,styles:v,pageContext:_}=f,{wrapStyle:h,restStyle:S}=t(b),{outOfStockButtonLabel:j,unavailableButtonLabel:q,variantSelectionRequiredMessage:k,successMessage:E,errorMessage:M}=d({setting:$,pageContext:_,builderProps:y}),{urlData:A}=c("",$?.actionEffect==="open-cart-drawer"?{link:"/cart",target:"_self"}:$?.customURL),B=i(e({styles:v,setting:$})),G=s(E??$?.successMessage),P=s(M??$?.errorMessage),w=s(k??$?.variantSelectionRequiredMessage);return r`
|
|
2
2
|
${n("{%- assign total_combinations = 1 -%}")}
|
|
3
|
-
${
|
|
3
|
+
${p("option in product.options_with_values","{%- assign total_combinations = total_combinations | times: option.values.size -%}")}
|
|
4
4
|
{%- liquid
|
|
5
5
|
assign inventory_quantity = variant.inventory_quantity | default: 0
|
|
6
6
|
assign is_in_stock = variant.available
|
|
@@ -8,7 +8,7 @@ import{getSplitStyle as t}from"./common/styles.js";import{getGPProductButtonStat
|
|
|
8
8
|
<gp-product-button
|
|
9
9
|
style="${h}"
|
|
10
10
|
gp-data-wrapper="true"
|
|
11
|
-
gp-href="${
|
|
11
|
+
gp-href="${A.href}"
|
|
12
12
|
class="gp-product-button"
|
|
13
13
|
gp-label-out-of-stock="${j}"
|
|
14
14
|
gp-label-unavailable="${q}"
|
|
@@ -18,9 +18,9 @@ import{getSplitStyle as t}from"./common/styles.js";import{getGPProductButtonStat
|
|
|
18
18
|
gp-success-message="${G}"
|
|
19
19
|
data-variant-selection-required-message="${k}"
|
|
20
20
|
>
|
|
21
|
-
<script gp-data type="application/json">${JSON.stringify(B)
|
|
21
|
+
<script gp-data type="application/json">${JSON.stringify(B)}</script>
|
|
22
22
|
${g({...f,style:S})}
|
|
23
23
|
${m({...f,style:S,label:j})}
|
|
24
24
|
</gp-product-button>
|
|
25
|
-
${
|
|
25
|
+
${l(a,`<script ${u('class="gps-link" delay',"src")}="{{ 'gp-product-button-v7-5.js' | asset_url }}" defer="defer"></script>`,`<script ${u('class="gps-link" delay',"src")}="${o}/assets-v2/gp-product-button-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}" defer="defer"></script>`)}
|
|
26
26
|
`};export{f as default};
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import{makeStyleResponsive as
|
|
1
|
+
import{makeStyleResponsive as t,makeLineClamp as e,dataStringify as s,template as i,baseAssetURL as o,isLocalEnv as p}from"@gem-sdk/core";import{getDynamicSourceLocales as r,createSettingId as a,getSettingPreloadData as n}from"../../../helpers.js";import{createClass as d,createStyle as c,createAttr as l,createStateOrContext as m,LiquidIf as $,Liquid as u,LiquidUnless as g,If as v}from"@gem-sdk/system";import{getClasses as f,getButtonClasses as x,getClassPreBuilt as w}from"./common/classes.js";import{getTextStyle as h,getButtonStyle as y,getStaticCss as C}from"./common/styles.js";import{ICON_SVG as j}from"./common/helpers.js";import{ProductDescription as b}from"../../settings/product-description/configs/translate.js";let M=M=>{let{setting:S,advanced:I,builderProps:L,pageContext:T}=M,{htmlTag:k,viewMoreText:E,viewLessText:P}=S??{},V="html"===k?"div":"p",A=d({"gp-product-description":!0,[I?.cssClass]:!0}),D=d(f({setting:S,isLiquid:!0})),G=d(x({setting:S})),_=d({"gp-show-more-text":!0}),q=d({"gp-show-more-icon gp-ml-1":!0}),H=c({...h({setting:S,renderMaxHeight:!0}),...t("line-clamp",e(S?.lineClamp,S?.hasLineClamp))}),N=d(w()),O=c(y({setting:S})),R=l({"data-id":`${L?.uid}`}),z=l({"data-gp-text":""}),{textDescriptionCss:B,gpDescriptionCss:F}=C(),J="product.description == blank",K=r({val:E,uid:L?.uid,settingId:a({id:b?.viewMoreText?.id}),pageContext:T??{}}),Q=r({val:P,uid:L?.uid,settingId:a({id:b?.viewLessText?.id}),pageContext:T??{}}),U=m({setting:{lineClamp:S?.lineClamp,hasLineClamp:S?.hasLineClamp,viewMoreText:K,viewLessText:Q,enableViewMoreIcon:S?.enableViewMoreIcon},textStyle:H});return $(J,"",u(i`
|
|
2
2
|
<gp-product-description
|
|
3
3
|
${R}
|
|
4
4
|
class="${A}"
|
|
5
5
|
data-view-more-text="${K}"
|
|
6
6
|
data-view-less-text="${Q}"
|
|
7
7
|
>
|
|
8
|
-
<script gp-data type="application/json">${s(U)
|
|
8
|
+
<script gp-data type="application/json">${s(U)}</script>
|
|
9
9
|
<style>${B}${F}</style>
|
|
10
10
|
<div class="${N}" ></div>
|
|
11
11
|
${g("product","<p>Product not found</p>",i`<${V} ${z} class="${D}" style="${H}">
|
|
@@ -19,5 +19,5 @@ import{makeStyleResponsive as e,makeLineClamp as t,dataStringify as s,template a
|
|
|
19
19
|
</button>`)}`)}
|
|
20
20
|
</gp-product-description>
|
|
21
21
|
|
|
22
|
-
${(()=>{let
|
|
22
|
+
${(()=>{let t=p?"{{ 'gp-product-description-v7-5.js' | asset_url }}":`${o}/assets-v2/gp-product-description-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}`;return`<script ${n('class="gps-link" delay',"src")}="${t}" defer="defer"></script>`})()}
|
|
23
23
|
`))};export{M as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{composeTypographyStyle as t,makeStyle as e,getGlobalColorStyle as o,makeStyleResponsive as l,getStyleShadow as i,filterTruthyStyles as n,getResponsiveValueByScreen as
|
|
1
|
+
import{composeTypographyStyle as t,makeStyle as e,getGlobalColorStyle as o,makeStyleResponsive as l,getStyleShadow as i,filterTruthyStyles as n,getResponsiveValueByScreen as p}from"@gem-sdk/core";let a=["desktop","mobile","tablet"],r=(t,e)=>{let o={};return a.forEach(l=>{o={...o,[`--d${"desktop"===l?"":`-${l}`}`]:`${t(l)?"none":e}`}}),o},s=({setting:p,renderMaxHeight:a})=>{let r=t(p?.typo,p?.typography),s={...i({value:p?.typo?.custom?.textShadow,styleAppliedFor:"text-shadow",isEnableShadow:p?.typo?.custom?.hasShadowText}),...l("ta",p?.textAlign),...o(p?.color),...e({tt:p?.transform}),...r,...a&&c(p)};return n(s)},h=({setting:i})=>{let p=t(i?.typo,i?.typography),a={...l("jc",i?.textAlign),...e({tt:i?.transform}),...p,...o(i?.showMoreColor),...r(t=>!!i?.hasLineClamp&&void 0!==i.hasLineClamp[t]&&!i.hasLineClamp[t],"inline-flex")};return n(a)},d=()=>{let t=`
|
|
2
2
|
.gp-p-description-text > :not(ol, ul, table, div, style, script) {
|
|
3
3
|
display: inline !important;
|
|
4
4
|
}
|
|
@@ -7,6 +7,11 @@ import{composeTypographyStyle as t,makeStyle as e,getGlobalColorStyle as o,makeS
|
|
|
7
7
|
content: "";
|
|
8
8
|
display: block; /* đảm bảo xuống d\xf2ng tr\xean Safari/iOS */
|
|
9
9
|
}
|
|
10
|
+
|
|
11
|
+
.gp-p-description-text > :is(p, h1, h2, h3, h4, h5, h6, blockquote):not(:last-child)::after {
|
|
12
|
+
height: 1lh;
|
|
13
|
+
}
|
|
14
|
+
|
|
10
15
|
.gp-p-description-text > table {
|
|
11
16
|
box-shadow: none;
|
|
12
17
|
}
|
|
@@ -14,4 +19,4 @@ import{composeTypographyStyle as t,makeStyle as e,getGlobalColorStyle as o,makeS
|
|
|
14
19
|
.p-description-wrapper.gp-p-description-text * {
|
|
15
20
|
color: inherit;
|
|
16
21
|
line-height: inherit !important;
|
|
17
|
-
}`;return{gpDescriptionCss:t,textDescriptionCss:e}},c=t=>{let e={desktop:"none"};return["desktop","mobile","tablet"].forEach(o=>{let l=
|
|
22
|
+
}`;return{gpDescriptionCss:t,textDescriptionCss:e}},c=t=>{let e={desktop:"none"};return["desktop","mobile","tablet"].forEach(o=>{let l=p(t?.lineClamp,o),i=p(t?.hasLineClamp,o);i&&l?e[o]=`calc(${l} * 1lh)`:e[o]="none"}),{...l("maxh",e)}};export{h as getButtonStyle,c as getMaxHeightStyleDefault,d as getStaticCss,s as getTextStyle};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import{jsx as e,jsxs as t}from"react/jsx-runtime";import{useI18nStore as s,makeStyleResponsive as o}from"@gem-sdk/core";import i from"../../../common/components/NoDataState.js";import l from"../../../common/components/TooltipHover.js";import r from"../../../text/components/Text.js";import{createStyle as
|
|
2
|
+
import{jsx as e,jsxs as t}from"react/jsx-runtime";import{useI18nStore as s,makeStyleResponsive as o}from"@gem-sdk/core";import i from"../../../common/components/NoDataState.js";import l from"../../../common/components/TooltipHover.js";import"../../../common/const.js";import r from"../../../text/components/Text.js";import{createStyle as m,createClass as n,If as d}from"@gem-sdk/system";import{getWrapperTextStyle as p,getContainerStyle as a}from"./common/styles.js";import{getWrapperTextClass as c,getContainerClass as u,getRootClass as x}from"./common/classes.js";import{useGpDiscountTag as f}from"./hooks/useGpDiscountTag.js";let g=({setting:g,styles:y,builderProps:h,...b})=>{let{customContent:j}=g??{},N=b["bundle-item"],{textAlign:v}=y??{},{t:T}=s(),{mode:k,product:w,salePrice:A,priceSave:D,currentProductId:F,unitCustomDisplay:S,shouldPlaceholderNoDiscount:$}=f({setting:g,styles:y,builderProps:h,...b});if($)return e(l,{enable:!0,text:T("Not be displayed when published"),position:"bottom",width:"205px",children:e(i,{builderAttrs:h?.builderData,elementType:"secondary",description:T("No discount"),rawMode:!0,customClass:"!gp-p-[5px]"})});let q=m(p(y)),C=m(a(y)),I=n(c(y)),E=n(u()),G=n(x({mode:k,salePrice:A,priceSave:D,bundleItem:N}));return e("div",{className:G,style:{...o("ta",v)},id:`shopify-text-element-${h?.uid}`,"data-id":h?.uid,"data-product-id":F,"gp-data-hidden":"false",children:d(!w," ",e("div",{className:E,style:C,children:e("div",{className:I,style:q,children:t("div",{className:"gp-flex gp-break-all gp-items-center",children:[e(r,{styles:y,setting:{...g,text:j?.prefix?.replaceAll(" "," "),options:{useState:!0,uniqueId:`${h?.uid}-prefix`},excludeFlex:!0}}),e(r,{styles:y,setting:{...g,text:S,options:{isCannotEditing:!0},excludeFlex:!0}}),e(r,{styles:y,setting:{...g,text:j?.suffix?.replaceAll(" "," "),excludeFlex:!0,options:{useState:!0,uniqueId:`${h?.uid}-suffix`}}})]})})}))})};export{g as default};
|
package/dist/esm/product/components/product-images-v2/components/child/ProductFeaturedImageOnly.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import{jsx as e,Fragment as t,jsxs as
|
|
2
|
+
import{jsx as e,Fragment as t,jsxs as r}from"react/jsx-runtime";import{useProduct as o,useCurrentDevice as i,useShopStore as a,useRenderMode as c,getResponsiveValueByScreen as n,cls as l,makeStyle as s}from"@gem-sdk/core";import{memo as h,useMemo as f}from"react";import p from"../../../../../image/components/NextImage.js";import m from"./MediaIcon.js";import{isFeatureMedia as g,getZoomImageClass as d,getZoomLenClass as u}from"../../common/productFeaturedImage.js";import y from"./ProductFeatureVideo.js";let T={src:"https://cdn.shopify.com/s/assets/no-image-2048-5e88c1b20e087fb7bbe9a3771824e743c244f437e4f8ba93bbf7b11b53f7824c_large.gif",id:"noImageError",width:480,height:480,alt:"no image",contentType:"IMAGE"};var b=h(({image:h,imageShowWhenHover:b,setting:v,aspectRatio:E})=>{let w=o(),I=i(),k=a(e=>e.storefrontUrl),{isEditMode:x,isPreviewSharePageMode:L}=c(),N=f(()=>"none"!==n(v.ftClickOpenLightBox,I),[I,v.ftClickOpenLightBox]),O=f(()=>!x&&["VIDEO","EXTERNAL_VIDEO"].includes(h?.contentType||"")&&!N,[x,h?.contentType,N]),j=f(()=>h?{...h,src:O?h.src:g(h?.contentType)?h?.previewImage:h.src}:T,[h,O]),R=f(()=>{if(L)return"javascript:void(0)";if(!k)return"#";let e=new URL(k);return w?`${e.protocol}//${e.host}/products/${w.handle}`:"#"},[k,w,L]),C=f(()=>v?.hoverEffect!=="none"&&!g(j?.contentType),[j?.contentType,v?.hoverEffect]),$=f(()=>v?.hoverEffect=="zoom"&&v?.zoomType=="glasses"&&!g(j?.contentType),[j?.contentType,v?.hoverEffect,v?.zoomType]);return e(t,{children:(t=>{if("product-link"===n(v.ftClickOpenLightBox,I)){let r=v.ftClickOpenNewTab?"_blank":"_self";return e("a",{title:w?.title,href:R,className:"gp-w-full",target:r,children:t})}return t})(e(t,{children:O?e(y,{type:j?.contentType,url:j.src??"",aspectRatio:E}):r(t,{children:[e(p,{draggable:"false",src:j.src,width:j?.width,height:j?.height,alt:j?.alt,setting:{aspectRatio:E,layout:v?.ftLayout},priority:v?.preload,className:"featured-image-only",style:{width:"100%",height:"100%",cursor:"pointer"}}),e(m,{contentType:j?.contentType??""}),C&&e(p,{draggable:"false",src:v?.hoverEffect==="other"?b?.src:j.src,width:v?.hoverEffect==="other"?b?.width:j.width,height:v?.hoverEffect==="other"?b?.height:j.height,alt:v?.hoverEffect==="other"?b?.alt:j.alt,setting:{layout:v.ftLayout,aspectRatio:E},style:{width:"100%",height:"100%"},className:l("hover-image featured-image-only !gp-max-w-none",d()),priority:v?.preload}),$&&e("div",{className:l(u(),"room-len"),style:{...s({bgi:`url("${j?.src}")`})}})]})}))})});export{b as default};
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import{isLocalEnv as e,baseAssetURL as o,template as
|
|
1
|
+
import{isLocalEnv as e,baseAssetURL as o,template as i,WrapRenderChildren as t,RenderChildren as r}from"@gem-sdk/core";import{getConditionRenderGalleryImages as s,getStyleInsideLayout as a,setDefaultWhenUndefineSetting as l}from"./common/common.js";import p from"./components/feature-gallery/FeatureImageWithGallery.liquid.js";import d from"./components/gallery-carousel/GalleryCarousel.liquid.js";import m from"./components/gallery-grid/GalleryGrid.liquid.js";import{filterPageContext as n,getSettingPreloadData as c}from"../../../helpers.js";import{getShapeByLayout as u,sizeSettingDefaultForNewLayout as g}from"./common/productGallery.js";import{getProductImagesClassName as f}from"./composables/getProductImagesClassName.js";import{getProductImagesStyles as y}from"./composables/getProductImagesStyles.js";import{createAttr as $,LiquidIf as h,createClass as j,If as v,Liquid as S}from"@gem-sdk/system";import{getBorderActiveCss as F}from"./common/getBorderActiveCss.js";import{getStyleOfObject as I}from"../../helpers/function.js";let C=C=>{let P=l(C),{setting:G,styles:D,builderProps:b,style:z}=P,{rawChildren:O,pageContext:_}=C,N={...G,...D},A=`
|
|
2
2
|
{
|
|
3
3
|
"id":${JSON.stringify(b?.uid)},
|
|
4
|
-
"pageContext": ${JSON.stringify(
|
|
4
|
+
"pageContext": ${JSON.stringify(n(_))},
|
|
5
5
|
"setting":${JSON.stringify(G)},
|
|
6
6
|
"styles":${JSON.stringify(D)},
|
|
7
7
|
"productUrl":{{product.url | json }},
|
|
8
|
-
"product":{{ product | json }},
|
|
8
|
+
"product":{% if product %}{"id":{{ product.id | json }},"handle":{{ product.handle | json }},"media":{{ product.media | json }}}{% else %}null{% endif %},
|
|
9
9
|
"collectionUrl": {{ collection.url | json }},
|
|
10
|
-
"collection": {{ collection | json }}
|
|
10
|
+
"collection": {% if collection %}{"handle":{{ collection.handle | json }}}{% else %}null{% endif %}
|
|
11
11
|
}
|
|
12
|
-
`,B=$({"section-id":"{{section.id}}","data-id":`${b?.uid}`}),{isOnlyFeatureAllDevices:U,isRenderGalleryGrid:k}=
|
|
13
|
-
${t({uid:b?.uid||"",customProps:O?.[0].customProps},O?.map(e=>{if(e)return
|
|
14
|
-
`;return
|
|
15
|
-
${
|
|
12
|
+
`,B=$({"section-id":"{{section.id}}","data-id":`${b?.uid}`}),{isOnlyFeatureAllDevices:U,isRenderGalleryGrid:k}=s(N?.position,G?.type),q=k?{}:$({"data-only-image":h("product.media.size > 1","false","true")}),{wrapperClasses:E,productImagesGalleryClasses:J}=f(C),w=j({"gp-grid gp-w-full !gp-m-0 gp-relative":!0}),T=j({"gp-w-full !gp-m-0 gp-relative":!0}),{wrapContainerStyle:x,wrapContainerStyleOnlyOneImage:L,galleryImageStyle:M}=y(N),R=u({shape:N.shape,shapeForBottom:N.shapeForBottom,shapeFor1Col:N.shapeFor1Col,shapeFor2Col:N.shapeFor2Col,shapeForFtOnly:N.shapeForFtOnly,shapeForInsideBottom:N.shapeForInsideBottom??g,shapeForInside:N.shapeForInside??g},N.position),V=a(N.position,R,N?.spacing),W=()=>i`
|
|
13
|
+
${t({uid:b?.uid||"",customProps:O?.[0].customProps},O?.map(e=>{if(e)return i`${r({...e,isInsideProductImage:!0,imageData:{imageShape:D?.ftShape,imageAlign:D?.align,imageLayout:D?.position},dotData:{dotSize:G?.ftDotSize,dotGapToCarousel:G?.ftDotGapToCarousel,dotStyle:G?.ftDotStyle}})}`}))}
|
|
14
|
+
`;return i`
|
|
15
|
+
${v(G?.borderActive?.border!=="none",h("product.media.size > 1",`<style>${F({settings:N,uid:b?.uid,type:"Liquid"})}</style>`),"")}
|
|
16
16
|
${S(`
|
|
17
17
|
{% assign featured_image = product.featured_image %}
|
|
18
18
|
${h("variant != null and variant.featured_image != null","{% assign featured_image = variant.featured_image %}")}
|
|
@@ -27,18 +27,18 @@ import{isLocalEnv as e,baseAssetURL as o,template as r,WrapRenderChildren as t,R
|
|
|
27
27
|
class="${h("product.media.size > 1",`${w}`,`${T}`)}"
|
|
28
28
|
style="${h("product.media.size > 1",I(x),I(L))}"
|
|
29
29
|
>
|
|
30
|
-
${
|
|
31
|
-
${
|
|
30
|
+
${p({builderPropUID:`gp-carousel-${b?.uid}`,...N,children:W(),pageContext:_})}
|
|
31
|
+
${v(!U,i`
|
|
32
32
|
<div
|
|
33
33
|
class="${J}"
|
|
34
34
|
style="${I(M)}"
|
|
35
35
|
${{...q}}
|
|
36
36
|
>
|
|
37
37
|
${h("product.media.size > 1",d({builderPropUID:`gp-gallery-${b?.uid}`,...N,pageContext:_}))}
|
|
38
|
-
${
|
|
38
|
+
${v(k,m({builderPropUID:b?.uid,wrapperStyle:{...V},children:W(),...N,pageContext:_}))}
|
|
39
39
|
</div>
|
|
40
40
|
`)}
|
|
41
41
|
</div>
|
|
42
42
|
</gp-product-images-v3>
|
|
43
|
-
${
|
|
43
|
+
${v(e,`<script ${c('class="gps-link" delay',"src")}="{{ 'gp-product-images-v3-v7-5.js' | asset_url }}" defer="defer"></script>`,`<script ${c('class="gps-link" delay',"src")}="${o}/assets-v2/gp-product-images-v3-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}" defer="defer"></script>`)}
|
|
44
44
|
`};export{C as default};
|
|
@@ -1,44 +1,44 @@
|
|
|
1
|
-
import{isLocalEnv as e,baseAssetURL as o,template as
|
|
1
|
+
import{isLocalEnv as e,baseAssetURL as o,template as i,WrapRenderChildren as t,RenderChildren as r}from"@gem-sdk/core";import{getConditionRenderGalleryImages as s,getStyleInsideLayout as a,setDefaultWhenUndefineSetting as l}from"./common/common.js";import p from"./components/feature-gallery/FeatureImageWithGalleryEmbla.liquid.js";import d from"./components/gallery-carousel/GalleryCarouselEmbla.liquid.js";import m from"./components/gallery-grid/GalleryGrid.liquid.js";import{filterPageContext as n,getSettingPreloadData as c}from"../../../helpers.js";import{getShapeByLayout as u,sizeSettingDefaultForNewLayout as g}from"./common/productGallery.js";import{getProductImagesClassName as f}from"./composables/getProductImagesClassName.js";import{getProductImagesStyles as y}from"./composables/getProductImagesStyles.js";import{createAttr as $,LiquidIf as h,createClass as j,If as v,Liquid as S}from"@gem-sdk/system";import{getBorderActiveCss as F}from"./common/getBorderActiveCss.js";import{getStyleOfObject as I}from"../../helpers/function.js";let C=C=>{let P=l(C),{setting:b,styles:G,builderProps:D,style:z}=P,{rawChildren:O,pageContext:_}=C,E={...b,...G},N=`
|
|
2
2
|
{
|
|
3
3
|
"id":${JSON.stringify(D?.uid)},
|
|
4
|
-
"pageContext": ${JSON.stringify(
|
|
4
|
+
"pageContext": ${JSON.stringify(n(_))},
|
|
5
5
|
"setting":${JSON.stringify(b)},
|
|
6
6
|
"styles":${JSON.stringify(G)},
|
|
7
|
-
"productUrl":{{product.url | json
|
|
8
|
-
"product":{{product | json |
|
|
9
|
-
"collectionUrl": {{ collection.url | json
|
|
10
|
-
"collection": {{ collection | json
|
|
7
|
+
"productUrl":{{product.url | json }},
|
|
8
|
+
"product":{% if product %}{"id":{{ product.id | json }},"handle":{{ product.handle | json }},"media":{{ product.media | json }}}{% else %}null{% endif %},
|
|
9
|
+
"collectionUrl": {{ collection.url | json }},
|
|
10
|
+
"collection": {% if collection %}{"handle":{{ collection.handle | json }}}{% else %}null{% endif %}
|
|
11
11
|
}
|
|
12
|
-
`,A
|
|
13
|
-
${
|
|
14
|
-
`;return
|
|
15
|
-
${
|
|
16
|
-
${
|
|
12
|
+
`,A=$({"section-id":"{{section.id}}","data-id":`${D?.uid}`}),{isOnlyFeatureAllDevices:B,isRenderGalleryGrid:U}=s(E?.position,b?.type),k=U?{}:$({"data-only-image":h("product.media.size > 1","false","true")}),{wrapperClasses:q,productImagesGalleryClasses:J}=f(C),w=j({"gp-grid gp-w-full !gp-m-0 gp-relative":!0}),T=j({"gp-w-full !gp-m-0 gp-relative":!0}),{wrapContainerStyle:x,wrapContainerStyleOnlyOneImage:L,galleryImageStyle:M}=y(E),R=u({shape:E.shape,shapeForBottom:E.shapeForBottom,shapeFor1Col:E.shapeFor1Col,shapeFor2Col:E.shapeFor2Col,shapeForFtOnly:E.shapeForFtOnly,shapeForInsideBottom:E.shapeForInsideBottom??g,shapeForInside:E.shapeForInside??g},E.position),V=a(E.position,R,E?.spacing),W=()=>i`
|
|
13
|
+
${t({uid:D?.uid||"",customProps:O?.[0].customProps},O?.map(e=>{if(e)return i`${r({...e,isInsideProductImage:!0,imageData:{imageShape:G?.ftShape,imageAlign:G?.align,imageLayout:G?.position},dotData:{dotSize:b?.ftDotSize,dotGapToCarousel:b?.ftDotGapToCarousel,dotStyle:b?.ftDotStyle}})}`}))}
|
|
14
|
+
`;return i`
|
|
15
|
+
${v(b?.borderActive?.border!=="none",h("product.media.size > 1",`<style>${F({settings:E,uid:D?.uid,type:"Liquid"})}</style>`),"")}
|
|
16
|
+
${S(`
|
|
17
17
|
{% assign featured_image = product.featured_image %}
|
|
18
18
|
${h("variant != null and variant.featured_image != null","{% assign featured_image = variant.featured_image %}")}
|
|
19
19
|
`)}
|
|
20
20
|
<gp-product-images-v3
|
|
21
|
-
gp-data='${N}'
|
|
22
21
|
${{...A}}
|
|
23
22
|
style="${{...z}}"
|
|
24
23
|
class="${q}"
|
|
25
24
|
>
|
|
25
|
+
<script gp-data type="application/json">${N}</script>
|
|
26
26
|
<div
|
|
27
27
|
class="${h("product.media.size > 1",`${w}`,`${T}`)}"
|
|
28
28
|
style="${h("product.media.size > 1",I(x),I(L))}"
|
|
29
29
|
>
|
|
30
|
-
${
|
|
31
|
-
${
|
|
30
|
+
${p({builderPropUID:`gp-carousel-${D?.uid}`,...E,children:W(),pageContext:_})}
|
|
31
|
+
${v(!B,i`
|
|
32
32
|
<div
|
|
33
33
|
class="${J}"
|
|
34
34
|
style="${I(M)}"
|
|
35
35
|
${{...k}}
|
|
36
36
|
>
|
|
37
37
|
${h("product.media.size > 1",d({builderPropUID:`gp-gallery-${D?.uid}`,...E,pageContext:_}))}
|
|
38
|
-
${
|
|
38
|
+
${v(U,m({builderPropUID:D?.uid,wrapperStyle:{...V},children:W(),...E,pageContext:_}))}
|
|
39
39
|
</div>
|
|
40
40
|
`)}
|
|
41
41
|
</div>
|
|
42
42
|
</gp-product-images-v3>
|
|
43
|
-
${
|
|
43
|
+
${v(e,`<script ${c('class="gps-link" delay',"src")}="{{ 'gp-product-images-v3-v7-5.js' | asset_url }}" defer="defer"></script>`,`<script ${c('class="gps-link" delay',"src")}="${o}/assets-v2/gp-product-images-v3-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}" defer="defer"></script>`)}
|
|
44
44
|
`};export{C as default};
|
package/dist/esm/product/components/product-images-v3/components/child/ProductFeaturedImageOnly.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import{jsx as e,Fragment as t,jsxs as
|
|
2
|
+
import{jsx as e,Fragment as t,jsxs as r}from"react/jsx-runtime";import{useProduct as o,useCurrentDevice as i,useShopStore as a,useRenderMode as c,getResponsiveValueByScreen as n,cls as l,makeStyle as s}from"@gem-sdk/core";import{memo as h,useMemo as f,useCallback as p}from"react";import m from"../../../../../image/components/NextImage.js";import g from"./MediaIcon.js";import{isFeatureMedia as d,getZoomImageClass as u,getZoomLenClass as y}from"../../common/productFeaturedImage.js";import v from"./ProductFeatureVideo.js";let E={src:"https://cdn.shopify.com/s/assets/no-image-2048-5e88c1b20e087fb7bbe9a3771824e743c244f437e4f8ba93bbf7b11b53f7824c_large.gif",id:"noImageError",width:480,height:480,alt:"no image",contentType:"IMAGE"};var T=h(({image:h,imageShowWhenHover:T,setting:b,aspectRatio:w})=>{let I=o(),k=i(),x=a(e=>e.storefrontUrl),{isEditMode:L,isPreviewSharePageMode:N}=c(),O=f(()=>"none"!==n(b.ftClickOpenLightBox,k),[k,b.ftClickOpenLightBox]),j=f(()=>!L&&["VIDEO","EXTERNAL_VIDEO"].includes(h?.contentType||"")&&!O,[L,h?.contentType,O]),R=f(()=>h?{...h,src:j?h.src:d(h?.contentType)?h?.previewImage:h.src}:E,[h,j]),C=f(()=>{if(N)return"javascript:void(0)";if(!x)return"#";let e=new URL(x);return I?`${e.protocol}//${e.host}/products/${I.handle}`:"#"},[x,I,N]),$=f(()=>b?.hoverEffect!=="none"&&!d(R?.contentType),[R?.contentType,b?.hoverEffect]),_=f(()=>b?.hoverEffect=="zoom"&&b?.zoomType=="glasses"&&!d(R?.contentType),[R?.contentType,b?.hoverEffect,b?.zoomType]),z=p(e=>"IMAGE"!==e.contentType?e.previewImage:e.src,[]),A=f(()=>T?"other"!==b.hoverEffect?z(R):z(T):E.src,[T,R,b.hoverEffect,z]);return e(t,{children:(t=>{if("product-link"===n(b.ftClickOpenLightBox,k)){let r=b.ftClickOpenNewTab?"_blank":"_self";return e("a",{title:I?.title,href:C,className:"gp-w-full",target:r,children:t})}return t})(e(t,{children:j?e(v,{type:R?.contentType,url:R.src??"",thumbnail:R?.previewImage,aspectRatio:w}):r(t,{children:[e(m,{draggable:"false",src:R.src,width:R?.width,height:R?.height,alt:R?.alt,setting:{aspectRatio:w,layout:b?.ftLayout},priority:b?.preload,className:"featured-image-only",style:{width:"100%",height:"100%",cursor:"pointer"}}),e(g,{contentType:R?.contentType??""}),$&&e(m,{draggable:"false",src:A,width:b?.hoverEffect==="other"?T?.width:R.width,height:b?.hoverEffect==="other"?T?.height:R.height,alt:b?.hoverEffect==="other"?T?.alt:R.alt,setting:{layout:b.ftLayout,aspectRatio:w},style:{width:"100%",height:"100%"},className:l("hover-image featured-image-only !gp-max-w-none",u()),priority:b?.preload}),_&&e("div",{className:l(y(),"room-len"),style:{...s({bgi:`url("${R?.src}")`})}})]})}))})});export{T as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as e,Fragment as t,jsxs as
|
|
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
|
|
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
|
|
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
|
|
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};
|