@liquidcommercedev/rmn-sdk 1.5.0-beta.23 → 1.5.0-beta.25

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/index.cjs CHANGED
@@ -13,6 +13,8 @@ exports.RMN_SPOT_TYPE = void 0;
13
13
  RMN_SPOT_TYPE["RB_COLLECTION_BANNER_WITHOUT_TEXT_BLOCK"] = "rbCollectionBannerWithoutTextBlock";
14
14
  RMN_SPOT_TYPE["RB_PRODUCT_UPCS"] = "rbProductUpcs";
15
15
  RMN_SPOT_TYPE["RB_NAVIGATION_BANNER"] = "rbNavigationBanner";
16
+ RMN_SPOT_TYPE["RB_VIDEO_PLAYER"] = "rbVideoPlayer";
17
+ RMN_SPOT_TYPE["RB_IN_TEXT"] = "rbInText";
16
18
  // IAB Standard Spot Types
17
19
  RMN_SPOT_TYPE["BILLBOARD"] = "billboard";
18
20
  RMN_SPOT_TYPE["LARGE_RECTANGLE"] = "largeRectangle";
@@ -6158,6 +6160,8 @@ const extractorConfig = {
6158
6160
  'item_number',
6159
6161
  'article_number',
6160
6162
  'reference',
6163
+ 'salsifyGrouping',
6164
+ 'grouping',
6161
6165
  ],
6162
6166
  price: [
6163
6167
  'price',
@@ -15819,6 +15823,8 @@ const SPOT_DIMENSIONS = {
15819
15823
  [exports.RMN_SPOT_TYPE.RB_COLLECTION_BANNER_WITHOUT_TEXT_BLOCK]: { width: 887, height: 344 },
15820
15824
  [exports.RMN_SPOT_TYPE.RB_PRODUCT_UPCS]: { width: 1, height: 1 },
15821
15825
  [exports.RMN_SPOT_TYPE.RB_NAVIGATION_BANNER]: { width: 440, height: 220 },
15826
+ [exports.RMN_SPOT_TYPE.RB_VIDEO_PLAYER]: { width: 1280, height: 720 },
15827
+ [exports.RMN_SPOT_TYPE.RB_IN_TEXT]: { width: 1, height: 1 },
15822
15828
  [exports.RMN_SPOT_TYPE.SMALL_RECTANGLE]: { width: 180, height: 150 },
15823
15829
  [exports.RMN_SPOT_TYPE.MEDIUM_RECTANGLE]: { width: 300, height: 250 },
15824
15830
  [exports.RMN_SPOT_TYPE.LARGE_RECTANGLE]: { width: 336, height: 280 },
@@ -16668,8 +16674,15 @@ if (typeof window !== 'undefined' && typeof window.customElements !== 'undefined
16668
16674
  const clonedSlide = this.slides[index].cloneNode(true);
16669
16675
  // Map clone to original for event handling
16670
16676
  this.cloneToOriginalMap.set(clonedSlide, this.slides[index]);
16677
+ let isDragging = false;
16678
+ slideElement.addEventListener('mousedown', () => isDragging = false);
16679
+ slideElement.addEventListener('mousemove', () => isDragging = true);
16671
16680
  // Add event delegation to the slide container
16672
16681
  slideElement.addEventListener('click', (e) => {
16682
+ if (isDragging) {
16683
+ e.stopPropagation();
16684
+ return;
16685
+ }
16673
16686
  const original = this.slides[index];
16674
16687
  // Dispatch a new event on the original element
16675
16688
  const cloneEvent = new Event(e.type, { bubbles: true, cancelable: true });
@@ -17552,7 +17565,7 @@ function spotHtmlStringToElement(htmlString, spotType) {
17552
17565
  return spot;
17553
17566
  }
17554
17567
 
17555
- const STYLES$i = ({ primaryImage, secondaryImage }) => `
17568
+ const STYLES$j = ({ primaryImage, secondaryImage }) => `
17556
17569
  <style>
17557
17570
  .content {
17558
17571
  width: 100%;
@@ -17650,7 +17663,7 @@ function billboardV1Template(spot) {
17650
17663
  ${GFONT_PRECONNECT}
17651
17664
  ${GFONT_SOURCE_SANS_3}
17652
17665
  ${GFONT_CORMORANT}
17653
- ${STYLES$i(spot)}
17666
+ ${STYLES$j(spot)}
17654
17667
  <div class="content">
17655
17668
  <div class="big-image"></div>
17656
17669
  <div class="main">
@@ -17665,7 +17678,7 @@ function billboardV1Template(spot) {
17665
17678
  `;
17666
17679
  }
17667
17680
 
17668
- const STYLES$h = ({ primaryImage }) => `
17681
+ const STYLES$i = ({ primaryImage }) => `
17669
17682
  <style>
17670
17683
  .content {
17671
17684
  display: flex;
@@ -17739,7 +17752,7 @@ function billboardV2Template(spot) {
17739
17752
  ${GFONT_PRECONNECT}
17740
17753
  ${GFONT_SOURCE_SANS_3}
17741
17754
  ${GFONT_CORMORANT}
17742
- ${STYLES$h(spot)}
17755
+ ${STYLES$i(spot)}
17743
17756
  <div class="content">
17744
17757
  <div class="text-container">
17745
17758
  <h2 class="header">${spot.header}</h2>
@@ -17750,7 +17763,7 @@ function billboardV2Template(spot) {
17750
17763
  `;
17751
17764
  }
17752
17765
 
17753
- const STYLES$g = ({ primaryImage }) => `
17766
+ const STYLES$h = ({ primaryImage }) => `
17754
17767
  <style>
17755
17768
  .content {
17756
17769
  width: 100%;
@@ -17840,7 +17853,7 @@ function billboardV3Template(spot) {
17840
17853
  ${GFONT_PRECONNECT}
17841
17854
  ${GFONT_SOURCE_SANS_3}
17842
17855
  ${GFONT_CORMORANT}
17843
- ${STYLES$g(spot)}
17856
+ ${STYLES$h(spot)}
17844
17857
  <div class="content">
17845
17858
  <div class="text">
17846
17859
  <h2 class="header">${spot.header}</h2>
@@ -17852,7 +17865,7 @@ function billboardV3Template(spot) {
17852
17865
  `;
17853
17866
  }
17854
17867
 
17855
- const STYLES$f = () => `
17868
+ const STYLES$g = () => `
17856
17869
  <style>
17857
17870
  .content {
17858
17871
  display: inline-block;
@@ -17884,7 +17897,7 @@ function inTextV1Template(spot) {
17884
17897
  ${GFONT_PRECONNECT}
17885
17898
  ${GFONT_SOURCE_SANS_3}
17886
17899
  ${GFONT_CORMORANT}
17887
- ${STYLES$f()}
17900
+ ${STYLES$g()}
17888
17901
  <div class="content">
17889
17902
  <span class="header">${spot.header}</span>
17890
17903
  <span class="description">${spot.description}</span>
@@ -17892,7 +17905,7 @@ function inTextV1Template(spot) {
17892
17905
  `;
17893
17906
  }
17894
17907
 
17895
- const STYLES$e = ({ primaryImage }) => `
17908
+ const STYLES$f = ({ primaryImage }) => `
17896
17909
  <style>
17897
17910
  .content {
17898
17911
  width: 100%;
@@ -17974,7 +17987,7 @@ function largeLeaderboardV1Template(spot) {
17974
17987
  ${GFONT_PRECONNECT}
17975
17988
  ${GFONT_SOURCE_SANS_3}
17976
17989
  ${GFONT_CORMORANT}
17977
- ${STYLES$e(spot)}
17990
+ ${STYLES$f(spot)}
17978
17991
  <div class="content">
17979
17992
  <div class="text">
17980
17993
  <h2 class="header">${spot.header}</h2>
@@ -17985,7 +17998,7 @@ function largeLeaderboardV1Template(spot) {
17985
17998
  `;
17986
17999
  }
17987
18000
 
17988
- const STYLES$d = ({ primaryImage }) => `
18001
+ const STYLES$e = ({ primaryImage }) => `
17989
18002
  <style>
17990
18003
  .content {
17991
18004
  width: 100%;
@@ -18061,7 +18074,7 @@ function largeLeaderboardV2Template(spot) {
18061
18074
  ${GFONT_PRECONNECT}
18062
18075
  ${GFONT_SOURCE_SANS_3}
18063
18076
  ${GFONT_CORMORANT}
18064
- ${STYLES$d(spot)}
18077
+ ${STYLES$e(spot)}
18065
18078
  <div class="content">
18066
18079
  <div class="text">
18067
18080
  <h2 class="header">${spot.header}</h2>
@@ -18072,7 +18085,7 @@ function largeLeaderboardV2Template(spot) {
18072
18085
  `;
18073
18086
  }
18074
18087
 
18075
- const STYLES$c = ({ primaryImage }) => `
18088
+ const STYLES$d = ({ primaryImage }) => `
18076
18089
  <style>
18077
18090
  .content {
18078
18091
  width: 100%;
@@ -18120,7 +18133,7 @@ function largeRectangleV1Template(spot) {
18120
18133
  ${GFONT_PRECONNECT}
18121
18134
  ${GFONT_SOURCE_SANS_3}
18122
18135
  ${GFONT_CORMORANT}
18123
- ${STYLES$c(spot)}
18136
+ ${STYLES$d(spot)}
18124
18137
  <div class="content">
18125
18138
  <div class="image"></div>
18126
18139
  <div class="text">
@@ -18131,7 +18144,7 @@ function largeRectangleV1Template(spot) {
18131
18144
  `;
18132
18145
  }
18133
18146
 
18134
- const STYLES$b = ({ primaryImage }) => `
18147
+ const STYLES$c = ({ primaryImage }) => `
18135
18148
  <style>
18136
18149
  .content {
18137
18150
  width: 100%;
@@ -18218,7 +18231,7 @@ function squareV1Template(spot) {
18218
18231
  ${GFONT_PRECONNECT}
18219
18232
  ${GFONT_SOURCE_SANS_3}
18220
18233
  ${GFONT_CORMORANT}
18221
- ${STYLES$b(spot)}
18234
+ ${STYLES$c(spot)}
18222
18235
  <div class="content">
18223
18236
  <div class="text">
18224
18237
  <h2 class="header">${spot.header}</h2>
@@ -18229,7 +18242,7 @@ function squareV1Template(spot) {
18229
18242
  `;
18230
18243
  }
18231
18244
 
18232
- const STYLES$a = ({ primaryImage }) => `
18245
+ const STYLES$b = ({ primaryImage }) => `
18233
18246
  <style>
18234
18247
  .content {
18235
18248
  width: 100%;
@@ -18273,14 +18286,14 @@ function squareV2Template(spot) {
18273
18286
  ${GFONT_PRECONNECT}
18274
18287
  ${GFONT_SOURCE_SANS_3}
18275
18288
  ${GFONT_CORMORANT}
18276
- ${STYLES$a(spot)}
18289
+ ${STYLES$b(spot)}
18277
18290
  <div class="content">
18278
18291
  <span class="header">${spot.header}</span>
18279
18292
  </div>
18280
18293
  `;
18281
18294
  }
18282
18295
 
18283
- const STYLES$9 = ({ primaryImage }) => `
18296
+ const STYLES$a = ({ primaryImage }) => `
18284
18297
  <style>
18285
18298
  .content {
18286
18299
  width: 100%;
@@ -18338,7 +18351,7 @@ function verticalRectangleV1Template(spot) {
18338
18351
  ${GFONT_PRECONNECT}
18339
18352
  ${GFONT_SOURCE_SANS_3}
18340
18353
  ${GFONT_CORMORANT}
18341
- ${STYLES$9(spot)}
18354
+ ${STYLES$a(spot)}
18342
18355
  <div class="content">
18343
18356
  <div class="text">
18344
18357
  <h2 class="header">${spot.header}</h2>
@@ -18349,7 +18362,7 @@ function verticalRectangleV1Template(spot) {
18349
18362
  `;
18350
18363
  }
18351
18364
 
18352
- const STYLES$8 = ({ primaryImage }) => `
18365
+ const STYLES$9 = ({ primaryImage }) => `
18353
18366
  <style>
18354
18367
  .content {
18355
18368
  width: 100%;
@@ -18364,12 +18377,12 @@ const STYLES$8 = ({ primaryImage }) => `
18364
18377
  `;
18365
18378
  function wideSkyscraperV1Template(spot) {
18366
18379
  return `
18367
- ${STYLES$8(spot)}
18380
+ ${STYLES$9(spot)}
18368
18381
  <div class="content"></div>
18369
18382
  `;
18370
18383
  }
18371
18384
 
18372
- const STYLES$7 = ({ primaryImage, mobilePrimaryImage = primaryImage }, { prefix }) => `
18385
+ const STYLES$8 = ({ primaryImage, mobilePrimaryImage = primaryImage }, { prefix }) => `
18373
18386
  <style>
18374
18387
  .${prefix} {
18375
18388
  display: block;
@@ -18393,12 +18406,12 @@ const STYLES$7 = ({ primaryImage, mobilePrimaryImage = primaryImage }, { prefix
18393
18406
  function rbCollectionBannerWithoutTextBlockTemplate(spot, config) {
18394
18407
  const { prefix = '' } = config;
18395
18408
  return `
18396
- ${STYLES$7(spot, config)}
18409
+ ${STYLES$8(spot, config)}
18397
18410
  <div class="${prefix}"></div>
18398
18411
  `;
18399
18412
  }
18400
18413
 
18401
- const STYLES$6 = ({ textColor = '#ffffff', ctaTextColor = textColor, ctaBorderColor = ctaTextColor, primaryImage, mobilePrimaryImage = primaryImage, }, { prefix, overlay }) => {
18414
+ const STYLES$7 = ({ textColor = '#ffffff', ctaTextColor = textColor, ctaBorderColor = ctaTextColor, primaryImage, mobilePrimaryImage = primaryImage, }, { prefix, overlay }) => {
18402
18415
  const linearGradient = generateGradientColor(overlay, 'rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0) 40%');
18403
18416
  return `
18404
18417
  <style>
@@ -18537,7 +18550,7 @@ function rbHomepageHeroFullImageTemplate(spot, config) {
18537
18550
  ${GFONT_PRECONNECT}
18538
18551
  ${GFONT_SOURCE_SANS_3}
18539
18552
  ${GFONT_CORMORANT}
18540
- ${STYLES$6(spot, config)}
18553
+ ${STYLES$7(spot, config)}
18541
18554
  <div class="${prefix}">
18542
18555
  <div class="${prefix}__text">
18543
18556
  ${spot.header ? `<h2 class="${prefix}__header">${spot.header}</h2>` : ''}
@@ -18548,7 +18561,7 @@ function rbHomepageHeroFullImageTemplate(spot, config) {
18548
18561
  `;
18549
18562
  }
18550
18563
 
18551
- const STYLES$5 = ({ textColor = '#212121', backgroundColor = '#e8e6de', ctaTextColor = textColor, primaryImage, mobilePrimaryImage = primaryImage, secondaryImage, mobileSecondaryImage = secondaryImage, }, { prefix }) => `
18564
+ const STYLES$6 = ({ textColor = '#212121', backgroundColor = '#e8e6de', ctaTextColor = textColor, primaryImage, mobilePrimaryImage = primaryImage, secondaryImage, mobileSecondaryImage = secondaryImage, }, { prefix }) => `
18552
18565
  <style>
18553
18566
  .${prefix} {
18554
18567
  width: 100%;
@@ -18613,7 +18626,7 @@ const STYLES$5 = ({ textColor = '#212121', backgroundColor = '#e8e6de', ctaTextC
18613
18626
  color: inherit;
18614
18627
  margin: 0;
18615
18628
  font-size: 18px;
18616
- font-family: "Cormorant";
18629
+ font-family: "Cormorant", system-ui;
18617
18630
  font-style: normal;
18618
18631
  font-weight: 700;
18619
18632
  line-height: normal;
@@ -18725,7 +18738,7 @@ function rbHomepageHeroThreeTileTemplate(spot, config) {
18725
18738
  ${GFONT_PRECONNECT}
18726
18739
  ${GFONT_SOURCE_SANS_3}
18727
18740
  ${GFONT_CORMORANT}
18728
- ${STYLES$5(spot, config)}
18741
+ ${STYLES$6(spot, config)}
18729
18742
  <div class="${prefix}">
18730
18743
  <div class="${prefix}__content">
18731
18744
  <div class="${prefix}__primary-image"></div>
@@ -18742,7 +18755,7 @@ function rbHomepageHeroThreeTileTemplate(spot, config) {
18742
18755
  `;
18743
18756
  }
18744
18757
 
18745
- const STYLES$4 = ({ textColor = '#212121', backgroundColor = '#e8e6de', ctaTextColor = textColor, primaryImage, mobilePrimaryImage = primaryImage, }, { prefix }) => `
18758
+ const STYLES$5 = ({ textColor = '#212121', backgroundColor = '#e8e6de', ctaTextColor = textColor, primaryImage, mobilePrimaryImage = primaryImage, }, { prefix }) => `
18746
18759
  <style>
18747
18760
  .${prefix} {
18748
18761
  width: 100%;
@@ -18884,7 +18897,7 @@ function rbHomepageHeroTwoTileTemplate(spot, config) {
18884
18897
  ${GFONT_PRECONNECT}
18885
18898
  ${GFONT_SOURCE_SANS_3}
18886
18899
  ${GFONT_CORMORANT}
18887
- ${STYLES$4(spot, config)}
18900
+ ${STYLES$5(spot, config)}
18888
18901
  <div class="${prefix}">
18889
18902
  <div class="${prefix}__content">
18890
18903
  <div class="${prefix}__text">
@@ -18898,6 +18911,37 @@ function rbHomepageHeroTwoTileTemplate(spot, config) {
18898
18911
  `;
18899
18912
  }
18900
18913
 
18914
+ const STYLES$4 = ({ textColor = '#ffffff', backgroundColor = 'transparent' }, { prefix }) => `
18915
+ <style>
18916
+ .${prefix} {
18917
+ display: block;
18918
+ cursor: pointer;
18919
+ max-width: fit-content;
18920
+ padding: 0;
18921
+ background-color: ${backgroundColor};
18922
+ }
18923
+ .${prefix}__header {
18924
+ font-size: 0.875rem;
18925
+ line-height: 1.25rem;
18926
+ font-weight: 500;
18927
+ color: ${textColor};
18928
+ font-family: "Source Sans 3", system-ui;
18929
+ margin: 0;
18930
+ }
18931
+ </style>
18932
+ `;
18933
+ function rbInTextTemplate(spot, config) {
18934
+ const { prefix = '' } = config;
18935
+ return `
18936
+ ${GFONT_PRECONNECT}
18937
+ ${GFONT_SOURCE_SANS_3}
18938
+ ${STYLES$4(spot, config)}
18939
+ <div class="${prefix}">
18940
+ ${spot.header ? `<h2 class="${prefix}__header">${spot.header}</h2>` : ''}
18941
+ </div>
18942
+ `;
18943
+ }
18944
+
18901
18945
  const STYLES$3 = ({ textColor = '#ffffff', ctaTextColor = textColor, ctaBorderColor = ctaTextColor, primaryImage, mobilePrimaryImage = primaryImage, }, { prefix, overlay }) => {
18902
18946
  const linearGradient = generateGradientColor(overlay, 'rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0) 30%');
18903
18947
  return `
@@ -19254,6 +19298,13 @@ const SPOT_TEMPLATE_HTML_ELEMENT = (spot, config) => {
19254
19298
  [exports.RMN_SPOT_TYPE.RB_NAVIGATION_BANNER]: {
19255
19299
  rbNavigationBanner: rbNavigationBannerTemplate,
19256
19300
  },
19301
+ [exports.RMN_SPOT_TYPE.RB_IN_TEXT]: {
19302
+ rbInText: rbInTextTemplate,
19303
+ },
19304
+ [exports.RMN_SPOT_TYPE.RB_VIDEO_PLAYER]: {
19305
+ // rbVideoPlayer: rbVideoPlayerTemplate,
19306
+ rbVideoPlayer: () => '', // TODO: Implement this template.
19307
+ },
19257
19308
  [exports.RMN_SPOT_TYPE.RB_PRODUCT_UPCS]: {
19258
19309
  rbProductUpcs: () => '', // No template for this spot type, it will be handled by ReserveBar App.
19259
19310
  },
@@ -20189,6 +20240,39 @@ const SPOT_EVENTS_EXAMPLE = [
20189
20240
  productIds: [107, 108, 109, 110, 111],
20190
20241
  },
20191
20242
  ],
20243
+ rbInText: [
20244
+ {
20245
+ id: 'mxo259',
20246
+ spot: exports.RMN_SPOT_TYPE.RB_IN_TEXT,
20247
+ variant: exports.RMN_SPOT_TYPE.RB_IN_TEXT,
20248
+ width: 1,
20249
+ height: 1,
20250
+ header: 'Premium Vodka',
20251
+ textColor: '#ffffff',
20252
+ backgroundColor: '#000000',
20253
+ events: SPOT_EVENTS_EXAMPLE,
20254
+ productIds: [107, 108, 109, 110, 111],
20255
+ },
20256
+ ],
20257
+ rbVideoPlayer: [
20258
+ {
20259
+ id: 'mxo259',
20260
+ spot: exports.RMN_SPOT_TYPE.RB_VIDEO_PLAYER,
20261
+ variant: exports.RMN_SPOT_TYPE.RB_VIDEO_PLAYER,
20262
+ width: 1280,
20263
+ height: 720,
20264
+ videoUrl: 'https://www.youtube.com/watch?v=9bZkp7q19f0',
20265
+ videoOverlayImage: 'https://placehold.co/1280x720/png?text=Video+Overlay',
20266
+ videoOverlayHeader: 'Watch Our Story',
20267
+ videoOverlayDescription: 'Discover the history of our distillery',
20268
+ videoControls: true,
20269
+ videoAutoPlay: true,
20270
+ videoMute: true,
20271
+ videoLoop: true,
20272
+ events: SPOT_EVENTS_EXAMPLE,
20273
+ productIds: [107, 108, 109, 110, 111],
20274
+ },
20275
+ ],
20192
20276
  });
20193
20277
  ({
20194
20278
  banner: [],
@@ -20549,7 +20633,7 @@ class LiquidCommerceRmnClient {
20549
20633
  const spotElement = this.elementService.createSpotElement({
20550
20634
  content,
20551
20635
  config: {
20552
- fluid: config === null || config === void 0 ? void 0 : config.fluid,
20636
+ fluid: spot.spot === exports.RMN_SPOT_TYPE.RB_IN_TEXT ? true : config === null || config === void 0 ? void 0 : config.fluid,
20553
20637
  spot: spot.spot,
20554
20638
  width: spot.width,
20555
20639
  height: spot.height,