@gem-sdk/core 2.1.27-staging.0 → 2.1.27-staging.17

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.
@@ -54,6 +54,7 @@ const getStyleBgImage = (background, options)=>{
54
54
  const getBgImageByDevice = (background, device, options)=>{
55
55
  const isBgVideo = background?.[device]?.type === 'video';
56
56
  if (isBgVideo) return;
57
+ if (background?.[device]?.type === 'color') return 'url()'; // To prevent overriding background image from upper device
57
58
  const backupFileKey = background?.[device]?.image?.backupFileKey;
58
59
  const storage = background?.[device]?.image?.storage;
59
60
  let imageByDevice = background?.[device]?.image?.src;
@@ -336,6 +336,12 @@ const QikifyUpsellConfig = {
336
336
  appId: '2e94b962-8172-4839-8ad9-7837eb8b017a'
337
337
  }
338
338
  };
339
+ const EcoboostifyShoppableReelUgcConfig = {
340
+ EcoboostifyShoppableReelUgc: {
341
+ appName: 'ecoboostify',
342
+ appId: '24110205-fc49-453b-ac2b-ceea2bf6a8f3'
343
+ }
344
+ };
339
345
 
340
346
  exports.AftershipEmailMarketingsmsConfig = AftershipEmailMarketingsmsConfig;
341
347
  exports.AppointmentBookingCowlendarConfig = AppointmentBookingCowlendarConfig;
@@ -345,6 +351,7 @@ exports.BoldSubscriptionsConfig = BoldSubscriptionsConfig;
345
351
  exports.BonLoyaltyRewardsReferralsConfig = BonLoyaltyRewardsReferralsConfig;
346
352
  exports.BoostAISearchDiscoveryConfig = BoostAISearchDiscoveryConfig;
347
353
  exports.EasyBundleBuilderSkailamaConfig = EasyBundleBuilderSkailamaConfig;
354
+ exports.EcoboostifyShoppableReelUgcConfig = EcoboostifyShoppableReelUgcConfig;
348
355
  exports.EssentialAnnouncementBarConfig = EssentialAnnouncementBarConfig;
349
356
  exports.EssentialCountdownTimerBarConfig = EssentialCountdownTimerBarConfig;
350
357
  exports.EstimatedDeliveryDatePlusConfig = EstimatedDeliveryDatePlusConfig;
@@ -4,6 +4,31 @@ const RechargeSubscriptions = {
4
4
  RechargeSubscriptions: {
5
5
  'subscription-widget': {
6
6
  product: '{{ product }}'
7
+ },
8
+ 'subscription-widget-v2': {
9
+ default_selection: 'subscription',
10
+ first_selection_option: 'subscription',
11
+ display_mode: 'normal',
12
+ brand_color: '#121212',
13
+ brand_contrast_color: '#FFFFFF',
14
+ selected_bg_color: '#FFFFFF',
15
+ selected_text_color: '#121212',
16
+ text_color: '#121212',
17
+ border_radius: 'soft',
18
+ subscription_with_discount_label: 'Subscribe & save',
19
+ subscription_without_discount_label: 'Subscribe',
20
+ onetime_label: 'One-time',
21
+ frequency_label: 'Deliver every:',
22
+ frequency_display_type: 'buttonGroup',
23
+ frequency_display_content: 'interval',
24
+ badge_text: 'Save up to {maxDiscount}',
25
+ badge_text_color: '#FFFFFF',
26
+ badge_bg_color: '#0F866A',
27
+ benefits: '<ul><li>You save {discount}</li><li>Skip, delay or cancel any time</li><li>Free shipping in the US</li><li>Renew on your timeframe</li></ul>',
28
+ onetime_drawbacks: '',
29
+ learn_more_text: 'Learn more',
30
+ learn_more_content: '<style>rc-learn-more-modal h1 { font-size: 40px; line-height: 48px; font-weight: 600; text-align: center; padding-bottom: 32px; margin: 0;}rc-learn-more-modal h2 { padding: 0; margin: 0; font-size: 20px; line-height: 28px; font-weight: 600;}rc-learn-more-modal p { margin: 0; padding: 0; font-size: 16px; line-height: 24px;}rc-learn-more-modal .learn-more-content { padding: 0 20px 20px;}rc-learn-more-modal .learn-more-footer button { background-color: var(--rc-widget-brand-color); color: var(--rc-widget-brand-contrast-color); border: none; border-radius: var(--rc-widget-button-radius); padding: 12px; min-width: 335px; font-size: 16px; font-weight: 600; line-height: 24px; cursor: pointer; transition: background-color 0.1s ease;}rc-learn-more-modal .learn-more-footer button:hover { background-color: var(--rc-widget-brand-color-80);}rc-learn-more-modal .learn-more-footer { display: flex; justify-content: center;}rc-learn-more-modal .learn-more-group { display: flex; flex-direction: column; gap: 24px; margin-bottom: 24px;}rc-learn-more-modal .learn-more-group-item { display: flex; gap: 32px; align-items: center;}rc-learn-more-modal .learn-more-group-icon-container { display: flex; padding: 32px; background-color: #f6f8f9; border-radius: var(--rc-widget-card-radius);}rc-learn-more-modal svg, rc-learn-more-modal img { height: 40px; width: 40px;}@media (max-width: 560px) { rc-learn-more-modal h1 { font-size: 26px; line-height: 32px; padding-bottom: 16px; }rc-learn-more-modal h2 { font-size: 16px; line-height: 24px;}rc-learn-more-modal p { font-size: 14px; line-height: 20px;}rc-learn-more-modal .learn-more-content { padding: 0;}rc-learn-more-modal svg, rc-learn-more-modal img { height: 32px; width: 32px;}rc-learn-more-modal .learn-more-group-item { gap: 16px;}rc-learn-more-modal .learn-more-group-icon-container { padding: 20px;} }</style><div class="learn-more-content">\n<h1 class="learn-more-header">Great reasons to subscribe</h1> <div class="learn-more-group"> <div class="learn-more-group-item"> <div class="learn-more-group-icon-container"><span rc-calendar-icon></span></div> <div> <h2 style="margin:0;">Flexible frequency</h2> <p style="margin:0;"> Not sure how much of something you need, or how often? Adjust quantities and frequencies any time. </p> </div> </div> <div class="learn-more-group-item"> <div class="learn-more-group-icon-container"> <span rc-bell-icon></span> </div> <div> <h2>Order reminders</h2> <p> We\'ll let you know before each shipment. Delay, reschedule or cancel if you need to - we’ll only bill you when your order ships. </p> </div> </div> <div class="learn-more-group-item"> <div class="learn-more-group-icon-container"> <span rc-phone-icon></span> </div> <div> <h2>You\'re in control</h2> <p> Add or remove subscriptions, cancel orders, and edit frequencies and quantities through our user-friendly customer portal. </p> </div> </div> </div>\n</div><div class="learn-more-footer"><button data-dismiss-modal>Got it</button></div>',
31
+ frequency_display_translations: '{\n\t"days": "{interval} days", \n\t"day": "{interval} day", \n\t"weeks": "{interval} weeks", \n\t"week": "{interval} week", \n\t"months": "{interval} months", \n\t"month": "{interval} month", \n\t"save": "Save {discount}"\n}'
7
32
  }
8
33
  }
9
34
  };
@@ -246,6 +271,13 @@ const overrideSettings = (tag, currentSetting, appSetting)=>{
246
271
  product: appSetting?.['productHandle'] || '{{ product }}'
247
272
  };
248
273
  }
274
+ case 'EcoboostifyShoppableReelUgc':
275
+ {
276
+ return {
277
+ ...currentSetting,
278
+ playlist_id: appSetting?.['playlistId']
279
+ };
280
+ }
249
281
  default:
250
282
  return currentSetting;
251
283
  }
@@ -1182,6 +1214,13 @@ const QikifyUpsell = {
1182
1214
  }
1183
1215
  }
1184
1216
  };
1217
+ const EcoboostifyShoppableReelUgc = {
1218
+ EcoboostifyShoppableReelUgc: {
1219
+ 'reel-playlist': {
1220
+ playlist_id: ''
1221
+ }
1222
+ }
1223
+ };
1185
1224
  const composeSettingsByWidgetType = {
1186
1225
  ...HextomCountdownTimerBar,
1187
1226
  ...EstimatedDeliveryDatePlus,
@@ -1238,7 +1277,8 @@ const composeSettingsByWidgetType = {
1238
1277
  ...BfSizeChartSizeGuide,
1239
1278
  ...HextomFreeShippingBar,
1240
1279
  ...ShopifySubscriptions,
1241
- ...QikifyUpsell
1280
+ ...QikifyUpsell,
1281
+ ...EcoboostifyShoppableReelUgc
1242
1282
  };
1243
1283
 
1244
1284
  exports.composeSettingsByWidgetType = composeSettingsByWidgetType;
@@ -58,7 +58,8 @@ const mapShopifyAppMeta = {
58
58
  ...appConfig.BfSizeChartSizeGuideConfig,
59
59
  ...appConfig.HextomFreeShippingBarConfig,
60
60
  ...appConfig.ShopifySubscriptionsConfig,
61
- ...appConfig.QikifyUpsellConfig
61
+ ...appConfig.QikifyUpsellConfig,
62
+ ...appConfig.EcoboostifyShoppableReelUgcConfig
62
63
  };
63
64
  const THIRD_PARTY_APP_BLOCK_ID_PREFIX = 'gp_app';
64
65
 
@@ -75,15 +75,14 @@ const getProductOptionsLabelByName = (options, name)=>{
75
75
  const labels = [];
76
76
  const optionByName = options.find((op)=>op.name === name);
77
77
  optionByName?.values.forEach((val)=>{
78
- labels.push(val.label ?? '');
78
+ if (val.label && !labels.includes(val.label)) labels.push(val.label);
79
79
  });
80
80
  return labels;
81
81
  };
82
82
  const getSwatchesOptionsLabel = (options)=>{
83
83
  const labels = [];
84
84
  options.forEach((op)=>{
85
- labels.push(op.label ?? '');
86
- return;
85
+ if (op.label && !labels.includes(op.label)) labels.push(op.label);
87
86
  });
88
87
  return labels;
89
88
  };
@@ -52,6 +52,7 @@ const getStyleBgImage = (background, options)=>{
52
52
  const getBgImageByDevice = (background, device, options)=>{
53
53
  const isBgVideo = background?.[device]?.type === 'video';
54
54
  if (isBgVideo) return;
55
+ if (background?.[device]?.type === 'color') return 'url()'; // To prevent overriding background image from upper device
55
56
  const backupFileKey = background?.[device]?.image?.backupFileKey;
56
57
  const storage = background?.[device]?.image?.storage;
57
58
  let imageByDevice = background?.[device]?.image?.src;
@@ -334,5 +334,11 @@ const QikifyUpsellConfig = {
334
334
  appId: '2e94b962-8172-4839-8ad9-7837eb8b017a'
335
335
  }
336
336
  };
337
+ const EcoboostifyShoppableReelUgcConfig = {
338
+ EcoboostifyShoppableReelUgc: {
339
+ appName: 'ecoboostify',
340
+ appId: '24110205-fc49-453b-ac2b-ceea2bf6a8f3'
341
+ }
342
+ };
337
343
 
338
- export { AftershipEmailMarketingsmsConfig, AppointmentBookingCowlendarConfig, BestBuyFulfillmentConfig, BfSizeChartSizeGuideConfig, BoldSubscriptionsConfig, BonLoyaltyRewardsReferralsConfig, BoostAISearchDiscoveryConfig, EasyBundleBuilderSkailamaConfig, EssentialAnnouncementBarConfig, EssentialCountdownTimerBarConfig, EstimatedDeliveryDatePlusConfig, FastBundleBundlesDiscountsConfig, FlyBundlesUpsellsFbtConfig, GloColorSwatchvariantImageConfig, GloboProductOptionsVariantConfig, GrowaveConfig, HextomCountdownTimerBarConfig, HextomFreeShippingBarConfig, HulkProductOptionsConfig, InstasellShoppableInstagramConfig, JunipProductReviewsUgcConfig, KachingBundlesConfig, KiteFreeGiftDiscountConfig, LoloyalLoyaltyReferralsConfig, LoopSubscriptionsConfig, LooxReviewsConfig, MyappgurusProductReviewsConfig, OkendoReviewsLoyaltyConfig, PowerfulContactFormBuilderConfig, PowrContactFormBuilderConfig, PreorderNowPreOrderPqConfig, PreorderNowWodPresaleConfig, ProductOptionsCustomizerConfig, PumperBundlesVolumeDiscountConfig, QikifyUpsellConfig, RechargeSubscriptionsConfig, ReviewxpoProductReviewsAppConfig, SegunoEmailMarketingConfig, SelleasyConfig, SeoantTrustBadgesIconConfig, ShopifyFormsConfig, ShopifySubscriptionsConfig, SimpleBundlesKitsConfig, SkioSubscriptionsYcS20Config, SproutPlantTreesGrowSalesConfig, StampedConfig, SubifySubscriptionsConfig, TrustBadgesBearConfig, TrustedsiteTrustBadgesConfig, TrustooConfig, TrustreviewsProductReviewsConfig, TrustshopProductReviewsConfig, UnlimitedBundlesDiscountsConfig, WhatmoreShoppableVideosreelConfig, WishlistKingConfig, YotpoReviewsV3UgcConfig };
344
+ export { AftershipEmailMarketingsmsConfig, AppointmentBookingCowlendarConfig, BestBuyFulfillmentConfig, BfSizeChartSizeGuideConfig, BoldSubscriptionsConfig, BonLoyaltyRewardsReferralsConfig, BoostAISearchDiscoveryConfig, EasyBundleBuilderSkailamaConfig, EcoboostifyShoppableReelUgcConfig, EssentialAnnouncementBarConfig, EssentialCountdownTimerBarConfig, EstimatedDeliveryDatePlusConfig, FastBundleBundlesDiscountsConfig, FlyBundlesUpsellsFbtConfig, GloColorSwatchvariantImageConfig, GloboProductOptionsVariantConfig, GrowaveConfig, HextomCountdownTimerBarConfig, HextomFreeShippingBarConfig, HulkProductOptionsConfig, InstasellShoppableInstagramConfig, JunipProductReviewsUgcConfig, KachingBundlesConfig, KiteFreeGiftDiscountConfig, LoloyalLoyaltyReferralsConfig, LoopSubscriptionsConfig, LooxReviewsConfig, MyappgurusProductReviewsConfig, OkendoReviewsLoyaltyConfig, PowerfulContactFormBuilderConfig, PowrContactFormBuilderConfig, PreorderNowPreOrderPqConfig, PreorderNowWodPresaleConfig, ProductOptionsCustomizerConfig, PumperBundlesVolumeDiscountConfig, QikifyUpsellConfig, RechargeSubscriptionsConfig, ReviewxpoProductReviewsAppConfig, SegunoEmailMarketingConfig, SelleasyConfig, SeoantTrustBadgesIconConfig, ShopifyFormsConfig, ShopifySubscriptionsConfig, SimpleBundlesKitsConfig, SkioSubscriptionsYcS20Config, SproutPlantTreesGrowSalesConfig, StampedConfig, SubifySubscriptionsConfig, TrustBadgesBearConfig, TrustedsiteTrustBadgesConfig, TrustooConfig, TrustreviewsProductReviewsConfig, TrustshopProductReviewsConfig, UnlimitedBundlesDiscountsConfig, WhatmoreShoppableVideosreelConfig, WishlistKingConfig, YotpoReviewsV3UgcConfig };
@@ -2,6 +2,31 @@ const RechargeSubscriptions = {
2
2
  RechargeSubscriptions: {
3
3
  'subscription-widget': {
4
4
  product: '{{ product }}'
5
+ },
6
+ 'subscription-widget-v2': {
7
+ default_selection: 'subscription',
8
+ first_selection_option: 'subscription',
9
+ display_mode: 'normal',
10
+ brand_color: '#121212',
11
+ brand_contrast_color: '#FFFFFF',
12
+ selected_bg_color: '#FFFFFF',
13
+ selected_text_color: '#121212',
14
+ text_color: '#121212',
15
+ border_radius: 'soft',
16
+ subscription_with_discount_label: 'Subscribe & save',
17
+ subscription_without_discount_label: 'Subscribe',
18
+ onetime_label: 'One-time',
19
+ frequency_label: 'Deliver every:',
20
+ frequency_display_type: 'buttonGroup',
21
+ frequency_display_content: 'interval',
22
+ badge_text: 'Save up to {maxDiscount}',
23
+ badge_text_color: '#FFFFFF',
24
+ badge_bg_color: '#0F866A',
25
+ benefits: '<ul><li>You save {discount}</li><li>Skip, delay or cancel any time</li><li>Free shipping in the US</li><li>Renew on your timeframe</li></ul>',
26
+ onetime_drawbacks: '',
27
+ learn_more_text: 'Learn more',
28
+ learn_more_content: '<style>rc-learn-more-modal h1 { font-size: 40px; line-height: 48px; font-weight: 600; text-align: center; padding-bottom: 32px; margin: 0;}rc-learn-more-modal h2 { padding: 0; margin: 0; font-size: 20px; line-height: 28px; font-weight: 600;}rc-learn-more-modal p { margin: 0; padding: 0; font-size: 16px; line-height: 24px;}rc-learn-more-modal .learn-more-content { padding: 0 20px 20px;}rc-learn-more-modal .learn-more-footer button { background-color: var(--rc-widget-brand-color); color: var(--rc-widget-brand-contrast-color); border: none; border-radius: var(--rc-widget-button-radius); padding: 12px; min-width: 335px; font-size: 16px; font-weight: 600; line-height: 24px; cursor: pointer; transition: background-color 0.1s ease;}rc-learn-more-modal .learn-more-footer button:hover { background-color: var(--rc-widget-brand-color-80);}rc-learn-more-modal .learn-more-footer { display: flex; justify-content: center;}rc-learn-more-modal .learn-more-group { display: flex; flex-direction: column; gap: 24px; margin-bottom: 24px;}rc-learn-more-modal .learn-more-group-item { display: flex; gap: 32px; align-items: center;}rc-learn-more-modal .learn-more-group-icon-container { display: flex; padding: 32px; background-color: #f6f8f9; border-radius: var(--rc-widget-card-radius);}rc-learn-more-modal svg, rc-learn-more-modal img { height: 40px; width: 40px;}@media (max-width: 560px) { rc-learn-more-modal h1 { font-size: 26px; line-height: 32px; padding-bottom: 16px; }rc-learn-more-modal h2 { font-size: 16px; line-height: 24px;}rc-learn-more-modal p { font-size: 14px; line-height: 20px;}rc-learn-more-modal .learn-more-content { padding: 0;}rc-learn-more-modal svg, rc-learn-more-modal img { height: 32px; width: 32px;}rc-learn-more-modal .learn-more-group-item { gap: 16px;}rc-learn-more-modal .learn-more-group-icon-container { padding: 20px;} }</style><div class="learn-more-content">\n<h1 class="learn-more-header">Great reasons to subscribe</h1> <div class="learn-more-group"> <div class="learn-more-group-item"> <div class="learn-more-group-icon-container"><span rc-calendar-icon></span></div> <div> <h2 style="margin:0;">Flexible frequency</h2> <p style="margin:0;"> Not sure how much of something you need, or how often? Adjust quantities and frequencies any time. </p> </div> </div> <div class="learn-more-group-item"> <div class="learn-more-group-icon-container"> <span rc-bell-icon></span> </div> <div> <h2>Order reminders</h2> <p> We\'ll let you know before each shipment. Delay, reschedule or cancel if you need to - we’ll only bill you when your order ships. </p> </div> </div> <div class="learn-more-group-item"> <div class="learn-more-group-icon-container"> <span rc-phone-icon></span> </div> <div> <h2>You\'re in control</h2> <p> Add or remove subscriptions, cancel orders, and edit frequencies and quantities through our user-friendly customer portal. </p> </div> </div> </div>\n</div><div class="learn-more-footer"><button data-dismiss-modal>Got it</button></div>',
29
+ frequency_display_translations: '{\n\t"days": "{interval} days", \n\t"day": "{interval} day", \n\t"weeks": "{interval} weeks", \n\t"week": "{interval} week", \n\t"months": "{interval} months", \n\t"month": "{interval} month", \n\t"save": "Save {discount}"\n}'
5
30
  }
6
31
  }
7
32
  };
@@ -244,6 +269,13 @@ const overrideSettings = (tag, currentSetting, appSetting)=>{
244
269
  product: appSetting?.['productHandle'] || '{{ product }}'
245
270
  };
246
271
  }
272
+ case 'EcoboostifyShoppableReelUgc':
273
+ {
274
+ return {
275
+ ...currentSetting,
276
+ playlist_id: appSetting?.['playlistId']
277
+ };
278
+ }
247
279
  default:
248
280
  return currentSetting;
249
281
  }
@@ -1180,6 +1212,13 @@ const QikifyUpsell = {
1180
1212
  }
1181
1213
  }
1182
1214
  };
1215
+ const EcoboostifyShoppableReelUgc = {
1216
+ EcoboostifyShoppableReelUgc: {
1217
+ 'reel-playlist': {
1218
+ playlist_id: ''
1219
+ }
1220
+ }
1221
+ };
1183
1222
  const composeSettingsByWidgetType = {
1184
1223
  ...HextomCountdownTimerBar,
1185
1224
  ...EstimatedDeliveryDatePlus,
@@ -1236,7 +1275,8 @@ const composeSettingsByWidgetType = {
1236
1275
  ...BfSizeChartSizeGuide,
1237
1276
  ...HextomFreeShippingBar,
1238
1277
  ...ShopifySubscriptions,
1239
- ...QikifyUpsell
1278
+ ...QikifyUpsell,
1279
+ ...EcoboostifyShoppableReelUgc
1240
1280
  };
1241
1281
 
1242
1282
  export { composeSettingsByWidgetType, overrideSettings };
@@ -1,4 +1,4 @@
1
- import { RechargeSubscriptionsConfig, BonLoyaltyRewardsReferralsConfig, SubifySubscriptionsConfig, SelleasyConfig, LoopSubscriptionsConfig, SkioSubscriptionsYcS20Config, ShopifyFormsConfig, ReviewxpoProductReviewsAppConfig, PumperBundlesVolumeDiscountConfig, UnlimitedBundlesDiscountsConfig, KiteFreeGiftDiscountConfig, FastBundleBundlesDiscountsConfig, SimpleBundlesKitsConfig, EasyBundleBuilderSkailamaConfig, PreorderNowPreOrderPqConfig, FlyBundlesUpsellsFbtConfig, JunipProductReviewsUgcConfig, PreorderNowWodPresaleConfig, YotpoReviewsV3UgcConfig, WhatmoreShoppableVideosreelConfig, ProductOptionsCustomizerConfig, AppointmentBookingCowlendarConfig, BoldSubscriptionsConfig, SproutPlantTreesGrowSalesConfig, InstasellShoppableInstagramConfig, GrowaveConfig, LoloyalLoyaltyReferralsConfig, PowerfulContactFormBuilderConfig, WishlistKingConfig, GloboProductOptionsVariantConfig, KachingBundlesConfig, TrustooConfig, LooxReviewsConfig, PowrContactFormBuilderConfig, BestBuyFulfillmentConfig, AftershipEmailMarketingsmsConfig, SegunoEmailMarketingConfig, SeoantTrustBadgesIconConfig, TrustreviewsProductReviewsConfig, MyappgurusProductReviewsConfig, HulkProductOptionsConfig, TrustshopProductReviewsConfig, StampedConfig, BoostAISearchDiscoveryConfig, EssentialCountdownTimerBarConfig, EssentialAnnouncementBarConfig, OkendoReviewsLoyaltyConfig, EstimatedDeliveryDatePlusConfig, HextomCountdownTimerBarConfig, TrustBadgesBearConfig, TrustedsiteTrustBadgesConfig, GloColorSwatchvariantImageConfig, BfSizeChartSizeGuideConfig, HextomFreeShippingBarConfig, ShopifySubscriptionsConfig, QikifyUpsellConfig } from './appConfig.js';
1
+ import { RechargeSubscriptionsConfig, BonLoyaltyRewardsReferralsConfig, SubifySubscriptionsConfig, SelleasyConfig, LoopSubscriptionsConfig, SkioSubscriptionsYcS20Config, ShopifyFormsConfig, ReviewxpoProductReviewsAppConfig, PumperBundlesVolumeDiscountConfig, UnlimitedBundlesDiscountsConfig, KiteFreeGiftDiscountConfig, FastBundleBundlesDiscountsConfig, SimpleBundlesKitsConfig, EasyBundleBuilderSkailamaConfig, PreorderNowPreOrderPqConfig, FlyBundlesUpsellsFbtConfig, JunipProductReviewsUgcConfig, PreorderNowWodPresaleConfig, YotpoReviewsV3UgcConfig, WhatmoreShoppableVideosreelConfig, ProductOptionsCustomizerConfig, AppointmentBookingCowlendarConfig, BoldSubscriptionsConfig, SproutPlantTreesGrowSalesConfig, InstasellShoppableInstagramConfig, GrowaveConfig, LoloyalLoyaltyReferralsConfig, PowerfulContactFormBuilderConfig, WishlistKingConfig, GloboProductOptionsVariantConfig, KachingBundlesConfig, TrustooConfig, LooxReviewsConfig, PowrContactFormBuilderConfig, BestBuyFulfillmentConfig, AftershipEmailMarketingsmsConfig, SegunoEmailMarketingConfig, SeoantTrustBadgesIconConfig, TrustreviewsProductReviewsConfig, MyappgurusProductReviewsConfig, HulkProductOptionsConfig, TrustshopProductReviewsConfig, StampedConfig, BoostAISearchDiscoveryConfig, EssentialCountdownTimerBarConfig, EssentialAnnouncementBarConfig, OkendoReviewsLoyaltyConfig, EstimatedDeliveryDatePlusConfig, HextomCountdownTimerBarConfig, TrustBadgesBearConfig, TrustedsiteTrustBadgesConfig, GloColorSwatchvariantImageConfig, BfSizeChartSizeGuideConfig, HextomFreeShippingBarConfig, ShopifySubscriptionsConfig, QikifyUpsellConfig, EcoboostifyShoppableReelUgcConfig } from './appConfig.js';
2
2
 
3
3
  const mapShopifyAppMeta = {
4
4
  ...RechargeSubscriptionsConfig,
@@ -56,7 +56,8 @@ const mapShopifyAppMeta = {
56
56
  ...BfSizeChartSizeGuideConfig,
57
57
  ...HextomFreeShippingBarConfig,
58
58
  ...ShopifySubscriptionsConfig,
59
- ...QikifyUpsellConfig
59
+ ...QikifyUpsellConfig,
60
+ ...EcoboostifyShoppableReelUgcConfig
60
61
  };
61
62
  const THIRD_PARTY_APP_BLOCK_ID_PREFIX = 'gp_app';
62
63
 
@@ -71,15 +71,14 @@ const getProductOptionsLabelByName = (options, name)=>{
71
71
  const labels = [];
72
72
  const optionByName = options.find((op)=>op.name === name);
73
73
  optionByName?.values.forEach((val)=>{
74
- labels.push(val.label ?? '');
74
+ if (val.label && !labels.includes(val.label)) labels.push(val.label);
75
75
  });
76
76
  return labels;
77
77
  };
78
78
  const getSwatchesOptionsLabel = (options)=>{
79
79
  const labels = [];
80
80
  options.forEach((op)=>{
81
- labels.push(op.label ?? '');
82
- return;
81
+ if (op.label && !labels.includes(op.label)) labels.push(op.label);
83
82
  });
84
83
  return labels;
85
84
  };
@@ -7438,6 +7438,7 @@ type BaseProps<Setting = unknown, Style = unknown, Advanced = AdvancedType> = {
7438
7438
  styles?: Style;
7439
7439
  setting?: Setting;
7440
7440
  advanced?: Advanced;
7441
+ enableLazyLoadImage?: boolean;
7441
7442
  };
7442
7443
  type BasePropsWrap<S = unknown, Style = unknown, A = Record<string, any>> = BaseProps<S, Style, A> & {
7443
7444
  builderAttrs?: Record<string, any>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gem-sdk/core",
3
- "version": "2.1.27-staging.0",
3
+ "version": "2.1.27-staging.17",
4
4
  "license": "MIT",
5
5
  "sideEffects": false,
6
6
  "main": "dist/cjs/index.js",
@@ -28,7 +28,7 @@
28
28
  },
29
29
  "devDependencies": {
30
30
  "@gem-sdk/adapter-shopify": "2.1.27-staging.0",
31
- "@gem-sdk/styles": "2.1.27-staging.0",
31
+ "@gem-sdk/styles": "2.1.27-staging.13",
32
32
  "@types/classnames": "^2.3.1"
33
33
  },
34
34
  "dependencies": {