@liquidcommercedev/rmn-sdk 1.5.0-beta.45 → 1.5.0-beta.47

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
@@ -17,6 +17,7 @@ exports.RMN_SPOT_TYPE = void 0;
17
17
  RMN_SPOT_TYPE["RB_NAVIGATION_BANNER"] = "rbNavigationBanner";
18
18
  RMN_SPOT_TYPE["RB_VIDEO_PLAYER"] = "rbVideoPlayer";
19
19
  RMN_SPOT_TYPE["RB_IN_TEXT"] = "rbInText";
20
+ RMN_SPOT_TYPE["RB_CAROUSEL_HORIZONTAL_INFO_CARD"] = "rbCarouselHorizontalInfoCard";
20
21
  // IAB Standard Spot Types
21
22
  RMN_SPOT_TYPE["BILLBOARD"] = "billboard";
22
23
  RMN_SPOT_TYPE["LARGE_RECTANGLE"] = "largeRectangle";
@@ -4584,7 +4585,7 @@ var resolveConfig = (config) => {
4584
4585
 
4585
4586
  newConfig.headers = headers = AxiosHeaders$1.from(headers);
4586
4587
 
4587
- newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url), config.params, config.paramsSerializer);
4588
+ newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url, newConfig.allowAbsoluteUrls), config.params, config.paramsSerializer);
4588
4589
 
4589
4590
  // HTTP basic authentication
4590
4591
  if (auth) {
@@ -5307,7 +5308,7 @@ function dispatchRequest(config) {
5307
5308
  });
5308
5309
  }
5309
5310
 
5310
- const VERSION$1 = "1.8.2";
5311
+ const VERSION$1 = "1.8.3";
5311
5312
 
5312
5313
  const validators$1 = {};
5313
5314
 
@@ -16971,6 +16972,7 @@ const SPOT_DIMENSIONS = {
16971
16972
  [exports.RMN_SPOT_TYPE.RB_NAVIGATION_BANNER]: { width: 440, height: 220 },
16972
16973
  [exports.RMN_SPOT_TYPE.RB_VIDEO_PLAYER]: { width: 1280, height: 720 },
16973
16974
  [exports.RMN_SPOT_TYPE.RB_IN_TEXT]: { width: 1, height: 1 },
16975
+ [exports.RMN_SPOT_TYPE.RB_CAROUSEL_HORIZONTAL_INFO_CARD]: { width: 592, height: 386 },
16974
16976
  [exports.RMN_SPOT_TYPE.SMALL_RECTANGLE]: { width: 180, height: 150 },
16975
16977
  [exports.RMN_SPOT_TYPE.MEDIUM_RECTANGLE]: { width: 300, height: 250 },
16976
16978
  [exports.RMN_SPOT_TYPE.LARGE_RECTANGLE]: { width: 336, height: 280 },
@@ -17947,6 +17949,248 @@ class BillboardV1SE extends BaseSpotComponent {
17947
17949
  }
17948
17950
  }
17949
17951
 
17952
+ class RbCarouselHorizontalInfoCardSE extends BaseSpotComponent {
17953
+ constructor() {
17954
+ super();
17955
+ this.reRenderOnDeviceChange = true;
17956
+ }
17957
+ template() {
17958
+ const prefix = this._config.prefix;
17959
+ const { preHeader, mobilePreHeader, header, mobileHeader, description, mobileDescription, ctaText, mobileCtaText, textBlockPosition = exports.ENUM_TEXT_BLOCK_POSITION.LEFT, mobileTextBlockPosition = exports.ENUM_TEXT_BLOCK_POSITION.TOP,
17960
+ // eslint-disable-next-line @typescript-eslint/naming-convention
17961
+ enableMobileTexts = true, } = this._data;
17962
+ const content = this._isMobileDevice && enableMobileTexts
17963
+ ? {
17964
+ preHeader: mobilePreHeader,
17965
+ header: mobileHeader,
17966
+ description: mobileDescription,
17967
+ ctaText: mobileCtaText,
17968
+ }
17969
+ : { preHeader, header, description, ctaText };
17970
+ const elements = this.hasContent
17971
+ ? [
17972
+ renderElement('p', `${prefix}__preHeader`, content.preHeader),
17973
+ renderElement('h2', `${prefix}__header`, content.header),
17974
+ renderElement('p', `${prefix}__description`, content.description),
17975
+ renderElement('span', `${prefix}__cta-button`, content.ctaText),
17976
+ ]
17977
+ : [];
17978
+ return `
17979
+ ${importFonts()}
17980
+ <div class="${prefix}">
17981
+ <div class="${prefix}__content ${prefix}__text-block--${textBlockPosition} ${prefix}__text-block-mobile--${mobileTextBlockPosition}">
17982
+ <div class="${prefix}__image"></div>
17983
+ <div class="${prefix}__text">
17984
+ <div class="${prefix}__text-container">
17985
+ ${elements.join('')}
17986
+ </div>
17987
+ </div>
17988
+ </div>
17989
+ </div>
17990
+ `;
17991
+ }
17992
+ styles() {
17993
+ const { headerColor = '#212121', textColor = '#616161', backgroundColor = '#e8e6de', ctaTextColor = '#b5914a', primaryImage, mobilePrimaryImage = primaryImage, } = this._data;
17994
+ const prefix = this._config.prefix;
17995
+ return `
17996
+ .${prefix} {
17997
+ width: 100%;
17998
+ height: 100%;
17999
+ position: relative;
18000
+ border-radius: 5px;
18001
+ }
18002
+
18003
+ .${prefix}__content {
18004
+ width: 100%;
18005
+ height: 100%;
18006
+ display: flex;
18007
+ flex-direction: ${this._isMobileDevice ? 'column' : 'row'};
18008
+ overflow: hidden;
18009
+ border-radius: 5px;
18010
+ }
18011
+
18012
+ .${prefix}__image {
18013
+ width: 100%;
18014
+ height: 100%;
18015
+ background-image: url("${mobilePrimaryImage}");
18016
+ background-position: center;
18017
+ background-repeat: no-repeat;
18018
+ background-size: cover;
18019
+ min-width: 100px;
18020
+ overflow: hidden;
18021
+ }
18022
+
18023
+ .${prefix}__text {
18024
+ background-color: ${backgroundColor};
18025
+ display: flex;
18026
+ flex-direction: column;
18027
+ justify-content: center;
18028
+ width: 100%;
18029
+ height: 100%;
18030
+ padding: 10px;
18031
+ box-sizing: border-box;
18032
+ }
18033
+
18034
+ .${prefix}__text-container {
18035
+ display: flex;
18036
+ flex-direction: column;
18037
+ gap: 5px;
18038
+ padding: 0 20px;
18039
+ }
18040
+
18041
+ .${prefix}__preHeader {
18042
+ margin: 0;
18043
+ color:${headerColor};
18044
+ font-family: "Cormorant", system-ui;
18045
+ font-weight: 700;
18046
+ font-size: 8px;
18047
+ line-height: normal;
18048
+ letter-spacing: 0.8px;
18049
+ }
18050
+
18051
+ .${prefix}__header {
18052
+ margin: 0;
18053
+ color: ${headerColor};
18054
+ font-family: "Cormorant", system-ui;
18055
+ font-weight: bold;
18056
+ font-size: 16px;
18057
+ line-height: 24px;
18058
+ position: relative;
18059
+ padding-bottom: 10px;
18060
+ margin-bottom: 5px;
18061
+ }
18062
+
18063
+ .${prefix}__header::after {
18064
+ content: '';
18065
+ position: absolute;
18066
+ bottom: 0;
18067
+ left: 0;
18068
+ width: 76px;
18069
+ height: 1px;
18070
+ background-color: ${ctaTextColor};
18071
+ }
18072
+
18073
+ .${prefix}__description {
18074
+ color: ${textColor};
18075
+ margin: 0;
18076
+ font-size: 10px;
18077
+ font-family: "Source Sans 3", system-ui;
18078
+ font-weight: 400;
18079
+ }
18080
+
18081
+ .${prefix}__cta-button {
18082
+ color: ${ctaTextColor};
18083
+ font-size: 10px;
18084
+ font-weight: 700;
18085
+ font-family: "Source Sans 3", system-ui;
18086
+ letter-spacing: 1.4px;
18087
+ border: none;
18088
+ cursor: pointer;
18089
+ padding: 10px 0;
18090
+ transition: opacity 0.3s ease;
18091
+ display: inline-block;
18092
+ align-self: flex-end;
18093
+ text-decoration: none;
18094
+ }
18095
+
18096
+ .${prefix}__content:hover .${prefix}__cta-button {
18097
+ opacity: 0.8;
18098
+ }
18099
+
18100
+ @container (max-width: 639px) {
18101
+ .${prefix}__text-container {
18102
+ padding: 0 10px;
18103
+ }
18104
+ }
18105
+
18106
+ @container (min-width: 640px) {
18107
+ .${prefix}__image {
18108
+ background-image: url("${primaryImage}");
18109
+ }
18110
+
18111
+ .${prefix}__text-block--${exports.ENUM_TEXT_BLOCK_POSITION.LEFT} {
18112
+ flex-direction: row;
18113
+ }
18114
+
18115
+ .${prefix}__text-block--${exports.ENUM_TEXT_BLOCK_POSITION.RIGHT} {
18116
+ flex-direction: row-reverse;
18117
+ }
18118
+ }
18119
+
18120
+ @container (min-width: 768px) {
18121
+
18122
+ .${prefix}__image {
18123
+ width: 50%;
18124
+ height: auto;
18125
+ }
18126
+
18127
+ .${prefix}__text {
18128
+ width: 50%;
18129
+ align-self: center;
18130
+ }
18131
+
18132
+ .${prefix}__preHeader {
18133
+ font-size: 9px;
18134
+ }
18135
+
18136
+ .${prefix}__cta-button {
18137
+ font-size: 12px;
18138
+ }
18139
+ }
18140
+
18141
+ @container (min-width: 1024px) {
18142
+ .${prefix}__text {
18143
+ padding: 20px;
18144
+ }
18145
+
18146
+ .${prefix}__text-container {
18147
+ padding-right: 20px;
18148
+ }
18149
+
18150
+ .${prefix}__preHeader {
18151
+ font-size: 10px;
18152
+ }
18153
+
18154
+ .${prefix}__header {
18155
+ font-size: 18px;
18156
+ }
18157
+
18158
+ .${prefix}__description {
18159
+ font-size: 14px;
18160
+ }
18161
+
18162
+ .${prefix}__cta-button {
18163
+ font-size: 13px;
18164
+ }
18165
+ }
18166
+
18167
+ @container (min-width: 1280px) {
18168
+ .${prefix}__header {
18169
+ font-size: 24px;
18170
+ }
18171
+
18172
+ .${prefix}__cta-button {
18173
+ font-size: 14px;
18174
+ }
18175
+ }
18176
+ `;
18177
+ }
18178
+ get hasContent() {
18179
+ const { preHeader, header, mobileHeader, description, mobileDescription, ctaText, mobileCtaText, mobilePreHeader,
18180
+ // eslint-disable-next-line @typescript-eslint/naming-convention
18181
+ enableMobileTexts = true, } = this._data;
18182
+ const content = this._isMobileDevice && enableMobileTexts
18183
+ ? {
18184
+ preheader: mobilePreHeader,
18185
+ header: mobileHeader,
18186
+ description: mobileDescription,
18187
+ ctaText: mobileCtaText,
18188
+ }
18189
+ : { preHeader, header, description, ctaText };
18190
+ return Object.values(content).some(Boolean);
18191
+ }
18192
+ }
18193
+
17950
18194
  class RbCollectionBannerWithoutTextBlockSE extends BaseSpotComponent {
17951
18195
  constructor() {
17952
18196
  super();
@@ -18174,8 +18418,8 @@ class RbHomepageHeroFullImageSE extends BaseSpotComponent {
18174
18418
  : `background-image: url("${primaryImage}");`}
18175
18419
  }
18176
18420
 
18177
- .${prefix}__text {
18178
- width: 70%;
18421
+ .${prefix}__text > * {
18422
+ max-width: 60%;
18179
18423
  }
18180
18424
 
18181
18425
  .${prefix}__text-block--${exports.ENUM_TEXT_BLOCK_POSITION.TOP_LEFT} {
@@ -19320,8 +19564,8 @@ class RbLongToutTallSE extends BaseSpotComponent {
19320
19564
  : `background-image: url("${primaryImage}");`}
19321
19565
  }
19322
19566
 
19323
- .${prefix}__text {
19324
- width: 70%;
19567
+ .${prefix}__text > * {
19568
+ max-width: 60%;
19325
19569
  }
19326
19570
 
19327
19571
  .${prefix}__text-block--${exports.ENUM_TEXT_BLOCK_POSITION.TOP_LEFT} {
@@ -20065,8 +20309,8 @@ class RbVideoPlayerSE extends BaseSpotComponent {
20065
20309
  : ``}
20066
20310
  }
20067
20311
 
20068
- .${prefix}__text {
20069
- width: 70%;
20312
+ .${prefix}__text > * {
20313
+ max-width: 60%;
20070
20314
  }
20071
20315
 
20072
20316
  .${prefix}__text-block--${exports.ENUM_TEXT_BLOCK_POSITION.TOP_LEFT} {
@@ -20179,12 +20423,6 @@ class RbVideoPlayerSE extends BaseSpotComponent {
20179
20423
  opacity: 0.8;
20180
20424
  }
20181
20425
 
20182
- @container (min-width: 640px) {
20183
- .${prefix}__text {
20184
- width: 70%;
20185
- }
20186
- }
20187
-
20188
20426
  @container (min-width: 768px) {
20189
20427
  .${prefix}__description {
20190
20428
  font-size: 12px;
@@ -20273,6 +20511,9 @@ class SpotTemplateService {
20273
20511
  [exports.RMN_SPOT_TYPE.RB_VIDEO_PLAYER]: {
20274
20512
  rbVideoPlayer: RbVideoPlayerSE,
20275
20513
  },
20514
+ [exports.RMN_SPOT_TYPE.RB_CAROUSEL_HORIZONTAL_INFO_CARD]: {
20515
+ rbCarouselHorizontalInfoCard: RbCarouselHorizontalInfoCardSE,
20516
+ },
20276
20517
  };
20277
20518
  }
20278
20519
  initializeIabTemplates() {
package/dist/index.esm.js CHANGED
@@ -15,6 +15,7 @@ var RMN_SPOT_TYPE;
15
15
  RMN_SPOT_TYPE["RB_NAVIGATION_BANNER"] = "rbNavigationBanner";
16
16
  RMN_SPOT_TYPE["RB_VIDEO_PLAYER"] = "rbVideoPlayer";
17
17
  RMN_SPOT_TYPE["RB_IN_TEXT"] = "rbInText";
18
+ RMN_SPOT_TYPE["RB_CAROUSEL_HORIZONTAL_INFO_CARD"] = "rbCarouselHorizontalInfoCard";
18
19
  // IAB Standard Spot Types
19
20
  RMN_SPOT_TYPE["BILLBOARD"] = "billboard";
20
21
  RMN_SPOT_TYPE["LARGE_RECTANGLE"] = "largeRectangle";
@@ -4582,7 +4583,7 @@ var resolveConfig = (config) => {
4582
4583
 
4583
4584
  newConfig.headers = headers = AxiosHeaders$1.from(headers);
4584
4585
 
4585
- newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url), config.params, config.paramsSerializer);
4586
+ newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url, newConfig.allowAbsoluteUrls), config.params, config.paramsSerializer);
4586
4587
 
4587
4588
  // HTTP basic authentication
4588
4589
  if (auth) {
@@ -5305,7 +5306,7 @@ function dispatchRequest(config) {
5305
5306
  });
5306
5307
  }
5307
5308
 
5308
- const VERSION$1 = "1.8.2";
5309
+ const VERSION$1 = "1.8.3";
5309
5310
 
5310
5311
  const validators$1 = {};
5311
5312
 
@@ -16969,6 +16970,7 @@ const SPOT_DIMENSIONS = {
16969
16970
  [RMN_SPOT_TYPE.RB_NAVIGATION_BANNER]: { width: 440, height: 220 },
16970
16971
  [RMN_SPOT_TYPE.RB_VIDEO_PLAYER]: { width: 1280, height: 720 },
16971
16972
  [RMN_SPOT_TYPE.RB_IN_TEXT]: { width: 1, height: 1 },
16973
+ [RMN_SPOT_TYPE.RB_CAROUSEL_HORIZONTAL_INFO_CARD]: { width: 592, height: 386 },
16972
16974
  [RMN_SPOT_TYPE.SMALL_RECTANGLE]: { width: 180, height: 150 },
16973
16975
  [RMN_SPOT_TYPE.MEDIUM_RECTANGLE]: { width: 300, height: 250 },
16974
16976
  [RMN_SPOT_TYPE.LARGE_RECTANGLE]: { width: 336, height: 280 },
@@ -17945,6 +17947,248 @@ class BillboardV1SE extends BaseSpotComponent {
17945
17947
  }
17946
17948
  }
17947
17949
 
17950
+ class RbCarouselHorizontalInfoCardSE extends BaseSpotComponent {
17951
+ constructor() {
17952
+ super();
17953
+ this.reRenderOnDeviceChange = true;
17954
+ }
17955
+ template() {
17956
+ const prefix = this._config.prefix;
17957
+ const { preHeader, mobilePreHeader, header, mobileHeader, description, mobileDescription, ctaText, mobileCtaText, textBlockPosition = ENUM_TEXT_BLOCK_POSITION.LEFT, mobileTextBlockPosition = ENUM_TEXT_BLOCK_POSITION.TOP,
17958
+ // eslint-disable-next-line @typescript-eslint/naming-convention
17959
+ enableMobileTexts = true, } = this._data;
17960
+ const content = this._isMobileDevice && enableMobileTexts
17961
+ ? {
17962
+ preHeader: mobilePreHeader,
17963
+ header: mobileHeader,
17964
+ description: mobileDescription,
17965
+ ctaText: mobileCtaText,
17966
+ }
17967
+ : { preHeader, header, description, ctaText };
17968
+ const elements = this.hasContent
17969
+ ? [
17970
+ renderElement('p', `${prefix}__preHeader`, content.preHeader),
17971
+ renderElement('h2', `${prefix}__header`, content.header),
17972
+ renderElement('p', `${prefix}__description`, content.description),
17973
+ renderElement('span', `${prefix}__cta-button`, content.ctaText),
17974
+ ]
17975
+ : [];
17976
+ return `
17977
+ ${importFonts()}
17978
+ <div class="${prefix}">
17979
+ <div class="${prefix}__content ${prefix}__text-block--${textBlockPosition} ${prefix}__text-block-mobile--${mobileTextBlockPosition}">
17980
+ <div class="${prefix}__image"></div>
17981
+ <div class="${prefix}__text">
17982
+ <div class="${prefix}__text-container">
17983
+ ${elements.join('')}
17984
+ </div>
17985
+ </div>
17986
+ </div>
17987
+ </div>
17988
+ `;
17989
+ }
17990
+ styles() {
17991
+ const { headerColor = '#212121', textColor = '#616161', backgroundColor = '#e8e6de', ctaTextColor = '#b5914a', primaryImage, mobilePrimaryImage = primaryImage, } = this._data;
17992
+ const prefix = this._config.prefix;
17993
+ return `
17994
+ .${prefix} {
17995
+ width: 100%;
17996
+ height: 100%;
17997
+ position: relative;
17998
+ border-radius: 5px;
17999
+ }
18000
+
18001
+ .${prefix}__content {
18002
+ width: 100%;
18003
+ height: 100%;
18004
+ display: flex;
18005
+ flex-direction: ${this._isMobileDevice ? 'column' : 'row'};
18006
+ overflow: hidden;
18007
+ border-radius: 5px;
18008
+ }
18009
+
18010
+ .${prefix}__image {
18011
+ width: 100%;
18012
+ height: 100%;
18013
+ background-image: url("${mobilePrimaryImage}");
18014
+ background-position: center;
18015
+ background-repeat: no-repeat;
18016
+ background-size: cover;
18017
+ min-width: 100px;
18018
+ overflow: hidden;
18019
+ }
18020
+
18021
+ .${prefix}__text {
18022
+ background-color: ${backgroundColor};
18023
+ display: flex;
18024
+ flex-direction: column;
18025
+ justify-content: center;
18026
+ width: 100%;
18027
+ height: 100%;
18028
+ padding: 10px;
18029
+ box-sizing: border-box;
18030
+ }
18031
+
18032
+ .${prefix}__text-container {
18033
+ display: flex;
18034
+ flex-direction: column;
18035
+ gap: 5px;
18036
+ padding: 0 20px;
18037
+ }
18038
+
18039
+ .${prefix}__preHeader {
18040
+ margin: 0;
18041
+ color:${headerColor};
18042
+ font-family: "Cormorant", system-ui;
18043
+ font-weight: 700;
18044
+ font-size: 8px;
18045
+ line-height: normal;
18046
+ letter-spacing: 0.8px;
18047
+ }
18048
+
18049
+ .${prefix}__header {
18050
+ margin: 0;
18051
+ color: ${headerColor};
18052
+ font-family: "Cormorant", system-ui;
18053
+ font-weight: bold;
18054
+ font-size: 16px;
18055
+ line-height: 24px;
18056
+ position: relative;
18057
+ padding-bottom: 10px;
18058
+ margin-bottom: 5px;
18059
+ }
18060
+
18061
+ .${prefix}__header::after {
18062
+ content: '';
18063
+ position: absolute;
18064
+ bottom: 0;
18065
+ left: 0;
18066
+ width: 76px;
18067
+ height: 1px;
18068
+ background-color: ${ctaTextColor};
18069
+ }
18070
+
18071
+ .${prefix}__description {
18072
+ color: ${textColor};
18073
+ margin: 0;
18074
+ font-size: 10px;
18075
+ font-family: "Source Sans 3", system-ui;
18076
+ font-weight: 400;
18077
+ }
18078
+
18079
+ .${prefix}__cta-button {
18080
+ color: ${ctaTextColor};
18081
+ font-size: 10px;
18082
+ font-weight: 700;
18083
+ font-family: "Source Sans 3", system-ui;
18084
+ letter-spacing: 1.4px;
18085
+ border: none;
18086
+ cursor: pointer;
18087
+ padding: 10px 0;
18088
+ transition: opacity 0.3s ease;
18089
+ display: inline-block;
18090
+ align-self: flex-end;
18091
+ text-decoration: none;
18092
+ }
18093
+
18094
+ .${prefix}__content:hover .${prefix}__cta-button {
18095
+ opacity: 0.8;
18096
+ }
18097
+
18098
+ @container (max-width: 639px) {
18099
+ .${prefix}__text-container {
18100
+ padding: 0 10px;
18101
+ }
18102
+ }
18103
+
18104
+ @container (min-width: 640px) {
18105
+ .${prefix}__image {
18106
+ background-image: url("${primaryImage}");
18107
+ }
18108
+
18109
+ .${prefix}__text-block--${ENUM_TEXT_BLOCK_POSITION.LEFT} {
18110
+ flex-direction: row;
18111
+ }
18112
+
18113
+ .${prefix}__text-block--${ENUM_TEXT_BLOCK_POSITION.RIGHT} {
18114
+ flex-direction: row-reverse;
18115
+ }
18116
+ }
18117
+
18118
+ @container (min-width: 768px) {
18119
+
18120
+ .${prefix}__image {
18121
+ width: 50%;
18122
+ height: auto;
18123
+ }
18124
+
18125
+ .${prefix}__text {
18126
+ width: 50%;
18127
+ align-self: center;
18128
+ }
18129
+
18130
+ .${prefix}__preHeader {
18131
+ font-size: 9px;
18132
+ }
18133
+
18134
+ .${prefix}__cta-button {
18135
+ font-size: 12px;
18136
+ }
18137
+ }
18138
+
18139
+ @container (min-width: 1024px) {
18140
+ .${prefix}__text {
18141
+ padding: 20px;
18142
+ }
18143
+
18144
+ .${prefix}__text-container {
18145
+ padding-right: 20px;
18146
+ }
18147
+
18148
+ .${prefix}__preHeader {
18149
+ font-size: 10px;
18150
+ }
18151
+
18152
+ .${prefix}__header {
18153
+ font-size: 18px;
18154
+ }
18155
+
18156
+ .${prefix}__description {
18157
+ font-size: 14px;
18158
+ }
18159
+
18160
+ .${prefix}__cta-button {
18161
+ font-size: 13px;
18162
+ }
18163
+ }
18164
+
18165
+ @container (min-width: 1280px) {
18166
+ .${prefix}__header {
18167
+ font-size: 24px;
18168
+ }
18169
+
18170
+ .${prefix}__cta-button {
18171
+ font-size: 14px;
18172
+ }
18173
+ }
18174
+ `;
18175
+ }
18176
+ get hasContent() {
18177
+ const { preHeader, header, mobileHeader, description, mobileDescription, ctaText, mobileCtaText, mobilePreHeader,
18178
+ // eslint-disable-next-line @typescript-eslint/naming-convention
18179
+ enableMobileTexts = true, } = this._data;
18180
+ const content = this._isMobileDevice && enableMobileTexts
18181
+ ? {
18182
+ preheader: mobilePreHeader,
18183
+ header: mobileHeader,
18184
+ description: mobileDescription,
18185
+ ctaText: mobileCtaText,
18186
+ }
18187
+ : { preHeader, header, description, ctaText };
18188
+ return Object.values(content).some(Boolean);
18189
+ }
18190
+ }
18191
+
17948
18192
  class RbCollectionBannerWithoutTextBlockSE extends BaseSpotComponent {
17949
18193
  constructor() {
17950
18194
  super();
@@ -18172,8 +18416,8 @@ class RbHomepageHeroFullImageSE extends BaseSpotComponent {
18172
18416
  : `background-image: url("${primaryImage}");`}
18173
18417
  }
18174
18418
 
18175
- .${prefix}__text {
18176
- width: 70%;
18419
+ .${prefix}__text > * {
18420
+ max-width: 60%;
18177
18421
  }
18178
18422
 
18179
18423
  .${prefix}__text-block--${ENUM_TEXT_BLOCK_POSITION.TOP_LEFT} {
@@ -19318,8 +19562,8 @@ class RbLongToutTallSE extends BaseSpotComponent {
19318
19562
  : `background-image: url("${primaryImage}");`}
19319
19563
  }
19320
19564
 
19321
- .${prefix}__text {
19322
- width: 70%;
19565
+ .${prefix}__text > * {
19566
+ max-width: 60%;
19323
19567
  }
19324
19568
 
19325
19569
  .${prefix}__text-block--${ENUM_TEXT_BLOCK_POSITION.TOP_LEFT} {
@@ -20063,8 +20307,8 @@ class RbVideoPlayerSE extends BaseSpotComponent {
20063
20307
  : ``}
20064
20308
  }
20065
20309
 
20066
- .${prefix}__text {
20067
- width: 70%;
20310
+ .${prefix}__text > * {
20311
+ max-width: 60%;
20068
20312
  }
20069
20313
 
20070
20314
  .${prefix}__text-block--${ENUM_TEXT_BLOCK_POSITION.TOP_LEFT} {
@@ -20177,12 +20421,6 @@ class RbVideoPlayerSE extends BaseSpotComponent {
20177
20421
  opacity: 0.8;
20178
20422
  }
20179
20423
 
20180
- @container (min-width: 640px) {
20181
- .${prefix}__text {
20182
- width: 70%;
20183
- }
20184
- }
20185
-
20186
20424
  @container (min-width: 768px) {
20187
20425
  .${prefix}__description {
20188
20426
  font-size: 12px;
@@ -20271,6 +20509,9 @@ class SpotTemplateService {
20271
20509
  [RMN_SPOT_TYPE.RB_VIDEO_PLAYER]: {
20272
20510
  rbVideoPlayer: RbVideoPlayerSE,
20273
20511
  },
20512
+ [RMN_SPOT_TYPE.RB_CAROUSEL_HORIZONTAL_INFO_CARD]: {
20513
+ rbCarouselHorizontalInfoCard: RbCarouselHorizontalInfoCardSE,
20514
+ },
20274
20515
  };
20275
20516
  }
20276
20517
  initializeIabTemplates() {
@@ -13,6 +13,7 @@ export declare enum RMN_SPOT_TYPE {
13
13
  RB_NAVIGATION_BANNER = "rbNavigationBanner",
14
14
  RB_VIDEO_PLAYER = "rbVideoPlayer",
15
15
  RB_IN_TEXT = "rbInText",
16
+ RB_CAROUSEL_HORIZONTAL_INFO_CARD = "rbCarouselHorizontalInfoCard",
16
17
  BILLBOARD = "billboard",
17
18
  LARGE_RECTANGLE = "largeRectangle",
18
19
  VERTICAL_RECTANGLE = "verticalRectangle",
@@ -152,3 +152,21 @@ export interface IVideoPlayerRbSpot extends ISpotTemplateBaseData {
152
152
  aspectRatio?: '16:9' | '4:3' | '1:1' | '3:4' | '9:16';
153
153
  };
154
154
  }
155
+ export interface ICarouselHorizontalInfoCardRbSpot extends ISpotTemplateBaseData {
156
+ preHeader?: string;
157
+ header?: string;
158
+ description?: string;
159
+ ctaText?: string;
160
+ mobilePreHeader?: string;
161
+ mobileHeader?: string;
162
+ mobileDescription?: string;
163
+ mobileCtaText?: string;
164
+ headerColor?: string;
165
+ textColor?: string;
166
+ backgroundColor?: string;
167
+ ctaTextColor?: string;
168
+ primaryImage: string;
169
+ mobilePrimaryImage?: string;
170
+ textBlockPosition?: ENUM_TEXT_BLOCK_POSITION.MIDDLE_LEFT | ENUM_TEXT_BLOCK_POSITION.MIDDLE_RIGHT;
171
+ mobileTextBlockPosition?: ENUM_TEXT_BLOCK_POSITION.TOP | ENUM_TEXT_BLOCK_POSITION.BOTTOM;
172
+ }