@gem-sdk/components 19.1.0-staging.3 → 19.1.0-staging.32
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/article/settings/configs/article-image/ui-v2.js +1 -1
- package/dist/cjs/breadcrumb/next.js +1 -1
- package/dist/cjs/button/components/Button.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/item/common/classes.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/item/common/classes.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/ChildrenDroppable.js +1 -2
- 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/SalePageHeaderWarning.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/helpers.js +1 -1
- package/dist/cjs/hero-banner/common/helpers.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/ignoreHashClasses.js +1 -1
- package/dist/cjs/image/common/attrs.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/components/Image.js +1 -1
- package/dist/cjs/image/settings/configs/ui-v2.js +1 -1
- package/dist/cjs/image/types.js +1 -0
- 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/components/ImageDetection.js +1 -1
- package/dist/cjs/image-detection/next.js +1 -1
- package/dist/cjs/index.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-image/FeatureImage.js +1 -1
- package/dist/cjs/post-purchase/product/components/product-image/carousel-post-purchase/Arrow.js +1 -1
- package/dist/cjs/post-purchase/product/components/product-image/carousel-post-purchase/CarouselWrapperPostPurchase.js +1 -1
- package/dist/cjs/post-purchase/product/components/product-image/layouts/OnlyGalleryImage.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/hooks/useNavigationCarouselPostPurchase.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/file-upload/UploadFile.js +1 -1
- package/dist/cjs/product/components/file-upload/UploadFile.liquid.js +10 -10
- package/dist/cjs/product/components/file-upload/common/attr.js +1 -1
- package/dist/cjs/product/components/product-badge/ProductBadge.js +1 -1
- package/dist/cjs/product/components/product-badge/ProductBadge.liquid.js +18 -18
- package/dist/cjs/product/components/product-badge/utils/injectBadgeStateExtras.js +1 -0
- package/dist/cjs/product/components/product-badge/utils/renderBadgeLiquid.js +5 -5
- package/dist/cjs/product/components/product-button/ProductButton.liquid.js +1 -1
- package/dist/cjs/product/components/product-button/common/helpers.js +1 -1
- package/dist/cjs/product/components/product-description/ProductDescription.liquid.js +1 -1
- 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-v2/components/child/ProductGalleryGrid.js +1 -2
- 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/common/classes.js +1 -1
- 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-price/ProductPrice.js +1 -1
- package/dist/cjs/product/components/product-price/hooks/useGpPrice.js +1 -1
- package/dist/cjs/product/components/product-properties/property-select/common/styles.js +1 -1
- 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-variants/components/rectangle-list/RectangleList.js +1 -1
- 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/helpers/product-bundle.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-v2/configs/ui-v2.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/article/settings/configs/article-image/ui-v2.js +1 -1
- package/dist/esm/breadcrumb/next.js +1 -1
- package/dist/esm/button/components/Button.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/item/common/classes.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/item/common/classes.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/ChildrenDroppable.js +1 -2
- 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/SalePageHeaderWarning.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/helpers.js +1 -1
- package/dist/esm/hero-banner/common/helpers.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/ignoreHashClasses.js +1 -1
- package/dist/esm/image/common/attrs.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/components/Image.js +1 -1
- package/dist/esm/image/settings/configs/ui-v2.js +1 -1
- package/dist/esm/image/types.js +1 -0
- 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/components/ImageDetection.js +1 -1
- package/dist/esm/image-detection/next.js +1 -1
- package/dist/esm/index.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-image/FeatureImage.js +1 -1
- package/dist/esm/post-purchase/product/components/product-image/carousel-post-purchase/Arrow.js +1 -1
- package/dist/esm/post-purchase/product/components/product-image/carousel-post-purchase/CarouselWrapperPostPurchase.js +1 -1
- package/dist/esm/post-purchase/product/components/product-image/layouts/OnlyGalleryImage.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/hooks/useNavigationCarouselPostPurchase.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/file-upload/UploadFile.js +1 -1
- package/dist/esm/product/components/file-upload/UploadFile.liquid.js +19 -19
- package/dist/esm/product/components/file-upload/common/attr.js +1 -1
- package/dist/esm/product/components/product-badge/ProductBadge.js +1 -1
- package/dist/esm/product/components/product-badge/ProductBadge.liquid.js +15 -15
- package/dist/esm/product/components/product-badge/utils/injectBadgeStateExtras.js +1 -0
- package/dist/esm/product/components/product-badge/utils/renderBadgeLiquid.js +1 -1
- package/dist/esm/product/components/product-button/ProductButton.liquid.js +5 -5
- package/dist/esm/product/components/product-button/common/helpers.js +1 -1
- package/dist/esm/product/components/product-description/ProductDescription.liquid.js +3 -3
- 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-v2/components/child/ProductGalleryGrid.js +1 -2
- 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/common/classes.js +1 -1
- 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-price/ProductPrice.js +1 -1
- package/dist/esm/product/components/product-price/hooks/useGpPrice.js +1 -1
- package/dist/esm/product/components/product-properties/property-select/common/styles.js +1 -1
- 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-variants/components/rectangle-list/RectangleList.js +1 -1
- 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/helpers/product-bundle.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-v2/configs/ui-v2.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 +32 -33
- package/package.json +5 -5
|
@@ -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 +1 @@
|
|
|
1
|
-
import{SEPARATOR as e}from"./constants.js";let t=/^\s*\{\{[\s\S]*\}\}\s*$/,r=e=>e.replace(/\s*\}\}\s*$/,"| escape }}"),o=e=>{if(null==e)return e;let o=e.toString();return t.test(o)?r(o):o.replaceAll("'","'").replaceAll("’","'").replaceAll('"',""")},a=e=>e?.enableIcon===!0,l=e=>({lineThrough:!1,typo:s(e?.priceTypo)}),i=e=>({lineThrough:!0,typo:s(e?.compareAtPriceTypo),opacityPrice:e?.opacityPrice}),c=({styles:e,setting:t})=>({styles:{errorTypo:e?.errorTypo,successTypo:e?.successTypo},setting:{errorType:t?.errorType,actionEffect:t?.actionEffect,enableMessage:t?.enableMessage,label:o(t?.label),outOfStockLabel:o(t?.outOfStockLabel),customURL:{link:o(t?.customURL?.link),target:t?.customURL?.target}},variantID:"{{variant.id}}",
|
|
1
|
+
import{SEPARATOR as e}from"./constants.js";let t=/^\s*\{\{[\s\S]*\}\}\s*$/,r=e=>e.replace(/\s*\}\}\s*$/,"| escape }}"),o=e=>{if(null==e)return e;let o=e.toString();return t.test(o)?r(o):o.replaceAll("'","'").replaceAll("’","'").replaceAll('"',""")},a=e=>e?.enableIcon===!0,l=e=>({lineThrough:!1,typo:s(e?.priceTypo)}),i=e=>({lineThrough:!0,typo:s(e?.compareAtPriceTypo),opacityPrice:e?.opacityPrice}),c=({styles:e,setting:t})=>({styles:{errorTypo:e?.errorTypo,successTypo:e?.successTypo},setting:{errorType:t?.errorType,actionEffect:t?.actionEffect,enableMessage:t?.enableMessage,label:o(t?.label),outOfStockLabel:o(t?.outOfStockLabel),customURL:{link:o(t?.customURL?.link),target:t?.customURL?.target}},variantID:"{{variant.id}}",inStock:"{{variant.available}}",totalVariant:"{{total_combinations}}"}),n=t=>({dot:e.DOT,"vertical-line":e.VERTICAL_LINE,"horizontal-line":e.HORIZONTAL_LINE})[t??"horizontal-line"]??e.HORIZONTAL_LINE,s=e=>(e?.attrs&&e?.attrs.color&&delete e.attrs.color,e);export{a as checkIconVisibility,o as escapeSingleQuoteForAttr,c as getGPProductButtonState,i as getRenderComparePriceSettings,l as getRenderRegularPriceSettings,n as renderSeparator};
|
|
@@ -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,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};
|
package/dist/esm/product/components/product-images-v2/components/child/ProductGalleryGrid.js
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
import{jsx as e,Fragment as o,jsxs as t}from"react/jsx-runtime";import{useCurrentDevice as r,cls as i,getResponsiveValueByScreen as a,makeStyle as m}from"@gem-sdk/core";import{memo as l}from"react";import{getAspectRatio as s}from"../../common/common.js";import c from"../../../../../image/components/NextImage.js";import n from"../lightbox/ButtonOpenLightBox.js";import d from"./MediaIcon.js";import{isFeatureMedia as p,getZoomImageClass as g,getZoomLenClass as h}from"../../common/productFeaturedImage.js";import{handleMouseOut as y,handleMouseMove as f}from"../../common/hoverAction.js";import{getProductImagesClassName as u}from"../../composables/getProductImagesClassName.js";import{getProductImagesStyles as v}from"../../composables/getProductImagesStyles.js";import{useProductGalleryGrid as j}from"../../hooks/useProductGalleryGrid.js";var w=l(l=>{let{builderPropUID:w,productImages:T,onHandleClick:x,activeIndexFormFeatureImage:b,children:I,isHiddenInteraction:N,...k}=l,{isDisplay:E,shapeByLayout:G,imageActiveIndex:M,enableOpenLightBox:P,isEnableBorderActive:$,filteredProductImages:z}=j(l),B=r(),{galleryGridWrapperClasses:H,galleryItemClasses:O}=u(k),{galleryGridStyles:Z,galleryGridItemStyles:A}=v(k);return e(o,{children:E&&t("div",{"data-slot":"children","data-id":w,className:H,style:Z,"gp-data-hidden":`${N}`,children:[z?.map((o,r)=>{let l=r===M,u=p(o.contentType)?o.previewImage:o.src;return t("div",{"aria-hidden":!0,className:O(`gem-slider-item-${w}
|
|
2
|
-
${l&&$?"gem-slider-item-active":""}`),onClick:()=>x(o?.id||"",P),style:A,onMouseMove:e=>f(e,{hoverEffect:k.galleryHoverEffect,zoom:k.galleryZoom,zoomType:k.galleryZoomType}),onMouseOut:e=>y(e),"data-border":l&&k?.borderActive?"active":"deactive",children:[e(c,{src:u,width:o?.width,height:o?.height,alt:o?.alt,setting:{aspectRatio:s(G),layout:k?.layout},style:{width:"100%",height:"100%"}},o?.id),e(d,{contentType:o?.contentType||""}),k?.galleryHoverEffect!=="none"&&!p(o?.contentType)&&e(c,{src:u,width:o?.width,height:o?.height,alt:o?.alt,setting:{layout:k.layout,aspectRatio:s(G)},className:i("hover-image !gp-max-w-none",g())}),k?.galleryHoverEffect=="zoom"&&k?.galleryZoomType=="glasses"&&["one-col","two-col"].includes(a(k.position,B)||"")&&!p(o?.contentType)&&e("div",{className:i(h(),"room-len"),style:{...m({bgi:`url("${o?.src}")`})}}),a(k?.clickOpenLightBox,B)&&e(n,{})]},o?.id)}),I]})})});export{w as default};
|
|
1
|
+
import{jsx as e,Fragment as o,jsxs as t}from"react/jsx-runtime";import{useCurrentDevice as r,cls as i,getResponsiveValueByScreen as a,makeStyle as m}from"@gem-sdk/core";import{memo as l}from"react";import{getAspectRatio as s}from"../../common/common.js";import c from"../../../../../image/components/NextImage.js";import n from"../lightbox/ButtonOpenLightBox.js";import d from"./MediaIcon.js";import{isFeatureMedia as p,getZoomImageClass as g,getZoomLenClass as h}from"../../common/productFeaturedImage.js";import{handleMouseOut as y,handleMouseMove as f}from"../../common/hoverAction.js";import{getProductImagesClassName as u}from"../../composables/getProductImagesClassName.js";import{getProductImagesStyles as v}from"../../composables/getProductImagesStyles.js";import{useProductGalleryGrid as j}from"../../hooks/useProductGalleryGrid.js";var w=l(l=>{let{builderPropUID:w,productImages:T,onHandleClick:x,activeIndexFormFeatureImage:b,children:I,isHiddenInteraction:N,...k}=l,{isDisplay:E,shapeByLayout:G,imageActiveIndex:M,enableOpenLightBox:P,isEnableBorderActive:$,filteredProductImages:z}=j(l),B=r(),{galleryGridWrapperClasses:H,galleryItemClasses:O}=u(k),{galleryGridStyles:Z,galleryGridItemStyles:A}=v(k);return e(o,{children:E&&t("div",{"data-slot":"children","data-id":w,className:H,style:Z,"gp-data-hidden":`${N}`,children:[z?.map((o,r)=>{let l=r===M,u=p(o.contentType)?o.previewImage:o.src;return t("div",{"aria-hidden":!0,className:O(`gem-slider-item-${w} ${l&&$?"gem-slider-item-active":""}`),onClick:()=>x(o?.id||"",P),style:A,onMouseMove:e=>f(e,{hoverEffect:k.galleryHoverEffect,zoom:k.galleryZoom,zoomType:k.galleryZoomType}),onMouseOut:e=>y(e),"data-border":l&&k?.borderActive?"active":"deactive",children:[e(c,{src:u,width:o?.width,height:o?.height,alt:o?.alt,setting:{aspectRatio:s(G),layout:k?.layout},style:{width:"100%",height:"100%"}},o?.id),e(d,{contentType:o?.contentType||""}),k?.galleryHoverEffect!=="none"&&!p(o?.contentType)&&e(c,{src:u,width:o?.width,height:o?.height,alt:o?.alt,setting:{layout:k.layout,aspectRatio:s(G)},className:i("hover-image !gp-max-w-none",g())}),k?.galleryHoverEffect=="zoom"&&k?.galleryZoomType=="glasses"&&["one-col","two-col"].includes(a(k.position,B)||"")&&!p(o?.contentType)&&e("div",{className:i(h(),"room-len"),style:{...m({bgi:`url("${o?.src}")`})}}),a(k?.clickOpenLightBox,B)&&e(n,{})]},o?.id)}),I]})})});export{w 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};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{DEVICES as e,getResponsiveValueByScreen as l}from"@gem-sdk/core";function t(e){return e.split(" ").reduce((e,l)=>(e[l]=!0,e),{})}let r=({extraClass:e,isAddOverFlowClass:l=!1})=>{let r="gp-relative gp-w-full";return e&&(r+=` ${e}`),l&&(r+=" gp-overflow-hidden"),t(r)},g=({extraClass:e})=>{let l="gallery-wrapper gp-product-images-gallery gp-flex gp-overflow-hidden gp-max-w-full gp-max-h-full data-[only-image=true]:gp-hidden";return e&&(l+=` ${e}`),t(l)},p=({extraClass:e})=>{let l="product-feature-image grid-gallery gp-flex !gp-h-fit gp-w-full gp-flex-wrap scrollbar-track:gp-rounded-2xl scrollbar-thumb:gp-rounded-2xl scrollbar-thumb:gp-bg-gray-400 gp-z-1";return e&&(l+=` ${e}`),t(l)},a=({extraClass:e})=>{let l="gp-flex !gp-h-fit gp-relative gp-overflow-hidden";return e&&(l+=` ${e}`),t(l)},s=({extraClass:e})=>{let l="gp-flex gp-h-fit gp-max-w-full gp-overflow-hidden";return e&&(l+=` ${e}`),t(l)},i=({extraClass:e})=>{let l="
|
|
1
|
+
import{DEVICES as e,getResponsiveValueByScreen as l}from"@gem-sdk/core";function t(e){return e.split(" ").reduce((e,l)=>(e[l]=!0,e),{})}let r=({extraClass:e,isAddOverFlowClass:l=!1})=>{let r="gp-relative gp-w-full";return e&&(r+=` ${e}`),l&&(r+=" gp-overflow-hidden"),t(r)},g=({extraClass:e})=>{let l="gallery-wrapper gp-product-images-gallery gp-flex gp-overflow-hidden gp-max-w-full gp-max-h-full data-[only-image=true]:gp-hidden";return e&&(l+=` ${e}`),t(l)},p=({extraClass:e})=>{let l="product-feature-image grid-gallery gp-flex !gp-h-fit gp-w-full gp-flex-wrap scrollbar-track:gp-rounded-2xl scrollbar-thumb:gp-rounded-2xl scrollbar-thumb:gp-bg-gray-400 gp-z-1";return e&&(l+=` ${e}`),t(l)},a=({extraClass:e})=>{let l="gp-flex !gp-h-fit gp-relative gp-overflow-hidden";return e&&(l+=` ${e}`),t(l)},s=({extraClass:e})=>{let l="gp-flex gp-h-fit gp-max-w-full gp-overflow-hidden";return e&&(l+=` ${e}`),t(l)},i=({extraClass:e})=>{let l="gp-flex-1 gp-w-full gp-feature-image-carousel";return e&&(l+=` ${e}`),t(l)},o=({setting:r,extraClass:g})=>{let p=g??"";return e.forEach(e=>{let t=l(r?.ftNavigationPosition,e),g="desktop"!==e?`${e}:`:"";"outside"===t?p+=` ${g}gp-px-[16px]`:p+=` ${g}gp-px-0`}),t(p)},u=({settings:r,extraClass:g})=>{let p=g??"gp-flex-1 gp-w-full carousel-gallery";return e.forEach(e=>{let t=l(r?.navigationPosition,e),g=l(r?.type,e),a=l(r?.position,e),s="desktop"!==e?`${e}:`:"";"outside"===t&&"slider"===g&&["bottom-center"].includes(a||"")?p+=` ${s}gp-px-[16px]`:p+=` ${s}gp-px-0`}),t(p)},f=({extraClass:e})=>{let l="gp-image-item gp-flex gp-items-center gp-justify-center gp-group gp-relative gp-overflow-hidden gp-cursor-pointer";return e&&(l+=` ${e}`),t(l)},n=({extraClass:e})=>{let l="gp-group gp-z-0 gp-flex !gp-min-w-full !gp-max-w-full gp-w-full gp-relative gp-items-start gp-justify-center gp-overflow-hidden gp-outline-1 -gp-outline-offset-1 gp-image-item gp-ft-image-item data-[outline=active]:gp-outline";return e&&(l+=` ${e}`),t(l)},d="gp-flex gp-items-center gp-justify-center";export{d as FEATURE_MEDIA_CENTER_CLASSES,n as getFeaturedCarouselItemClasses,i as getFeaturedImageCarouselClasses,o as getFeaturedImageClasses,u as getFeaturedImageGalleryClasses,a as getFtImageWithGalleryClasses,p as getGalleryGridWrapperClasses,f as getGalleryItemClasses,g as getGalleryWrapperClasses,s as getImageGalleryWrapperClasses,r as getWrapperClasses};
|
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 e,jsx as r,Fragment as o}from"react/jsx-runtime";import t from"../../../text/components/Text.js";import{createClass as i,createAttr as m}from"@gem-sdk/system";import{getWrapperClasses as s}from"./common/classes.js";import{getAttrs as p}from"./common/attrs.js";import{getTextProps as c}from"./common/helpers.js";import{useGpPrice as d}from"./hooks/useGpPrice.js";import{useEditorMode as l,useI18nStore as a,filterToolbarPreview as n}from"@gem-sdk/core";let f=f=>{let{style:h,children:g}=f,x=l(),{t:u}=a(),j="edit"===x,{elementRef:y,moneyFormatted:P,currentProductId:k,isNoComparePrice:N,isNoComparePriceILP:v,shouldHiddenComparePrice:b,emitNoDataSignal:C}=d(f),H=i(s(f)),I=m(p(f,{isILP:!j,productId:k,shouldHiddenComparePrice:b})),w=c(f,P);return e("div",{ref:y,...I,className:H,style:v?{visibility:"hidden",opacity:0,maxWidth:0,maxHeight:0}:h,"aria-hidden":"true",onClick:C,children:[N&&j?r(o,{children:r("div",{className:"gp-flex-col gp-flex gp-justify-between gp-p-2",children:r("p",{className:"gp-text-[#212121] gp-text-[12px] gp-leading-3
|
|
2
|
+
import{jsxs as e,jsx as r,Fragment as o}from"react/jsx-runtime";import t from"../../../text/components/Text.js";import{createClass as i,createAttr as m}from"@gem-sdk/system";import{getWrapperClasses as s}from"./common/classes.js";import{getAttrs as p}from"./common/attrs.js";import{getTextProps as c}from"./common/helpers.js";import{useGpPrice as d}from"./hooks/useGpPrice.js";import{useEditorMode as l,useI18nStore as a,filterToolbarPreview as n}from"@gem-sdk/core";let f=f=>{let{style:h,children:g}=f,x=l(),{t:u}=a(),j="edit"===x,{elementRef:y,moneyFormatted:P,currentProductId:k,isNoComparePrice:N,isNoComparePriceILP:v,shouldHiddenComparePrice:b,emitNoDataSignal:C}=d(f),H=i(s(f)),I=m(p(f,{isILP:!j,productId:k,shouldHiddenComparePrice:b})),w=c(f,P);return e("div",{ref:y,...I,className:H,style:v?{visibility:"hidden",opacity:0,maxWidth:0,maxHeight:0}:h,"aria-hidden":"true",onClick:C,children:[N&&j?r(o,{children:r("div",{className:"gp-flex-col gp-flex gp-justify-between gp-p-2",children:r("p",{className:"gp-text-[#212121] gp-text-[12px] gp-leading-3",children:u("No compare price")})})}):e(o,{children:[r(t,{...w}),g]}),n(g,!0)]})};export{f as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useRef as e,useMemo as
|
|
1
|
+
import{useRef as e,useMemo as r}from"react";import{useTransition as t}from"../../product-variants/common/common.js";import{calculateBundleFixedDiscount as i,getMoneyFormatDecimals as c}from"../../../helpers/product-bundle.js";import{useEditorMode as a,useQuantity as o,useCurrentVariant as n,useProductBundleDiscount as p,convertDecimalToNumber as u,useInteraction as d,useProduct as l,useShopStore as m,useMoneyFormat as s,useFormatMoney as g}from"@gem-sdk/core";let h=h=>{let{setting:b,builderProps:P}=h,y=e(null),f=a(),{quantity:v,hasUpdatePrice:w}=o(),q=n(),{useProductCompareAtPrice:k}=p(),C=h["bundle-item"],j=u(q?.price)??0,x=u(q?.salePrice)??0,D=b?.priceType==="compare",{trigger:E}=d(),I=l(),N=I?.baseID?.replace("gid://shopify/Product/",""),V=m(e=>e.showPriceCurrency),{moneyFormat:$}=s(),G=r(()=>C?.quantity?C.quantity:w&&v||1,[v,w,C?.quantity]),L=r(()=>C?i(j,{...C,quantity:G},c($)):0,[C,j,G,$]),M=r(()=>C?.discountValue?k?(x||j)*G:j*G:x*G,[C?.discountValue,j,G,x,k]),S=r(()=>{let e=j*G;return D?M:L?Math.max(0,e-L):e},[j,G,L,M,D]),T=r(()=>!!D&&(!(x>j)||!(x>=0)),[D,x,j]),z=(e,r)=>{E({event:"price"===r?"gp:rollback:price-change":"gp:rollback:compare-price-change",selector:`[data-id="${P?.uid}"]`,element:y.current}),E({event:"price"===r?"gp:price-change":"gp:compare-price-change",data:e,selector:`[data-id="${P?.uid}"]`,element:y.current})};t(e=>{e!==j&&z(j,"price")},[j]),t(e=>{e!==x&&z(x,"compare")},[x]);let A=g(S??0,V||!1),B=D&&!S;return{elementRef:y,moneyFormatted:A,currentProductId:N,isNoComparePrice:B,isNoComparePriceILP:"edit"!==f&&B,emitNoDataSignal:()=>{if("edit"!==f)return;let e=new CustomEvent("editor:product-source-no-data-warning",{bubbles:!0,detail:{uid:P?.uid,value:!S&&D,tag:"ProductPrice"}});window.dispatchEvent(e)},shouldHiddenComparePrice:T}};export{h as useGpPrice};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{makeStyleResponsive as e,makeWidth as b,
|
|
1
|
+
import{makeStyleResponsive as e,makeWidth as b,composeTypographyStyle as t,getGlobalColorStateStyle as o,getGlobalColorStateResponsiveStyle as g,getStyleShadowState as c,composeRadius as l,handleConvertBorderColor as s,handleConvertBorderWidth as r,handleConvertBorderStyle as f}from"@gem-sdk/core";import{filterTruthyObject as u}from"../../../../../helpers.js";let m=u=>{let{fullWidth:m,width:i,height:a,borderInput:p,borderRadius:h,hasShadowInput:n,shadowInput:S,valueBgColor:d,valueTextColor:w,valueTypo:x,valueTypography:y}=u??{},j=e("w",b(i,m)),k=a?e("h",a):{},O=t(x,y);return{...j,...k,...f(p),...r(p),...s(p),...l(h),...c(S,"box-shadow",n),...g("bg",d),...o("c",w),...O}},i=e=>{let{valueBgColor:b,valueTextColor:t}=e??{},c=g("bg",b),l=o("c",t),s={"--c":l["--focus-c"]?l["--focus-c"]:l["--c"],"--bg":c["--focus-bg"]?c["--focus-bg"]:c["--bg"],"--bg-tablet":c["--focus-bg-tablet"]?c["--focus-bg-tablet"]:c["--bg-tablet"],"--bg-mobile":c["--focus-bg-mobile"]?c["--focus-bg-mobile"]:c["--bg-mobile"]};return u(s)};export{i as getOptionStyles,m as getSelectStyles};
|
|
@@ -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};
|