@gem-sdk/components 17.0.0-dev.13 → 17.0.0-dev.130
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/arrow/common/styles.js +17 -17
- 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/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/components/ImageComparison.js +1 -1
- package/dist/cjs/image-comparison/components/ImageComparison.liquid.js +2 -2
- 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-v2/ProductImagesV2.liquid.js +26 -29
- package/dist/cjs/product/components/product-images-v3/ProductImagesV3.liquid.js +26 -29
- 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/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/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/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/arrow/common/styles.js +17 -17
- 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/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/components/ImageComparison.js +1 -1
- package/dist/esm/image-comparison/components/ImageComparison.liquid.js +3 -3
- 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-v2/ProductImagesV2.liquid.js +27 -30
- package/dist/esm/product/components/product-images-v3/ProductImagesV3.liquid.js +27 -30
- 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 +19 -16
- 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/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/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/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 +266 -29
- 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,20 +1,20 @@
|
|
|
1
|
-
import{
|
|
2
|
-
${
|
|
3
|
-
${
|
|
4
|
-
${
|
|
1
|
+
import{dataStringify as t,isLocalEnv as s,baseAssetURL as a,template as i}from"@gem-sdk/core";import{createClass as e,createStateOrContext as o,Liquid as n,LiquidFor as r,If as l}from"@gem-sdk/system";import{getSettingPreloadData as p}from"../../../helpers.js";import{getButtonClasses as d}from"./common/classes.js";import{getButtonStyles as m}from"./common/styles.js";let c=({setting:c,advanced:u,styles:y,builderProps:_,className:g=""})=>{let f=e({...!!g&&{[g]:!0},...d({styles:y,uid:_?.uid})}),$=m({styles:y,uid:_?.uid}),v=o({setting:{label:c?.label},totalVariant:"{{total_combinations}}"});return i`
|
|
2
|
+
${n("{%- assign total_combinations = 1 -%}")}
|
|
3
|
+
${r("option in product.options_with_values","{%- assign total_combinations = total_combinations | times: option.values.size -%}")}
|
|
4
|
+
${n(`
|
|
5
5
|
{%- liquid
|
|
6
6
|
assign inventory_quantity = variant.inventory_quantity | default: 0
|
|
7
7
|
assign supported_payment_methods = shop.enabled_payment_types
|
|
8
8
|
-%}
|
|
9
9
|
`)}
|
|
10
|
-
<gp-product-dynamic data-id="${
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
10
|
+
<gp-product-dynamic data-id="${_?.uid}" data-translate-label='${c?.label}' class="${u?.cssClass}">
|
|
11
|
+
<script gp-data type="application/json">${t(v)}</script>
|
|
12
|
+
<div class="${f}">
|
|
13
|
+
{{ form | payment_button }}
|
|
14
|
+
</div>
|
|
15
|
+
{% style %}
|
|
16
|
+
${$}
|
|
17
|
+
{% endstyle %}
|
|
18
18
|
</gp-product-dynamic>
|
|
19
|
-
${l(
|
|
20
|
-
`};export{
|
|
19
|
+
${l(s,`<script ${p('class="gps-link" delay',"src")}="{{ 'gp-product-dynamic-v7-5.js' | asset_url }}" defer="defer"></script>`,`<script ${p('class="gps-link" delay',"src")}="${a}/assets-v2/gp-product-dynamic-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}" defer="defer"></script>`)}
|
|
20
|
+
`};export{c as default};
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import{template as e,RenderIf as s,isLocalEnv as i,baseAssetURL as l}from"@gem-sdk/core";import{getSettingPreloadData as r}from"../../../helpers.js";import{createClass as t,createStyle as d,createAttr as o,createStateOrContext as a,If as c}from"@gem-sdk/system";import{createLayoutClasses as v,createTypoClasses as f,createPreviewClasses as
|
|
2
|
-
<gp-file-upload
|
|
3
|
-
|
|
4
|
-
>
|
|
1
|
+
import{template as e,RenderIf as s,isLocalEnv as i,baseAssetURL as l}from"@gem-sdk/core";import{getSettingPreloadData as r}from"../../../helpers.js";import{createClass as t,createStyle as d,createAttr as o,createStateOrContext as a,If as c}from"@gem-sdk/system";import{createLayoutClasses as v,createTypoClasses as f,createPreviewClasses as p,createPreviewItemClasses as m,createPreviewRemoveClasses as $,createMessageClasses as n,createContentWidthClasses as u,createInputClasses as g,composeClasses as y,createWrapContainerClasses as b,createIconContentClasses as j}from"./common/classes.js";import{createLayoutStyles as E,createTypoStyles as H,createMessageStyles as S,createContainerStyles as h,createWrapContentWidthStyles as k,createContentWithStyles as q,createIconContainerStyles as w,createIconContentStyles as F}from"./common/style.js";import{getInputAttr as O}from"./common/attr.js";import{removeHoverStyles as x,getDisplayText as R}from"./common/helpers.js";let I=({setting:I,styles:P,builderProps:C,pageContext:J})=>{let L=t(v(I,C?.uid)),N=d({...x(E(I,P),P?.enableHoverEffect)}),U=t(f(P)),V=d({...x(H(P),P?.enableHoverEffect)}),_=t(p()),z=t(m()),A=t($()),B=t(n()),D=d(S()),G=t(u()),K=t(g()),M=t(y("gp-flex gp-items-center")),Q=o({...O(I?.isRequired,I?.numberOfFiles)}),T=d({...x(h(P?.align,P?.textColor),P?.enableHoverEffect)}),W=d({...x(k(I),P?.enableHoverEffect)}),X=t(b(C?.uid)),Y=d({...x(q(I,P),P?.enableHoverEffect)}),Z=d({...x(w(I),P?.enableHoverEffect)}),ee=t(j()),es=d({...x(F(I,P),P?.enableHoverEffect)}),ei=R("Liquid",{uid:C?.uid,setting:I,styles:P,pageContext:J}),el=a({settings:{isShowPreviewImage:I?.isShowPreviewImage,numberOfFiles:I?.numberOfFiles,isRequired:I?.isRequired}});return e`
|
|
2
|
+
<gp-file-upload>
|
|
3
|
+
<script gp-data type="application/json">${JSON.stringify(el)}</script>
|
|
5
4
|
<div class="${X}" style="${T}">
|
|
6
5
|
<input ${Q} class="${K}">
|
|
7
6
|
<div class="${M}" style="${W}">
|
|
@@ -1 +1 @@
|
|
|
1
|
-
let t=[{label:"Layout",controls:[{setting:{id:"fileUploadLayout"},layout:"vertical",options:{isComboLayout:!0},controls:[{label:"Icon position",setting:{id:"positionVertical"},conditionDisplay:"fileUploadLayout === 'vertical'"},{label:"Icon position",setting:{id:"positionHorizontal"},conditionDisplay:"fileUploadLayout !== 'vertical'"},{label:"Arrange content",setting:{id:"arrangeContent"}},{type:"control",label:"Spacing",setting:{id:"spacing"}}]}]},{label:"Upload setting",controls:[{type:"control",label:"Required",setting:{id:"isRequired"}},{type:"control",label:"Click image to preview",setting:{id:"isShowPreviewImage"}},{type:"control",label:"Number of files",setting:{id:"numberOfFiles"}}]},{controls:[{label:"Icon",setting:{id:"iconVisible"},options:{labelVariant:"primary",toggleStyle:"switch"}},{type:"control",label:"Choose icon",setting:{id:"iconSvg"},conditionDisplay:"iconVisible === true"},{type:"control",label:"Size",setting:{id:"iconSize"},conditionDisplay:"iconVisible === true"},{type:"control",label:"Position",setting:{id:"iconAlignVertical"},conditionDisplay:'iconVisible === true && fileUploadLayout === "vertical"'},{type:"control",label:"Position",setting:{id:"iconAlignHorizontal"},conditionDisplay:'iconVisible === true && fileUploadLayout === "horizontal"'}]},{label:"Size",controls:[{id:"Width",label:"Width",controlConfig:{id:"width",type:"dropdown:input",label:"Width",inputType:"number",units:["px","%"],hideUnit:!1,linkWithSetting:{name:"size",field:"width"},displayOptions:[{label:"Fit content",value:"Auto",showValue:!0},{label:"Full",value:"100%",showValue:!0},{label:"Small",value:"100px",showValue:!0},{label:"Medium",value:"200px",showValue:!0},{label:"Large",value:"300px",showValue:!0}]},layout:"horizontal"},{id:"Height",label:"Height",controlConfig:{id:"height",type:"dropdown:input",label:"height",inputType:"number",units:["px"],hideUnit:!1,linkWithSetting:{name:"size",field:"height"},displayOptions:[{label:"Fit content",value:"Auto",showValue:!0},{label:"Small",value:"100px",showValue:!0},{label:"Medium",value:"200px",showValue:!0},{label:"Large",value:"300px",showValue:!0}]},layout:"horizontal"},{label:"Padding",controlConfig:{id:"padding",type:"padding-v2",linkWithSetting:{name:"paddingSize",field:"padding"},compoDefaultValue:{desktop:{default:{type:"custom",top:"12px",bottom:"12px",left:"32px",right:"32px"}}}}}]},{label:"Background",controls:[{label:"Color",setting:{id:"backgroundColor",state:"normal"}}]},{label:"Shape",controls:[{label:"Border",setting:{id:"borderBtn",state:"normal"}},{label:"Corner",setting:{id:"roundedBtn",state:"normal"}},{label:"Shadow",setting:{id:"boxShadowBtn",state:"normal"},options:{updateFields:[{field:"normal.enable",settingId:"hasBoxShadowBtn",state:"normal"}]},controlChangeTrigger:{settings:[{condition:"boxShadowBtn.normal.enable === true",source:["boxShadowBtn","hasBoxShadowBtn"],action:{controlId:"hasBoxShadowBtn",groupType:"style",controlType:"style",state:"normal",newValue:!0}},{condition:"boxShadowBtn.normal.enable === false",source:["boxShadowBtn","hasBoxShadowBtn"],action:{controlId:"hasBoxShadowBtn",groupType:"style",controlType:"style",state:"normal",newValue:!1}}],options:{noRecordHistory:!0}}}]},{label:"Text style",controls:[{type:"combo",label:"Content",iconName:"polaris-text-block",getValueFromSettingID:"textContent",isHideClear:!0,popoverLabel:"Content",controls:[{label:"Content",options:{fullWidth:!0},layout:"vertical",setting:{id:"textContent"}}]},{type:"control",setting:{id:"typo"},options:{updateFields:[{field:"attrs.textAlign",settingId:"textAlign"},{field:"attrs.color",settingId:"textColor",state:"normal"}]},layout:"vertical",controlChangeTrigger:{settings:[{action:{controlId:"textColor",valueFromField:"attrs.color",groupType:"style",controlType:"style",removeDevice:!0,state:"normal"}},{action:{controlId:"textAlign",valueFromField:"attrs.textAlign",groupType:"style",controlType:"style"}}],options:{noRecordHistory:!0}}}]},{label:"Effect",controls:[{label:"Hover",type:"combo",setting:{id:"enableHoverEffect"},fixedValue:"Styled",iconName:"polaris-check-hover",popoverLabel:"Hover",state:"hover",controls:[{label:"Background",type:"group",controls:[{label:"Color",type:"control",setting:{id:"backgroundColor",state:"hover"}}]},{label:"Text & icon",type:"group",controls:[{label:"Text color",setting:{id:"textColor",state:"hover"}}]},{label:"Shape",type:"group",controls:[{label:"Border",setting:{id:"borderBtn",state:"hover"}},{label:"Corner",setting:{id:"roundedBtn",state:"hover"}},{label:"Shadow",setting:{id:"boxShadowBtn",state:"hover"}}]}],controlChangeTrigger:{settings:[{action:{controlId:"backgroundColor",groupType:"style",controlType:"style",state:"hover",newValue:"#DDDDDD"}}]}}]},{controls:[{label:"Align",conditionEnable:'!size.width?.includes("%") || (parseInt(size.width) < 100 && size.width?.includes("%"))',setting:{id:"align"},options:{labelVariant:"primary",fullWidth:!0,disableMessage:"Horizontal alignment is disabled when the width is set to 100% or greater"}}]}];export{t as SettingUIV2};
|
|
1
|
+
let t=[{label:"Layout",controls:[{setting:{id:"fileUploadLayout"},layout:"vertical",options:{isComboLayout:!0},controls:[{label:"Icon position",setting:{id:"positionVertical"},conditionDisplay:"fileUploadLayout === 'vertical'"},{label:"Icon position",setting:{id:"positionHorizontal"},conditionDisplay:"fileUploadLayout !== 'vertical'"},{label:"Arrange content",setting:{id:"arrangeContent"}},{type:"control",label:"Spacing",setting:{id:"spacing"}}]}]},{label:"Upload setting",controls:[{type:"control",label:"Required",setting:{id:"isRequired"}},{type:"control",label:"Click image to preview",setting:{id:"isShowPreviewImage"}},{type:"control",label:"Number of files",setting:{id:"numberOfFiles"}}]},{controls:[{label:"Icon",setting:{id:"iconVisible"},options:{labelVariant:"primary",toggleStyle:"switch"}},{type:"control",label:"Choose icon",setting:{id:"iconSvg"},conditionDisplay:"iconVisible === true"},{type:"control",label:"Size",setting:{id:"iconSize"},conditionDisplay:"iconVisible === true"},{type:"control",label:"Position",setting:{id:"iconAlignVertical"},conditionDisplay:'iconVisible === true && fileUploadLayout === "vertical"'},{type:"control",label:"Position",setting:{id:"iconAlignHorizontal"},conditionDisplay:'iconVisible === true && fileUploadLayout === "horizontal"'}]},{label:"Size",hiddenOnMobile:!0,controls:[{id:"Width",label:"Width",controlConfig:{id:"width",type:"dropdown:input",label:"Width",inputType:"number",units:["px","%"],hideUnit:!1,linkWithSetting:{name:"size",field:"width"},displayOptions:[{label:"Fit content",value:"Auto",showValue:!0},{label:"Full",value:"100%",showValue:!0},{label:"Small",value:"100px",showValue:!0},{label:"Medium",value:"200px",showValue:!0},{label:"Large",value:"300px",showValue:!0}]},layout:"horizontal"},{id:"Height",label:"Height",controlConfig:{id:"height",type:"dropdown:input",label:"height",inputType:"number",units:["px"],hideUnit:!1,linkWithSetting:{name:"size",field:"height"},displayOptions:[{label:"Fit content",value:"Auto",showValue:!0},{label:"Small",value:"100px",showValue:!0},{label:"Medium",value:"200px",showValue:!0},{label:"Large",value:"300px",showValue:!0}]},layout:"horizontal"},{label:"Padding",controlConfig:{id:"padding",type:"padding-v2",linkWithSetting:{name:"paddingSize",field:"padding"},compoDefaultValue:{desktop:{default:{type:"custom",top:"12px",bottom:"12px",left:"32px",right:"32px"}}}}}]},{label:"Background",controls:[{label:"Color",setting:{id:"backgroundColor",state:"normal"}}]},{label:"Shape",hiddenOnMobile:!0,controls:[{label:"Border",setting:{id:"borderBtn",state:"normal"}},{label:"Corner",setting:{id:"roundedBtn",state:"normal"}},{label:"Shadow",setting:{id:"boxShadowBtn",state:"normal"},options:{updateFields:[{field:"normal.enable",settingId:"hasBoxShadowBtn",state:"normal"}]},controlChangeTrigger:{settings:[{condition:"boxShadowBtn.normal.enable === true",source:["boxShadowBtn","hasBoxShadowBtn"],action:{controlId:"hasBoxShadowBtn",groupType:"style",controlType:"style",state:"normal",newValue:!0}},{condition:"boxShadowBtn.normal.enable === false",source:["boxShadowBtn","hasBoxShadowBtn"],action:{controlId:"hasBoxShadowBtn",groupType:"style",controlType:"style",state:"normal",newValue:!1}}],options:{noRecordHistory:!0}}}]},{label:"Text style",controls:[{type:"combo",label:"Content",iconName:"polaris-text-block",getValueFromSettingID:"textContent",isHideClear:!0,popoverLabel:"Content",controls:[{label:"Content",options:{fullWidth:!0},layout:"vertical",setting:{id:"textContent"}}]},{type:"control",setting:{id:"typo"},options:{updateFields:[{field:"attrs.textAlign",settingId:"textAlign"},{field:"attrs.color",settingId:"textColor",state:"normal"}]},layout:"vertical",controlChangeTrigger:{settings:[{action:{controlId:"textColor",valueFromField:"attrs.color",groupType:"style",controlType:"style",removeDevice:!0,state:"normal"}},{action:{controlId:"textAlign",valueFromField:"attrs.textAlign",groupType:"style",controlType:"style"}}],options:{noRecordHistory:!0}}}]},{label:"Effect",hiddenOnMobile:!0,controls:[{label:"Hover",type:"combo",setting:{id:"enableHoverEffect"},fixedValue:"Styled",iconName:"polaris-check-hover",popoverLabel:"Hover",state:"hover",controls:[{label:"Background",type:"group",controls:[{label:"Color",type:"control",setting:{id:"backgroundColor",state:"hover"}}]},{label:"Text & icon",type:"group",controls:[{label:"Text color",setting:{id:"textColor",state:"hover"}}]},{label:"Shape",type:"group",controls:[{label:"Border",setting:{id:"borderBtn",state:"hover"}},{label:"Corner",setting:{id:"roundedBtn",state:"hover"}},{label:"Shadow",setting:{id:"boxShadowBtn",state:"hover"}}]}],controlChangeTrigger:{settings:[{action:{controlId:"backgroundColor",groupType:"style",controlType:"style",state:"hover",newValue:"#DDDDDD"}}]}}]},{controls:[{label:"Align",hiddenOnMobile:!0,conditionEnable:'!size.width?.includes("%") || (parseInt(size.width) < 100 && size.width?.includes("%"))',setting:{id:"align"},options:{labelVariant:"primary",fullWidth:!0,disableMessage:"Horizontal alignment is disabled when the width is set to 100% or greater"}}]}];export{t as SettingUIV2};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import{jsxs as e,jsx as s}from"react/jsx-runtime";import{useI18nStore as m,useProduct as o,useCurrentVariant as t,useMoneyFormat as r,useCurrentDevice as
|
|
2
|
+
import{jsxs as e,jsx as s}from"react/jsx-runtime";import{useI18nStore as m,useProduct as o,useCurrentVariant as t,useMoneyFormat as r,useCurrentDevice as i,useProductBundleDiscount as l,useEditorMode as a,useRenderMode as c,usePageType as n,useSafeGetProductListSettings as d,filterToolbarPreview as p}from"@gem-sdk/core";import{getBadgeContent as h,getIsNoDiscountState as y}from"./utils/common.js";import"./constants.js";import f from"../../../common/components/NoDataState.js";import N from"../../../common/components/TooltipHover.js";import{createClass as j,createStyle as u,createAttr as g,If as v}from"@gem-sdk/system";import{getEditTooltipAttrs as T,getSubWrapperAttrs as k,getContainerAttrs as x,getTextContentAttrs as C,getImageAttr as H}from"./common/attrs.js";import{getContainerClasses as S,getWrapperClasses as b,getSubWrapperClass as w,getTextContainerClasses as A,getTextWrapperClasses as B,getTextContentClasses as D,getImageContainerClasses as I,getImageClasses as M}from"./common/classes.js";import{getContainerStyle as P,getSubWrapperStyle as q,getContentStyleInternal as z,getTextBadgeWrapperStyles as E,getTextContentStyle as F,getImageContainerStyles as G}from"./common/styles.js";let J=J=>{let{t:K}=m(),{setting:L,styles:O,children:Q,builderAttrs:R,...U}=J,V=o(),W=t(),{moneyFormat:X}=r(),Y=i(),{useProductCompareAtPrice:Z}=l(),$=U?.["bundle-item"],_=a(),{isEditMode:ee}=c(),es="STATIC"===n(),{settings:em}=d(),eo=em?.sameHeight,et=h({detail:V,currentVariant:W,bundleItem:$,useProductCompareAtPrice:Z},L?.displayContent,X),er=y({props:J,product:V,currentVariant:W,moneyFormat:X,useProductCompareAtPrice:Z}),ei=j({...S({mode:_,isInstant:es,product:V,currentVariant:W,props:J,isSameHeightInProductList:eo})}),el=u({...P(J)}),ea=g({...T(J,ee)}),ec=j({...b(J)}),en=j({...w(J,Y)}),ed=u({...q({props:J,product:V,currentVariant:W,isEditMode:ee})}),ep=g({...k(J,V)}),eh=z(J),ey=j({...A()}),ef=g({...x(J)}),eN=j({...B()}),ej=u({...E({setting:L,styles:O})}),eu=j({...D(O)}),eg=u({...F({setting:L,styles:O})}),ev=g({...C()}),eT=j({...I()}),ek=u({...G({setting:L,styles:O})}),ex=j({...M()}),eC=g({...H({setting:L})});return V?e("div",{...ef,style:el,className:ei,children:[v(ee&&er,s(N,{...ea,children:s(f,{...R,elementType:"secondary",description:K("No discount"),rawMode:!0})}),s("div",{className:ec,children:e("div",{...ep,className:en,style:ed,children:[s("style",{children:eh}),v(L?.shape!=="image",s("div",{className:ey,children:s("div",{className:eN,style:ej,children:s("pre",{...ev,className:eu,style:eg,children:et})})}),s("div",{className:eT,style:ek,children:s("img",{...eC,className:ex,alt:""})}))]})})),p(Q,!0)]}):null};export{J as default};
|
|
@@ -1,39 +1,39 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{sanitizeLiquid as t,RenderIf as e,template as s,isLocalEnv as i,baseAssetURL as r}from"@gem-sdk/core";import{getDynamicSourceLocales as a,getSettingPreloadData as o}from"../../../helpers.js";import{generateBadgeContent as n}from"./utils/generateLiquidContent.js";import{renderBadgeInFirstTime as c}from"./utils/renderBadgeLiquid.js";import{createClass as d,createStyle as p,createAttr as l,createStateOrContext as m}from"@gem-sdk/system";import{IS_LIQUID as u}from"./constants.js";import{getContainerStyle as g,getSubWrapperStyle as y,getContentStyleInternal as $,getTextBadgeWrapperStyles as v,getTextContentStyle as f,getImageContainerStyles as j}from"./common/styles.js";import{getContainerClasses as P,getWrapperClasses as S,getSubWrapperClass as D,getTextContainerClasses as V,getTextWrapperClasses as b,getTextContentClasses as h,getImageContainerClasses as C,getImageClasses as E}from"./common/classes.js";import{getSubWrapperAttrs as I,getContainerAttrs as L,getTextContentAttrs as k,getImageAttr as q}from"./common/attrs.js";import{checkDiscountContentProductBadge as B}from"./utils/common.js";import{injectBadgeStateExtras as K}from"./utils/injectBadgeStateExtras.js";import{ProductBadge as T}from"../../settings/product-badge/configs/translate.js";let _=_=>{let{styles:A,setting:N,builderProps:Q,pageContext:w}=_,x=N?.shape!=="image",G=x&&N?.displayContent?.trim()==="",H=B(N?.displayContent),O=d({...P({isInstant:!1,props:_})}),J=p({...g(_,u)}),M=d({...S(_)}),R=d({...D(_)}),Y=p({...y({props:_})}),z=l({...I(_)}),F=$(_),U=d({...V()}),W=l({...L(_)}),X=d({...b()}),Z=p({...v({setting:N,styles:A})}),tt=d({...h(A)}),te=p({...f({setting:N,styles:A})}),ts=l({...k()}),ti=d({...C()}),tr=p({...j({setting:N,styles:A})}),ta=d({...E()}),to=l({...q({setting:N})}),tn=m({minPrice:"{{ minPriceValue | escape }}",variantIDs:"{{ product.variants | map: 'id' | json | escape }}",variantInventoryQuantities:"{{ product.variants | map: 'inventory_quantity' | json | escape }}",amountDiscount:"{{ amountDiscountValue | escape }}",percentDiscount:"{{percentDiscountValue}}",price:"{{price}}",displayTrigger:N?.displayTrigger??[],uid:_.builderProps?.uid,productCreatedAt:"{{ product.created_at | date: '%Y-%m-%d' }}",isTextBadge:x,isSettingSameHeightProductList:"{{ isSettingSameHeightProductList }}"}),tc=K(JSON.stringify(tn)),{displayContent:td}=N??{},tp=a({val:td?.trim(),uid:Q?.uid,settingId:T?.displayContent?.id,isLiquid:!0,pageContext:w});return s`
|
|
2
2
|
{% if product %}
|
|
3
|
-
${n(
|
|
4
|
-
${
|
|
3
|
+
${n(tp,w?.isPreviewing)}
|
|
4
|
+
${c(N?.displayTrigger,!G,H)}
|
|
5
5
|
<gp-product-badge
|
|
6
6
|
${{...W}}
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
data-display-content="${Q?.isPreviewing?ep:t(`{{${ep}}}`)}"
|
|
7
|
+
class="${O} {{ className }}"
|
|
8
|
+
style="${J}"
|
|
9
|
+
data-display-content="${w?.isPreviewing?tp:t(`{{${tp}}}`)}"
|
|
11
10
|
>
|
|
12
|
-
<
|
|
11
|
+
<script gp-data type="application/json">${tc}</script>
|
|
12
|
+
<div class="${M}">
|
|
13
13
|
<div
|
|
14
|
-
${{...
|
|
15
|
-
class="${
|
|
16
|
-
style="${
|
|
14
|
+
${{...z}}
|
|
15
|
+
class="${R}"
|
|
16
|
+
style="${Y}"
|
|
17
17
|
>
|
|
18
|
-
<style>${
|
|
19
|
-
${
|
|
18
|
+
<style>${F}</style>
|
|
19
|
+
${e(x,s`
|
|
20
20
|
<div class="${U}">
|
|
21
21
|
<div
|
|
22
22
|
class="${X}"
|
|
23
23
|
style="${Z}"
|
|
24
24
|
>
|
|
25
25
|
<pre
|
|
26
|
-
${{...
|
|
27
|
-
class="${
|
|
28
|
-
style="${
|
|
26
|
+
${{...ts}}
|
|
27
|
+
class="${tt}"
|
|
28
|
+
style="${te}"
|
|
29
29
|
>{{ content | replace: percentDiscountKey, percentDiscountValue | replace: amountDiscountKey, amountDiscountValue | replace: inventoryQuantityKey, inventoryQuantityValue | replace: minPriceKey, minPriceValue }}</pre>
|
|
30
30
|
</div>
|
|
31
|
-
</div>`,
|
|
32
|
-
<img ${{...
|
|
31
|
+
</div>`,s`<div class="${ti}" style="${tr}">
|
|
32
|
+
<img ${{...to}} class="${ta}" alt="" />
|
|
33
33
|
</div>`)}
|
|
34
34
|
</div>
|
|
35
35
|
</div>
|
|
36
36
|
</gp-product-badge>
|
|
37
|
-
${
|
|
37
|
+
${e(i,`<script ${o('class="gps-link" delay',"src")}="{{ 'gp-product-badge-v7-5.js' | asset_url }}" defer="defer"></script>`,`<script ${o('class="gps-link" delay',"src")}="${r}/assets-v2/gp-product-badge-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}" defer="defer"></script>`)}
|
|
38
38
|
{% endif %}
|
|
39
|
-
`};export{
|
|
39
|
+
`};export{_ as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t}from"@gem-sdk/core";let e=({setting:t})=>({src:t?.image?.src,alt:t?.image?.alt,loading:"lazy"}),d=t=>{let{builderAttrs:e,builderProps:d}=t;return{...e,"data-id":d?.uid||"",id:`g-product-badge-${d?.uid}`,"gp-data-hidden":"false"}},i=e=>{let{setting:
|
|
1
|
+
import{t}from"@gem-sdk/core";let e=({setting:t})=>({src:t?.image?.src,alt:t?.image?.alt,loading:"lazy"}),d=t=>{let{builderAttrs:e,builderProps:d}=t;return{...e,"data-id":d?.uid||"",id:`g-product-badge-${d?.uid}`,"gp-data-hidden":"false"}},i=(e,d)=>{let{setting:i}=e,r=i?.positionWithImage==="outside";return{enable:!0,text:d&&t("Not be displayed when published"),position:r?"bottom":"right",width:"205px"}},r=(t,e)=>{let{builderProps:d}=t,i=e?e?.baseID?.replace("gid://shopify/Product/",""):"";return{"data-product-id":i||"",id:d?.uid||""}},a=()=>({id:"product-badge-content"});export{d as getContainerAttrs,i as getEditTooltipAttrs,e as getImageAttr,r as getSubWrapperAttrs,a as getTextContentAttrs};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{composeClasses as e,composeTypographyClassName as t}from"@gem-sdk/core";import{toggleBadge as
|
|
1
|
+
import{composeClasses as e,composeTypographyClassName as t}from"@gem-sdk/core";import{toggleBadge as r}from"../utils/renderBadgeILP.js";import{getAlignShape as s,getShapePlacementClass as g}from"../utils/common.js";let l=({mode:t,isInstant:s,product:g,currentVariant:l,props:i,isSameHeightInProductList:p})=>{let{setting:o,builderProps:a}=i,n="gp-shrink-0 product-badge ",d=!t&&s?r({triggers:o?.displayTrigger,productDetail:g,productVariant:l,isSameHeightInProductList:p}):`${a?.uid}`,u=a?.builderData?.advanced?.cssClass||"";return d&&(n+=`${d} `),u&&(n+=`${u} `),a?.uid&&(n+=`${a?.uid} `),o?.positionWithImage==="inside"&&(n+="inside-image "),{...e(n)}},i=()=>({...e("gp-w-full gp-h-full gp-overflow-hidden product-badge-item")}),p=()=>({...e("gp-w-full gp-h-full gp-flex gp-items-center gp-justify-center gp-overflow-hidden")}),o=r=>{let s="gp-break-words gp-text-center ",g=t(r?.typo);return g&&(s+=`${g} `),{...e(s)}},a=()=>({...e("product-badge-item gp-w-full gp-h-full gp-overflow-hidden")}),n=()=>({...e("gp-object-cover gp-w-full gp-h-full gp-pointer-events-none")}),d=t=>{let{styles:r,setting:g}=t,{align:l}=r??{},i=g?.positionWithImage==="outside",p=i?"gp-flex ":"gp-h-full",o=s(l);return i&&o&&(p+=`${o} `),{...e(p)}},u=(t,r)=>{let{setting:s,style:l}=t,i=s?.positionWithImage==="inside",p=!i&&r?g(i,l,r):"gp-h-full";return{...e(p)}};export{l as getContainerClasses,n as getImageClasses,a as getImageContainerClasses,u as getSubWrapperClass,i as getTextContainerClasses,o as getTextContentClasses,p as getTextWrapperClasses,d as getWrapperClasses};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
let t=t=>{let e=t.slice(0,-1);return`${e},"productTags":{{ product.tags | json }}}`};export{t as injectBadgeStateExtras};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{CompareType as e}from"../types.js";let t=(e,t,o)=>{let
|
|
1
|
+
import{CompareType as e}from"../types.js";let t=({triggers:e,productDetail:t,productVariant:o,isSameHeightInProductList:n})=>{let i=r(e,t,o);return i?"":n?"!gp-invisible":"!gp-hidden"},r=(e,t,r)=>{if(!r)return;let o=t?.createdAt||"",n=t?.tags||[],p={...r,product_created_at:o,product_tags:n},d=e?.map(e=>{switch(e?.triggerEvent){case"inventory_status":return i(p,e);case"discount_price":return a(p,e);case"price_range":return c(p,e);case"creation_date":return u(p,e);case"product_tags":return m(p,e);default:return!1}});return d?.every(e=>!0===e)},o=(e,t,r)=>{switch(r){case"exact":return e===t.from;case"above":return e>t.from;case"below":return e<t.from;case"exact_or_above":return e>=t.from;case"exact_or_below":return e<=t.from;case"between":return e>=t.from&&e<=t.to;default:return!1}},n=t=>t===e.ABOVE?0:t===e.BELOW?2:1,i=(t,r)=>{if(void 0===t.inventoryQuantity)return!1;if("in_stock"===r.type){if(!1===t.manageInventory||t.inventoryPolicy?.toLowerCase()=="continue")return!0;if(r.conditionType===e.BELOW||r.conditionType===e.EXACT_OR_BELOW){let i=n(r.conditionType);return o(t?.inventoryQuantity,{from:1,to:Number(r.from)-i+1},e.BETWEEN)}return o(t?.inventoryQuantity,{from:Number(r.from),to:Number(r?.to)},r.conditionType)}return!1!==t.manageInventory&&t.inventoryPolicy?.toLowerCase()!="continue"&&o(t.inventoryQuantity,{from:0,to:0},e.EXACT_OR_BELOW)},a=(e,t)=>{if(e?.compare_at_price===void 0||void 0===e.price||e.compare_at_price<e.price)return!1;let r=(e.compare_at_price-e.price)/100,n=r/(e.compare_at_price/100),i="fixed"===t.discountType?r:Math.round(100*n);return o(i,{from:Number(t.from),to:Number(t.to)},t.conditionType)},c=(e,t)=>{if(void 0===e.price)return!1;let r=e.price/100;return o(r,{from:Number(t.from),to:Number(t.to)},t.conditionType)},u=(t,r)=>{if(!t.product_created_at)return!1;let n=new Date(new Date(t.product_created_at).setHours(0,0,0,0)),i=new Date(r.from),a=new Date(r.to),c=n.getTime();if("exact_date"===r.type)return o(c,{from:i.getTime(),to:0},e.EXACT);if("duration"===r.type){let e=new Date().setHours(0,0,0,0),t=(e-n.getTime())/864e5;if(t>=0&&t<=Number(r.days))return!0}return!(i.getTime()>=a.getTime())&&o(c,{from:i.getTime(),to:a.getTime()},e.BETWEEN)},m=(e,t)=>{let r=e.product_tags||[],o=t.searchTag;return o.some(e=>r.includes(e))};export{r as checkShowBadge,t as toggleBadge};
|
|
@@ -27,10 +27,12 @@ import{CompareType as e}from"../types.js";let i=i=>i===e.ABOVE?0:i===e.BELOW?2:1
|
|
|
27
27
|
{% endif %}
|
|
28
28
|
{% if isShow and isNotDiscount == false %}
|
|
29
29
|
{% assign className = "" %}
|
|
30
|
+
{% elsif isSettingSameHeightProductList %}
|
|
31
|
+
{% assign className = "!gp-invisible" %}
|
|
30
32
|
{% else %}
|
|
31
33
|
{% assign className = "!gp-hidden" %}
|
|
32
34
|
{% endif %}
|
|
33
|
-
`,s=e=>e?.length?e.map(e=>{switch(e?.triggerEvent){case"discount_price":return t(e);case"price_range":return o(e);case"inventory_status":return g(e);case"product_tags":return
|
|
35
|
+
`,s=e=>e?.length?e.map(e=>{switch(e?.triggerEvent){case"discount_price":return t(e);case"price_range":return o(e);case"inventory_status":return g(e);case"product_tags":return c(e);case"creation_date":return d(e);default:return""}}).join(" "):"",a=e=>e.replace(/[%$]/g,""),r=()=>`
|
|
34
36
|
{% assign enabled = false %}
|
|
35
37
|
{% case conditionType %}
|
|
36
38
|
{% when "exact" %}
|
|
@@ -131,7 +133,7 @@ import{CompareType as e}from"../types.js";let i=i=>i===e.ABOVE?0:i===e.BELOW?2:1
|
|
|
131
133
|
{% assign conditionTriggers = conditionTriggers | append: "," | append: false %}
|
|
132
134
|
{% endif %}
|
|
133
135
|
|
|
134
|
-
`},
|
|
136
|
+
`},c=e=>{let{searchTag:i}=e,n=i.map(e=>e.replaceAll("&","&").replaceAll("<","<").replaceAll(">",">").replaceAll("'","'").replaceAll('"',""")).join(", ");return`
|
|
135
137
|
{% assign productTags = product.tags | escape %}
|
|
136
138
|
{% assign searchTag = '${n}' %}
|
|
137
139
|
{% for tag in productTags %}
|
|
@@ -141,7 +143,7 @@ import{CompareType as e}from"../types.js";let i=i=>i===e.ABOVE?0:i===e.BELOW?2:1
|
|
|
141
143
|
{% endif %}
|
|
142
144
|
{% endfor %}
|
|
143
145
|
{% assign conditionTriggers = conditionTriggers | append: "," | append: isProductTag %}
|
|
144
|
-
`},
|
|
146
|
+
`},d=e=>{let{days:i,from:n,to:s,type:t,conditionType:o}=e;return`
|
|
145
147
|
{% assign type = "${t}" %}
|
|
146
148
|
{% assign days = ${a(i)} %}
|
|
147
149
|
{% assign from = "${n}" | date: "%Y-%m-%d" | date: "%s" | times: 1000 %}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import{jsx as e,jsxs as t}from"react/jsx-runtime";import{useRenderMode as o,useI18nStore as s,isEmptyChildren as n}from"@gem-sdk/core";import{isValidElement as r}from"react";import i from"../../../common/components/NoDataState.js";import{createClass as l,createStyle as m,If as d}from"@gem-sdk/system";import{getSizeSettings as c,getContainerStyles as u}from"./common/styles.js";import{getContainerClasses as a,getNoDiscountClasses as p}from"./common/classes.js";import f from"./hooks/useProductBundleDataState.js";import h from"./hooks/useProductBundleDiscountState.js";import y from"./ProductBundleDiscountChildrenItem.js";let b=({builderAttrs:b,style:I,children:g,setting:j,styles:k,advanced:D})=>{let{isEditMode:S,isPreviewSharePageMode:x}=o(),{isSelected:B,setSelected:N}=h(j),{emitRedirectSetupPage:P,redirectGuideline:T,svgVertical:v,svgHorizontal:A}=f(),{t:C}=s(),q=l(a(j,D?.cssClass)),w=l(p),z=m(c(k)?.gap),M=m(u(z,k,I));if(!j?.bundleItems?.length&&S)return e(i,{elementType:"secondary",description:C("Increase AOV with bundle quantity."),descriptionActions:[{text:C("Setup bundle discount"),callback:P},{text:C("read guideline"),callback:T}],additionalMedia:j?.layout=="horizontal-layout"?A:v});let O=(t,o)=>{if(j?.hideNoDiscountItem&&t?.discountType==="no_discount")return null;let s=g?.[o];if(r(s))return e(y,{index:o,childItem:s,setting:j,styles:k,isSelected:B(o),setSelected:N,bundleItem:t},o)},V=(n(g)||j?.bundleItems?.length==0)&&!x;return t("div",{...b,className:q,style:M,children:[d(V,e("div",{className:w,children:"This product has no bundle discount"})),j?.bundleItems?.map((e,t)=>O(e,t))]})};export{b as default};
|
|
2
|
+
import{jsx as e,jsxs as t}from"react/jsx-runtime";import{useRenderMode as o,useI18nStore as s,isEmptyChildren as n}from"@gem-sdk/core";import{isValidElement as r}from"react";import i from"../../../common/components/NoDataState.js";import{createClass as l,createStyle as m,If as d}from"@gem-sdk/system";import{getSizeSettings as c,getContainerStyles as u}from"./common/styles.js";import{getContainerClasses as a,getNoDiscountClasses as p}from"./common/classes.js";import f from"./hooks/useProductBundleDataState.js";import h from"./hooks/useProductBundleDiscountState.js";import y from"./ProductBundleDiscountChildrenItem.js";let b=({builderAttrs:b,style:I,children:g,setting:j,styles:k,advanced:D})=>{let{isEditMode:S,isPreviewSharePageMode:x}=o(),{isSelected:B,setSelected:N}=h(j),{emitRedirectSetupPage:P,redirectGuideline:T,svgVertical:v,svgHorizontal:A}=f(),{t:C}=s(),q=l(a(j,D?.cssClass)),w=l(p),z=m(c(k)?.gap),M=m(u(z,k,I));if(!j?.bundleItems?.length&&S)return e(i,{elementType:"secondary",description:C("Increase AOV with bundle quantity."),descriptionActions:[{text:C("Setup bundle discount"),callback:P},{text:C("read guideline"),callback:T}],additionalMedia:j?.layout=="horizontal-layout"?A:v});let O=(t,o)=>{if(j?.hideNoDiscountItem&&t?.discountType==="no_discount")return null;let s=g?.[o];if(r(s))return e(y,{index:o,childItem:s,setting:j,styles:k,isSelected:B(o),setSelected:N,bundleItem:t},o)},V=(n(g)||j?.bundleItems?.length==0)&&!x;return t("div",{...b,className:q,style:M,children:[d(V,e("div",{className:w,children:C("This product has no bundle discount")})),j?.bundleItems?.map((e,t)=>O(e,t))]})};export{b as default};
|
|
@@ -1,15 +1,16 @@
|
|
|
1
|
-
import{template as t,RenderIf as e,isLocalEnv as s,baseAssetURL as r}from"@gem-sdk/core";import{getSettingPreloadData as
|
|
1
|
+
import{template as t,RenderIf as e,isLocalEnv as s,baseAssetURL as r}from"@gem-sdk/core";import{getSettingPreloadData as a}from"../../../helpers.js";import{createStyle as d,createClass as o,createStateOrContext as p,Liquid as i,LiquidIf as n}from"@gem-sdk/system";import{getSizeSettings as l,getContainerStyles as c}from"./common/styles.js";import{getContainerClasses as u}from"./common/classes.js";import m from"./ProductBundleDiscountChildrenItem.liquid.js";let f=({rawChildren:f,setting:g,styles:I,advanced:$,style:P})=>{let y=g?.hasPreSelectItem?g?.selectItemDefault??0:-1,S=t=>y===t,_=(t,e)=>m({rawChildrenItem:f?.[e],setting:g,styles:I,isSelected:S(e),bundleItem:t}),h=d(l(I)?.gap),B=o(u(g,$?.cssClass)),j=d(c(h,I,P)),A=p({styles:I,settings:{useProductCompareAtPrice:g?.useProductCompareAtPrice,selectItemDefault:g?.selectItemDefault,hideNoDiscountItem:g?.hideNoDiscountItem,hasPreSelectItem:g?.hasPreSelectItem,iconItemColor:g?.iconItemColor,applyToInBetweenQuantities:g?.applyToInBetweenQuantities}});return t`
|
|
2
2
|
<gp-product-bundle-discount
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
style="${j}"
|
|
4
|
+
class="${B}"
|
|
5
|
+
>
|
|
6
|
+
<script gp-data type="application/json">${JSON.stringify(A)}</script>
|
|
7
|
+
${i(`
|
|
7
8
|
{%- assign gempages_product_bundle = product.metafields.gp_discount.gp_discount_selected_products -%}
|
|
8
9
|
{% assign productBundleItem = gempages_product_bundle | split: '($1)' %}
|
|
9
10
|
`)}
|
|
10
11
|
${f?.map((e,s)=>t`
|
|
11
12
|
{% for productBundle in productBundleItem %}
|
|
12
|
-
${
|
|
13
|
+
${i(`
|
|
13
14
|
{% assign attrs = productBundle | split: '($3)' %}
|
|
14
15
|
{% assign parsedAttrs = '' %}
|
|
15
16
|
{% for attr in attrs %}
|
|
@@ -28,6 +29,6 @@ import{template as t,RenderIf as e,isLocalEnv as s,baseAssetURL as r}from"@gem-s
|
|
|
28
29
|
</gp-product-bundle-discount>
|
|
29
30
|
|
|
30
31
|
{% if productBundleItem %}
|
|
31
|
-
${e(s,`<script ${
|
|
32
|
+
${e(s,`<script ${a('class="gps-link" delay',"src")}="{{ 'gp-product-bundle-discount-v7-5.js' | asset_url }}" defer="defer"></script>`,`<script ${a('class="gps-link" delay',"src")}="${r}/assets-v2/gp-product-bundle-discount-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}" defer="defer"></script>`)}
|
|
32
33
|
{% endif %}
|
|
33
34
|
`};export{f as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
let e=[{label:"Bundle management",controls:[{type:"control",layout:"vertical",setting:{id:"childItem"}}]},{label:"Item gap",controls:[{label:"Gap",controlConfig:{id:"gap",type:"input:slider",units:["px"],min:0,max:120,step:1,ignoreMax:!0,linkWithSetting:{name:"size",field:"gap"}},layout:"horizontal"}]},{controls:[{type:"control",label:"Radio icon",setting:{id:"enableIcon"},options:{labelVariant:"primary",toggleStyle:"switch"}},{conditionDisplay:'enableIcon == true && layout == "vertical-layout"',label:"Position",setting:{id:"iconPosition"}},{type:"control",conditionDisplay:'enableIcon == true && layout == "horizontal-layout"',label:"Position",setting:{id:"iconHorizontalPosition"}},{conditionDisplay:"enableIcon == true",type:"control",label:"Color",setting:{id:"iconItemColor"},controlConfig:{id:"icon-radio-color",type:"color-picker-v2",linkWithSetting:{name:"iconColor",field:"normal"}}},{type:"control",conditionDisplay:"enableIcon == true",label:"Size",setting:{id:"iconSize"}},{type:"control",conditionDisplay:"enableIcon == true",label:"Gap to content",setting:{id:"iconSpacing"}}]},{label:"Item style",controls:[{label:"Background",setting:{id:"backgroundColor",state:"normal"}},{label:"Border",setting:{id:"borderBundle",state:"normal"}},{label:"Corner",setting:{id:"roundedBundle",state:"normal"}},{label:"Shadow",setting:{id:"boxShadowBundle",state:"normal"},controlConfig:{id:"boxShadowBundle",type:"shadow-v2"},options:{updateFields:[{field:"normal.enable",settingId:"hasBoxShadowBundle",state:"normal"}]},controlChangeTrigger:{settings:[{condition:"boxShadowBundle.normal.enable === true",source:["boxShadowBundle","hasBoxShadowBundle"],action:{controlId:"hasBoxShadowBundle",groupType:"style",controlType:"style",state:"normal",newValue:!0}},{condition:"boxShadowBundle.normal.enable === false",source:["boxShadowBundle","hasBoxShadowBundle"],action:{controlId:"hasBoxShadowBundle",groupType:"style",controlType:"style",state:"normal",newValue:!1}}],options:{noRecordHistory:!0}}},{label:"Shadow",setting:{id:"hasBoxShadowBundle",state:"normal"},conditionDisplay:"false"},{label:"Shadow",setting:{id:"hasBoxShadowBundle",state:"hover"},conditionDisplay:"false"},{label:"Shadow",setting:{id:"hasBoxShadowBundle",state:"active"},conditionDisplay:"false"}]},{label:"Effect",controls:[{label:"Hover",type:"combo",iconName:"polaris-check-hover",fixedValue:"Styled",setting:{id:"enableHoverEffect"},state:"hover",popoverLabel:"Hover",controls:[{type:"group",label:"Background",controls:[{label:"Color",setting:{id:"backgroundColor",state:"hover"}}]},{label:"Icon",type:"group",controls:[{label:"Icon color",setting:{id:"iconColor",state:"hover"}}]},{label:"Shape",type:"group",controls:[{label:"Border",setting:{id:"borderBundle",state:"hover"}},{label:"Corner",setting:{id:"roundedBundle",state:"hover"}},{label:"Shadow",setting:{id:"boxShadowBundle",state:"hover"},controlConfig:{id:"boxShadowBundle",type:"shadow-v2"},options:{updateFields:[{field:"hover.enable",settingId:"hasBoxShadowBundle",state:"hover"}]},controlChangeTrigger:{settings:[{condition:"boxShadowBundle.hover.enable === true",source:["boxShadowBundle","hasBoxShadowBundle"],action:{controlId:"hasBoxShadowBundle",groupType:"style",controlType:"style",state:"hover",newValue:!0}},{condition:"boxShadowBundle.hover.enable === false",source:["boxShadowBundle","hasBoxShadowBundle"],action:{controlId:"hasBoxShadowBundle",groupType:"style",controlType:"style",state:"hover",newValue:!1}}],options:{noRecordHistory:!0}}}]}]},{label:"Active",type:"combo",iconName:"polaris-status-active",fixedValue:"Styled",setting:{id:"enableActiveEffect"},state:"active",popoverLabel:"Active",controls:[{type:"group",label:"Background",controls:[{label:"Color",setting:{id:"backgroundColor",state:"active"}}]},{label:"Icon",type:"group",controls:[{label:"Icon color",setting:{id:"iconColor",state:"active"}}]},{label:"Shape",type:"group",controls:[{label:"Border",setting:{id:"borderBundle",state:"active"}},{label:"Corner",setting:{id:"roundedBundle",state:"active"}},{label:"Shadow",setting:{id:"boxShadowBundle",state:"active"},controlConfig:{id:"boxShadowBundle",type:"shadow-v2"},options:{updateFields:[{field:"active.enable",settingId:"hasBoxShadowBundle",state:"active"}]},controlChangeTrigger:{settings:[{condition:"boxShadowBundle.active.enable === true",source:["boxShadowBundle","hasBoxShadowBundle"],action:{controlId:"hasBoxShadowBundle",groupType:"style",controlType:"style",state:"active",newValue:!0}},{condition:"boxShadowBundle.active.enable === false",source:["boxShadowBundle","hasBoxShadowBundle"],action:{controlId:"hasBoxShadowBundle",groupType:"style",controlType:"style",state:"active",newValue:!1}}],options:{noRecordHistory:!0}}}]}]}]},{label:"Size",controls:[{id:"Width",label:"Width",controlConfig:{id:"width",type:"dropdown:input",label:"Width",inputType:"number",units:["px","%"],hideUnit:!1,linkWithSetting:{name:"size",field:"width"},displayOptions:[{label:"Fit content",value:"Auto",showValue:!0},{label:"Full",value:"100%",showValue:!0},{label:"Small",value:"100px",showValue:!0},{label:"Medium",value:"200px",showValue:!0},{label:"Large",value:"300px",showValue:!0}]},layout:"horizontal"},{label:"Padding",controlConfig:{id:"padding",type:"padding-v2",linkWithSetting:{name:"size",field:"padding"},compoDefaultValue:{desktop:{default:{type:"custom",top:"12px",bottom:"12px",left:"32px",right:"32px"}}}}}]},{label:"Shape",conditionDisplay:'pageType != "POST_PURCHASE"',controls:[{label:"Border",setting:{id:"border",state:"normal"}},{label:"Corner",setting:{id:"rounded",state:"normal"}},{label:"Shadow",setting:{id:"boxShadow",state:"normal"},options:{updateFields:[{field:"normal.enable",settingId:"hasBoxShadow",state:"normal"}]},controlChangeTrigger:{settings:[{condition:"boxShadow.normal.enable === true",source:["boxShadow","hasBoxShadow"],action:{controlId:"hasBoxShadow",groupType:"advanced",controlType:"advanced",state:"normal",newValue:!0}},{condition:"boxShadow.normal.enable === false",source:["boxShadow","hasBoxShadow"],action:{controlId:"hasBoxShadow",groupType:"advanced",controlType:"advanced",state:"normal",newValue:!1}}],options:{noRecordHistory:!0}}}]},{label:"Display condition",conditionDisplay:"enableDisplayCondition == true",controls:[{label:"Default item",setting:{id:"hasPreSelectItem"}},{layout:"vertical",setting:{id:"selectItemDefault"},conditionDisplay:"hasPreSelectItem == true"},{label:"Compare price",setting:{id:"useProductCompareAtPrice"}},{label:"Display item",setting:{id:"hideNoDiscountItem"}}]},{controls:[{label:"Align",conditionEnable:'!(parseInt(size.width) >= 100 && size.width?.includes("%"))',setting:{id:"align"},options:{labelVariant:"primary",fullWidth:!0,disableMessage:"Horizontal alignment is disabled when the width is set to 100% or greater"}}]}];export{e as default};
|
|
1
|
+
let e=[{label:"Bundle management",controls:[{type:"control",layout:"vertical",setting:{id:"childItem"}}]},{label:"Item gap",controls:[{label:"Gap",controlConfig:{id:"gap",type:"input:slider",units:["px"],min:0,max:120,step:1,ignoreMax:!0,linkWithSetting:{name:"size",field:"gap"}},layout:"horizontal"}]},{controls:[{type:"control",label:"Radio icon",setting:{id:"enableIcon"},options:{labelVariant:"primary",toggleStyle:"switch"}},{conditionDisplay:'enableIcon == true && layout == "vertical-layout"',label:"Position",setting:{id:"iconPosition"}},{type:"control",conditionDisplay:'enableIcon == true && layout == "horizontal-layout"',label:"Position",setting:{id:"iconHorizontalPosition"}},{conditionDisplay:"enableIcon == true",type:"control",label:"Color",setting:{id:"iconItemColor"},controlConfig:{id:"icon-radio-color",type:"color-picker-v2",linkWithSetting:{name:"iconColor",field:"normal"}}},{type:"control",conditionDisplay:"enableIcon == true",label:"Size",setting:{id:"iconSize"}},{type:"control",conditionDisplay:"enableIcon == true",label:"Gap to content",setting:{id:"iconSpacing"}}]},{label:"Item style",hiddenOnMobile:!0,controls:[{label:"Background",setting:{id:"backgroundColor",state:"normal"}},{label:"Border",setting:{id:"borderBundle",state:"normal"}},{label:"Corner",setting:{id:"roundedBundle",state:"normal"}},{label:"Shadow",setting:{id:"boxShadowBundle",state:"normal"},controlConfig:{id:"boxShadowBundle",type:"shadow-v2"},options:{updateFields:[{field:"normal.enable",settingId:"hasBoxShadowBundle",state:"normal"}]},controlChangeTrigger:{settings:[{condition:"boxShadowBundle.normal.enable === true",source:["boxShadowBundle","hasBoxShadowBundle"],action:{controlId:"hasBoxShadowBundle",groupType:"style",controlType:"style",state:"normal",newValue:!0}},{condition:"boxShadowBundle.normal.enable === false",source:["boxShadowBundle","hasBoxShadowBundle"],action:{controlId:"hasBoxShadowBundle",groupType:"style",controlType:"style",state:"normal",newValue:!1}}],options:{noRecordHistory:!0}}},{label:"Shadow",setting:{id:"hasBoxShadowBundle",state:"normal"},conditionDisplay:"false"},{label:"Shadow",setting:{id:"hasBoxShadowBundle",state:"hover"},conditionDisplay:"false"},{label:"Shadow",setting:{id:"hasBoxShadowBundle",state:"active"},conditionDisplay:"false"}]},{label:"Effect",hiddenOnMobile:!0,controls:[{label:"Hover",type:"combo",iconName:"polaris-check-hover",fixedValue:"Styled",setting:{id:"enableHoverEffect"},state:"hover",popoverLabel:"Hover",controls:[{type:"group",label:"Background",controls:[{label:"Color",setting:{id:"backgroundColor",state:"hover"}}]},{label:"Icon",type:"group",controls:[{label:"Icon color",setting:{id:"iconColor",state:"hover"}}]},{label:"Shape",type:"group",controls:[{label:"Border",setting:{id:"borderBundle",state:"hover"}},{label:"Corner",setting:{id:"roundedBundle",state:"hover"}},{label:"Shadow",setting:{id:"boxShadowBundle",state:"hover"},controlConfig:{id:"boxShadowBundle",type:"shadow-v2"},options:{updateFields:[{field:"hover.enable",settingId:"hasBoxShadowBundle",state:"hover"}]},controlChangeTrigger:{settings:[{condition:"boxShadowBundle.hover.enable === true",source:["boxShadowBundle","hasBoxShadowBundle"],action:{controlId:"hasBoxShadowBundle",groupType:"style",controlType:"style",state:"hover",newValue:!0}},{condition:"boxShadowBundle.hover.enable === false",source:["boxShadowBundle","hasBoxShadowBundle"],action:{controlId:"hasBoxShadowBundle",groupType:"style",controlType:"style",state:"hover",newValue:!1}}],options:{noRecordHistory:!0}}}]}]},{label:"Active",type:"combo",iconName:"polaris-status-active",fixedValue:"Styled",setting:{id:"enableActiveEffect"},state:"active",popoverLabel:"Active",controls:[{type:"group",label:"Background",controls:[{label:"Color",setting:{id:"backgroundColor",state:"active"}}]},{label:"Icon",type:"group",controls:[{label:"Icon color",setting:{id:"iconColor",state:"active"}}]},{label:"Shape",type:"group",controls:[{label:"Border",setting:{id:"borderBundle",state:"active"}},{label:"Corner",setting:{id:"roundedBundle",state:"active"}},{label:"Shadow",setting:{id:"boxShadowBundle",state:"active"},controlConfig:{id:"boxShadowBundle",type:"shadow-v2"},options:{updateFields:[{field:"active.enable",settingId:"hasBoxShadowBundle",state:"active"}]},controlChangeTrigger:{settings:[{condition:"boxShadowBundle.active.enable === true",source:["boxShadowBundle","hasBoxShadowBundle"],action:{controlId:"hasBoxShadowBundle",groupType:"style",controlType:"style",state:"active",newValue:!0}},{condition:"boxShadowBundle.active.enable === false",source:["boxShadowBundle","hasBoxShadowBundle"],action:{controlId:"hasBoxShadowBundle",groupType:"style",controlType:"style",state:"active",newValue:!1}}],options:{noRecordHistory:!0}}}]}]}]},{label:"Size",hiddenOnMobile:!0,controls:[{id:"Width",label:"Width",controlConfig:{id:"width",type:"dropdown:input",label:"Width",inputType:"number",units:["px","%"],hideUnit:!1,linkWithSetting:{name:"size",field:"width"},displayOptions:[{label:"Fit content",value:"Auto",showValue:!0},{label:"Full",value:"100%",showValue:!0},{label:"Small",value:"100px",showValue:!0},{label:"Medium",value:"200px",showValue:!0},{label:"Large",value:"300px",showValue:!0}]},layout:"horizontal"},{label:"Padding",controlConfig:{id:"padding",type:"padding-v2",linkWithSetting:{name:"size",field:"padding"},compoDefaultValue:{desktop:{default:{type:"custom",top:"12px",bottom:"12px",left:"32px",right:"32px"}}}}}]},{label:"Shape",hiddenOnMobile:!0,conditionDisplay:'pageType != "POST_PURCHASE"',controls:[{label:"Border",setting:{id:"border",state:"normal"}},{label:"Corner",setting:{id:"rounded",state:"normal"}},{label:"Shadow",setting:{id:"boxShadow",state:"normal"},options:{updateFields:[{field:"normal.enable",settingId:"hasBoxShadow",state:"normal"}]},controlChangeTrigger:{settings:[{condition:"boxShadow.normal.enable === true",source:["boxShadow","hasBoxShadow"],action:{controlId:"hasBoxShadow",groupType:"advanced",controlType:"advanced",state:"normal",newValue:!0}},{condition:"boxShadow.normal.enable === false",source:["boxShadow","hasBoxShadow"],action:{controlId:"hasBoxShadow",groupType:"advanced",controlType:"advanced",state:"normal",newValue:!1}}],options:{noRecordHistory:!0}}}]},{label:"Display condition",conditionDisplay:"enableDisplayCondition == true",controls:[{label:"Default item",setting:{id:"hasPreSelectItem"}},{layout:"vertical",setting:{id:"selectItemDefault"},conditionDisplay:"hasPreSelectItem == true"},{label:"Compare price",setting:{id:"useProductCompareAtPrice"}},{label:"Display item",setting:{id:"hideNoDiscountItem"}}]},{controls:[{label:"Align",hiddenOnMobile:!0,conditionEnable:'!(parseInt(size.width) >= 100 && size.width?.includes("%"))',setting:{id:"align"},options:{labelVariant:"primary",fullWidth:!0,disableMessage:"Horizontal alignment is disabled when the width is set to 100% or greater"}}]}];export{e as default};
|
|
@@ -1,23 +1,26 @@
|
|
|
1
|
-
import{getSplitStyle as t}from"./common/styles.js";import{getGPProductButtonState as e}from"./common/helpers.js";import{template as
|
|
2
|
-
${
|
|
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 l,If as p}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:A}=d({setting:$,pageContext:_,builderProps:y}),{urlData:M}=c("",$?.actionEffect==="open-cart-drawer"?{link:"/cart",target:"_self"}:$?.customURL),B=i(e({styles:v,setting:$})),G=s(E??$?.successMessage),P=s(A??$?.errorMessage),w=s(k??$?.variantSelectionRequiredMessage);return r`
|
|
2
|
+
${n("{%- assign total_combinations = 1 -%}")}
|
|
3
3
|
${l("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
|
|
7
7
|
-%}
|
|
8
8
|
<gp-product-button
|
|
9
|
-
style="${
|
|
9
|
+
style="${h}"
|
|
10
10
|
gp-data-wrapper="true"
|
|
11
|
-
gp-href="${
|
|
11
|
+
gp-href="${M.href}"
|
|
12
12
|
class="gp-product-button"
|
|
13
|
-
gp-label-out-of-stock="${
|
|
14
|
-
gp-label-unavailable="${
|
|
15
|
-
|
|
16
|
-
data-variant-selection-required-message="${k}"
|
|
13
|
+
gp-label-out-of-stock="${j}"
|
|
14
|
+
gp-label-unavailable="${q}"
|
|
15
|
+
data-variant-selection-required-message="${w}"
|
|
17
16
|
gp-enable-third-partycart="{{shop.metafields.GEMPAGES.enableThirdPartyCart}}"
|
|
17
|
+
gp-error-message="${P}"
|
|
18
|
+
gp-success-message="${G}"
|
|
19
|
+
data-variant-selection-required-message="${k}"
|
|
18
20
|
>
|
|
19
|
-
|
|
20
|
-
${
|
|
21
|
+
<script gp-data type="application/json">${JSON.stringify(B).replaceAll("'","'")}</script>
|
|
22
|
+
${g({...f,style:S})}
|
|
23
|
+
${m({...f,style:S,label:j})}
|
|
21
24
|
</gp-product-button>
|
|
22
|
-
${
|
|
25
|
+
${p(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>`)}
|
|
23
26
|
`};export{f as default};
|
|
@@ -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 $,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=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 $(J,"",u(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("'","'")}</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 n}from"react";import{useProduct as i,useCurrentDevice as l,getResponsiveValueByScreen as o,useProductShopifyEditLink as c,useEditorMode as s}from"@gem-sdk/core";let u=u=>{let m=e(null),a=e(!1),[p,h]=t(!1),[H,g]=t(!1),[d,f]=t(!1),x=i(),y=l(),w=o(u?.hasLineClamp,y),b=o(u?.lineClamp,y),{redirectProductShopifyLink:v}=c(),C=s(),T=r(()=>`calc(${b} * 1lh)`,[b]),k=r(e=>w&&b&&e||"auto",[w,b]),z=r(()=>{if(!m.current)return;let e=!p;a.current=e,m.current.style.maxHeight=e?"none":T(),h(e)},[p,T]);return n(()=>{k(T())},[u?.typo?.custom,k,T]),n(()=>{let e=m.current;if(a.current=!1,h(!1),f(!1),!e)return;if(!w||!x?.descriptionHtml||!b){e.style.maxHeight="none",g(!1),f(!0);return}let t=()=>{if(a.current){e.style.maxHeight="none";return}e.style.maxHeight=T();let t=e.scrollHeight-e.clientHeight>1;t||(e.style.maxHeight="none"),g(t),f(!0)},r=window.setTimeout(t,100),n=new ResizeObserver(()=>{t()});return n.observe(e),()=>{window.clearTimeout(r),n.disconnect()}},[w,b,x?.descriptionHtml,T]),{ref:m,open:p,isShowViewMore:H,isOverflowChecked:d,handleToggleShowMore:z,mode:C,redirectProductShopifyLink:v}};export{u 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};
|