@gem-sdk/components 17.0.0-dev.14 → 17.0.0-dev.140
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/components/Accordion.liquid.js +4 -5
- package/dist/cjs/accordion/settings/configs/ui-v2.js +1 -1
- package/dist/cjs/article/components/ArticleReadMore.liquid.js +4 -4
- package/dist/cjs/article/settings/configs/article-author/ui-v2.js +1 -1
- package/dist/cjs/article/settings/configs/article-category/ui-v2.js +1 -1
- package/dist/cjs/article/settings/configs/article-content/ui-v2.js +1 -1
- package/dist/cjs/article/settings/configs/article-date/ui-v2.js +1 -1
- package/dist/cjs/article/settings/configs/article-excerpt/ui-v2.js +1 -1
- package/dist/cjs/article/settings/configs/article-image/ui-v2.js +1 -1
- package/dist/cjs/article/settings/configs/article-list/ui-v2.js +1 -1
- package/dist/cjs/article/settings/configs/article-read-more/ui-v2.js +1 -1
- package/dist/cjs/article/settings/configs/article-tag/ui-v2.js +1 -1
- package/dist/cjs/article/settings/configs/article-title/ui-v2.js +1 -1
- package/dist/cjs/breadcrumb/settings/configs/ui-v2.js +1 -1
- package/dist/cjs/builder.js +1 -1
- package/dist/cjs/button/common/helpers.js +2 -2
- package/dist/cjs/button/components/Button.liquid.js +14 -14
- package/dist/cjs/button/settings/configs/ui-v2.js +1 -1
- package/dist/cjs/carousel/components/dot/Dots.js +1 -1
- package/dist/cjs/carousel/components/root/Carousel.liquid.js +5 -4
- package/dist/cjs/carousel-v3/components/arrow/Arrow.liquid.js +8 -8
- package/dist/cjs/carousel-v3/components/arrow/common/classes.js +1 -1
- package/dist/cjs/carousel-v3/components/dot/Dots.js +1 -1
- package/dist/cjs/carousel-v3/components/dot/common/helpers.js +1 -1
- package/dist/cjs/carousel-v3/components/item/CarouselItem.js +1 -1
- package/dist/cjs/carousel-v3/components/root/Carousel.js +1 -1
- package/dist/cjs/carousel-v3/components/root/Carousel.liquid.js +6 -5
- package/dist/cjs/carousel-v3/components/swiper/Swiper.js +1 -1
- package/dist/cjs/carousel-v3/hooks/useCarousel.js +1 -1
- package/dist/cjs/carousel-v3/index.js +1 -1
- package/dist/cjs/carousel-v3/settings/configs/settings-v2.js +3 -3
- package/dist/cjs/carousel-v3/settings/configs/ui-v2.js +1 -1
- package/dist/cjs/cart/components/CartList.js +1 -1
- package/dist/cjs/cart/components/shop-pay-button/ShopPayButton.liquid.js +2 -2
- package/dist/cjs/cart/index.js +1 -1
- package/dist/cjs/code/common/styles.js +1 -1
- package/dist/cjs/code/components/CSSCode.liquid.js +2 -2
- package/dist/cjs/code/hooks/useCSSCode.js +3 -10
- package/dist/cjs/collection/components/collection-description/CollectionDescription.js +1 -1
- package/dist/cjs/collection/components/collection-description/CollectionDescription.liquid.js +7 -8
- package/dist/cjs/collection/components/collection-paginator/CollectionPaginator.liquid.js +4 -3
- package/dist/cjs/collection/components/collection-toolbar/CollectionToolbar.liquid.js +1 -1
- package/dist/cjs/collection/index.js +1 -1
- package/dist/cjs/collection/settings/collection-banner/configs/ui-v2.js +1 -1
- package/dist/cjs/collection/settings/collection-description/configs/ui-v2.js +1 -1
- package/dist/cjs/collection/settings/collection-paginator/configs/ui-v2.js +1 -1
- package/dist/cjs/collection/settings/collection-title/configs/ui-v2.js +1 -1
- package/dist/cjs/collection/settings/collection-toolbar/configs/ui-v2.js +1 -1
- package/dist/cjs/countdown-timer/components/Countdown.liquid.js +16 -15
- package/dist/cjs/countdown-timer/settings/configs/ui-v2.js +1 -1
- package/dist/cjs/coupon/settings/configs/ui-v2.js +1 -1
- package/dist/cjs/dialog/settings/configs/ui-v2.js +1 -1
- package/dist/cjs/estimate-delivery/settings/configs/ui-v2.js +1 -1
- package/dist/cjs/form/settings/contact/configs/ui-v2.js +1 -1
- package/dist/cjs/form/settings/form-checkbox/configs/ui-v2.js +1 -1
- package/dist/cjs/form/settings/form-dropdown/configs/ui-v2.js +1 -1
- package/dist/cjs/form/settings/form-email/configs/ui-v2.js +1 -1
- package/dist/cjs/form/settings/form-textarea/configs/ui-v2.js +1 -1
- package/dist/cjs/form/settings/newsletter/configs/ui-v2.js +1 -1
- package/dist/cjs/form/settings/submit-button/configs/ui-v2.js +1 -1
- package/dist/cjs/form/settings/text-field/configs/ui-v2.js +1 -1
- package/dist/cjs/grid/components/row/Row.js +1 -1
- package/dist/cjs/grid/components/row/Row.liquid.js +7 -2
- package/dist/cjs/grid/components/section/Section.js +1 -1
- package/dist/cjs/grid/components/section/lazyload/LazySectionWrapper.js +1 -0
- package/dist/cjs/grid/components/section/lazyload/lazyInteractionTrigger.js +1 -0
- package/dist/cjs/grid/components/section/lazyload/lazySectionCoordinator.js +1 -0
- package/dist/cjs/grid/index.js +1 -1
- package/dist/cjs/grid/next.js +1 -1
- package/dist/cjs/grid/settings/configs/row/ui-v2.js +1 -1
- package/dist/cjs/grid/settings/configs/section/ui-v2.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/heading/next.js +1 -1
- package/dist/cjs/heading/settings/configs/ui-v2.js +1 -1
- package/dist/cjs/headless.js +1 -0
- package/dist/cjs/helpers.js +1 -1
- package/dist/cjs/hero-banner/common/helpers.js +1 -1
- package/dist/cjs/hero-banner/components/HeroBanner.liquid.js +3 -3
- package/dist/cjs/hero-banner/index.js +1 -1
- package/dist/cjs/hero-banner/settings/configs/ui-v2.js +1 -1
- package/dist/cjs/icon/settings/configs/ui-v2.js +1 -1
- package/dist/cjs/icon-list/settings/configs/ui-v2.js +1 -1
- package/dist/cjs/icon-list-hoz/settings/configs/uiV2.js +1 -1
- package/dist/cjs/icon-list-v2/components/IconList.liquid.js +5 -5
- package/dist/cjs/icon-list-v2/settings/configs/ui-v2.js +1 -1
- package/dist/cjs/image/common/const.js +1 -0
- package/dist/cjs/image/common/helpers.js +2 -2
- package/dist/cjs/image/next.js +1 -1
- package/dist/cjs/image/settings/configs/ui-v2.js +1 -1
- package/dist/cjs/image-comparison/common/classes.js +1 -1
- package/dist/cjs/image-comparison/components/CompareImage.liquid.js +4 -4
- package/dist/cjs/image-comparison/settings/configs/ui-v2.js +1 -1
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/index.liquid.js +1 -1
- package/dist/cjs/line/settings/configs/ui-v2.js +1 -1
- package/dist/cjs/marquee/components/Marquee.liquid.js +21 -21
- package/dist/cjs/marquee/settings/configs/child-image-template.js +1 -1
- package/dist/cjs/marquee/settings/configs/ui-v2.js +1 -1
- package/dist/cjs/modal/components/Modal.js +1 -1
- package/dist/cjs/modal/index.js +1 -1
- package/dist/cjs/post-purchase/callout-banner/index.js +1 -1
- package/dist/cjs/post-purchase/link/components/PostPurchaseLink.js +1 -1
- package/dist/cjs/post-purchase/link/settings/configs/settings.js +1 -1
- package/dist/cjs/post-purchase/link/settings/configs/ui-v2.js +1 -1
- package/dist/cjs/post-purchase/product/components/ProductPrice.js +1 -1
- package/dist/cjs/post-purchase/product/components/ProductQuantity.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/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/ProductOfferItem.js +1 -1
- package/dist/cjs/post-purchase/product/components/product-offer/context/PrdOfferSubscriptionPresenceContext.js +2 -0
- package/dist/cjs/post-purchase/product/components/product-offer/helpers/scanSubscriptionBlocks.js +1 -0
- package/dist/cjs/post-purchase/product/components/product-offer/hooks/useProductOfferSubscriptionBlocksObserver.js +1 -0
- package/dist/cjs/post-purchase/product/components/product-subscription/hooks/useSubscriptionVisibility.js +1 -1
- package/dist/cjs/post-purchase/product/components/product-variant/components/ProductVariant.js +1 -1
- package/dist/cjs/post-purchase/product/components/product-variant/components/variants/Dropdown.js +1 -1
- package/dist/cjs/post-purchase/product/components/product-variant/components/variants/DropdownOption.js +1 -1
- package/dist/cjs/post-purchase/product/index.js +1 -1
- package/dist/cjs/post-purchase/product/settings/product-quantity/configs/settings.js +1 -1
- package/dist/cjs/post-purchase/product/settings/product-quantity/configs/ui-v2.js +1 -1
- package/dist/cjs/post-purchase/text/components/Text.js +2 -2
- package/dist/cjs/product/components/ProductImages.liquid.js +9 -9
- package/dist/cjs/product/components/dynamic-checkout/Button.liquid.js +9 -9
- package/dist/cjs/product/components/file-upload/UploadFile.liquid.js +2 -3
- package/dist/cjs/product/components/file-upload/settings/configs/ui-v2.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/common/attrs.js +1 -1
- package/dist/cjs/product/components/product-badge/common/classes.js +1 -1
- package/dist/cjs/product/components/product-badge/utils/injectBadgeStateExtras.js +1 -0
- package/dist/cjs/product/components/product-badge/utils/renderBadgeILP.js +1 -1
- package/dist/cjs/product/components/product-badge/utils/renderBadgeLiquid.js +3 -1
- package/dist/cjs/product/components/product-bundle/ProductBundleDiscount.js +1 -1
- package/dist/cjs/product/components/product-bundle/ProductBundleDiscount.liquid.js +4 -3
- package/dist/cjs/product/components/product-bundle/setting/configs/ui-v2.js +1 -1
- package/dist/cjs/product/components/product-button/ProductButton.liquid.js +14 -11
- package/dist/cjs/product/components/product-button/common/helpers.js +1 -1
- package/dist/cjs/product/components/product-button/hooks/useAddToCart.js +1 -1
- package/dist/cjs/product/components/product-description/ProductDescription.js +1 -1
- package/dist/cjs/product/components/product-description/ProductDescription.liquid.js +3 -4
- package/dist/cjs/product/components/product-description/hooks/useGpDescription.js +1 -1
- package/dist/cjs/product/components/product-discount-tag/ProductDiscountTag.js +1 -1
- package/dist/cjs/product/components/product-discount-tag/ProductDiscountTag.liquid.js +5 -5
- package/dist/cjs/product/components/product-images/ProductFeaturedImage.liquid.js +1 -1
- package/dist/cjs/product/components/product-images-v2/ProductImagesV2.liquid.js +22 -22
- package/dist/cjs/product/components/product-images-v2/components/feature-gallery/FeatureImageWithGallery.liquid.js +1 -1
- package/dist/cjs/product/components/product-images-v2/components/gallery-grid/GalleryGrid.liquid.js +1 -1
- package/dist/cjs/product/components/product-images-v3/ProductImagesV3.liquid.js +23 -23
- package/dist/cjs/product/components/product-images-v3/common/productFeaturedImage.js +1 -1
- package/dist/cjs/product/components/product-images-v3/components/child/ProductFeatureVideo.js +1 -1
- package/dist/cjs/product/components/product-images-v3/components/child/ProductFeaturedImageOnly.js +1 -1
- package/dist/cjs/product/components/product-images-v3/components/child/ProductGalleryGrid.js +2 -2
- package/dist/cjs/product/components/product-images-v3/components/feature-gallery/FeatureImageWithGallery.liquid.js +34 -33
- package/dist/cjs/product/components/product-images-v3/components/gallery-grid/GalleryGrid.liquid.js +19 -16
- package/dist/cjs/product/components/product-images-v3/components/lightbox/ProductImagesLightBox.js +1 -1
- package/dist/cjs/product/components/product-images-v3/composables/getProductImagesClassName.js +1 -1
- package/dist/cjs/product/components/product-list/ProductList.js +1 -1
- package/dist/cjs/product/components/product-list/ProductList.liquid.js +10 -9
- package/dist/cjs/product/components/product-list/ProductListCarouselItem.liquid.js +5 -6
- package/dist/cjs/product/components/product-list/ProductListGridItem.liquid.js +7 -8
- package/dist/cjs/product/components/product-list/ProductListGridLayout.liquid.js +6 -4
- package/dist/cjs/product/components/product-list-v3/ProductList.js +1 -1
- package/dist/cjs/product/components/product-list-v3/ProductList.liquid.js +12 -11
- package/dist/cjs/product/components/product-list-v3/ProductListCarouselItem.liquid.js +6 -6
- package/dist/cjs/product/components/product-list-v3/ProductListGridItem.liquid.js +7 -8
- package/dist/cjs/product/components/product-list-v3/ProductListGridLayout.liquid.js +6 -4
- package/dist/cjs/product/components/product-list-v3/common/classes.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 -1
- package/dist/cjs/product/components/product-list-v3/hooks/useCollectionQuery.js +1 -1
- package/dist/cjs/product/components/product-list-v3/hooks/useMainRelatedProductQuery.js +1 -1
- package/dist/cjs/product/components/product-list-v3/hooks/useProductRelatedQuery.js +1 -1
- package/dist/cjs/product/components/product-list-v3/hooks/useProductsQuery.js +1 -1
- package/dist/cjs/product/components/product-list-v3/hooks/useRelatedProductIDAssigned.js +1 -0
- package/dist/cjs/product/components/product-price/ProductPrice.liquid.js +4 -4
- package/dist/cjs/product/components/product-sku/Sku.js +1 -1
- package/dist/cjs/product/components/product-sku/Sku.liquid.js +4 -3
- package/dist/cjs/product/components/product-title/ProductTitle.liquid.js +7 -8
- package/dist/cjs/product/components/product-variants/ProductVariants.liquid.js +43 -43
- package/dist/cjs/product/components/product-variants/common/const.js +1 -1
- package/dist/cjs/product/components/product-wrap/Product.liquid.js +1 -1
- package/dist/cjs/product/components/product-wrap/hook/useProductQuery.js +1 -1
- package/dist/cjs/product/index.js +1 -1
- package/dist/cjs/product/settings/dynamic-checkout/configs/ui-v2.js +1 -1
- package/dist/cjs/product/settings/product/configs/ui-v2.js +1 -1
- package/dist/cjs/product/settings/product-badge/configs/ui-v2.js +1 -1
- package/dist/cjs/product/settings/product-button/configs/ui-v2.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/setting-v2/ProductFeatureImage.js +1 -1
- package/dist/cjs/product/settings/product-image-v3/configs/setting-v2/ProductGalleryImage.js +2 -2
- package/dist/cjs/product/settings/product-image-v3/configs/ui-v2.js +1 -1
- package/dist/cjs/product/settings/product-list/configs/ui-v2.js +1 -1
- package/dist/cjs/product/settings/product-list-v3/configs/ui-v2.js +1 -1
- package/dist/cjs/product/settings/product-properties/configs/ui-v2.js +1 -1
- package/dist/cjs/product/settings/product-quantity/configs/ui-v2.js +1 -1
- package/dist/cjs/product/settings/product-title/configs/ui-v2.js +1 -1
- package/dist/cjs/product/settings/product-variant/configs/ui-v2.js +1 -1
- package/dist/cjs/product/settings/product-vendor/configs/ui-v2.js +1 -1
- package/dist/cjs/product/settings/product-view-more/configs/ui-v2.js +1 -1
- package/dist/cjs/sticky/common/classes.js +1 -1
- package/dist/cjs/sticky/components/Sticky.liquid.js +4 -5
- package/dist/cjs/sticky/hooks/useSticky.js +1 -1
- package/dist/cjs/sticky/settings/configs/ui-v2.js +1 -1
- package/dist/cjs/stock-counter/common/classes.js +1 -1
- package/dist/cjs/stock-counter/components/StockCounter.liquid.js +11 -8
- package/dist/cjs/stock-counter/settings/configs/ui-v2.js +1 -1
- package/dist/cjs/tab/components/Tabs.liquid.js +7 -6
- package/dist/cjs/tab/settings/configs/ui-v2.js +1 -1
- package/dist/cjs/text/components/Text.liquid.js +3 -3
- package/dist/cjs/text/next.js +1 -1
- package/dist/cjs/text/settings/configs/ui-v2.js +1 -1
- package/dist/cjs/third-party/components/AppstleLoyaltyRewardProgram.js +2 -0
- package/dist/cjs/third-party/components/AppstleLoyaltyRewardProgram.liquid.js +16 -0
- package/dist/cjs/third-party/components/BonySubscriptionsApp.liquid.js +10 -3
- package/dist/cjs/third-party/components/EssentPreorderBackInStock.js +2 -0
- package/dist/cjs/third-party/components/EssentPreorderBackInStock.liquid.js +8 -0
- package/dist/cjs/third-party/components/Stamped/LiquidTemplateByWidget.js +1 -1
- package/dist/cjs/third-party/components/SubscribfySubscriptionsApp.js +2 -0
- package/dist/cjs/third-party/components/SubscribfySubscriptionsApp.liquid.js +1 -0
- package/dist/cjs/third-party/components/WcWishlistBackInStock.liquid.js +19 -1
- package/dist/cjs/third-party/configs/AppstleLoyaltyRewardProgram.js +1 -0
- package/dist/cjs/third-party/configs/EssentPreorderBackInStock.js +1 -0
- package/dist/cjs/third-party/configs/SubscribfySubscriptionsApp.js +1 -0
- package/dist/cjs/third-party/configs/WcWishlistBackInStock.js +1 -1
- package/dist/cjs/third-party/index.js +1 -1
- package/dist/cjs/third-party/next.js +1 -1
- package/dist/cjs/third-party/settings/AppstleLoyaltyRewardProgram/index.js +4 -0
- package/dist/cjs/third-party/settings/AppstleLoyaltyRewardProgram/uiV2.js +1 -0
- package/dist/cjs/third-party/settings/EssentPreorderBackInStock/index.js +4 -0
- package/dist/cjs/third-party/settings/EssentPreorderBackInStock/uiV2.js +1 -0
- package/dist/cjs/third-party/settings/SubscribfySubscriptionsApp/index.js +4 -0
- package/dist/cjs/third-party/settings/SubscribfySubscriptionsApp/uiV2.js +1 -0
- package/dist/cjs/third-party/settings/WcWishlistBackInStock/index.js +5 -2
- package/dist/cjs/video/common/helpers.js +1 -1
- package/dist/cjs/video/components/LiteVimeoEmbed.liquid.js +5 -4
- package/dist/cjs/video/components/LiteYouTubeEmbed.liquid.js +15 -14
- package/dist/cjs/video/hooks/useLiteYoutubeEmbed.js +1 -1
- package/dist/esm/accordion/components/Accordion.liquid.js +8 -9
- package/dist/esm/accordion/settings/configs/ui-v2.js +1 -1
- package/dist/esm/article/components/ArticleReadMore.liquid.js +4 -4
- package/dist/esm/article/settings/configs/article-author/ui-v2.js +1 -1
- package/dist/esm/article/settings/configs/article-category/ui-v2.js +1 -1
- package/dist/esm/article/settings/configs/article-content/ui-v2.js +1 -1
- package/dist/esm/article/settings/configs/article-date/ui-v2.js +1 -1
- package/dist/esm/article/settings/configs/article-excerpt/ui-v2.js +1 -1
- package/dist/esm/article/settings/configs/article-image/ui-v2.js +1 -1
- package/dist/esm/article/settings/configs/article-list/ui-v2.js +1 -1
- package/dist/esm/article/settings/configs/article-read-more/ui-v2.js +1 -1
- package/dist/esm/article/settings/configs/article-tag/ui-v2.js +1 -1
- package/dist/esm/article/settings/configs/article-title/ui-v2.js +1 -1
- package/dist/esm/breadcrumb/settings/configs/ui-v2.js +1 -1
- package/dist/esm/builder.js +1 -1
- package/dist/esm/button/common/helpers.js +2 -2
- package/dist/esm/button/components/Button.liquid.js +19 -19
- package/dist/esm/button/settings/configs/ui-v2.js +1 -1
- package/dist/esm/carousel/components/dot/Dots.js +1 -1
- package/dist/esm/carousel/components/root/Carousel.liquid.js +4 -3
- package/dist/esm/carousel-v3/components/arrow/Arrow.liquid.js +6 -6
- package/dist/esm/carousel-v3/components/arrow/common/classes.js +1 -1
- package/dist/esm/carousel-v3/components/dot/Dots.js +1 -1
- package/dist/esm/carousel-v3/components/dot/common/helpers.js +1 -1
- package/dist/esm/carousel-v3/components/item/CarouselItem.js +1 -1
- package/dist/esm/carousel-v3/components/root/Carousel.js +1 -1
- package/dist/esm/carousel-v3/components/root/Carousel.liquid.js +6 -5
- package/dist/esm/carousel-v3/components/swiper/Swiper.js +1 -1
- package/dist/esm/carousel-v3/hooks/useCarousel.js +1 -1
- package/dist/esm/carousel-v3/index.js +1 -1
- package/dist/esm/carousel-v3/settings/configs/settings-v2.js +3 -3
- package/dist/esm/carousel-v3/settings/configs/ui-v2.js +1 -1
- package/dist/esm/cart/components/CartList.js +1 -1
- package/dist/esm/cart/components/shop-pay-button/ShopPayButton.liquid.js +2 -2
- package/dist/esm/cart/index.js +1 -1
- package/dist/esm/code/common/styles.js +1 -1
- package/dist/esm/code/components/CSSCode.liquid.js +6 -6
- package/dist/esm/code/hooks/useCSSCode.js +3 -10
- package/dist/esm/collection/components/collection-description/CollectionDescription.js +1 -1
- package/dist/esm/collection/components/collection-description/CollectionDescription.liquid.js +6 -7
- package/dist/esm/collection/components/collection-paginator/CollectionPaginator.liquid.js +4 -3
- package/dist/esm/collection/components/collection-toolbar/CollectionToolbar.liquid.js +3 -3
- package/dist/esm/collection/index.js +1 -1
- package/dist/esm/collection/settings/collection-banner/configs/ui-v2.js +1 -1
- package/dist/esm/collection/settings/collection-description/configs/ui-v2.js +1 -1
- package/dist/esm/collection/settings/collection-paginator/configs/ui-v2.js +1 -1
- package/dist/esm/collection/settings/collection-title/configs/ui-v2.js +1 -1
- package/dist/esm/collection/settings/collection-toolbar/configs/ui-v2.js +1 -1
- package/dist/esm/countdown-timer/components/Countdown.liquid.js +21 -20
- package/dist/esm/countdown-timer/settings/configs/ui-v2.js +1 -1
- package/dist/esm/coupon/settings/configs/ui-v2.js +1 -1
- package/dist/esm/dialog/settings/configs/ui-v2.js +1 -1
- package/dist/esm/estimate-delivery/settings/configs/ui-v2.js +1 -1
- package/dist/esm/form/settings/contact/configs/ui-v2.js +1 -1
- package/dist/esm/form/settings/form-checkbox/configs/ui-v2.js +1 -1
- package/dist/esm/form/settings/form-dropdown/configs/ui-v2.js +1 -1
- package/dist/esm/form/settings/form-email/configs/ui-v2.js +1 -1
- package/dist/esm/form/settings/form-textarea/configs/ui-v2.js +1 -1
- package/dist/esm/form/settings/newsletter/configs/ui-v2.js +1 -1
- package/dist/esm/form/settings/submit-button/configs/ui-v2.js +1 -1
- package/dist/esm/form/settings/text-field/configs/ui-v2.js +1 -1
- package/dist/esm/grid/components/row/Row.js +1 -1
- package/dist/esm/grid/components/row/Row.liquid.js +10 -5
- package/dist/esm/grid/components/section/Section.js +1 -1
- package/dist/esm/grid/components/section/lazyload/LazySectionWrapper.js +1 -0
- package/dist/esm/grid/components/section/lazyload/lazyInteractionTrigger.js +1 -0
- package/dist/esm/grid/components/section/lazyload/lazySectionCoordinator.js +1 -0
- package/dist/esm/grid/index.js +1 -1
- package/dist/esm/grid/next.js +1 -1
- package/dist/esm/grid/settings/configs/row/ui-v2.js +1 -1
- package/dist/esm/grid/settings/configs/section/ui-v2.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/heading/next.js +1 -1
- package/dist/esm/heading/settings/configs/ui-v2.js +1 -1
- package/dist/esm/headless.js +1 -0
- package/dist/esm/helpers.js +1 -1
- package/dist/esm/hero-banner/common/helpers.js +1 -1
- package/dist/esm/hero-banner/components/HeroBanner.liquid.js +5 -5
- package/dist/esm/hero-banner/index.js +1 -1
- package/dist/esm/hero-banner/settings/configs/ui-v2.js +1 -1
- package/dist/esm/icon/settings/configs/ui-v2.js +1 -1
- package/dist/esm/icon-list/settings/configs/ui-v2.js +1 -1
- package/dist/esm/icon-list-hoz/settings/configs/uiV2.js +1 -1
- package/dist/esm/icon-list-v2/components/IconList.liquid.js +3 -3
- package/dist/esm/icon-list-v2/settings/configs/ui-v2.js +1 -1
- package/dist/esm/image/common/const.js +1 -0
- package/dist/esm/image/common/helpers.js +2 -2
- package/dist/esm/image/next.js +1 -1
- package/dist/esm/image/settings/configs/ui-v2.js +1 -1
- package/dist/esm/image-comparison/common/classes.js +1 -1
- package/dist/esm/image-comparison/components/CompareImage.liquid.js +5 -5
- package/dist/esm/image-comparison/settings/configs/ui-v2.js +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.liquid.js +1 -1
- package/dist/esm/line/settings/configs/ui-v2.js +1 -1
- package/dist/esm/marquee/components/Marquee.liquid.js +21 -21
- package/dist/esm/marquee/settings/configs/child-image-template.js +1 -1
- package/dist/esm/marquee/settings/configs/ui-v2.js +1 -1
- package/dist/esm/modal/components/Modal.js +1 -1
- package/dist/esm/modal/index.js +1 -1
- package/dist/esm/post-purchase/callout-banner/index.js +1 -1
- package/dist/esm/post-purchase/link/components/PostPurchaseLink.js +1 -1
- package/dist/esm/post-purchase/link/settings/configs/settings.js +1 -1
- package/dist/esm/post-purchase/link/settings/configs/ui-v2.js +1 -1
- package/dist/esm/post-purchase/product/components/ProductPrice.js +1 -1
- package/dist/esm/post-purchase/product/components/ProductQuantity.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/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/ProductOfferItem.js +1 -1
- package/dist/esm/post-purchase/product/components/product-offer/context/PrdOfferSubscriptionPresenceContext.js +2 -0
- package/dist/esm/post-purchase/product/components/product-offer/helpers/scanSubscriptionBlocks.js +1 -0
- package/dist/esm/post-purchase/product/components/product-offer/hooks/useProductOfferSubscriptionBlocksObserver.js +1 -0
- package/dist/esm/post-purchase/product/components/product-subscription/hooks/useSubscriptionVisibility.js +1 -1
- package/dist/esm/post-purchase/product/components/product-variant/components/ProductVariant.js +1 -1
- package/dist/esm/post-purchase/product/components/product-variant/components/variants/Dropdown.js +1 -1
- package/dist/esm/post-purchase/product/components/product-variant/components/variants/DropdownOption.js +1 -1
- package/dist/esm/post-purchase/product/index.js +1 -1
- package/dist/esm/post-purchase/product/settings/product-quantity/configs/settings.js +1 -1
- package/dist/esm/post-purchase/product/settings/product-quantity/configs/ui-v2.js +1 -1
- package/dist/esm/post-purchase/text/components/Text.js +2 -2
- package/dist/esm/product/components/ProductImages.liquid.js +12 -12
- package/dist/esm/product/components/dynamic-checkout/Button.liquid.js +14 -14
- package/dist/esm/product/components/file-upload/UploadFile.liquid.js +3 -4
- package/dist/esm/product/components/file-upload/settings/configs/ui-v2.js +1 -1
- package/dist/esm/product/components/product-badge/ProductBadge.js +1 -1
- package/dist/esm/product/components/product-badge/ProductBadge.liquid.js +20 -20
- package/dist/esm/product/components/product-badge/common/attrs.js +1 -1
- package/dist/esm/product/components/product-badge/common/classes.js +1 -1
- package/dist/esm/product/components/product-badge/utils/injectBadgeStateExtras.js +1 -0
- package/dist/esm/product/components/product-badge/utils/renderBadgeILP.js +1 -1
- package/dist/esm/product/components/product-badge/utils/renderBadgeLiquid.js +5 -3
- package/dist/esm/product/components/product-bundle/ProductBundleDiscount.js +1 -1
- package/dist/esm/product/components/product-bundle/ProductBundleDiscount.liquid.js +8 -7
- package/dist/esm/product/components/product-bundle/setting/configs/ui-v2.js +1 -1
- package/dist/esm/product/components/product-button/ProductButton.liquid.js +14 -11
- package/dist/esm/product/components/product-button/common/helpers.js +1 -1
- package/dist/esm/product/components/product-button/hooks/useAddToCart.js +1 -1
- package/dist/esm/product/components/product-description/ProductDescription.js +1 -1
- package/dist/esm/product/components/product-description/ProductDescription.liquid.js +5 -6
- package/dist/esm/product/components/product-description/hooks/useGpDescription.js +1 -1
- package/dist/esm/product/components/product-discount-tag/ProductDiscountTag.js +1 -1
- package/dist/esm/product/components/product-discount-tag/ProductDiscountTag.liquid.js +8 -8
- package/dist/esm/product/components/product-images/ProductFeaturedImage.liquid.js +1 -1
- package/dist/esm/product/components/product-images-v2/ProductImagesV2.liquid.js +21 -21
- package/dist/esm/product/components/product-images-v2/components/feature-gallery/FeatureImageWithGallery.liquid.js +1 -1
- package/dist/esm/product/components/product-images-v2/components/gallery-grid/GalleryGrid.liquid.js +1 -1
- package/dist/esm/product/components/product-images-v3/ProductImagesV3.liquid.js +22 -22
- package/dist/esm/product/components/product-images-v3/common/productFeaturedImage.js +1 -1
- package/dist/esm/product/components/product-images-v3/components/child/ProductFeatureVideo.js +1 -1
- package/dist/esm/product/components/product-images-v3/components/child/ProductFeaturedImageOnly.js +1 -1
- package/dist/esm/product/components/product-images-v3/components/child/ProductGalleryGrid.js +2 -2
- package/dist/esm/product/components/product-images-v3/components/feature-gallery/FeatureImageWithGallery.liquid.js +17 -16
- package/dist/esm/product/components/product-images-v3/components/gallery-grid/GalleryGrid.liquid.js +20 -17
- package/dist/esm/product/components/product-images-v3/components/lightbox/ProductImagesLightBox.js +1 -1
- package/dist/esm/product/components/product-images-v3/composables/getProductImagesClassName.js +1 -1
- package/dist/esm/product/components/product-list/ProductList.js +1 -1
- package/dist/esm/product/components/product-list/ProductList.liquid.js +18 -17
- package/dist/esm/product/components/product-list/ProductListCarouselItem.liquid.js +5 -6
- package/dist/esm/product/components/product-list/ProductListGridItem.liquid.js +7 -8
- package/dist/esm/product/components/product-list/ProductListGridLayout.liquid.js +9 -7
- package/dist/esm/product/components/product-list-v3/ProductList.js +1 -1
- package/dist/esm/product/components/product-list-v3/ProductList.liquid.js +20 -19
- package/dist/esm/product/components/product-list-v3/ProductListCarouselItem.liquid.js +6 -6
- package/dist/esm/product/components/product-list-v3/ProductListGridItem.liquid.js +7 -8
- package/dist/esm/product/components/product-list-v3/ProductListGridLayout.liquid.js +9 -7
- package/dist/esm/product/components/product-list-v3/common/classes.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 -1
- package/dist/esm/product/components/product-list-v3/hooks/useCollectionQuery.js +1 -1
- package/dist/esm/product/components/product-list-v3/hooks/useMainRelatedProductQuery.js +1 -1
- package/dist/esm/product/components/product-list-v3/hooks/useProductRelatedQuery.js +1 -1
- package/dist/esm/product/components/product-list-v3/hooks/useProductsQuery.js +1 -1
- package/dist/esm/product/components/product-list-v3/hooks/useRelatedProductIDAssigned.js +1 -0
- package/dist/esm/product/components/product-price/ProductPrice.liquid.js +3 -3
- package/dist/esm/product/components/product-sku/Sku.js +1 -1
- package/dist/esm/product/components/product-sku/Sku.liquid.js +6 -5
- package/dist/esm/product/components/product-title/ProductTitle.liquid.js +5 -6
- package/dist/esm/product/components/product-variants/ProductVariants.liquid.js +48 -48
- package/dist/esm/product/components/product-variants/common/const.js +1 -1
- package/dist/esm/product/components/product-wrap/Product.liquid.js +5 -5
- package/dist/esm/product/components/product-wrap/hook/useProductQuery.js +1 -1
- package/dist/esm/product/index.js +1 -1
- package/dist/esm/product/settings/dynamic-checkout/configs/ui-v2.js +1 -1
- package/dist/esm/product/settings/product/configs/ui-v2.js +1 -1
- package/dist/esm/product/settings/product-badge/configs/ui-v2.js +1 -1
- package/dist/esm/product/settings/product-button/configs/ui-v2.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/setting-v2/ProductFeatureImage.js +1 -1
- package/dist/esm/product/settings/product-image-v3/configs/setting-v2/ProductGalleryImage.js +2 -2
- package/dist/esm/product/settings/product-image-v3/configs/ui-v2.js +1 -1
- package/dist/esm/product/settings/product-list/configs/ui-v2.js +1 -1
- package/dist/esm/product/settings/product-list-v3/configs/ui-v2.js +1 -1
- package/dist/esm/product/settings/product-properties/configs/ui-v2.js +1 -1
- package/dist/esm/product/settings/product-quantity/configs/ui-v2.js +1 -1
- package/dist/esm/product/settings/product-title/configs/ui-v2.js +1 -1
- package/dist/esm/product/settings/product-variant/configs/ui-v2.js +1 -1
- package/dist/esm/product/settings/product-vendor/configs/ui-v2.js +1 -1
- package/dist/esm/product/settings/product-view-more/configs/ui-v2.js +1 -1
- package/dist/esm/sticky/common/classes.js +1 -1
- package/dist/esm/sticky/components/Sticky.liquid.js +11 -12
- package/dist/esm/sticky/hooks/useSticky.js +1 -1
- package/dist/esm/sticky/settings/configs/ui-v2.js +1 -1
- package/dist/esm/stock-counter/common/classes.js +1 -1
- package/dist/esm/stock-counter/components/StockCounter.liquid.js +27 -24
- package/dist/esm/stock-counter/settings/configs/ui-v2.js +1 -1
- package/dist/esm/tab/components/Tabs.liquid.js +12 -11
- package/dist/esm/tab/settings/configs/ui-v2.js +1 -1
- package/dist/esm/text/components/Text.liquid.js +3 -3
- package/dist/esm/text/next.js +1 -1
- package/dist/esm/text/settings/configs/ui-v2.js +1 -1
- package/dist/esm/third-party/components/AppstleLoyaltyRewardProgram.js +2 -0
- package/dist/esm/third-party/components/AppstleLoyaltyRewardProgram.liquid.js +16 -0
- package/dist/esm/third-party/components/BonySubscriptionsApp.liquid.js +11 -4
- package/dist/esm/third-party/components/EssentPreorderBackInStock.js +2 -0
- package/dist/esm/third-party/components/EssentPreorderBackInStock.liquid.js +8 -0
- package/dist/esm/third-party/components/Stamped/LiquidTemplateByWidget.js +1 -1
- package/dist/esm/third-party/components/SubscribfySubscriptionsApp.js +2 -0
- package/dist/esm/third-party/components/SubscribfySubscriptionsApp.liquid.js +1 -0
- package/dist/esm/third-party/components/WcWishlistBackInStock.liquid.js +19 -1
- package/dist/esm/third-party/configs/AppstleLoyaltyRewardProgram.js +1 -0
- package/dist/esm/third-party/configs/EssentPreorderBackInStock.js +1 -0
- package/dist/esm/third-party/configs/SubscribfySubscriptionsApp.js +1 -0
- package/dist/esm/third-party/configs/WcWishlistBackInStock.js +1 -1
- package/dist/esm/third-party/index.js +1 -1
- package/dist/esm/third-party/next.js +1 -1
- package/dist/esm/third-party/settings/AppstleLoyaltyRewardProgram/index.js +4 -0
- package/dist/esm/third-party/settings/AppstleLoyaltyRewardProgram/uiV2.js +1 -0
- package/dist/esm/third-party/settings/EssentPreorderBackInStock/index.js +4 -0
- package/dist/esm/third-party/settings/EssentPreorderBackInStock/uiV2.js +1 -0
- package/dist/esm/third-party/settings/SubscribfySubscriptionsApp/index.js +4 -0
- package/dist/esm/third-party/settings/SubscribfySubscriptionsApp/uiV2.js +1 -0
- package/dist/esm/third-party/settings/WcWishlistBackInStock/index.js +5 -2
- package/dist/esm/video/common/helpers.js +1 -1
- package/dist/esm/video/components/LiteVimeoEmbed.liquid.js +3 -2
- package/dist/esm/video/components/LiteYouTubeEmbed.liquid.js +14 -13
- package/dist/esm/video/hooks/useLiteYoutubeEmbed.js +1 -1
- package/dist/types/index.d.ts +267 -30
- package/package.json +5 -5
- package/dist/cjs/modal/components/ZoomButton.js +0 -2
- package/dist/cjs/product/components/product-images-v3/components/child/ProductImagesLightBoxPreview.js +0 -1
- package/dist/cjs/product/components/product-images-v3/components/lightbox/LightBoxCarousel.js +0 -2
- package/dist/cjs/product/components/product-images-v3/components/lightbox/LightBoxGalleryCarousel.js +0 -2
- package/dist/cjs/product/components/product-images-v3/components/lightbox/LightBoxImageZoom.js +0 -2
- package/dist/cjs/product/components/product-images-v3/components/lightbox/constants.js +0 -1
- package/dist/esm/modal/components/ZoomButton.js +0 -2
- package/dist/esm/product/components/product-images-v3/components/child/ProductImagesLightBoxPreview.js +0 -1
- package/dist/esm/product/components/product-images-v3/components/lightbox/LightBoxCarousel.js +0 -2
- package/dist/esm/product/components/product-images-v3/components/lightbox/LightBoxGalleryCarousel.js +0 -2
- package/dist/esm/product/components/product-images-v3/components/lightbox/LightBoxImageZoom.js +0 -2
- package/dist/esm/product/components/product-images-v3/components/lightbox/constants.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{SEPARATOR as e}from"./constants.js";let t=e=>e?.enableIcon===!0,
|
|
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}}",disabled:"{{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 +1 @@
|
|
|
1
|
-
import{useRenderMode as e,useProduct as t,useCurrency as r,useQuantity as i,useProductProperties as a,useCurrentVariant as s,useHasPreSelected as o,useStickyStore as n,useProductStore as u,useCreateCart as l,useAddToCart as d,convertDecimalToNumber as c,useCurrentVariantInStock as m}from"@gem-sdk/core";import{useRef as p,useEffect as b,useCallback as f}from"react";import{addToCartTracking as v}from"../../../helpers/tracking.js";import{useDispatchInteractionEvent as g,useDispatchCustomEvent as k}from"./useDispatchAfterSubmitEvent.js";import{useCartMessage as D}from"./useCartMessage.js";import{useCartOperations as I}from"./useCartOperations.js";let E=({styles:E,setting:y,builderProps:S})=>{let j=p(null),{isEditMode:C,isPreviewSharePageMode:M}=e(),h=t(),{currency:w}=r(),{quantity:A}=i(),L=a(),O=s(),{hasPreSelected
|
|
1
|
+
import{useRenderMode as e,useProduct as t,useCurrency as r,useQuantity as i,useProductProperties as a,useCurrentVariant as s,useHasPreSelected as o,useStickyStore as n,useProductStore as u,useCreateCart as l,useAddToCart as d,convertDecimalToNumber as c,useCurrentVariantInStock as m}from"@gem-sdk/core";import{useRef as p,useEffect as b,useCallback as f}from"react";import{addToCartTracking as v}from"../../../helpers/tracking.js";import{useDispatchInteractionEvent as g,useDispatchCustomEvent as k}from"./useDispatchAfterSubmitEvent.js";import{useCartMessage as D}from"./useCartMessage.js";import{useCartOperations as I}from"./useCartOperations.js";let E=({styles:E,setting:y,builderProps:S})=>{let j=p(null),{isEditMode:C,isPreviewSharePageMode:M}=e(),h=t(),{currency:w}=r(),{quantity:A}=i(),L=a(),O=s(),{hasPreSelected:$}=o(),q=n(e=>e.setElement),x=u(e=>e.updateIsSubmit),B=g(S?.uid),T=k({product:h,currentVariant:O,quantity:A}),{showMessage:U,notiComponent:V}=D(E,y),{handleSuccess:z,handleError:F,cartId:G}=I({setting:y,showMessage:U,dispatchInteractionEvent:B,dispatchCustomEvent:T}),{isMutating:H,trigger:J}=l({onSuccess:z,onError:F}),{isMutating:K,trigger:N}=d({onSuccess:z,onError:F});b(()=>{let e=j.current;!(!e||e.closest(".sticky-wrapper"))&&h?.id&&S?.uid&&S.builderData?.advanced&&q({id:`${S.uid}-${h.id}`,element:e,deviceVisibility:S.builderData.advanced.d})},[]);let P=f(()=>{if(!O?.baseID||!A||!h?.baseID||void 0!==$&&!$||C||M)return;let e=L?.some(e=>e.required&&!e.value);if(x(!0),e)return;let t=L?.filter(e=>!!e.value)?.map(e=>({key:e.key,value:e.value}));v({quantity:A,currency:w,id:h?.baseID,name:h?.title,brand:h?.vendor,sku:O.sku,price:c(O?.price),variant:O.title});let r={quantity:A,attributes:t,variantId:O.baseID};y?.actionEffect!=="buy-now"&&G?N({cartId:G,lines:[r]}):J({items:[r]})},[C,M,G,w,A,L,$,h?.title,h?.vendor,h?.baseID,O?.sku,O?.price,O?.title,O?.baseID,y?.actionEffect,J,N,x]),Q=m(),R=O?y?.outOfStockLabel:"Unavailable";return{addToCartRef:j,isLoading:H||K,isInStock:Q,notiComponent:V,outOfStockLabel:R,addToCart:P}};export{E as useBtnAddToCart};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import{jsx as e,Fragment as t,jsxs as s}from"react/jsx-runtime";import{useProduct as o,useCurrentDevice as i,getResponsiveValueByScreen as r,useI18nStore as m,makeStyleResponsive as c,makeLineClamp as n}from"@gem-sdk/core";import l from"../../../common/components/NoDataState.js";import{ICON_SVG as a}from"./common/helpers.js";import{createClass as p,createStyle as d,createAttr as h,If as u}from"@gem-sdk/system";import{getClasses as y,getButtonClasses as g,getClassPreBuilt as f}from"./common/classes.js";import{getTextStyle as x,getButtonStyle as k,getStaticCss as N}from"./common/styles.js";import{useGpDescription as j}from"./hooks/useGpDescription.js";let w=w=>{let{setting:L,advanced:b,builderProps:v}=w,{htmlTag:C}=L??{},H=o(),T=i(),M=r(L?.hasLineClamp,T),{ref:_,open:D,isShowViewMore:I,
|
|
2
|
+
import{jsx as e,Fragment as t,jsxs as s}from"react/jsx-runtime";import{useProduct as o,useCurrentDevice as i,getResponsiveValueByScreen as r,useI18nStore as m,makeStyleResponsive as c,makeLineClamp as n}from"@gem-sdk/core";import l from"../../../common/components/NoDataState.js";import{ICON_SVG as a}from"./common/helpers.js";import{createClass as p,createStyle as d,createAttr as h,If as u}from"@gem-sdk/system";import{getClasses as y,getButtonClasses as g,getClassPreBuilt as f}from"./common/classes.js";import{getTextStyle as x,getButtonStyle as k,getStaticCss as N}from"./common/styles.js";import{useGpDescription as j}from"./hooks/useGpDescription.js";let w=w=>{let{setting:L,advanced:b,builderProps:v}=w,{htmlTag:C}=L??{},H=o(),T=i(),M=r(L?.hasLineClamp,T),{ref:_,open:D,isShowViewMore:I,isOverflowChecked:S,handleToggleShowMore:A,mode:P,redirectProductShopifyLink:q}=j(L),{t:G}=m(),V=p({"gp-product-description":!0,[b?.cssClass]:!0}),$=p(y({setting:L,isLiquid:!1})),z=p(g({setting:L})),B=p({"gp-show-more-text":!0}),E=p({"gp-show-more-icon gp-ml-1":!0,...D?{"gp-rotate-180":!0}:{}}),F=p(f()),J=d({...x({setting:L}),...D||S&&!I?{}:c("line-clamp",n(L?.lineClamp,L?.hasLineClamp))}),K=d(k({setting:L})),O=h({"data-id":`${v?.uid}`}),Q=h({"data-gp-text":""}),{gpDescriptionCss:R,textDescriptionCss:U}=N(),W=!H?.descriptionHtml;return W&&"edit"===P?e(l,{elementType:"secondary",description:G("Highlight key benefits with product description."),descriptionActions:[{text:G("Add description"),callback:q},{text:G("sync data"),callback:"syncProduct"}]}):e(t,{children:u(W,"",s("div",{...O,className:V,children:[e("style",{children:U}),e("style",{children:R}),e("div",{className:F}),e("html"===C?"div":"p",{ref:_,...Q,className:$,style:J,dangerouslySetInnerHTML:{__html:H?.descriptionHtml||""}}),u(M&&I,s("button",{className:z,style:K,onClick:A,children:[e("span",{className:B,children:u(D,L?.viewLessText||"",L?.viewMoreText)}),u(L?.enableViewMoreIcon,e("span",{className:E,dangerouslySetInnerHTML:{__html:a}}))]})," ")]}))})};export{w as default};
|
|
@@ -1,13 +1,12 @@
|
|
|
1
|
-
import{makeStyleResponsive as e,makeLineClamp as t,dataStringify as s,template as i,baseAssetURL as o,isLocalEnv as
|
|
1
|
+
import{makeStyleResponsive as e,makeLineClamp as t,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 l,createAttr as c,createStateOrContext as m,LiquidIf as u,Liquid as $,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=l({...h({setting:S,renderMaxHeight:!0}),...e("line-clamp",t(S?.lineClamp,S?.hasLineClamp))}),N=d(w()),O=l(y({setting:S})),R=c({"data-id":`${L?.uid}`}),z=c({"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 u(J,"",$(i`
|
|
2
2
|
<gp-product-description
|
|
3
3
|
${R}
|
|
4
4
|
class="${A}"
|
|
5
|
-
gp-data='${s(U).replaceAll("'","'")}'
|
|
6
5
|
data-view-more-text="${K}"
|
|
7
6
|
data-view-less-text="${Q}"
|
|
8
7
|
>
|
|
9
|
-
<
|
|
10
|
-
<style>${F}</style>
|
|
8
|
+
<script gp-data type="application/json">${s(U).replaceAll("'","\\u0027")}</script>
|
|
9
|
+
<style>${B}${F}</style>
|
|
11
10
|
<div class="${N}" ></div>
|
|
12
11
|
${g("product","<p>Product not found</p>",i`<${V} ${z} class="${D}" style="${H}">
|
|
13
12
|
{{product.description}}
|
|
@@ -16,9 +15,9 @@ import{makeStyleResponsive as e,makeLineClamp as t,dataStringify as s,template a
|
|
|
16
15
|
<span class="${_}">
|
|
17
16
|
${v(!1,Q?.toString(),K?.toString())}
|
|
18
17
|
</span>
|
|
19
|
-
${v(S?.enableViewMoreIcon,i`<span class="${q}">${
|
|
18
|
+
${v(S?.enableViewMoreIcon,i`<span class="${q}">${j}</span>`," ")}
|
|
20
19
|
</button>`)}`)}
|
|
21
20
|
</gp-product-description>
|
|
22
21
|
|
|
23
|
-
${(()=>{let e=
|
|
22
|
+
${(()=>{let e=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")}="${e}" defer="defer"></script>`})()}
|
|
24
23
|
`))};export{M as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useRef as e,useState as t,useCallback as r,useEffect as
|
|
1
|
+
import{useRef as e,useState as t,useCallback as r,useEffect as i}from"react";import{useProduct as n,useCurrentDevice as l,getResponsiveValueByScreen as o,useProductShopifyEditLink as s,useEditorMode as m}from"@gem-sdk/core";let c=c=>{let{htmlTag:a,transform:u,typo:p,typography:y}=c??{},g=e(null),H=e(!1),[d,f]=t(!1),[w,h]=t(!1),[x,O]=t(!1),P=n(),S=l(),v=o(c?.hasLineClamp,S),J=o(c?.lineClamp,S),N=o(p?.custom?.lineHeight,S),b=JSON.stringify(p),A=JSON.stringify(y),C=JSON.stringify(u),{redirectProductShopifyLink:F}=s(),T=m(),k=r(()=>{if(!g.current)return;let e=!d;H.current=e,g.current.style.maxHeight=e?"none":"",f(e)},[d]);return i(()=>{H.current=!1,f(!1)},[v,J,P?.descriptionHtml]),i(()=>{let e=g.current;if(O(!1),!e)return;if(!v||!P?.descriptionHtml||!J){e.style.maxHeight="",h(!1),O(!0);return}let t=()=>{if(H.current){e.style.maxHeight="none",O(!0);return}e.style.maxHeight="";let t=e.style.getPropertyValue("--line-clamp");e.style.setProperty("--line-clamp",String(J));let r=e.scrollHeight-e.clientHeight>1;""!==t?e.style.setProperty("--line-clamp",t):e.style.removeProperty("--line-clamp"),h(r),O(!0)},r=window.requestAnimationFrame(t),i=window.setTimeout(t,100),n=new ResizeObserver(()=>{t()});return n.observe(e),()=>{window.cancelAnimationFrame(r),window.clearTimeout(i),n.disconnect()}},[v,J,P?.descriptionHtml,N,a,C,b,A]),{ref:g,open:d,isShowViewMore:w,isOverflowChecked:x,handleToggleShowMore:k,mode:T,redirectProductShopifyLink:F}};export{c as useGpDescription};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import{jsx as e,jsxs as t}from"react/jsx-runtime";import{useI18nStore as s,makeStyleResponsive as o}from"@gem-sdk/core";import i from"../../../common/components/NoDataState.js";import l from"../../../common/components/TooltipHover.js";import r from"../../../text/components/Text.js";import{createStyle as d,createClass as m,If as n}from"@gem-sdk/system";import{getWrapperTextStyle as a,getContainerStyle as p}from"./common/styles.js";import{getWrapperTextClass as c,getContainerClass as u,getRootClass as x}from"./common/classes.js";import{useGpDiscountTag as f}from"./hooks/useGpDiscountTag.js";let g=({setting:g,styles:y,builderProps:h,...b})=>{let{customContent:j}=g??{},N=b["bundle-item"],{textAlign:v}=y??{},{t:T}=s(),{mode:k,product:w,salePrice:A,priceSave:D,currentProductId:F,unitCustomDisplay:S,shouldPlaceholderNoDiscount:$}=f({setting:g,styles:y,builderProps:h,...b});if($)return e(l,{enable:!0,text:T("Not be displayed when published"),position:"bottom",width:"205px",children:e(i,{builderAttrs:h?.builderData,elementType:"secondary",description:T("No discount"),rawMode:!0,customClass:"!gp-p-[5px]"})});let q=d(a(y)),C=d(p(y)),I=m(c(y)),E=m(u()),G=m(x({mode:k,salePrice:A,priceSave:D,bundleItem:N}));return e("div",{className:G,style:{...o("ta",v)},id:`shopify-text-element-${h?.uid}`,"data-id":h?.uid,"data-product-id":F,"gp-data-hidden":"false",children:n(!w," ",e("div",{className:E,style:C,children:e("div",{className:I,style:q,children:t("div",{className:"gp-flex gp-break-all",children:[e(r,{styles:y,setting:{...g,text:j?.prefix?.replaceAll(" "," "),options:{useState:!0,uniqueId:`${h?.uid}-prefix`},excludeFlex:!0}}),e(r,{styles:y,setting:{...g,text:S,options:{isCannotEditing:!0},excludeFlex:!0}}),e(r,{styles:y,setting:{...g,text:j?.suffix?.replaceAll(" "," "),excludeFlex:!0,options:{useState:!0,uniqueId:`${h?.uid}-suffix`}}})]})})}))})};export{g as default};
|
|
2
|
+
import{jsx as e,jsxs as t}from"react/jsx-runtime";import{useI18nStore as s,makeStyleResponsive as o}from"@gem-sdk/core";import i from"../../../common/components/NoDataState.js";import l from"../../../common/components/TooltipHover.js";import r from"../../../text/components/Text.js";import{createStyle as d,createClass as m,If as n}from"@gem-sdk/system";import{getWrapperTextStyle as a,getContainerStyle as p}from"./common/styles.js";import{getWrapperTextClass as c,getContainerClass as u,getRootClass as x}from"./common/classes.js";import{useGpDiscountTag as f}from"./hooks/useGpDiscountTag.js";let g=({setting:g,styles:y,builderProps:h,...b})=>{let{customContent:j}=g??{},N=b["bundle-item"],{textAlign:v}=y??{},{t:T}=s(),{mode:k,product:w,salePrice:A,priceSave:D,currentProductId:F,unitCustomDisplay:S,shouldPlaceholderNoDiscount:$}=f({setting:g,styles:y,builderProps:h,...b});if($)return e(l,{enable:!0,text:T("Not be displayed when published"),position:"bottom",width:"205px",children:e(i,{builderAttrs:h?.builderData,elementType:"secondary",description:T("No discount"),rawMode:!0,customClass:"!gp-p-[5px]"})});let q=d(a(y)),C=d(p(y)),I=m(c(y)),E=m(u()),G=m(x({mode:k,salePrice:A,priceSave:D,bundleItem:N}));return e("div",{className:G,style:{...o("ta",v)},id:`shopify-text-element-${h?.uid}`,"data-id":h?.uid,"data-product-id":F,"gp-data-hidden":"false",children:n(!w," ",e("div",{className:E,style:C,children:e("div",{className:I,style:q,children:t("div",{className:"gp-flex gp-break-all gp-items-center",children:[e(r,{styles:y,setting:{...g,text:j?.prefix?.replaceAll(" "," "),options:{useState:!0,uniqueId:`${h?.uid}-prefix`},excludeFlex:!0}}),e(r,{styles:y,setting:{...g,text:S,options:{isCannotEditing:!0},excludeFlex:!0}}),e(r,{styles:y,setting:{...g,text:j?.suffix?.replaceAll(" "," "),excludeFlex:!0,options:{useState:!0,uniqueId:`${h?.uid}-suffix`}}})]})})}))})};export{g as default};
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import{template as e,baseAssetURL as i,isLocalEnv as s}from"@gem-sdk/core";import{getDynamicSourceLocales as a,createSettingId as r,getSettingPreloadData as t}from"../../../helpers.js";import p from"../../../text/components/Text.liquid.js";import{createStyle as n,createClass as c,LiquidIf as o,Liquid as d,If as l}from"@gem-sdk/system";import{getWrapperTextClass as u,getContainerClass as g,getProductTagClass as f}from"./common/classes.js";import{getRootClass as m,getWrapperTextStyle as v,getContainerStyle as x}from"./common/styles.js";import{ProductTag as
|
|
1
|
+
import{template as e,baseAssetURL as i,isLocalEnv as s}from"@gem-sdk/core";import{getDynamicSourceLocales as a,createSettingId as r,getSettingPreloadData as t}from"../../../helpers.js";import p from"../../../text/components/Text.liquid.js";import{createStyle as n,createClass as c,LiquidIf as o,Liquid as d,If as l}from"@gem-sdk/system";import{getWrapperTextClass as u,getContainerClass as g,getProductTagClass as f}from"./common/classes.js";import{getRootClass as m,getWrapperTextStyle as v,getContainerStyle as x}from"./common/styles.js";import{ProductTag as y}from"../../settings/product-discount-tag/configs/translate.js";let $=({setting:$,styles:S,builderProps:P,advanced:V,pageContext:_})=>{let{customContent:h}=$??{},j=$?.moneyWithCurrentFormat?"money_with_currency":"money",C=y?.customContent?.id?a({val:h?.prefix,uid:P?.uid,settingId:r({id:y.customContent.id,suffix:"prefix"}),isLiquid:!0,pageContext:_??{}}):h?.prefix,F=y?.customContent?.id?a({val:h?.suffix,uid:P?.uid,settingId:r({id:y.customContent.id,suffix:"suffix"}),isLiquid:!0,pageContext:_??{}}):h?.suffix,M=n(m(S)),q=n(v(S)),w=n(x(S)),E=c(u(S)),N=c(g()),O=c(f(V)),T=h?.unit==="percentage";return e`
|
|
2
2
|
{% liquid
|
|
3
3
|
assign price = variant.price | times: 1.0
|
|
4
4
|
assign salePrice = variant.compare_at_price | times: 1.0
|
|
5
5
|
assign priceSave = salePrice | minus: price
|
|
6
|
-
assign prefixVal = ${_?.isPreviewing?JSON.stringify(
|
|
6
|
+
assign prefixVal = ${_?.isPreviewing?JSON.stringify(C):C}
|
|
7
7
|
assign suffixVal = ${_?.isPreviewing?JSON.stringify(F):F}
|
|
8
8
|
%}
|
|
9
|
-
${o("salePrice == null or price == null",d(`{% assign pricePercentage = prefixVal ${l(T,"| append: ' 0% '",`| ${
|
|
10
|
-
{% assign pricePercentage = prefixVal | append: ' ' | append: salePercent | append: '% ' | append: suffixVal %}`,o("priceSave > 0",`{% assign priceSaveMoney = priceSave | ${
|
|
11
|
-
{% assign pricePercentage = prefixVal | append: ' ' | append: priceSaveMoney | append: ' ' | append: suffixVal %}`,`{% assign priceSaveMoney = 0 | ${
|
|
9
|
+
${o("salePrice == null or price == null",d(`{% assign pricePercentage = prefixVal ${l(T,"| append: ' 0% '",`| ${j} | append: ' '`)} | append: suffixVal %}`),`${l(T,`{% assign salePercent = priceSave | divided_by: salePrice | times: 100 | round %}
|
|
10
|
+
{% assign pricePercentage = prefixVal | append: ' ' | append: salePercent | append: '% ' | append: suffixVal %}`,o("priceSave > 0",`{% assign priceSaveMoney = priceSave | ${j} %}
|
|
11
|
+
{% assign pricePercentage = prefixVal | append: ' ' | append: priceSaveMoney | append: ' ' | append: suffixVal %}`,`{% assign priceSaveMoney = 0 | ${j} %}
|
|
12
12
|
{% assign pricePercentage = prefixVal | append: ' ' | append: priceSaveMoney | append: ' ' | append: suffixVal %}`))}`)}
|
|
13
13
|
|
|
14
14
|
<gp-product-tag
|
|
@@ -16,15 +16,15 @@ import{template as e,baseAssetURL as i,isLocalEnv as s}from"@gem-sdk/core";impor
|
|
|
16
16
|
style="${M}"
|
|
17
17
|
data-id="${P?.uid}"
|
|
18
18
|
data-disabled="${o(`${l(T,"salePercent","priceSave")} > 0`,"false","true")}"
|
|
19
|
-
gp-data='{"setting":${JSON.stringify(y).replaceAll("'","'")}, "id": "${P?.uid}", "locale": "{{shop.locale}}", "currency": "{{shop.currency}}", "moneyFormat": "{{ ${y?.moneyWithCurrentFormat?"shop.money_with_currency_format":"shop.money_format"} | replace: '"', '\\"' | escape }}"}'
|
|
20
19
|
price-save="{{priceSave}}"
|
|
21
20
|
>
|
|
21
|
+
<script gp-data type="application/json">{"setting":${JSON.stringify($).replaceAll("'","'")}, "id": "${P?.uid}", "locale": "{{shop.locale}}", "currency": "{{shop.currency}}", "moneyFormat": "{{ ${$?.moneyWithCurrentFormat?"shop.money_with_currency_format":"shop.money_format"} | replace: '"', '\\"' | escape }}"}'</script>
|
|
22
22
|
<div class="${N}" style="${w}">
|
|
23
23
|
<div class="${E}" style="${q}">
|
|
24
|
-
${p({styles:S,id:`p-tag-${P?.uid}`,setting:{
|
|
24
|
+
${p({styles:S,id:`p-tag-${P?.uid}`,setting:{...$,text:"{{ pricePercentage }}",excludeFlex:!0,isForceValue:!0}})}
|
|
25
25
|
</div>
|
|
26
26
|
</div>
|
|
27
27
|
|
|
28
28
|
</gp-product-tag>
|
|
29
29
|
${(()=>{let e=s?"{{ 'gp-product-tag-v7-5.js' | asset_url }}":`${i}/assets-v2/gp-product-tag-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}`;return`<script ${t('class="gps-link" delay',"src")}="${e}" defer="defer"></script>`})()}
|
|
30
|
-
`};export{
|
|
30
|
+
`};export{$ as default};
|
|
@@ -85,7 +85,7 @@ import{cls as e,makeStyleResponsive as i,template as a,getResponsiveValueByScree
|
|
|
85
85
|
</div>`:""}
|
|
86
86
|
${g?.hoverEffect=="zoom"&&g?.zoomType=="glasses"?`
|
|
87
87
|
<div class="${e("zoom-lens-element",f())}"
|
|
88
|
-
style="opacity: 0; background-image: url(
|
|
88
|
+
style="opacity: 0; background-image: url({{ product.featured_image.src | img_url: '1024x1024'}})"></div>`:""}
|
|
89
89
|
`}
|
|
90
90
|
</div>
|
|
91
91
|
</div>
|
|
@@ -1,44 +1,44 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{template as e,isLocalEnv as r,baseAssetURL as o,WrapRenderChildren as t,RenderChildren as s}from"@gem-sdk/core";import{getConditionRenderGalleryImages as i,getStyleInsideLayout as a,setDefaultWhenUndefineSetting as p}from"./common/common.js";import l from"./components/feature-gallery/FeatureImageWithGallery.liquid.js";import d from"./components/gallery-carousel/GalleryCarousel.liquid.js";import m from"./components/gallery-grid/GalleryGrid.liquid.js";import{filterPageContext as u,getSettingPreloadData as c}from"../../../helpers.js";import{getShapeByLayout as n,sizeSettingDefaultForNewLayout as g}from"./common/productGallery.js";import{getProductImagesClassName as f}from"./composables/getProductImagesClassName.js";import{getProductImagesStyles as $}from"./composables/getProductImagesStyles.js";import{createAttr as y,LiquidIf as h,createClass as F,If as j,Liquid as v}from"@gem-sdk/system";import{getBorderActiveCss as I}from"./common/getBorderActiveCss.js";import{getStyleOfObject as S}from"../../helpers/function.js";let C=C=>{let P=p(C),{setting:G,styles:D,builderProps:b,style:O}=P,{rawChildren:_,pageContext:z}=C,{enableLazyLoadImage:N}=z??{},A={...G,...D},B=`
|
|
2
2
|
{
|
|
3
3
|
"id":${JSON.stringify(b?.uid)},
|
|
4
|
-
"pageContext": ${JSON.stringify(
|
|
4
|
+
"pageContext": ${JSON.stringify(u(z))},
|
|
5
5
|
"setting":${JSON.stringify(G)},
|
|
6
6
|
"styles":${JSON.stringify(D)},
|
|
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":{{product | json }},
|
|
9
|
+
"collectionUrl": {{ collection.url | json }},
|
|
10
|
+
"collection": {{ collection | json }}
|
|
11
11
|
}
|
|
12
|
-
`,U=y({"section-id":"{{section.id}}","data-id":`${b?.uid}`}),{isOnlyFeatureAllDevices:k,isRenderGalleryGrid:q}=i(A?.position,G?.type),E=q?{}:y({"data-only-image":h("product.media.size > 1","false","true")}),{wrapperClasses:J,productImagesGalleryClasses:w}=f(C),T=
|
|
13
|
-
${
|
|
14
|
-
`;return
|
|
15
|
-
${j(G?.borderActive?.border!=="none",h("product.media.size > 1",`<style>${
|
|
12
|
+
`,U=y({"section-id":"{{section.id}}","data-id":`${b?.uid}`}),{isOnlyFeatureAllDevices:k,isRenderGalleryGrid:q}=i(A?.position,G?.type),E=q?{}:y({"data-only-image":h("product.media.size > 1","false","true")}),{wrapperClasses:J,productImagesGalleryClasses:w}=f(C),T=F({"gp-grid gp-w-full !gp-m-0 gp-relative":!0}),x=F({"gp-w-full !gp-m-0 gp-relative":!0}),{wrapContainerStyle:L,wrapContainerStyleOnlyOneImage:M,galleryImageStyle:R}=$(A),V=n({shape:A.shape,shapeForBottom:A.shapeForBottom,shapeFor1Col:A.shapeFor1Col,shapeFor2Col:A.shapeFor2Col,shapeForFtOnly:A.shapeForFtOnly,shapeForInsideBottom:A.shapeForInsideBottom??g,shapeForInside:A.shapeForInside??g},A.position),W=a(A.position,V,A?.spacing),H=()=>e`
|
|
13
|
+
${t({uid:b?.uid||"",customProps:_?.[0].customProps},_?.map(r=>{if(r)return e`${s({...r,isInsideProductImage:!0,imageData:{imageShape:D?.ftShape,imageAlign:D?.align,imageLayout:D?.position},dotData:{dotSize:G?.ftDotSize,dotGapToCarousel:G?.ftDotGapToCarousel,dotStyle:G?.ftDotStyle}})}`}))}
|
|
14
|
+
`;return e`
|
|
15
|
+
${j(G?.borderActive?.border!=="none",h("product.media.size > 1",`<style>${I({settings:A,uid:b?.uid,type:"Liquid"})}</style>`),"")}
|
|
16
16
|
${v(`
|
|
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
|
|
21
|
-
gp-data='${B}'
|
|
22
21
|
${{...U}}
|
|
23
|
-
style="${{...
|
|
22
|
+
style="${{...O}}"
|
|
24
23
|
class="${J}"
|
|
25
24
|
>
|
|
26
|
-
<
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
${
|
|
31
|
-
${j(!k,r`
|
|
25
|
+
<script gp-data type="application/json">${B}</script>
|
|
26
|
+
{% capture renderFeatureImage %}
|
|
27
|
+
${e`
|
|
28
|
+
${l({builderPropUID:`gp-carousel-${b?.uid}`,...A,children:H(),enableLazyLoadImage:N})}
|
|
29
|
+
${j(!k,e`
|
|
32
30
|
<div
|
|
33
31
|
class="${w}"
|
|
34
|
-
style="${
|
|
32
|
+
style="${S(R)}"
|
|
35
33
|
${{...E}}
|
|
36
34
|
>
|
|
37
35
|
${h("product.media.size > 1",d({builderPropUID:`gp-gallery-${b?.uid}`,...A,enableLazyLoadImage:N}))}
|
|
38
36
|
${j(q,m({builderPropUID:b?.uid,wrapperStyle:{...W},children:H(),...A,enableLazyLoadImage:N}))}
|
|
39
37
|
</div>
|
|
40
38
|
`)}
|
|
41
|
-
|
|
39
|
+
`}
|
|
40
|
+
{% endcapture %}
|
|
41
|
+
${h("product.media.size > 1",e`<div class="${T}" style="${S(L)}">{{ renderFeatureImage }}</div>`,e`<div class="${x}" style="${S(M)}">{{ renderFeatureImage }}</div>`)}
|
|
42
42
|
</gp-product-images>
|
|
43
|
-
${j(
|
|
43
|
+
${j(r,`<script ${c('class="gps-link" delay',"src")}="{{ 'gp-product-images-v7-5.js' | asset_url }}" defer="defer"></script>`,`<script ${c('class="gps-link" delay',"src")}="${o}/assets-v2/gp-product-images-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}" defer="defer"></script>`)}
|
|
44
44
|
`};export{C as default};
|
|
@@ -18,7 +18,7 @@ import{makeStyleResponsive as e,cls as a,template as i}from"@gem-sdk/core";impor
|
|
|
18
18
|
${$(q?.hoverEffect!=="none",`<div class="${a("zoom-element !gp-max-w-none",o())}">
|
|
19
19
|
${V("image-zoom",!0)}
|
|
20
20
|
</div>`," ")}
|
|
21
|
-
${$(q?.hoverEffect=="zoom"&&q?.zoomType=="glasses",`<div class="${a("zoom-lens-element",u())}" style="opacity: 0; background-image: url(
|
|
21
|
+
${$(q?.hoverEffect=="zoom"&&q?.zoomType=="glasses",`<div class="${a("zoom-lens-element",u())}" style="opacity: 0; background-image: url({{ featureMedia.src | img_url: '1024x1024'}})"></div>`," ")}
|
|
22
22
|
`,V=(e,a)=>i`
|
|
23
23
|
{% assign src = featureMedia.src %}
|
|
24
24
|
${$(a&&"other"==q.hoverEffect,`{% assign media_length = product.media | size %}
|
package/dist/esm/product/components/product-images-v2/components/gallery-grid/GalleryGrid.liquid.js
CHANGED
|
@@ -3,7 +3,7 @@ import{makeStyleResponsive as e,template as i,getResponsiveValueByScreen as a,cl
|
|
|
3
3
|
${r(L?.galleryHoverEffect!=="none",`<div class="${t("zoom-element !gp-max-w-none gp-w-full gp-h-full",h())}">
|
|
4
4
|
${m({srcIsLiquidCode:!0,src:`${u("media.preview_image")}`,width:"{{media.width}}",height:"{{media.height}}",baseSrc:"{{media.preview_image | image_url}}",alt:"{{media.alt | escape}}",setting:e,style:a,className:"!gp-rounded-none gp-w-full gp-h-full",customLazyload:!1,enableLazyLoadImage:x})}
|
|
5
5
|
</div>`," ")}
|
|
6
|
-
${r(L?.galleryHoverEffect=="zoom"&&L?.galleryZoomType=="glasses",`<div class="${t("zoom-lens-element",y())}" style="opacity: 0; background-image: url(
|
|
6
|
+
${r(L?.galleryHoverEffect=="zoom"&&L?.galleryZoomType=="glasses",`<div class="${t("zoom-lens-element",y())}" style="opacity: 0; background-image: url({{media.preview_image | product_img_url: '1024x1024'}})">
|
|
7
7
|
</div>
|
|
8
8
|
`," ")}
|
|
9
9
|
`,z=()=>l({src:d("media.sources.first.url contains '.glb'","{{ media.sources.first.url }}","{{media.sources.last.url}}"),alt:"{{media.preview_image.alt}}",poster:"{{media.preview_image.src | product_img_url: '1024x1024'}}",cameraControls:!0,arStatus:"not-presenting",style:{width:"100%",height:"100%"},aspectRatio:n(M)}),B=()=>p({src:"{{mediaSourceVideo}}",alt:"{{media.alt | escape}}",autoplay:!1,allowfullscreen:!0,controls:!0,style:{width:"100%",height:"100%"}}),H=()=>g({src:"{{mediaSourceVideo}}",title:"{{media.alt | escape}}",autoplay:!1,controls:!0,style:{width:"100%","max-height":"100%"}}),P=()=>i`
|
|
@@ -1,44 +1,44 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{template as e,isLocalEnv as r,baseAssetURL as o,WrapRenderChildren as t,RenderChildren as s}from"@gem-sdk/core";import{getConditionRenderGalleryImages as i,getStyleInsideLayout as a,setDefaultWhenUndefineSetting as p}from"./common/common.js";import l from"./components/feature-gallery/FeatureImageWithGallery.liquid.js";import d from"./components/gallery-carousel/GalleryCarousel.liquid.js";import m from"./components/gallery-grid/GalleryGrid.liquid.js";import{filterPageContext as u,getSettingPreloadData as c}from"../../../helpers.js";import{getShapeByLayout as n,sizeSettingDefaultForNewLayout as g}from"./common/productGallery.js";import{getProductImagesClassName as f}from"./composables/getProductImagesClassName.js";import{getProductImagesStyles as $}from"./composables/getProductImagesStyles.js";import{createAttr as y,LiquidIf as h,createClass as v,If as F,Liquid as j}from"@gem-sdk/system";import{getBorderActiveCss as I}from"./common/getBorderActiveCss.js";import{getStyleOfObject as S}from"../../helpers/function.js";let C=C=>{let P=p(C),{setting:G,styles:D,builderProps:b,style:O}=P,{rawChildren:_,pageContext:z}=C,{enableLazyLoadImage:N}=z??{},A={...G,...D},B=`
|
|
2
2
|
{
|
|
3
3
|
"id":${JSON.stringify(b?.uid)},
|
|
4
|
-
"pageContext": ${JSON.stringify(
|
|
4
|
+
"pageContext": ${JSON.stringify(u(z))},
|
|
5
5
|
"setting":${JSON.stringify(G)},
|
|
6
6
|
"styles":${JSON.stringify(D)},
|
|
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":{{ product | json }},
|
|
9
|
+
"collectionUrl": {{ collection.url | json }},
|
|
10
|
+
"collection": {{ collection | json }}
|
|
11
11
|
}
|
|
12
|
-
`,U=y({"section-id":"{{section.id}}","data-id":`${b?.uid}`}),{isOnlyFeatureAllDevices:k,isRenderGalleryGrid:q}=i(A?.position,G?.type),E=q?{}:y({"data-only-image":h("product.media.size > 1","false","true")}),{wrapperClasses:J,productImagesGalleryClasses:w}=f(C),T=v({"gp-grid gp-w-full !gp-m-0 gp-relative":!0}),x=v({"gp-w-full !gp-m-0 gp-relative":!0}),{wrapContainerStyle:L,wrapContainerStyleOnlyOneImage:M,galleryImageStyle:R}=$(A),V=n({shape:A.shape,shapeForBottom:A.shapeForBottom,shapeFor1Col:A.shapeFor1Col,shapeFor2Col:A.shapeFor2Col,shapeForFtOnly:A.shapeForFtOnly,shapeForInsideBottom:A.shapeForInsideBottom??g,shapeForInside:A.shapeForInside??g},A.position),W=a(A.position,V,A?.spacing),H=()=>
|
|
13
|
-
${
|
|
14
|
-
`;return
|
|
15
|
-
${
|
|
12
|
+
`,U=y({"section-id":"{{section.id}}","data-id":`${b?.uid}`}),{isOnlyFeatureAllDevices:k,isRenderGalleryGrid:q}=i(A?.position,G?.type),E=q?{}:y({"data-only-image":h("product.media.size > 1","false","true")}),{wrapperClasses:J,productImagesGalleryClasses:w}=f(C),T=v({"gp-grid gp-w-full !gp-m-0 gp-relative":!0}),x=v({"gp-w-full !gp-m-0 gp-relative":!0}),{wrapContainerStyle:L,wrapContainerStyleOnlyOneImage:M,galleryImageStyle:R}=$(A),V=n({shape:A.shape,shapeForBottom:A.shapeForBottom,shapeFor1Col:A.shapeFor1Col,shapeFor2Col:A.shapeFor2Col,shapeForFtOnly:A.shapeForFtOnly,shapeForInsideBottom:A.shapeForInsideBottom??g,shapeForInside:A.shapeForInside??g},A.position),W=a(A.position,V,A?.spacing),H=()=>e`
|
|
13
|
+
${t({uid:b?.uid||"",customProps:_?.[0].customProps},_?.map(r=>{if(r)return e`${s({...r,isInsideProductImage:!0,imageData:{imageShape:D?.ftShape,imageAlign:D?.align,imageLayout:D?.position},dotData:{dotSize:G?.ftDotSize,dotGapToCarousel:G?.ftDotGapToCarousel,dotStyle:G?.ftDotStyle}})}`}))}
|
|
14
|
+
`;return e`
|
|
15
|
+
${F(G?.borderActive?.border!=="none",h("product.media.size > 1",`<style>${I({settings:A,uid:b?.uid,type:"Liquid"})}</style>`),"")}
|
|
16
16
|
${j(`
|
|
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='${B}'
|
|
22
21
|
${{...U}}
|
|
23
|
-
style="${{...
|
|
22
|
+
style="${{...O}}"
|
|
24
23
|
class="${J}"
|
|
25
24
|
>
|
|
26
|
-
<
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
${S(!k,r`
|
|
25
|
+
<script gp-data type="application/json">${B}</script>
|
|
26
|
+
{% capture renderFeatureImage %}
|
|
27
|
+
${e`
|
|
28
|
+
${l({builderPropUID:`gp-carousel-${b?.uid}`,...A,children:H(),enableLazyLoadImage:N})}
|
|
29
|
+
${F(!k,e`
|
|
32
30
|
<div
|
|
33
31
|
class="${w}"
|
|
34
|
-
style="${
|
|
32
|
+
style="${S(R)}"
|
|
35
33
|
${{...E}}
|
|
36
34
|
>
|
|
37
35
|
${h("product.media.size > 1",d({builderPropUID:`gp-gallery-${b?.uid}`,...A,enableLazyLoadImage:N}))}
|
|
38
|
-
${
|
|
36
|
+
${F(q,m({builderPropUID:b?.uid,wrapperStyle:{...W},children:H(),...A,enableLazyLoadImage:N}))}
|
|
39
37
|
</div>
|
|
40
38
|
`)}
|
|
41
|
-
|
|
39
|
+
`}
|
|
40
|
+
{% endcapture %}
|
|
41
|
+
${h("product.media.size > 1",e`<div class="${T}" style="${S(L)}">{{ renderFeatureImage }}</div>`,e`<div class="${x}" style="${S(M)}">{{ renderFeatureImage }}</div>`)}
|
|
42
42
|
</gp-product-images-v3>
|
|
43
|
-
${
|
|
43
|
+
${F(r,`<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{getResponsiveValueByScreen as e,DEVICES as t,makeStyleResponsive as o}from"@gem-sdk/core";let n=e=>!!e&&["EXTERNAL_VIDEO","MODEL_3D","VIDEO"].includes(e),p=()=>"!gp-flex gp-absolute gp-opacity-0 gp-h-[150px] gp-w-[150px] gp-cursor-none gp-rounded-full gp-bg-no-repeat gp-shadow-glasses gp-bg-white gp-pointer-events-none",r=()=>"gp-absolute gp-left-0 gp-top-0 gp-opacity-0 gp-transition-opacity gp-bg-white gp-pointer-events-none",g=o=>{let n={};return t.forEach(t=>{let p=e(o.position,t),r=e(o.dotStyle,t);n={...n,[t]:"only-feature"===p?r:"none"}}),n},l=
|
|
1
|
+
import{getResponsiveValueByScreen as e,DEVICES as t,makeStyleResponsive as o}from"@gem-sdk/core";let n=e=>!!e&&["EXTERNAL_VIDEO","MODEL_3D","VIDEO"].includes(e),p=()=>"!gp-flex gp-absolute gp-opacity-0 gp-h-[150px] gp-w-[150px] gp-cursor-none gp-rounded-full gp-bg-no-repeat gp-shadow-glasses gp-bg-white gp-pointer-events-none",r=()=>"gp-absolute gp-left-0 gp-top-0 gp-opacity-0 gp-transition-opacity gp-bg-white gp-pointer-events-none",g=o=>{let n={};return t.forEach(t=>{let p=e(o.position,t),r=e(o.dotStyle,t);n={...n,[t]:"only-feature"===p?r:"none"}}),n},l=({ftLayout:t,ftShape:n})=>{if(!t)return null;let p={};return Object.keys(t).forEach(o=>{let r=t[o],g=e(n,o),l=g?.shape==="original";r&&(p[o]=l||"cover"===r?"100%":"auto")}),o("h",p)},a=e=>{let t=!1;return["desktop","mobile","tablet"].forEach(o=>{let n=i(e,o);i(e,o)&&(t=n)}),t},i=(t,o)=>"only-feature"!==e(t.position,o)||"none"!==e(t.ftNavigationPosition,o)||"none"!==e(t.ftDotStyle,o)||!0===e(t.ftLoop,o)||!0===t.ftDragToScroll;export{a as checkRenderFeaturedCarousel,g as getDotStyleForOnlyFeaturedImage,l as getVideoHeight,r as getZoomImageClass,p as getZoomLenClass,n as isFeatureMedia};
|
package/dist/esm/product/components/product-images-v3/components/child/ProductFeatureVideo.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as e
|
|
1
|
+
import{jsx as e}from"react/jsx-runtime";import{memo as t,useMemo as r}from"react";import"@gem-sdk/core";import"next/link";import o from"../../../../../video/components/Video.js";var l=t(t=>{let{url:l,aspectRatio:i,thumbnail:m}=t,s=r(()=>l.includes("youtu.be")?"youtube":l.includes("vimeo")?"vimeo":"html5",[l]);return e("div",{className:"gp-w-full gp-h-full gp-flex gp-items-center gp-justify-center",children:e(o,{setting:{type:s,html5Url:l,youtubeUrl:l,vimeoUrl:l,preload:!0,controls:!0,aspectRatio:i,poster:m?{src:m}:void 0},className:"gp-w-full"})})});export{l 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};
|
package/dist/esm/product/components/product-images-v3/components/child/ProductGalleryGrid.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as e,Fragment as o,jsxs as t}from"react/jsx-runtime";import{useCurrentDevice as r,
|
|
2
|
-
${
|
|
1
|
+
import{jsx as e,Fragment as o,jsxs as t}from"react/jsx-runtime";import{useCurrentDevice as r,useRenderMode as i,getResponsiveValueByScreen as a,cls as m,makeStyle as l}from"@gem-sdk/core";import{memo as c}from"react";import{getAspectRatio as s}from"../../common/common.js";import n from"../../../../../image/components/NextImage.js";import d from"../lightbox/ButtonOpenLightBox.js";import p from"./MediaIcon.js";import g from"./ProductFeatureVideo.js";import{isFeatureMedia as h,getZoomImageClass as y,getZoomLenClass as u}from"../../common/productFeaturedImage.js";import{handleMouseOut as f,handleMouseMove as v}from"../../common/hoverAction.js";import{getProductImagesClassName as j}from"../../composables/getProductImagesClassName.js";import{getProductImagesStyles as T}from"../../composables/getProductImagesStyles.js";import{useProductGalleryGrid as w}from"../../hooks/useProductGalleryGrid.js";var I=c(c=>{let{builderPropUID:I,productImages:E,onHandleClick:b,activeIndexFromFeatureImage:x,children:N,isHiddenInteraction:O,...P}=c,{isDisplay:k,shapeByLayout:G,imageActiveIndex:M,enableOpenLightBox:R,isEnableBorderActive:$,filteredProductImages:z}=w(c),A=r(),{isEditMode:B}=i(),H=["one-col","two-col"].includes(a(P.position,A)||""),{galleryGridWrapperClasses:L,galleryItemClasses:V}=j(P),{galleryGridStyles:Z,galleryGridItemStyles:C}=T(P);return e(o,{children:k&&t("div",{"data-slot":"children","data-id":I,className:L,style:Z,"gp-data-hidden":`${O}`,children:[z?.map((r,i)=>{let c=i===M,j=h(r.contentType)?r.previewImage:r.src,T=!B&&H&&!R&&["VIDEO","EXTERNAL_VIDEO"].includes(r?.contentType||"");return t("div",{"aria-hidden":!0,className:V(`gp-gallery-image-item gem-slider-item-${I}
|
|
2
|
+
${c&&$?"gem-slider-item-active":""}`),onClick:()=>b(r?.id||"",R),style:C,onMouseMove:e=>v(e,{hoverEffect:P.galleryHoverEffect,zoom:P.galleryZoom,zoomType:P.galleryZoomType}),onMouseOut:e=>f(e),"data-border":c&&P?.borderActive?"active":"deactive",children:[T?e(g,{type:r?.contentType,url:r?.src??"",thumbnail:r?.previewImage,aspectRatio:s(G)}):t(o,{children:[e(n,{src:j,width:r?.width,height:r?.height,alt:r?.alt,setting:{aspectRatio:s(G),layout:P?.layout},style:{width:"100%",height:"100%"}},r?.id),e(p,{contentType:r?.contentType||""})]}),P?.galleryHoverEffect!=="none"&&!h(r?.contentType)&&e(n,{src:j,width:r?.width,height:r?.height,alt:r?.alt,setting:{layout:P.layout,aspectRatio:s(G)},className:m("hover-image !gp-max-w-none",y())}),P?.galleryHoverEffect=="zoom"&&P?.galleryZoomType=="glasses"&&["one-col","two-col"].includes(a(P.position,A)||"")&&!h(r?.contentType)&&e("div",{className:m(u(),"room-len"),style:{...l({bgi:`url("${r?.src}")`})}}),a(P?.clickOpenLightBox,A)&&e(d,{})]},r?.id)}),N]})})});export{I as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{makeStyleResponsive as e,cls as a,template as i}from"@gem-sdk/core";import{getAspectRatio as t,getPaddingBottomByShapeSetting as r,getSrcImage as s}from"../../common/common.js";import{checkRenderFeaturedCarousel as d,getZoomImageClass as o,getZoomLenClass as u,getVideoHeight as
|
|
1
|
+
import{makeStyleResponsive as e,cls as a,template as i}from"@gem-sdk/core";import{getAspectRatio as t,getPaddingBottomByShapeSetting as r,getSrcImage as s}from"../../common/common.js";import{checkRenderFeaturedCarousel as d,getZoomImageClass as o,getZoomLenClass as u,getVideoHeight as m}from"../../common/productFeaturedImage.js";import l from"../../../../../video/components/HTML5Embed.liquid.js";import p from"../../../../../image/components/Modal3d.liquid.js";import g from"../../../../../image/components/NextImage.liquid.js";import n from"../../../../../image/components/Video.liquid.js";import{getStyleOfObject as c}from"../../../../helpers/function.js";import{getProductImagesStyles as f}from"../../composables/getProductImagesStyles.js";import{getProductImagesClassName as h}from"../../composables/getProductImagesClassName.js";import{getProductImagesAttr as y}from"../../composables/getProductImagesAttr.js";import{If as M,LiquidIf as _,LiquidFor as w,Liquid as v,createStyle as b}from"@gem-sdk/system";import $ from"../../../../../carousel-v3/components/root/Carousel.liquid.js";import I from"../../../../../carousel-v3/components/item/CarouselItem.liquid.js";let x=({builderPropUID:x,children:q,enableLazyLoadImage:S,...z})=>{let{featuredImageCarouselClasses:j,galleryItemClasses:L,featuredCarouselItemClasses:P}=h({...z,builderProps:{uid:x}}),{featuredImageCarouselStyle:R,featureImageStyle:T,featureImageCarouselOnlyOneImageStyle:W,featureImageOnlyOneImageStyle:C,featureImageCarouselItemStyle:N}=f(z),{featuredImageCarouselSettingAttrs:k}=y(z),E=t(z.ftShape),O=M("other"==z.hoverEffect,_("product.media.size > 1","group-hover:gp-opacity-0")),A=()=>`
|
|
2
2
|
{% case featureMedia.media_type %}
|
|
3
3
|
{% when 'image' %}
|
|
4
4
|
${F()}
|
|
@@ -13,31 +13,32 @@ import{makeStyleResponsive as e,cls as a,template as i}from"@gem-sdk/core";impor
|
|
|
13
13
|
{% else %}
|
|
14
14
|
${G()}
|
|
15
15
|
{% endcase %}
|
|
16
|
-
`,D=()=>p({src:_("featureMedia.sources.first.url contains '.glb'","{{ featureMedia.sources.first.url }}","{{featureMedia.sources.last.url}}"),alt:"{{featureMedia.preview_image.alt}}",poster:"{{featureMedia.preview_image.src | product_img_url: '1024x1024'}}",cameraControls:!0,arStatus:"not-presenting",style:{width:"100%"},aspectRatio:E}),V=()=>n({src:"{{mediaSourceVideo}}",alt:"{{featureMedia.alt | escape}}",autoplay:!1,allowfullscreen:!0,controls:!0,style:{width:"100%",height:"100%"},aspectRatio:E}),H=()=>{let a=
|
|
16
|
+
`,D=()=>p({src:_("featureMedia.sources.first.url contains '.glb'","{{ featureMedia.sources.first.url }}","{{featureMedia.sources.last.url}}"),alt:"{{featureMedia.preview_image.alt}}",poster:"{{featureMedia.preview_image.src | product_img_url: '1024x1024'}}",cameraControls:!0,arStatus:"not-presenting",style:{width:"100%"},aspectRatio:E}),V=()=>n({src:"{{mediaSourceVideo}}",alt:"{{featureMedia.alt | escape}}",autoplay:!1,allowfullscreen:!0,controls:!0,style:{width:"100%",height:"100%"},aspectRatio:E}),H=()=>{let a=b({...m({ftLayout:z?.ftLayout,ftShape:z?.ftShape}),...e("objf",z?.ftLayout)}),i=b({...m({ftLayout:z?.ftLayout,ftShape:z?.ftShape})});return l({src:"{{mediaSourceVideo}}",title:"{{featureMedia.alt | escape}}",autoplay:!1,controls:!0,thumbnail:"{{featureMedia.preview_image.src | product_img_url: '1024x1024'}}",isCheckLoaded:!0,wrapperStyles:i,poster:{altText:"{{featureMedia.alt | escape}}"},style:{width:"100%","max-height":"100%",...a},className:"gp-invisible"})},F=()=>i`
|
|
17
17
|
${B(a("gp-w-full gp-transition-opacity",O,"{{shouldHidden}}"))}
|
|
18
|
-
${M(
|
|
18
|
+
${M(z?.hoverEffect!=="none",`<div class="${a("zoom-element !gp-max-w-none",o())}">
|
|
19
19
|
${B("image-zoom",!0)}
|
|
20
20
|
</div>`," ")}
|
|
21
|
-
${M(
|
|
21
|
+
${M(z?.hoverEffect=="zoom"&&z?.zoomType=="glasses",`<div class="${a("zoom-lens-element",u())}" style="opacity: 0; background-image: url({{ featureMedia.src | img_url: '1024x1024'}})"></div>`," ")}
|
|
22
22
|
`,B=(e,a)=>i`
|
|
23
23
|
{% assign src = featureMedia.src %}
|
|
24
|
-
${M(a&&"other"==
|
|
25
|
-
{% assign other_image_index = ${
|
|
24
|
+
${M(a&&"other"==z.hoverEffect,`{% assign media_length = product.media | size %}
|
|
25
|
+
{% assign other_image_index = ${z.otherImage} | plus: 0 %}
|
|
26
26
|
{% if other_image_index >= media_length %}
|
|
27
27
|
{% assign other_image_index = media_length | minus: 1 %}
|
|
28
28
|
{% endif %}
|
|
29
29
|
{% assign otherImage = product.media[other_image_index] %}
|
|
30
30
|
${_("otherImage.media_type != 'image'","{% assign src = otherImage.preview_image.src %}","{% assign src = otherImage.src %}")}
|
|
31
31
|
`)}
|
|
32
|
-
${g({srcIsLiquidCode:!0,src:_("src != null",s("src"),"https://cdn.shopify.com/s/assets/no-image-2048-5e88c1b20e087fb7bbe9a3771824e743c244f437e4f8ba93bbf7b11b53f7824c_large.gif"),id:_("featureMedia != null","{{featureMedia.id}}"),width:"{{featureMedia.width}}",height:"{{featureMedia.height}}",alt:"{{featureMedia.alt | escape}}",srcset:`${s("src")}`,baseSrc:"{{src | image_url}}",sizes:"(max-width: 768px) 50vw, 100vw",setting:{layout:
|
|
33
|
-
${g({srcIsLiquidCode:!0,src:"https://cdn.shopify.com/s/assets/no-image-2048-5e88c1b20e087fb7bbe9a3771824e743c244f437e4f8ba93bbf7b11b53f7824c_large.gif",alt:"No Image",sizes:"(max-width: 768px) 50vw, 100vw",setting:{layout:
|
|
34
|
-
${
|
|
35
|
-
{% assign height = featureMedia.height | times: 1.0 %}
|
|
36
|
-
|
|
32
|
+
${g({srcIsLiquidCode:!0,src:_("src != null",s("src"),"https://cdn.shopify.com/s/assets/no-image-2048-5e88c1b20e087fb7bbe9a3771824e743c244f437e4f8ba93bbf7b11b53f7824c_large.gif"),id:_("featureMedia != null","{{featureMedia.id}}"),width:"{{featureMedia.width}}",height:"{{featureMedia.height}}",alt:"{{featureMedia.alt | escape}}",srcset:`${s("src")}`,baseSrc:"{{src | image_url}}",sizes:"(max-width: 768px) 50vw, 100vw",setting:{layout:z?.ftLayout,aspectRatio:E,qualityType:z?.qualityType,qualityPercent:z?.qualityPercent},priority:z?.preload,className:`gp-w-full gp-h-full gp-absolute gp-top-0 gp-left-0 featured-image-only gp-cursor-pointer !gp-rounded-none ${e??""}`,enableLazyLoadImage:S})}`,G=()=>i`
|
|
33
|
+
${g({srcIsLiquidCode:!0,src:"https://cdn.shopify.com/s/assets/no-image-2048-5e88c1b20e087fb7bbe9a3771824e743c244f437e4f8ba93bbf7b11b53f7824c_large.gif",alt:"No Image",sizes:"(max-width: 768px) 50vw, 100vw",setting:{layout:z?.ftLayout,aspectRatio:E,qualityType:z?.qualityType,qualityPercent:z?.qualityPercent},priority:z?.preload,className:"gp-w-full gp-h-full gp-absolute gp-top-0 gp-left-0 featured-image-only gp-cursor-pointer !gp-rounded-none",enableLazyLoadImage:S})}`,J=r(z.ftShape),K=d(z),Q="gp-featured-image-wrapper",U=_("product.media.size > 0",`{% assign largestRatio = 0 %}
|
|
34
|
+
${w("featureMedia in product.media",`
|
|
35
|
+
${_("featureMedia.media_type == 'video' and featureMedia.preview_image",`{% assign height = featureMedia.preview_image.height | times: 1.0 %}
|
|
36
|
+
{% assign width = featureMedia.preview_image.width | times: 1.0 %}`,`{% assign height = featureMedia.height | times: 1.0 %}
|
|
37
|
+
{% assign width = featureMedia.width | times: 1.0 %}`)}
|
|
37
38
|
{% assign ratio = height | divided_by: width %}
|
|
38
39
|
${_("ratio > largestRatio","{% assign largestRatio = ratio %}")}
|
|
39
40
|
`)}
|
|
40
|
-
${
|
|
41
|
+
${w("featureMedia in product.media",`${_("featureMedia.media_type == 'image'",`${w("image in product.images",_("image.src == featureMedia.src","{% assign imageID = image.id %}{% break %}"))}`,"{% assign imageID = '' %}")}
|
|
41
42
|
|
|
42
43
|
${v(`{% assign productImageWidth = 0 %}
|
|
43
44
|
{% case featureMedia.media_type %}
|
|
@@ -54,16 +55,16 @@ import{makeStyleResponsive as e,cls as a,template as i}from"@gem-sdk/core";impor
|
|
|
54
55
|
${A()}
|
|
55
56
|
</div>
|
|
56
57
|
`})}`)}
|
|
57
|
-
`,g({src:"https://cdn.shopify.com/s/assets/no-image-2048-5e88c1b20e087fb7bbe9a3771824e743c244f437e4f8ba93bbf7b11b53f7824c_large.gif",id:"noImageError",width:"480",height:"480",alt:"no image",priority:
|
|
58
|
+
`,g({src:"https://cdn.shopify.com/s/assets/no-image-2048-5e88c1b20e087fb7bbe9a3771824e743c244f437e4f8ba93bbf7b11b53f7824c_large.gif",id:"noImageError",width:"480",height:"480",alt:"no image",priority:z?.preload,setting:{layout:z?.ftLayout,aspectRatio:E,qualityType:z?.qualityType,qualityPercent:z?.qualityPercent},style:{height:"100%"},className:"gp-w-full featured-image-only !gp-rounded-none",customLazyload:!0,enableLazyLoadImage:S}));return v(`
|
|
58
59
|
{% capture featureImageOnlyOne %}
|
|
59
60
|
${v(`
|
|
60
61
|
{% assign featureMedia = variant.featured_media %}
|
|
61
62
|
{% unless featureMedia %}
|
|
62
63
|
{% assign featureMedia = product.featured_media %}
|
|
63
64
|
{% endunless %}
|
|
64
|
-
${_("product.media.size > 1",(()=>{switch(
|
|
65
|
+
${_("product.media.size > 1",(()=>{switch(z?.preDisplay){case"1st-images":return`
|
|
65
66
|
{% assign featureMedia = product.media.first %}
|
|
66
|
-
`;case"1st-3d-mode":return
|
|
67
|
+
`;case"1st-3d-mode":return w("media in product.media",_("media.media_type == 'model'","{% assign featureMedia = media %}{% break %}"));case"1st-video":return w("media in product.media",_("media.media_type == 'video' or media.media_type == 'external_video'","{% assign featureMedia = media %}{% break %}"));default:return`
|
|
67
68
|
{% assign featureMedia = variant.featured_media %}
|
|
68
69
|
{% unless featureMedia %}
|
|
69
70
|
{% assign featureMedia = product.featured_media %}
|
|
@@ -111,7 +112,7 @@ import{makeStyleResponsive as e,cls as a,template as i}from"@gem-sdk/core";impor
|
|
|
111
112
|
{% endcapture %}
|
|
112
113
|
${_("product.media.size > 1",`
|
|
113
114
|
${M(K,`
|
|
114
|
-
${$({builderProps:{uid:x},rootId:`ft-${x}-{{section.id}}-{{product.id}}`,conditionAppendJs:"product.media.size > 1",wrapperClass:Q,rootClass:`${
|
|
115
|
+
${$({builderProps:{uid:x},rootId:`ft-${x}-{{section.id}}-{{product.id}}`,conditionAppendJs:"product.media.size > 1",wrapperClass:Q,rootClass:`${j}`,rootAttrs:{type:"gp-feature-image-carousel","product-id":"{{product.id}}","product-media":"{{product.media.size}}"},isHiddenArrowWhenDisabled:!0,setting:k,rootStyles:T,styles:R,style:{playSpeed:600},disableMarginAuto:!0,children:U,productBadgeLiquid:q||"",carouselType:"feature_image"})}
|
|
115
116
|
`," ")}
|
|
116
117
|
${M(!K,"{{ featureImageOnlyOne }}"," ")}
|
|
117
118
|
`,"{{ featureImageOnlyOne }}")}
|