@gem-sdk/components 2.1.13-staging.3 → 2.1.13-staging.30
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/article/components/ArticleImage.js +2 -1
- package/dist/cjs/article/components/ArticleList.js +1 -1
- package/dist/cjs/banner/components/hero-banner/index.liquid.js +12 -13
- package/dist/cjs/banner/components/hero-banner/utils/index.js +5 -3
- package/dist/cjs/builder.js +21 -1
- package/dist/cjs/carousel/components/Carousel.liquid.js +3 -2
- package/dist/cjs/collection/components/CollectionDescription.js +101 -7
- package/dist/cjs/collection/components/CollectionDescription.liquid.js +102 -9
- package/dist/cjs/collection/setting/CollectionDescription.js +128 -0
- package/dist/cjs/form/components/textarea/TextArea.liquid.js +2 -2
- package/dist/cjs/image/components/AdaptiveImage.liquid.js +6 -5
- package/dist/cjs/image/components/Image.js +0 -1
- package/dist/cjs/image/components/Image.liquid.js +6 -5
- package/dist/cjs/image/components/NextImage.liquid.js +4 -3
- package/dist/cjs/image-comparison/components/CompareImage.liquid.js +7 -3
- package/dist/cjs/index.js +20 -0
- package/dist/cjs/index.liquid.js +22 -2
- package/dist/cjs/marquee/components/MarqueeBase.liquid.js +7 -26
- package/dist/cjs/product/components/Product.liquid.js +3 -2
- package/dist/cjs/product/components/ProductBadge/index.liquid.js +13 -4
- package/dist/cjs/product/components/ProductBadge/utils/generateLiquidContent.js +2 -2
- package/dist/cjs/product/components/ProductDescription.liquid.js +21 -5
- package/dist/cjs/product/components/ProductImagesV2/jsx/ProductImages.js +2 -9
- package/dist/cjs/product/components/ProductImagesV2/jsx/components/ProductFeaturedImageCarousel.js +12 -4
- package/dist/cjs/product/components/ProductImagesV2/liquid/ProductFeaturedImageCarousel.liquid.js +6 -5
- package/dist/cjs/product/components/ProductImagesV2/liquid/ProductGalleryCarousel.liquid.js +2 -2
- package/dist/cjs/product/components/ProductImagesV2/liquid/ProductGalleryGrid.liquid.js +4 -4
- package/dist/cjs/product/components/ProductImagesV2/liquid/ProductImages.liquid.js +4 -4
- package/dist/cjs/product/components/ProductVariants/index.liquid.js +11 -18
- package/dist/cjs/product/components/ProductVariants/variants/Base.liquid.js +1 -0
- package/dist/cjs/product/components/ProductVariants/variants/Dropdown.liquid.js +26 -12
- package/dist/cjs/product/components/ProductVariants/variants/DropdownGroup.liquid.js +4 -37
- package/dist/cjs/product/components/ProductVariants/variants/combine/index.js +47 -0
- package/dist/cjs/product/components/Sku.js +2 -14
- package/dist/cjs/product/setting/ProductBadge.js +5 -0
- package/dist/cjs/product/setting/ProductDescription.js +5 -0
- package/dist/cjs/tab/hooks/useTabInteraction.js +13 -9
- package/dist/cjs/third-party/components/AlsoBoughtCbb.js +32 -0
- package/dist/cjs/third-party/components/AlsoBoughtCbb.liquid.js +21 -0
- package/dist/cjs/third-party/components/BfSizeChartSizeGuide.js +32 -0
- package/dist/cjs/third-party/components/BfSizeChartSizeGuide.liquid.js +12 -0
- package/dist/cjs/third-party/components/EssentialAnnouncementBar.js +32 -0
- package/dist/cjs/third-party/components/EssentialAnnouncementBar.liquid.js +12 -0
- package/dist/cjs/third-party/components/EssentialCountdownTimerBar.js +32 -0
- package/dist/cjs/third-party/components/EssentialCountdownTimerBar.liquid.js +12 -0
- package/dist/cjs/third-party/components/EstimatedDeliveryDatePlus.js +32 -0
- package/dist/cjs/third-party/components/EstimatedDeliveryDatePlus.liquid.js +12 -0
- package/dist/cjs/third-party/components/GloColorSwatchvariantImage.js +32 -0
- package/dist/cjs/third-party/components/GloColorSwatchvariantImage.liquid.js +12 -0
- package/dist/cjs/third-party/components/HextomFreeShippingBar.js +32 -0
- package/dist/cjs/third-party/components/HextomFreeShippingBar.liquid.js +12 -0
- package/dist/cjs/third-party/components/NotifyBackInStockPreOrder.js +1 -1
- package/dist/cjs/third-party/components/OkendoReviewsLoyalty.js +32 -0
- package/dist/cjs/third-party/components/OkendoReviewsLoyalty.liquid.js +12 -0
- package/dist/cjs/third-party/components/QikifyUpsell.js +22 -10
- package/dist/cjs/third-party/components/QikifyUpsell.liquid.js +3 -46
- package/dist/cjs/third-party/components/ShopifySubscriptions.liquid.js +3 -2
- package/dist/cjs/third-party/components/StellarDeliveryDatePickup.js +32 -0
- package/dist/cjs/third-party/components/StellarDeliveryDatePickup.liquid.js +21 -0
- package/dist/cjs/third-party/components/TrustedsiteTrustBadges.js +32 -0
- package/dist/cjs/third-party/components/TrustedsiteTrustBadges.liquid.js +12 -0
- package/dist/cjs/third-party/configs/AlsoBoughtCbb.js +12 -0
- package/dist/cjs/third-party/configs/BfSizeChartSizeGuide.js +12 -0
- package/dist/cjs/third-party/configs/EssentialAnnouncementBar.js +12 -0
- package/dist/cjs/third-party/configs/EssentialCountdownTimerBar.js +12 -0
- package/dist/cjs/third-party/configs/EstimatedDeliveryDatePlus.js +12 -0
- package/dist/cjs/third-party/configs/GloColorSwatchvariantImage.js +12 -0
- package/dist/cjs/third-party/configs/HextomFreeShippingBar.js +12 -0
- package/dist/cjs/third-party/configs/OkendoReviewsLoyalty.js +12 -0
- package/dist/cjs/third-party/configs/StellarDeliveryDatePickup.js +12 -0
- package/dist/cjs/third-party/configs/TrustedsiteTrustBadges.js +12 -0
- package/dist/cjs/third-party/helpers/thirdParty.js +1 -1
- package/dist/cjs/third-party/next.js +51 -1
- package/dist/cjs/third-party/setting/AlsoBoughtCbb.js +127 -0
- package/dist/cjs/third-party/setting/BfSizeChartSizeGuide.js +131 -0
- package/dist/cjs/third-party/setting/EssentialAnnouncementBar.js +142 -0
- package/dist/cjs/third-party/setting/EssentialCountdownTimerBar.js +142 -0
- package/dist/cjs/third-party/setting/EstimatedDeliveryDatePlus.js +128 -0
- package/dist/cjs/third-party/setting/GloColorSwatchvariantImage.js +152 -0
- package/dist/cjs/third-party/setting/HextomFreeShippingBar.js +128 -0
- package/dist/cjs/third-party/setting/NotifyBackInStockPreOrder.js +2 -2
- package/dist/cjs/third-party/setting/OkendoReviewsLoyalty.js +171 -0
- package/dist/cjs/third-party/setting/QikifyUpsell.js +11 -1
- package/dist/cjs/third-party/setting/ShopifySubscriptions.js +22 -0
- package/dist/cjs/third-party/setting/StellarDeliveryDatePickup.js +127 -0
- package/dist/cjs/third-party/setting/TrustedsiteTrustBadges.js +177 -0
- package/dist/cjs/third-party/setting/index.js +21 -1
- package/dist/cjs/video/components/HTML5Embed.js +2 -2
- package/dist/cjs/video/components/HTML5Embed.liquid.js +6 -3
- package/dist/cjs/video/components/LiteYouTubeEmbed.liquid.js +5 -3
- package/dist/esm/article/components/ArticleImage.js +2 -1
- package/dist/esm/article/components/ArticleList.js +1 -1
- package/dist/esm/banner/components/hero-banner/index.liquid.js +12 -13
- package/dist/esm/banner/components/hero-banner/utils/index.js +5 -3
- package/dist/esm/builder.js +21 -1
- package/dist/esm/carousel/components/Carousel.liquid.js +3 -2
- package/dist/esm/collection/components/CollectionDescription.js +103 -9
- package/dist/esm/collection/components/CollectionDescription.liquid.js +103 -10
- package/dist/esm/collection/setting/CollectionDescription.js +128 -0
- package/dist/esm/form/components/textarea/TextArea.liquid.js +2 -2
- package/dist/esm/image/components/AdaptiveImage.liquid.js +6 -5
- package/dist/esm/image/components/Image.js +0 -1
- package/dist/esm/image/components/Image.liquid.js +6 -5
- package/dist/esm/image/components/NextImage.liquid.js +4 -3
- package/dist/esm/image-comparison/components/CompareImage.liquid.js +7 -3
- package/dist/esm/index.js +10 -0
- package/dist/esm/index.liquid.js +11 -1
- package/dist/esm/marquee/components/MarqueeBase.liquid.js +7 -26
- package/dist/esm/product/components/Product.liquid.js +3 -2
- package/dist/esm/product/components/ProductBadge/index.liquid.js +14 -5
- package/dist/esm/product/components/ProductBadge/utils/generateLiquidContent.js +2 -2
- package/dist/esm/product/components/ProductDescription.liquid.js +22 -6
- package/dist/esm/product/components/ProductImagesV2/jsx/ProductImages.js +2 -9
- package/dist/esm/product/components/ProductImagesV2/jsx/components/ProductFeaturedImageCarousel.js +13 -5
- package/dist/esm/product/components/ProductImagesV2/liquid/ProductFeaturedImageCarousel.liquid.js +6 -5
- package/dist/esm/product/components/ProductImagesV2/liquid/ProductGalleryCarousel.liquid.js +2 -2
- package/dist/esm/product/components/ProductImagesV2/liquid/ProductGalleryGrid.liquid.js +4 -4
- package/dist/esm/product/components/ProductImagesV2/liquid/ProductImages.liquid.js +4 -4
- package/dist/esm/product/components/ProductVariants/index.liquid.js +12 -19
- package/dist/esm/product/components/ProductVariants/variants/Base.liquid.js +1 -0
- package/dist/esm/product/components/ProductVariants/variants/Dropdown.liquid.js +26 -12
- package/dist/esm/product/components/ProductVariants/variants/DropdownGroup.liquid.js +4 -37
- package/dist/esm/product/components/ProductVariants/variants/combine/index.js +44 -0
- package/dist/esm/product/components/Sku.js +3 -15
- package/dist/esm/product/setting/ProductBadge.js +5 -0
- package/dist/esm/product/setting/ProductDescription.js +5 -0
- package/dist/esm/tab/hooks/useTabInteraction.js +14 -10
- package/dist/esm/third-party/components/AlsoBoughtCbb.js +28 -0
- package/dist/esm/third-party/components/AlsoBoughtCbb.liquid.js +17 -0
- package/dist/esm/third-party/components/BfSizeChartSizeGuide.js +28 -0
- package/dist/esm/third-party/components/BfSizeChartSizeGuide.liquid.js +8 -0
- package/dist/esm/third-party/components/EssentialAnnouncementBar.js +28 -0
- package/dist/esm/third-party/components/EssentialAnnouncementBar.liquid.js +8 -0
- package/dist/esm/third-party/components/EssentialCountdownTimerBar.js +28 -0
- package/dist/esm/third-party/components/EssentialCountdownTimerBar.liquid.js +8 -0
- package/dist/esm/third-party/components/EstimatedDeliveryDatePlus.js +28 -0
- package/dist/esm/third-party/components/EstimatedDeliveryDatePlus.liquid.js +8 -0
- package/dist/esm/third-party/components/GloColorSwatchvariantImage.js +28 -0
- package/dist/esm/third-party/components/GloColorSwatchvariantImage.liquid.js +8 -0
- package/dist/esm/third-party/components/HextomFreeShippingBar.js +28 -0
- package/dist/esm/third-party/components/HextomFreeShippingBar.liquid.js +8 -0
- package/dist/esm/third-party/components/NotifyBackInStockPreOrder.js +1 -1
- package/dist/esm/third-party/components/OkendoReviewsLoyalty.js +28 -0
- package/dist/esm/third-party/components/OkendoReviewsLoyalty.liquid.js +8 -0
- package/dist/esm/third-party/components/QikifyUpsell.js +22 -10
- package/dist/esm/third-party/components/QikifyUpsell.liquid.js +3 -46
- package/dist/esm/third-party/components/ShopifySubscriptions.liquid.js +3 -2
- package/dist/esm/third-party/components/StellarDeliveryDatePickup.js +28 -0
- package/dist/esm/third-party/components/StellarDeliveryDatePickup.liquid.js +17 -0
- package/dist/esm/third-party/components/TrustedsiteTrustBadges.js +28 -0
- package/dist/esm/third-party/components/TrustedsiteTrustBadges.liquid.js +8 -0
- package/dist/esm/third-party/configs/AlsoBoughtCbb.js +8 -0
- package/dist/esm/third-party/configs/BfSizeChartSizeGuide.js +8 -0
- package/dist/esm/third-party/configs/EssentialAnnouncementBar.js +8 -0
- package/dist/esm/third-party/configs/EssentialCountdownTimerBar.js +8 -0
- package/dist/esm/third-party/configs/EstimatedDeliveryDatePlus.js +8 -0
- package/dist/esm/third-party/configs/GloColorSwatchvariantImage.js +8 -0
- package/dist/esm/third-party/configs/HextomFreeShippingBar.js +8 -0
- package/dist/esm/third-party/configs/OkendoReviewsLoyalty.js +8 -0
- package/dist/esm/third-party/configs/StellarDeliveryDatePickup.js +8 -0
- package/dist/esm/third-party/configs/TrustedsiteTrustBadges.js +8 -0
- package/dist/esm/third-party/helpers/thirdParty.js +1 -1
- package/dist/esm/third-party/next.js +51 -1
- package/dist/esm/third-party/setting/AlsoBoughtCbb.js +123 -0
- package/dist/esm/third-party/setting/BfSizeChartSizeGuide.js +127 -0
- package/dist/esm/third-party/setting/EssentialAnnouncementBar.js +138 -0
- package/dist/esm/third-party/setting/EssentialCountdownTimerBar.js +138 -0
- package/dist/esm/third-party/setting/EstimatedDeliveryDatePlus.js +124 -0
- package/dist/esm/third-party/setting/GloColorSwatchvariantImage.js +148 -0
- package/dist/esm/third-party/setting/HextomFreeShippingBar.js +124 -0
- package/dist/esm/third-party/setting/NotifyBackInStockPreOrder.js +2 -2
- package/dist/esm/third-party/setting/OkendoReviewsLoyalty.js +167 -0
- package/dist/esm/third-party/setting/QikifyUpsell.js +11 -1
- package/dist/esm/third-party/setting/ShopifySubscriptions.js +22 -0
- package/dist/esm/third-party/setting/StellarDeliveryDatePickup.js +123 -0
- package/dist/esm/third-party/setting/TrustedsiteTrustBadges.js +173 -0
- package/dist/esm/third-party/setting/index.js +224 -204
- package/dist/esm/video/components/HTML5Embed.js +2 -2
- package/dist/esm/video/components/HTML5Embed.liquid.js +6 -3
- package/dist/esm/video/components/LiteYouTubeEmbed.liquid.js +5 -3
- package/dist/types/index.d.ts +257 -36
- package/package.json +2 -2
package/dist/esm/product/components/ProductImagesV2/liquid/ProductFeaturedImageCarousel.liquid.js
CHANGED
|
@@ -9,7 +9,7 @@ import NextImage from '../../../../image/components/NextImage.liquid.js';
|
|
|
9
9
|
import Video from '../../../../image/components/Video.liquid.js';
|
|
10
10
|
import { getStyleOfObject } from '../../../helpers/function.js';
|
|
11
11
|
|
|
12
|
-
const ProductFeaturedImageCarousel = ({ builderPropUID, children,
|
|
12
|
+
const ProductFeaturedImageCarousel = ({ builderPropUID, children, enableLazyLoadImage, ...setting })=>{
|
|
13
13
|
const ftAspectRatio = getAspectRatio(setting.ftShape);
|
|
14
14
|
const getStyleFeaturedImageDisplay = ()=>{
|
|
15
15
|
return getDisplayStyle((device)=>![
|
|
@@ -149,7 +149,7 @@ const ProductFeaturedImageCarousel = ({ builderPropUID, children, enableLazyload
|
|
|
149
149
|
},
|
|
150
150
|
priority: setting?.preload,
|
|
151
151
|
className: `gp-w-full gp-h-full gp-absolute gp-top-0 gp-left-0 featured-image-only gp-cursor-pointer !gp-rounded-none ${className}`,
|
|
152
|
-
|
|
152
|
+
enableLazyLoadImage
|
|
153
153
|
})}`;
|
|
154
154
|
};
|
|
155
155
|
const renderNoImage = ()=>{
|
|
@@ -167,7 +167,7 @@ const ProductFeaturedImageCarousel = ({ builderPropUID, children, enableLazyload
|
|
|
167
167
|
},
|
|
168
168
|
priority: setting?.preload,
|
|
169
169
|
className: `gp-w-full gp-h-full gp-absolute gp-top-0 gp-left-0 featured-image-only gp-cursor-pointer !gp-rounded-none`,
|
|
170
|
-
|
|
170
|
+
enableLazyLoadImage
|
|
171
171
|
})}`;
|
|
172
172
|
};
|
|
173
173
|
const getValueFromValueContainUnit = (value)=>{
|
|
@@ -394,10 +394,11 @@ const ProductFeaturedImageCarousel = ({ builderPropUID, children, enableLazyload
|
|
|
394
394
|
},
|
|
395
395
|
className: `gp-w-full featured-image-only !gp-rounded-none`,
|
|
396
396
|
customLazyload: true,
|
|
397
|
-
|
|
397
|
+
enableLazyLoadImage
|
|
398
398
|
})}
|
|
399
399
|
{%- endif -%}
|
|
400
|
-
|
|
400
|
+
`,
|
|
401
|
+
ftShapeProductImage: setting?.ftShape
|
|
401
402
|
})}
|
|
402
403
|
`;
|
|
403
404
|
};
|
|
@@ -6,7 +6,7 @@ import { convertSpacing, getDisplayStyle, getAspectRatio, getSrcImage } from '..
|
|
|
6
6
|
import { getShapeByLayout, getSettingMinWidthForCarouselItem, getSettingWidthForCarouselItem, getMinHeightByPosition, getSliderPerShowConfig, getAllowDotConfig, getDotStyleConfig, getCarouselVerticalConfigByPosition, checkDisplayGalleryByWidth, getZoomDisplay } from '../common/productGallery.js';
|
|
7
7
|
import { getStyleOfObject } from '../../../helpers/function.js';
|
|
8
8
|
|
|
9
|
-
const ProductGalleryCarousel = ({ builderPropUID, children,
|
|
9
|
+
const ProductGalleryCarousel = ({ builderPropUID, children, enableLazyLoadImage, ...setting })=>{
|
|
10
10
|
const getCarouselDisplay = ()=>{
|
|
11
11
|
const isDisplayCarousel = (type, position, device)=>{
|
|
12
12
|
const layout = getResponsiveValueByScreen(position, device);
|
|
@@ -86,7 +86,7 @@ const ProductGalleryCarousel = ({ builderPropUID, children, enableLazyloadImage,
|
|
|
86
86
|
customLazyload: true,
|
|
87
87
|
style: style,
|
|
88
88
|
className: '!gp-rounded-none gp-w-full gp-h-full gp-absolute gp-top-0 gp-left-0 gp-cursor-pointer',
|
|
89
|
-
|
|
89
|
+
enableLazyLoadImage
|
|
90
90
|
})}`;
|
|
91
91
|
};
|
|
92
92
|
const aspectRatioToPaddingBottom = ()=>{
|
|
@@ -8,7 +8,7 @@ import Model3d from '../../../../image/components/Modal3d.liquid.js';
|
|
|
8
8
|
import Video from '../../../../image/components/Video.liquid.js';
|
|
9
9
|
import HTML5Embed from '../../../../video/components/HTML5Embed.liquid.js';
|
|
10
10
|
|
|
11
|
-
const ProductGalleryGrid = ({ builderPropUID, wrapperStyle, children,
|
|
11
|
+
const ProductGalleryGrid = ({ builderPropUID, wrapperStyle, children, enableLazyLoadImage, ...setting })=>{
|
|
12
12
|
const getGridDisplay = ()=>{
|
|
13
13
|
const isDisplayGrid = (type, position, device)=>{
|
|
14
14
|
const layout = getResponsiveValueByScreen(position, device);
|
|
@@ -97,7 +97,7 @@ const ProductGalleryGrid = ({ builderPropUID, wrapperStyle, children, enableLazy
|
|
|
97
97
|
style: style,
|
|
98
98
|
className: '!gp-rounded-none',
|
|
99
99
|
customLazyload: false,
|
|
100
|
-
|
|
100
|
+
enableLazyLoadImage
|
|
101
101
|
})}
|
|
102
102
|
${setting?.galleryHoverEffect !== 'none' ? `<div class="${cls('zoom-element !gp-max-w-none', getZoomImageClass())}">
|
|
103
103
|
${NextImage({
|
|
@@ -111,7 +111,7 @@ const ProductGalleryGrid = ({ builderPropUID, wrapperStyle, children, enableLazy
|
|
|
111
111
|
style: style,
|
|
112
112
|
className: '!gp-rounded-none gp-w-full gp-h-full',
|
|
113
113
|
customLazyload: false,
|
|
114
|
-
|
|
114
|
+
enableLazyLoadImage
|
|
115
115
|
})}
|
|
116
116
|
</div>` : ''}
|
|
117
117
|
${setting?.galleryHoverEffect == 'zoom' && setting?.galleryZoomType == 'glasses' ? `
|
|
@@ -294,7 +294,7 @@ const ProductGalleryGrid = ({ builderPropUID, wrapperStyle, children, enableLazy
|
|
|
294
294
|
},
|
|
295
295
|
className: '!gp-rounded-none',
|
|
296
296
|
customLazyload: false,
|
|
297
|
-
|
|
297
|
+
enableLazyLoadImage
|
|
298
298
|
})}`;
|
|
299
299
|
};
|
|
300
300
|
return template`
|
|
@@ -7,7 +7,7 @@ import { getSettingPreloadData } from '../../../../helpers.js';
|
|
|
7
7
|
import { getShapeByLayout, sizeSettingDefaultForNewLayout } from '../common/productGallery.js';
|
|
8
8
|
|
|
9
9
|
const ProductImages = (productImageProps)=>{
|
|
10
|
-
const { setting, styles, builderProps, style, advanced, rawChildren, pageContext,
|
|
10
|
+
const { setting, styles, builderProps, style, advanced, rawChildren, pageContext, enableLazyLoadImage } = productImageProps;
|
|
11
11
|
const settings = {
|
|
12
12
|
...setting,
|
|
13
13
|
...styles
|
|
@@ -112,7 +112,7 @@ const ProductImages = (productImageProps)=>{
|
|
|
112
112
|
builderPropUID: `gp-carousel-${builderProps?.uid}`,
|
|
113
113
|
...settings,
|
|
114
114
|
children: renderProductBadge(),
|
|
115
|
-
|
|
115
|
+
enableLazyLoadImage
|
|
116
116
|
})}
|
|
117
117
|
${shouldSkipLiquidRenderForSingleImage(settings?.position, template`
|
|
118
118
|
<div
|
|
@@ -128,7 +128,7 @@ const ProductImages = (productImageProps)=>{
|
|
|
128
128
|
${ProductGalleryCarousel({
|
|
129
129
|
builderPropUID: `gp-gallery-${builderProps?.uid}`,
|
|
130
130
|
...settings,
|
|
131
|
-
|
|
131
|
+
enableLazyLoadImage
|
|
132
132
|
})}
|
|
133
133
|
</div>
|
|
134
134
|
${ProductGalleryGrid({
|
|
@@ -138,7 +138,7 @@ const ProductImages = (productImageProps)=>{
|
|
|
138
138
|
},
|
|
139
139
|
children: renderProductBadge(),
|
|
140
140
|
...settings,
|
|
141
|
-
|
|
141
|
+
enableLazyLoadImage
|
|
142
142
|
})}
|
|
143
143
|
`)}
|
|
144
144
|
</div>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { makeStyleResponsive, makeWidth, composeMemo, composeTypographyClassName, template, optionLayoutStyle, RenderIf, isLocalEnv, baseAssetURL, cls, makeStyle, getResponsiveValueByScreen } from '@gem-sdk/core';
|
|
1
|
+
import { makeStyleResponsive, makeWidth, composeMemo, composeTypographyClassName, template, optionLayoutStyle, RenderIf, isLocalEnv, baseAssetURL, cls, getLayoutClasses, getAlignmentClasses, makeStyle, getResponsiveValueByScreen } from '@gem-sdk/core';
|
|
2
2
|
import Text from '../../../text/components/Text.liquid.js';
|
|
3
3
|
import VariantItem from './variants/index.liquid.js';
|
|
4
4
|
import DropdownVariant from './variants/Dropdown.liquid.js';
|
|
@@ -93,15 +93,9 @@ const ProductVariants = ({ builderProps, style, styles, setting, advanced })=>{
|
|
|
93
93
|
<div
|
|
94
94
|
option-name="{{option.name | escape}}"
|
|
95
95
|
class="${cls('gp-flex variant-inside', {
|
|
96
|
-
|
|
97
|
-
'gp-flex-row': layout?.desktop === 'horizontal',
|
|
98
|
-
'tablet:gp-flex-row': layout?.tablet === 'horizontal',
|
|
99
|
-
'tablet:gp-flex-col': layout?.tablet === 'vertical',
|
|
100
|
-
'mobile:gp-flex-row': layout?.mobile === 'horizontal',
|
|
101
|
-
'mobile:gp-flex-col': layout?.mobile === 'vertical'
|
|
102
|
-
}, {
|
|
96
|
+
...getLayoutClasses(layout),
|
|
103
97
|
...getAlignClasses(layout, align)
|
|
104
|
-
})}
|
|
98
|
+
})}"
|
|
105
99
|
|
|
106
100
|
>
|
|
107
101
|
{% assign showVariantClass = 'variant-display' %}
|
|
@@ -133,15 +127,7 @@ const ProductVariants = ({ builderProps, style, styles, setting, advanced })=>{
|
|
|
133
127
|
<div
|
|
134
128
|
variant-option-name="{{option.name | escape}}"
|
|
135
129
|
class="${cls({
|
|
136
|
-
|
|
137
|
-
'gp-justify-center': align?.desktop === 'center',
|
|
138
|
-
'gp-justify-end': align?.desktop === 'right',
|
|
139
|
-
'tablet:gp-justify-start': align?.tablet === 'left',
|
|
140
|
-
'tablet:gp-justify-center': align?.tablet === 'center',
|
|
141
|
-
'tablet:gp-justify-end': align?.tablet === 'right',
|
|
142
|
-
'mobile:gp-justify-start': align?.mobile === 'left',
|
|
143
|
-
'mobile:gp-justify-center': align?.mobile === 'center',
|
|
144
|
-
'mobile:gp-justify-end': align?.mobile === 'right'
|
|
130
|
+
...getAlignmentClasses(align)
|
|
145
131
|
}, 'gp-flex gp-w-full gp-flex-wrap gp-items-center variant-option-group')}"
|
|
146
132
|
style="${{
|
|
147
133
|
...makeStyle({
|
|
@@ -324,6 +310,10 @@ const ProductVariants = ({ builderProps, style, styles, setting, advanced })=>{
|
|
|
324
310
|
`;
|
|
325
311
|
};
|
|
326
312
|
return template`
|
|
313
|
+
{%- assign total_combinations = 1 -%}
|
|
314
|
+
{%- for option in product.options_with_values -%}
|
|
315
|
+
{%- assign total_combinations = total_combinations | times: option.values.size -%}
|
|
316
|
+
{%- endfor -%}
|
|
327
317
|
<gp-product-variants
|
|
328
318
|
data-id="${uid}"
|
|
329
319
|
class="${advanced?.cssClass}"
|
|
@@ -339,7 +329,10 @@ const ProductVariants = ({ builderProps, style, styles, setting, advanced })=>{
|
|
|
339
329
|
"moneyFormat": {{shop.money_format | json | escape}},
|
|
340
330
|
"productId": {{product.id | json | escape}},
|
|
341
331
|
"productUrl": {{product.url | json | escape}},
|
|
342
|
-
"
|
|
332
|
+
"productHandle": {{product.handle | json | escape}},
|
|
333
|
+
"displayState": ${JSON.stringify(advancedDisplay)},
|
|
334
|
+
"totalVariantCombinations": {{total_combinations}},
|
|
335
|
+
"firstAvailableVariant": {{product.selected_or_first_available_variant | json | escape}}
|
|
343
336
|
}
|
|
344
337
|
'>
|
|
345
338
|
{%- assign options = product.options_with_values -%}
|
|
@@ -152,6 +152,7 @@ const BaseVariant = ({ optionTransform, optionTypography, optionBgColor, optionT
|
|
|
152
152
|
option-data="{{option.name | escape}}"
|
|
153
153
|
option-value="{{value | escape}}"
|
|
154
154
|
option-position="{{option.position}}"
|
|
155
|
+
data-gp-option-available="{{value.available}}"
|
|
155
156
|
option-type="${type || 'rectangle_list'}"
|
|
156
157
|
data-disabled="{%- if option_disabled == true -%} disabled {%- endif -%}"
|
|
157
158
|
data-hidden='true'
|
|
@@ -14,6 +14,15 @@ const DropdownVariant = ({ variantGroup, blankText, swatchAutoWidth, swatchHeigh
|
|
|
14
14
|
};
|
|
15
15
|
const appendTypoClass = composeTypographyClassName(optionTypo, optionTypography);
|
|
16
16
|
const appendTypoStyle = composeTypographyStyle(optionTypo, optionTypography);
|
|
17
|
+
const composeSelectOptionAttrs = `
|
|
18
|
+
option-data="{{option.name | escape}}"
|
|
19
|
+
option-value="{{value | escape}}"
|
|
20
|
+
data-gp-option-value-id="{{value.id}}"
|
|
21
|
+
data-gp-option-available="{{value.available}}"
|
|
22
|
+
value="{{value | escape}}"
|
|
23
|
+
class="option-value-wrapper"
|
|
24
|
+
key="{{value | escape}}"
|
|
25
|
+
`;
|
|
17
26
|
return template /* liquid */ `
|
|
18
27
|
<select
|
|
19
28
|
aria-label={{option.name | escape}}
|
|
@@ -69,37 +78,42 @@ const DropdownVariant = ({ variantGroup, blankText, swatchAutoWidth, swatchHeigh
|
|
|
69
78
|
-%}
|
|
70
79
|
${isSoldOutMark ? `{%- if option_disabled == true -%}
|
|
71
80
|
{%- if value == selectedValue -%}
|
|
72
|
-
<option disabled ${!hasPreSelected ? '' : 'selected'}
|
|
81
|
+
<option disabled ${!hasPreSelected ? '' : 'selected'}
|
|
73
82
|
option-position="{{option.position}}"
|
|
74
|
-
|
|
83
|
+
${composeSelectOptionAttrs}>
|
|
75
84
|
{{value}}
|
|
76
85
|
</option>
|
|
77
86
|
{% else %}
|
|
78
|
-
<option
|
|
79
|
-
|
|
87
|
+
<option
|
|
88
|
+
disabled
|
|
89
|
+
${composeSelectOptionAttrs}>
|
|
80
90
|
{{value}}
|
|
81
91
|
</option>
|
|
82
92
|
{%- endif -%}
|
|
83
93
|
{%- else -%}
|
|
84
94
|
{%- if value == selectedValue -%}
|
|
85
|
-
<option ${!hasPreSelected ? '' : 'selected'}
|
|
86
|
-
option-
|
|
95
|
+
<option ${!hasPreSelected ? '' : 'selected'}
|
|
96
|
+
option-position="{{option.position}}"
|
|
97
|
+
${composeSelectOptionAttrs}>
|
|
87
98
|
{{value}}
|
|
88
99
|
</option>
|
|
89
100
|
{% else %}
|
|
90
|
-
<option
|
|
91
|
-
|
|
101
|
+
<option
|
|
102
|
+
${composeSelectOptionAttrs}
|
|
103
|
+
option-position="{{option.position}}">
|
|
92
104
|
{{value}}
|
|
93
105
|
</option>
|
|
94
106
|
{%- endif -%}
|
|
95
107
|
{%- endif -%}` : `{%- if value == selectedValue -%}
|
|
96
|
-
<option ${!hasPreSelected ? '' : 'selected'}
|
|
97
|
-
|
|
108
|
+
<option ${!hasPreSelected ? '' : 'selected'}
|
|
109
|
+
${composeSelectOptionAttrs}
|
|
110
|
+
option-position="{{option.position}}">
|
|
98
111
|
{{value}}
|
|
99
112
|
</option>
|
|
100
113
|
{% else %}
|
|
101
|
-
<option
|
|
102
|
-
|
|
114
|
+
<option
|
|
115
|
+
${composeSelectOptionAttrs}
|
|
116
|
+
option-position="{{option.position}}">
|
|
103
117
|
{{value}}
|
|
104
118
|
</option>
|
|
105
119
|
{%- endif -%}`}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { makeStyleResponsive, makeWidth, composeTypographyClassName, composeTypographyStyle, template, cls, handleConvertClassColor, getGlobalColorStateClass, getStyleShadowState, makeStyle, getGlobalColorStateStyle, handleConvertBorderStyle, handleConvertBorderWidth, handleConvertBorderColor, composeRadius, getSingleColorVariable } from '@gem-sdk/core';
|
|
2
|
-
import {
|
|
2
|
+
import { renderBlankOption, renderCombineVariants } from './combine/index.js';
|
|
3
3
|
|
|
4
|
-
const DropdownVariant = ({ price, blankText, optionTypography, optionBgColor, optionTextColor, optionRounded, optionShadow, optionHasShadow, optionBorder, optionTransform, hasPreSelected, optionTypo, combineWidth, combineHeight, soldOutStyle })=>{
|
|
4
|
+
const DropdownVariant = ({ price: hasPrice, blankText, optionTypography, optionBgColor, optionTextColor, optionRounded, optionShadow, optionHasShadow, optionBorder, optionTransform, hasPreSelected, optionTypo, combineWidth, combineHeight, soldOutStyle })=>{
|
|
5
5
|
const swatchWidthResponsive = makeStyleResponsive('w', makeWidth(combineWidth));
|
|
6
6
|
const getCustomCSSActiveState = ()=>{
|
|
7
7
|
return makeStyle({
|
|
@@ -23,7 +23,6 @@ const DropdownVariant = ({ price, blankText, optionTypography, optionBgColor, op
|
|
|
23
23
|
option-data="{{option.name}}"
|
|
24
24
|
option-type="{{optionType}}"
|
|
25
25
|
class="${cls('gp-truncate gp-bg-auto gp-pl-4 gp-pr-6 gp-outline-none dropdown-option-item', handleConvertClassColor(optionBorder), appendTypoClass, getGlobalColorStateClass('text', optionTextColor), getGlobalColorStateClass('bg', optionBgColor), 'gp-outline-none', 'gp-shadow-none')}"
|
|
26
|
-
|
|
27
26
|
style="${{
|
|
28
27
|
...getStyleShadowState(optionShadow, 'box-shadow', optionHasShadow),
|
|
29
28
|
...getCustomCSSActiveState(),
|
|
@@ -45,40 +44,8 @@ const DropdownVariant = ({ price, blankText, optionTypography, optionBgColor, op
|
|
|
45
44
|
'background-position': 'right 16px center'
|
|
46
45
|
}}"
|
|
47
46
|
>
|
|
48
|
-
${
|
|
49
|
-
${
|
|
50
|
-
${isSoldOutMark ? `{%- if variantItem.available == false -%}
|
|
51
|
-
{%- if variantItem.id == variant.id -%}
|
|
52
|
-
<option origin-price="{{variantItem.price}}" disabled ${!hasPreSelected ? '' : 'selected'} value="{{variantItem.id}}" key="{{variantItem.id}}">
|
|
53
|
-
{{variantItem.title}} ${price ? '- {{variantItem.price | money}}' : ''}
|
|
54
|
-
</option>
|
|
55
|
-
{% else %}
|
|
56
|
-
<option origin-price="{{variantItem.price}}" disabled value="{{variantItem.id}}" key="{{variantItem.id}}">
|
|
57
|
-
{{variantItem.title}} ${price ? '- {{variantItem.price | money}}' : ''}
|
|
58
|
-
</option>
|
|
59
|
-
{%- endif -%}
|
|
60
|
-
{%- else -%}
|
|
61
|
-
{%- if variantItem.id == variant.id -%}
|
|
62
|
-
<option origin-price="{{variantItem.price}}" ${!hasPreSelected ? '' : 'selected'} value="{{variantItem.id}}" key="{{variantItem.id}}">
|
|
63
|
-
{{variantItem.title}} ${price ? '- {{variantItem.price | money}}' : ''}
|
|
64
|
-
</option>
|
|
65
|
-
{% else %}
|
|
66
|
-
<option origin-price="{{variantItem.price}}" value="{{variantItem.id}}" key="{{variantItem.id}}">
|
|
67
|
-
{{variantItem.title}} ${price ? '- {{variantItem.price | money}}' : ''}
|
|
68
|
-
</option>
|
|
69
|
-
{%- endif -%}
|
|
70
|
-
{%- endif -%}` : `{%- if variantItem.id == variant.id -%}
|
|
71
|
-
<option origin-price="{{variantItem.price}}" ${!hasPreSelected ? '' : 'selected'} value="{{variantItem.id}}" key="{{variantItem.id}}">
|
|
72
|
-
{{variantItem.title}} ${price ? '- {{variantItem.price | money}}' : ''}
|
|
73
|
-
</option>
|
|
74
|
-
{% else %}
|
|
75
|
-
<option origin-price="{{variantItem.price}}" value="{{variantItem.id}}" key="{{variantItem.id}}">
|
|
76
|
-
{{variantItem.title}} ${price ? '- {{variantItem.price | money}}' : ''}
|
|
77
|
-
</option>
|
|
78
|
-
{%- endif -%}`}
|
|
79
|
-
|
|
80
|
-
{%- endfor -%}
|
|
81
|
-
`}
|
|
47
|
+
${renderBlankOption(hasPreSelected, blankText)}
|
|
48
|
+
${renderCombineVariants(isSoldOutMark, hasPreSelected, hasPrice)}
|
|
82
49
|
</select>
|
|
83
50
|
`;
|
|
84
51
|
};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { getStaticLocale } from '../../../../../helpers.js';
|
|
2
|
+
|
|
3
|
+
const renderCombineVariants = (isSoldOutMark, hasPreSelected, enablePrice)=>{
|
|
4
|
+
const hasPrice = enablePrice ? '- {{variantItem.price | money}}' : '';
|
|
5
|
+
const optionAttrs = 'origin-price="{{variantItem.price}}" value="{{variantItem.id}}" key="{{variantItem.id}}"';
|
|
6
|
+
return `${`{%- for variantItem in variants -%}
|
|
7
|
+
${isSoldOutMark ? `{%- if variantItem.available == false -%}
|
|
8
|
+
{%- if variantItem.id == variant.id -%}
|
|
9
|
+
<option origin-price="{{variantItem.price}}" disabled ${hasPreSelected ? 'selected' : ''} value="{{variantItem.id}}" key="{{variantItem.id}}">
|
|
10
|
+
{{variantItem.title}} ${hasPrice} : ''}
|
|
11
|
+
</option>
|
|
12
|
+
{% else %}
|
|
13
|
+
<option ${optionAttrs} disabled>
|
|
14
|
+
{{variantItem.title}} ${hasPrice}
|
|
15
|
+
</option>
|
|
16
|
+
{%- endif -%}
|
|
17
|
+
{%- else -%}
|
|
18
|
+
{%- if variantItem.id == variant.id -%}
|
|
19
|
+
<option origin-price="{{variantItem.price}}" ${hasPreSelected ? 'selected' : ''} value="{{variantItem.id}}" key="{{variantItem.id}}">
|
|
20
|
+
{{variantItem.title}} ${hasPrice}
|
|
21
|
+
</option>
|
|
22
|
+
{% else %}
|
|
23
|
+
<option ${optionAttrs}>
|
|
24
|
+
{{variantItem.title}} ${hasPrice}
|
|
25
|
+
</option>
|
|
26
|
+
{%- endif -%}
|
|
27
|
+
{%- endif -%}` : `{%- if variantItem.id == variant.id -%}
|
|
28
|
+
<option origin-price="{{variantItem.price}}" ${hasPreSelected ? 'selected' : ''} value="{{variantItem.id}}" key="{{variantItem.id}}">
|
|
29
|
+
{{variantItem.title}} ${hasPrice}
|
|
30
|
+
</option>
|
|
31
|
+
{% else %}
|
|
32
|
+
<option ${optionAttrs}>
|
|
33
|
+
{{variantItem.title}} ${hasPrice}
|
|
34
|
+
</option>
|
|
35
|
+
{%- endif -%}`}
|
|
36
|
+
|
|
37
|
+
{%- endfor -%}
|
|
38
|
+
`}`;
|
|
39
|
+
};
|
|
40
|
+
const renderBlankOption = (hasPreSelected, blankText)=>{
|
|
41
|
+
return !hasPreSelected ? `<option value="blank" selected>${blankText || getStaticLocale('ProductVariants', 'please_select')}</option>` : '';
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
export { renderBlankOption, renderCombineVariants };
|
|
@@ -1,23 +1,11 @@
|
|
|
1
1
|
import { jsx } from 'react/jsx-runtime';
|
|
2
|
-
import { useCurrentVariant
|
|
2
|
+
import { useCurrentVariant } from '@gem-sdk/core';
|
|
3
3
|
import Text from '../../text/components/Text.js';
|
|
4
|
-
import { checkDefaultVariant } from '../helpers/product.js';
|
|
5
4
|
|
|
6
5
|
const ProductSku = ({ setting, builderProps, styles })=>{
|
|
7
6
|
const currentVariant = useCurrentVariant();
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
const textContent = setting?.label && setting.label.trim().length ? `${setting.label}: ${currentVariant?.sku || ''}` : `${currentVariant?.sku || ''}`;
|
|
11
|
-
if (isDefaultVariant) {
|
|
12
|
-
return /*#__PURE__*/ jsx("div", {
|
|
13
|
-
"data-id": builderProps?.uid,
|
|
14
|
-
children: /*#__PURE__*/ jsx("p", {
|
|
15
|
-
className: "gp-p-2 gp-text-center gp-text-sm gp-font-semibold gp-text-gray-500",
|
|
16
|
-
children: "This product does not have a SKU"
|
|
17
|
-
})
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
if (!isDefaultVariant && !currentVariant?.sku) {
|
|
7
|
+
const textContent = setting?.label?.trim()?.length ? `${setting.label}: ${currentVariant?.sku ?? ''}` : `${currentVariant?.sku ?? ''}`;
|
|
8
|
+
if (!currentVariant?.sku) {
|
|
21
9
|
return /*#__PURE__*/ jsx("div", {
|
|
22
10
|
"data-id": builderProps?.uid,
|
|
23
11
|
children: /*#__PURE__*/ jsx("p", {
|
|
@@ -1,20 +1,19 @@
|
|
|
1
1
|
import { useInteraction, useEditorMode } from '@gem-sdk/core';
|
|
2
|
-
import {
|
|
2
|
+
import { useEffect } from 'react';
|
|
3
3
|
|
|
4
4
|
const useTabInteraction = ({ activeKey, setActiveKey, activeTab, refContainer, componentUid })=>{
|
|
5
|
-
const
|
|
6
|
-
const { trigger, onListener, interactionListenerLoaded } = useInteraction();
|
|
5
|
+
const { trigger, onListener, interactionListenerLoaded, saveToElementInteractionData, findElementIncludingSelf } = useInteraction();
|
|
7
6
|
const mode = useEditorMode();
|
|
8
7
|
const changeOpenTabInteraction = (params)=>{
|
|
9
|
-
const { data, isRollback } = params || {};
|
|
10
|
-
if (data === undefined && isRollback
|
|
8
|
+
const { data, isRollback, element, key } = params || {};
|
|
9
|
+
if (data === undefined && isRollback) return;
|
|
10
|
+
const newData = Number(data) + 1;
|
|
11
11
|
if (isRollback) {
|
|
12
|
-
setActiveKey(
|
|
13
|
-
setPreviousTab(activeTab);
|
|
12
|
+
setActiveKey(newData);
|
|
14
13
|
return;
|
|
15
14
|
}
|
|
16
|
-
|
|
17
|
-
setActiveKey(
|
|
15
|
+
saveToElementInteractionData(element, key, String(activeKey));
|
|
16
|
+
setActiveKey(newData);
|
|
18
17
|
};
|
|
19
18
|
const dispatchEventTabActive = (index)=>{
|
|
20
19
|
trigger({
|
|
@@ -35,11 +34,16 @@ const useTabInteraction = ({ activeKey, setActiveKey, activeTab, refContainer, c
|
|
|
35
34
|
dispatchEventTabActive(activeTab - 1);
|
|
36
35
|
});
|
|
37
36
|
const selector = `[data-id="${componentUid}"]`;
|
|
37
|
+
const element = findElementIncludingSelf(document, selector);
|
|
38
38
|
const removeListener = onListener({
|
|
39
39
|
event: 'gp:change-open-tab',
|
|
40
40
|
selector
|
|
41
41
|
}, (params)=>{
|
|
42
|
-
changeOpenTabInteraction(
|
|
42
|
+
changeOpenTabInteraction({
|
|
43
|
+
...params,
|
|
44
|
+
element,
|
|
45
|
+
key: params?.uniqueStorageKey
|
|
46
|
+
});
|
|
43
47
|
});
|
|
44
48
|
return ()=>{
|
|
45
49
|
removeListener?.();
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { jsx, Fragment } from 'react/jsx-runtime';
|
|
2
|
+
import { makeStyleResponsive } from '@gem-sdk/core';
|
|
3
|
+
import ThirdPartyPreview from './ThirdPartyPreview.js';
|
|
4
|
+
import AppConfig from '../configs/AlsoBoughtCbb.js';
|
|
5
|
+
|
|
6
|
+
const AlsoBoughtCbbContent = ()=>{
|
|
7
|
+
return /*#__PURE__*/ jsx(Fragment, {
|
|
8
|
+
children: /*#__PURE__*/ jsx("div", {
|
|
9
|
+
className: "gp-p-2",
|
|
10
|
+
children: /*#__PURE__*/ jsx(ThirdPartyPreview, {
|
|
11
|
+
setting: {
|
|
12
|
+
label: 'Also Bought • CBB',
|
|
13
|
+
iconSvg: `<img class="gp-w-6 gp-border gp-border-[#494949] gp-rounded-[3px]" src="${AppConfig.logoUrl}">`
|
|
14
|
+
}
|
|
15
|
+
})
|
|
16
|
+
})
|
|
17
|
+
});
|
|
18
|
+
};
|
|
19
|
+
const AlsoBoughtCbb = ({ setting })=>{
|
|
20
|
+
return /*#__PURE__*/ jsx("div", {
|
|
21
|
+
style: {
|
|
22
|
+
...makeStyleResponsive('ta', setting?.align)
|
|
23
|
+
},
|
|
24
|
+
children: /*#__PURE__*/ jsx(AlsoBoughtCbbContent, {})
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
export { AlsoBoughtCbb as default };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { template, makeStyleResponsive } from '@gem-sdk/core';
|
|
2
|
+
|
|
3
|
+
const AlsoBoughtCbb = ({ setting, advanced })=>{
|
|
4
|
+
const { align } = setting ?? {};
|
|
5
|
+
return template`
|
|
6
|
+
<div
|
|
7
|
+
class="${advanced?.cssClass}"
|
|
8
|
+
style="${{
|
|
9
|
+
...makeStyleResponsive('ta', align)
|
|
10
|
+
}}"
|
|
11
|
+
>
|
|
12
|
+
<div class="gp-integration-also-bought__position" />
|
|
13
|
+
</div>
|
|
14
|
+
`;
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
export { AlsoBoughtCbb as default };
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { jsx, Fragment } from 'react/jsx-runtime';
|
|
2
|
+
import { makeStyleResponsive } from '@gem-sdk/core';
|
|
3
|
+
import ThirdPartyPreview from './ThirdPartyPreview.js';
|
|
4
|
+
import AppConfig from '../configs/BfSizeChartSizeGuide.js';
|
|
5
|
+
|
|
6
|
+
const BfSizeChartSizeGuideContent = ()=>{
|
|
7
|
+
return /*#__PURE__*/ jsx(Fragment, {
|
|
8
|
+
children: /*#__PURE__*/ jsx("div", {
|
|
9
|
+
className: "gp-p-2",
|
|
10
|
+
children: /*#__PURE__*/ jsx(ThirdPartyPreview, {
|
|
11
|
+
setting: {
|
|
12
|
+
label: 'BF Size Chart & Size Guide',
|
|
13
|
+
iconSvg: `<img class="gp-w-6 gp-border gp-border-[#494949] gp-rounded-[3px]" src="${AppConfig.logoUrl}">`
|
|
14
|
+
}
|
|
15
|
+
})
|
|
16
|
+
})
|
|
17
|
+
});
|
|
18
|
+
};
|
|
19
|
+
const BfSizeChartSizeGuide = ({ setting })=>{
|
|
20
|
+
return /*#__PURE__*/ jsx("div", {
|
|
21
|
+
style: {
|
|
22
|
+
...makeStyleResponsive('ta', setting?.align)
|
|
23
|
+
},
|
|
24
|
+
children: /*#__PURE__*/ jsx(BfSizeChartSizeGuideContent, {})
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
export { BfSizeChartSizeGuide as default };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { getLiquidForAppBlock } from '../helpers/thirdParty.js';
|
|
2
|
+
|
|
3
|
+
const BfSizeChartSizeGuide = ({ setting, advanced })=>{
|
|
4
|
+
const { align, appBlockId } = setting ?? {};
|
|
5
|
+
return getLiquidForAppBlock(appBlockId, align, advanced?.cssClass);
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
export { BfSizeChartSizeGuide as default };
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { jsx, Fragment } from 'react/jsx-runtime';
|
|
2
|
+
import { makeStyleResponsive } from '@gem-sdk/core';
|
|
3
|
+
import ThirdPartyPreview from './ThirdPartyPreview.js';
|
|
4
|
+
import AppConfig from '../configs/EssentialAnnouncementBar.js';
|
|
5
|
+
|
|
6
|
+
const EssentialAnnouncementBarContent = ()=>{
|
|
7
|
+
return /*#__PURE__*/ jsx(Fragment, {
|
|
8
|
+
children: /*#__PURE__*/ jsx("div", {
|
|
9
|
+
className: "gp-p-2",
|
|
10
|
+
children: /*#__PURE__*/ jsx(ThirdPartyPreview, {
|
|
11
|
+
setting: {
|
|
12
|
+
label: 'Essential Announcement Bar',
|
|
13
|
+
iconSvg: `<img class="gp-w-6 gp-border gp-border-[#494949] gp-rounded-[3px]" src="${AppConfig.logoUrl}">`
|
|
14
|
+
}
|
|
15
|
+
})
|
|
16
|
+
})
|
|
17
|
+
});
|
|
18
|
+
};
|
|
19
|
+
const EssentialAnnouncementBar = ({ setting })=>{
|
|
20
|
+
return /*#__PURE__*/ jsx("div", {
|
|
21
|
+
style: {
|
|
22
|
+
...makeStyleResponsive('ta', setting?.align)
|
|
23
|
+
},
|
|
24
|
+
children: /*#__PURE__*/ jsx(EssentialAnnouncementBarContent, {})
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
export { EssentialAnnouncementBar as default };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { getLiquidForAppBlock } from '../helpers/thirdParty.js';
|
|
2
|
+
|
|
3
|
+
const EssentialAnnouncementBar = ({ setting, advanced })=>{
|
|
4
|
+
const { align, appBlockId } = setting ?? {};
|
|
5
|
+
return getLiquidForAppBlock(appBlockId, align, `${advanced?.cssClass ?? ''} !gp-block `);
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
export { EssentialAnnouncementBar as default };
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { jsx, Fragment } from 'react/jsx-runtime';
|
|
2
|
+
import { makeStyleResponsive } from '@gem-sdk/core';
|
|
3
|
+
import ThirdPartyPreview from './ThirdPartyPreview.js';
|
|
4
|
+
import AppConfig from '../configs/EssentialCountdownTimerBar.js';
|
|
5
|
+
|
|
6
|
+
const EssentialCountdownTimerBarContent = ()=>{
|
|
7
|
+
return /*#__PURE__*/ jsx(Fragment, {
|
|
8
|
+
children: /*#__PURE__*/ jsx("div", {
|
|
9
|
+
className: "gp-p-2",
|
|
10
|
+
children: /*#__PURE__*/ jsx(ThirdPartyPreview, {
|
|
11
|
+
setting: {
|
|
12
|
+
label: 'Essential Countdown Timer Bar',
|
|
13
|
+
iconSvg: `<img class="gp-w-6 gp-border gp-border-[#494949] gp-rounded-[3px]" src="${AppConfig.logoUrl}">`
|
|
14
|
+
}
|
|
15
|
+
})
|
|
16
|
+
})
|
|
17
|
+
});
|
|
18
|
+
};
|
|
19
|
+
const EssentialCountdownTimerBar = ({ setting })=>{
|
|
20
|
+
return /*#__PURE__*/ jsx("div", {
|
|
21
|
+
style: {
|
|
22
|
+
...makeStyleResponsive('ta', setting?.align)
|
|
23
|
+
},
|
|
24
|
+
children: /*#__PURE__*/ jsx(EssentialCountdownTimerBarContent, {})
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
export { EssentialCountdownTimerBar as default };
|