@liquidcommercedev/rmn-sdk 1.5.0-beta.46 → 1.5.0-beta.48

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.esm.js CHANGED
@@ -15,6 +15,9 @@ 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";
19
+ RMN_SPOT_TYPE["RB_CAROUSEL_VERTICAL_SMALL_IMAGE_INFO_CARD"] = "rbCarouselVerticalSmallImageInfoCard";
20
+ RMN_SPOT_TYPE["RB_CAROUSEL_HORIZONTAL_SHORT_INFO_CARD"] = "rbCarouselHorizontalShortInfoCard";
18
21
  // IAB Standard Spot Types
19
22
  RMN_SPOT_TYPE["BILLBOARD"] = "billboard";
20
23
  RMN_SPOT_TYPE["LARGE_RECTANGLE"] = "largeRectangle";
@@ -89,6 +92,7 @@ var ENUM_TEXT_BLOCK_POSITION;
89
92
  ENUM_TEXT_BLOCK_POSITION["TOP"] = "top";
90
93
  ENUM_TEXT_BLOCK_POSITION["BOTTOM"] = "bottom";
91
94
  ENUM_TEXT_BLOCK_POSITION["MIDDLE"] = "middle";
95
+ ENUM_TEXT_BLOCK_POSITION["CENTER"] = "center";
92
96
  ENUM_TEXT_BLOCK_POSITION["TOP_LEFT"] = "top-left";
93
97
  ENUM_TEXT_BLOCK_POSITION["TOP_RIGHT"] = "top-right";
94
98
  ENUM_TEXT_BLOCK_POSITION["BOTTOM_LEFT"] = "bottom-left";
@@ -16969,6 +16973,9 @@ const SPOT_DIMENSIONS = {
16969
16973
  [RMN_SPOT_TYPE.RB_NAVIGATION_BANNER]: { width: 440, height: 220 },
16970
16974
  [RMN_SPOT_TYPE.RB_VIDEO_PLAYER]: { width: 1280, height: 720 },
16971
16975
  [RMN_SPOT_TYPE.RB_IN_TEXT]: { width: 1, height: 1 },
16976
+ [RMN_SPOT_TYPE.RB_CAROUSEL_HORIZONTAL_INFO_CARD]: { width: 592, height: 386 },
16977
+ [RMN_SPOT_TYPE.RB_CAROUSEL_VERTICAL_SMALL_IMAGE_INFO_CARD]: { width: 285, height: 386 },
16978
+ [RMN_SPOT_TYPE.RB_CAROUSEL_HORIZONTAL_SHORT_INFO_CARD]: { width: 285, height: 416 },
16972
16979
  [RMN_SPOT_TYPE.SMALL_RECTANGLE]: { width: 180, height: 150 },
16973
16980
  [RMN_SPOT_TYPE.MEDIUM_RECTANGLE]: { width: 300, height: 250 },
16974
16981
  [RMN_SPOT_TYPE.LARGE_RECTANGLE]: { width: 336, height: 280 },
@@ -17945,6 +17952,641 @@ class BillboardV1SE extends BaseSpotComponent {
17945
17952
  }
17946
17953
  }
17947
17954
 
17955
+ class RbCarouselHorizontalInfoCardSE extends BaseSpotComponent {
17956
+ constructor() {
17957
+ super();
17958
+ this.reRenderOnDeviceChange = true;
17959
+ }
17960
+ template() {
17961
+ const prefix = this._config.prefix;
17962
+ const { preHeader, mobilePreHeader, header, mobileHeader, description, mobileDescription, ctaText, mobileCtaText, textBlockPosition = ENUM_TEXT_BLOCK_POSITION.LEFT, mobileTextBlockPosition = ENUM_TEXT_BLOCK_POSITION.TOP,
17963
+ // eslint-disable-next-line @typescript-eslint/naming-convention
17964
+ enableMobileTexts = true, } = this._data;
17965
+ const content = this._isMobileDevice && enableMobileTexts
17966
+ ? {
17967
+ preHeader: mobilePreHeader,
17968
+ header: mobileHeader,
17969
+ description: mobileDescription,
17970
+ ctaText: mobileCtaText,
17971
+ }
17972
+ : { preHeader, header, description, ctaText };
17973
+ const elements = this.hasContent
17974
+ ? [
17975
+ renderElement('p', `${prefix}__preHeader`, content.preHeader),
17976
+ renderElement('h2', `${prefix}__header`, content.header),
17977
+ renderElement('p', `${prefix}__description`, content.description),
17978
+ renderElement('span', `${prefix}__cta-button`, content.ctaText),
17979
+ ]
17980
+ : [];
17981
+ return `
17982
+ ${importFonts()}
17983
+ <div class="${prefix}">
17984
+ <div class="${prefix}__content ${prefix}__text-block--${textBlockPosition} ${prefix}__text-block-mobile--${mobileTextBlockPosition}">
17985
+ <div class="${prefix}__image"></div>
17986
+ <div class="${prefix}__text">
17987
+ <div class="${prefix}__text-container">
17988
+ ${elements.join('')}
17989
+ </div>
17990
+ </div>
17991
+ </div>
17992
+ </div>
17993
+ `;
17994
+ }
17995
+ styles() {
17996
+ const { headerColor = '#212121', textColor = '#616161', backgroundColor = '#f7f5f3', ctaTextColor = '#b5914a', primaryImage, mobilePrimaryImage = primaryImage, } = this._data;
17997
+ const prefix = this._config.prefix;
17998
+ return `
17999
+ .${prefix} {
18000
+ width: 100%;
18001
+ height: 100%;
18002
+ position: relative;
18003
+ border-radius: 5px;
18004
+ }
18005
+
18006
+ .${prefix}__content {
18007
+ width: 100%;
18008
+ height: 100%;
18009
+ display: flex;
18010
+ flex-direction: ${this._isMobileDevice ? 'column' : 'row'};
18011
+ overflow: hidden;
18012
+ border-radius: 5px;
18013
+ }
18014
+
18015
+ .${prefix}__image {
18016
+ width: 100%;
18017
+ height: 100%;
18018
+ background-image: url("${mobilePrimaryImage}");
18019
+ background-position: center;
18020
+ background-repeat: no-repeat;
18021
+ background-size: cover;
18022
+ min-width: 100px;
18023
+ overflow: hidden;
18024
+ }
18025
+
18026
+ .${prefix}__text {
18027
+ background-color: ${backgroundColor};
18028
+ display: flex;
18029
+ flex-direction: column;
18030
+ justify-content: center;
18031
+ width: 100%;
18032
+ height: 100%;
18033
+ padding: 10px;
18034
+ box-sizing: border-box;
18035
+ }
18036
+
18037
+ .${prefix}__text-container {
18038
+ display: flex;
18039
+ flex-direction: column;
18040
+ gap: 5px;
18041
+ padding: 0 20px;
18042
+ }
18043
+
18044
+ .${prefix}__preHeader {
18045
+ margin: 0;
18046
+ color:${headerColor};
18047
+ font-family: "Cormorant", system-ui;
18048
+ font-size: ${this._isMobileDevice ? '8px' : '9px'};
18049
+ line-height: normal;
18050
+ letter-spacing: 0.8px;
18051
+ }
18052
+
18053
+ .${prefix}__header {
18054
+ margin: 0;
18055
+ color: ${headerColor};
18056
+ font-family: "Cormorant", system-ui;
18057
+ font-weight: bold;
18058
+ font-size: ${this._isMobileDevice ? '16px' : '18px'};
18059
+ line-height: 24px;
18060
+ position: relative;
18061
+ padding-bottom: 10px;
18062
+ margin-bottom: 5px;
18063
+ }
18064
+
18065
+ .${prefix}__header::after {
18066
+ content: '';
18067
+ position: absolute;
18068
+ bottom: 0;
18069
+ left: 0;
18070
+ width: 76px;
18071
+ height: 1px;
18072
+ background-color: ${ctaTextColor};
18073
+ }
18074
+
18075
+ .${prefix}__description {
18076
+ color: ${textColor};
18077
+ margin: 0;
18078
+ font-size: 10px;
18079
+ font-family: "Source Sans 3", system-ui;
18080
+ font-weight: 400;
18081
+ }
18082
+
18083
+ .${prefix}__cta-button {
18084
+ color: ${ctaTextColor};
18085
+ font-size: ${this._isMobileDevice ? '10px' : '12px'};
18086
+ font-weight: 700;
18087
+ font-family: "Source Sans 3", system-ui;
18088
+ border: none;
18089
+ cursor: pointer;
18090
+ padding: 10px 0;
18091
+ transition: opacity 0.3s ease;
18092
+ display: inline-block;
18093
+ align-self: flex-end;
18094
+ text-decoration: none;
18095
+ }
18096
+
18097
+ .${prefix}__content:hover .${prefix}__cta-button {
18098
+ opacity: 0.8;
18099
+ }
18100
+
18101
+ @container (max-width: 639px) {
18102
+ .${prefix}__text-container {
18103
+ padding: 0 10px;
18104
+ }
18105
+ }
18106
+
18107
+ @container (min-width: 640px) {
18108
+ .${prefix}__image {
18109
+ background-image: url("${primaryImage}");
18110
+ }
18111
+
18112
+ .${prefix}__text-block--${ENUM_TEXT_BLOCK_POSITION.LEFT} {
18113
+ flex-direction: row;
18114
+ }
18115
+
18116
+ .${prefix}__text-block--${ENUM_TEXT_BLOCK_POSITION.RIGHT} {
18117
+ flex-direction: row-reverse;
18118
+ }
18119
+ }
18120
+
18121
+ @container (min-width: 768px) {
18122
+
18123
+ .${prefix}__image {
18124
+ width: 50%;
18125
+ height: auto;
18126
+ }
18127
+
18128
+ .${prefix}__text {
18129
+ width: 50%;
18130
+ align-self: center;
18131
+ }
18132
+
18133
+ .${prefix}__preHeader {
18134
+ font-size: 9px;
18135
+ }
18136
+
18137
+ .${prefix}__cta-button {
18138
+ font-size: 12px;
18139
+ }
18140
+ }
18141
+
18142
+ @container (min-width: 1024px) {
18143
+ .${prefix}__text {
18144
+ padding: 20px;
18145
+ }
18146
+
18147
+ .${prefix}__text-container {
18148
+ padding-right: 20px;
18149
+ }
18150
+
18151
+ .${prefix}__preHeader {
18152
+ font-size: 10px;
18153
+ }
18154
+
18155
+ .${prefix}__header {
18156
+ font-size: 18px;
18157
+ }
18158
+
18159
+ .${prefix}__description {
18160
+ font-size: 14px;
18161
+ }
18162
+
18163
+ }
18164
+
18165
+ @container (min-width: 1280px) {
18166
+ .${prefix}__header {
18167
+ font-size: 24px;
18168
+ }
18169
+ }
18170
+ `;
18171
+ }
18172
+ get hasContent() {
18173
+ const { preHeader, header, mobileHeader, description, mobileDescription, ctaText, mobileCtaText, mobilePreHeader,
18174
+ // eslint-disable-next-line @typescript-eslint/naming-convention
18175
+ enableMobileTexts = true, } = this._data;
18176
+ const content = this._isMobileDevice && enableMobileTexts
18177
+ ? {
18178
+ preHeader: mobilePreHeader,
18179
+ header: mobileHeader,
18180
+ description: mobileDescription,
18181
+ ctaText: mobileCtaText,
18182
+ }
18183
+ : { preHeader, header, description, ctaText };
18184
+ return Object.values(content).some(Boolean);
18185
+ }
18186
+ }
18187
+
18188
+ class RbCarouselHorizontalShortInfoCardSE extends BaseSpotComponent {
18189
+ constructor() {
18190
+ super();
18191
+ this.reRenderOnDeviceChange = true;
18192
+ }
18193
+ template() {
18194
+ const prefix = this._config.prefix;
18195
+ const { preHeader, mobilePreHeader, header, mobileHeader, description, mobileDescription, ctaText, mobileCtaText, textBlockPosition = ENUM_TEXT_BLOCK_POSITION.BOTTOM,
18196
+ // eslint-disable-next-line @typescript-eslint/naming-convention
18197
+ enableMobileTexts = true, } = this._data;
18198
+ const content = this._isMobileDevice && enableMobileTexts
18199
+ ? {
18200
+ preHeader: mobilePreHeader,
18201
+ header: mobileHeader,
18202
+ description: mobileDescription,
18203
+ ctaText: mobileCtaText,
18204
+ }
18205
+ : { preHeader, header, description, ctaText };
18206
+ const elements = this.hasContent
18207
+ ? [
18208
+ renderElement('p', `${prefix}__preHeader`, content.preHeader),
18209
+ renderElement('h2', `${prefix}__header`, content.header),
18210
+ renderElement('p', `${prefix}__description`, content.description),
18211
+ renderElement('span', `${prefix}__cta-button`, content.ctaText),
18212
+ ]
18213
+ : [];
18214
+ return `
18215
+ ${importFonts()}
18216
+ <div class="${prefix}">
18217
+ <div class="${prefix}__content ${prefix}__text-block--${textBlockPosition} ${prefix}__text-block-mobile--${textBlockPosition}">
18218
+ <div class="${prefix}__image"></div>
18219
+ <div class="${prefix}__text">
18220
+ <div class="${prefix}__text-container">
18221
+ ${elements.join('')}
18222
+ </div>
18223
+ </div>
18224
+ </div>
18225
+ </div>
18226
+ `;
18227
+ }
18228
+ styles() {
18229
+ const { headerColor = '#212121', textColor = '#616161', backgroundColor = '#f7f5f3', ctaTextColor = '#b5914a', primaryImage, mobilePrimaryImage = primaryImage, } = this._data;
18230
+ const prefix = this._config.prefix;
18231
+ return `
18232
+ .${prefix} {
18233
+ width: 100%;
18234
+ height: 100%;
18235
+ position: relative;
18236
+ border-radius: 5px;
18237
+ }
18238
+
18239
+ .${prefix}__content {
18240
+ width: 100%;
18241
+ height: 100%;
18242
+ display: flex;
18243
+ flex-direction: column;
18244
+ overflow: hidden;
18245
+ border-radius: 5px;
18246
+ }
18247
+
18248
+ .${prefix}__image {
18249
+ width: 100%;
18250
+ height: 62.5%;
18251
+ background-image: url("${this._isMobileDevice ? mobilePrimaryImage : primaryImage}");
18252
+ background-position: center;
18253
+ background-repeat: no-repeat;
18254
+ background-size: cover;
18255
+ min-width: 100px;
18256
+ overflow: hidden;
18257
+ }
18258
+
18259
+ .${prefix}__text {
18260
+ background-color: ${backgroundColor};
18261
+ display: flex;
18262
+ flex-direction: column;
18263
+ justify-content: center;
18264
+ width: 100%;
18265
+ height: 37.5%;
18266
+ padding: 15px;
18267
+ box-sizing: border-box;
18268
+ }
18269
+
18270
+ .${prefix}__text-container {
18271
+ display: flex;
18272
+ flex-direction: column;
18273
+ gap: 5px;
18274
+ }
18275
+
18276
+ .${prefix}__preHeader {
18277
+ margin: 0;
18278
+ color:${headerColor};
18279
+ font-family: "Cormorant", system-ui;
18280
+ font-size: ${this._isMobileDevice ? '8px' : '9px'};
18281
+ line-height: normal;
18282
+ letter-spacing: 0.8px;
18283
+ }
18284
+
18285
+ .${prefix}__header {
18286
+ margin: 0;
18287
+ color: ${headerColor};
18288
+ font-family: "Cormorant", system-ui;
18289
+ font-weight: bold;
18290
+ font-size: ${this._isMobileDevice ? '16px' : '18px'};
18291
+ line-height: 24px;
18292
+ position: relative;
18293
+ padding-bottom: 10px;
18294
+ margin-bottom: 5px;
18295
+ }
18296
+
18297
+ .${prefix}__header::after {
18298
+ content: '';
18299
+ position: absolute;
18300
+ bottom: 0;
18301
+ left: 0;
18302
+ width: 76px;
18303
+ height: 1px;
18304
+ background-color: ${ctaTextColor};
18305
+ }
18306
+
18307
+ .${prefix}__description {
18308
+ color: ${textColor};
18309
+ margin: 0;
18310
+ font-size: 10px;
18311
+ font-family: "Source Sans 3", system-ui;
18312
+ font-weight: 400;
18313
+ }
18314
+
18315
+ .${prefix}__cta-button {
18316
+ color: ${ctaTextColor};
18317
+ font-size: ${this._isMobileDevice ? '10px' : '12px'};
18318
+ font-weight: 700;
18319
+ font-family: "Source Sans 3", system-ui;
18320
+ border: none;
18321
+ cursor: pointer;
18322
+ transition: opacity 0.3s ease;
18323
+ display: inline-block;
18324
+ align-self: flex-end;
18325
+ text-decoration: none;
18326
+ margin-top: auto;
18327
+ }
18328
+
18329
+ .${prefix}__content:hover .${prefix}__cta-button {
18330
+ opacity: 0.8;
18331
+ }
18332
+
18333
+ @container (min-width: 768px) {
18334
+ .${prefix}__preHeader {
18335
+ font-size: 9px;
18336
+ }
18337
+
18338
+ .${prefix}__cta-button {
18339
+ font-size: 12px;
18340
+ }
18341
+ }
18342
+
18343
+ @container (min-width: 1024px) {
18344
+ .${prefix}__text {
18345
+ padding: 20px;
18346
+ }
18347
+
18348
+ .${prefix}__text-container {
18349
+ padding-right: 20px;
18350
+ }
18351
+
18352
+ .${prefix}__preHeader {
18353
+ font-size: 10px;
18354
+ }
18355
+
18356
+ .${prefix}__header {
18357
+ font-size: 18px;
18358
+ }
18359
+
18360
+ .${prefix}__description {
18361
+ font-size: 14px;
18362
+ }
18363
+ }
18364
+
18365
+ @container (min-width: 1280px) {
18366
+ .${prefix}__header {
18367
+ font-size: 24px;
18368
+ }
18369
+ }
18370
+ `;
18371
+ }
18372
+ get hasContent() {
18373
+ const { preHeader, mobilePreHeader, header, mobileHeader, description, mobileDescription, ctaText, mobileCtaText,
18374
+ // eslint-disable-next-line @typescript-eslint/naming-convention
18375
+ enableMobileTexts = true, } = this._data;
18376
+ const content = this._isMobileDevice && enableMobileTexts
18377
+ ? {
18378
+ preHeader: mobilePreHeader,
18379
+ header: mobileHeader,
18380
+ description: mobileDescription,
18381
+ ctaText: mobileCtaText,
18382
+ }
18383
+ : { preHeader, header, description, ctaText };
18384
+ return Object.values(content).some(Boolean);
18385
+ }
18386
+ }
18387
+
18388
+ class RbCarouselVerticalSmallImageInfoCardSE extends BaseSpotComponent {
18389
+ constructor() {
18390
+ super();
18391
+ this.reRenderOnDeviceChange = true;
18392
+ }
18393
+ template() {
18394
+ const prefix = this._config.prefix;
18395
+ const { preHeader, mobilePreHeader, header, mobileHeader, description, mobileDescription, ctaText, mobileCtaText, textBlockPosition = ENUM_TEXT_BLOCK_POSITION.BOTTOM,
18396
+ // eslint-disable-next-line @typescript-eslint/naming-convention
18397
+ enableMobileTexts = true, } = this._data;
18398
+ const content = this._isMobileDevice && enableMobileTexts
18399
+ ? {
18400
+ preHeader: mobilePreHeader,
18401
+ header: mobileHeader,
18402
+ description: mobileDescription,
18403
+ ctaText: mobileCtaText,
18404
+ }
18405
+ : { preHeader, header, description, ctaText };
18406
+ const elements = this.hasContent
18407
+ ? [
18408
+ renderElement('p', `${prefix}__preHeader`, content.preHeader),
18409
+ renderElement('h2', `${prefix}__header`, content.header),
18410
+ renderElement('p', `${prefix}__description`, content.description),
18411
+ renderElement('span', `${prefix}__cta-button`, content.ctaText),
18412
+ ]
18413
+ : [];
18414
+ return `
18415
+ ${importFonts()}
18416
+ <div class="${prefix}">
18417
+ <div class="${prefix}__content ${prefix}__text-block--${textBlockPosition} ${prefix}__text-block-mobile--${textBlockPosition}">
18418
+ <div class="${prefix}__image"></div>
18419
+ <div class="${prefix}__text">
18420
+ <div class="${prefix}__text-container">
18421
+ ${elements.join('')}
18422
+ </div>
18423
+ </div>
18424
+ </div>
18425
+ </div>
18426
+ `;
18427
+ }
18428
+ styles() {
18429
+ const { headerColor = '#212121', textColor = '#616161', backgroundColor = '#f7f5f3', ctaTextColor = '#b5914a', primaryImage, mobilePrimaryImage = primaryImage, } = this._data;
18430
+ const prefix = this._config.prefix;
18431
+ return `
18432
+ .${prefix} {
18433
+ width: 100%;
18434
+ height: 100%;
18435
+ position: relative;
18436
+ border-radius: 5px;
18437
+ }
18438
+
18439
+ .${prefix}__content {
18440
+ width: 100%;
18441
+ height: 100%;
18442
+ display: flex;
18443
+ flex-direction: column;
18444
+ overflow: hidden;
18445
+ border-radius: 5px;
18446
+ }
18447
+
18448
+ .${prefix}__image {
18449
+ width: 100%;
18450
+ height: 50%;
18451
+ background-image: url("${this._isMobileDevice ? mobilePrimaryImage : primaryImage}");
18452
+ background-position: center;
18453
+ background-repeat: no-repeat;
18454
+ background-size: cover;
18455
+ min-width: 100px;
18456
+ overflow: hidden;
18457
+ }
18458
+
18459
+ .${prefix}__text {
18460
+ background-color: ${backgroundColor};
18461
+ display: flex;
18462
+ flex-direction: column;
18463
+ justify-content: center;
18464
+ width: 100%;
18465
+ height: 50%;
18466
+ padding: 16px;
18467
+ box-sizing: border-box;
18468
+ }
18469
+
18470
+ .${prefix}__text-container {
18471
+ display: flex;
18472
+ flex-direction: column;
18473
+ gap: 5px;
18474
+ height: 100%;
18475
+ justify-content: space-between;
18476
+ }
18477
+
18478
+ .${prefix}__preHeader {
18479
+ margin: 0;
18480
+ color:${headerColor};
18481
+ font-family: "Cormorant", system-ui;
18482
+ font-size: ${this._isMobileDevice ? '8px' : '9px'};
18483
+ line-height: normal;
18484
+ letter-spacing: 0.8px;
18485
+ }
18486
+
18487
+ .${prefix}__header {
18488
+ margin: 0;
18489
+ color: ${headerColor};
18490
+ font-family: "Cormorant", system-ui;
18491
+ font-weight: bold;
18492
+ font-size: ${this._isMobileDevice ? '16px' : '18px'};
18493
+ line-height: 24px;
18494
+ position: relative;
18495
+ padding-bottom: 10px;
18496
+ margin-bottom: 5px;
18497
+ }
18498
+
18499
+ .${prefix}__header::after {
18500
+ content: '';
18501
+ position: absolute;
18502
+ bottom: 0;
18503
+ left: 0;
18504
+ width: 76px;
18505
+ height: 1px;
18506
+ background-color: ${ctaTextColor};
18507
+ }
18508
+
18509
+ .${prefix}__description {
18510
+ color: ${textColor};
18511
+ margin: 0;
18512
+ font-size: 10px;
18513
+ font-family: "Source Sans 3", system-ui;
18514
+ font-weight: 400;
18515
+ }
18516
+
18517
+ .${prefix}__cta-button {
18518
+ color: ${ctaTextColor};
18519
+ font-size: ${this._isMobileDevice ? '10px' : '12px'};
18520
+ font-weight: 700;
18521
+ font-family: "Source Sans 3", system-ui;
18522
+ border: none;
18523
+ cursor: pointer;
18524
+ transition: opacity 0.3s ease;
18525
+ display: inline-block;
18526
+ align-self: flex-end;
18527
+ text-decoration: none;
18528
+ margin-top: auto;
18529
+ }
18530
+
18531
+ .${prefix}__content:hover .${prefix}__cta-button {
18532
+ opacity: 0.8;
18533
+ }
18534
+
18535
+ @container (min-width: 768px) {
18536
+ .${prefix}__preHeader {
18537
+ font-size: 9px;
18538
+ }
18539
+
18540
+ .${prefix}__cta-button {
18541
+ font-size: 12px;
18542
+ }
18543
+ }
18544
+
18545
+ @container (min-width: 1024px) {
18546
+ .${prefix}__text {
18547
+ padding: 20px;
18548
+ }
18549
+
18550
+ .${prefix}__text-container {
18551
+ padding-right: 20px;
18552
+ }
18553
+
18554
+ .${prefix}__preHeader {
18555
+ font-size: 10px;
18556
+ }
18557
+
18558
+ .${prefix}__header {
18559
+ font-size: 18px;
18560
+ }
18561
+
18562
+ .${prefix}__description {
18563
+ font-size: 14px;
18564
+ }
18565
+ }
18566
+
18567
+ @container (min-width: 1280px) {
18568
+ .${prefix}__header {
18569
+ font-size: 24px;
18570
+ }
18571
+ }
18572
+ `;
18573
+ }
18574
+ get hasContent() {
18575
+ const { preHeader, mobilePreHeader, header, mobileHeader, description, mobileDescription, ctaText, mobileCtaText,
18576
+ // eslint-disable-next-line @typescript-eslint/naming-convention
18577
+ enableMobileTexts = true, } = this._data;
18578
+ const content = this._isMobileDevice && enableMobileTexts
18579
+ ? {
18580
+ preHeader: mobilePreHeader,
18581
+ header: mobileHeader,
18582
+ description: mobileDescription,
18583
+ ctaText: mobileCtaText,
18584
+ }
18585
+ : { preHeader, header, description, ctaText };
18586
+ return Object.values(content).some(Boolean);
18587
+ }
18588
+ }
18589
+
17948
18590
  class RbCollectionBannerWithoutTextBlockSE extends BaseSpotComponent {
17949
18591
  constructor() {
17950
18592
  super();
@@ -18756,13 +19398,13 @@ class RbInTextSE extends BaseSpotComponent {
18756
19398
  `;
18757
19399
  }
18758
19400
  styles() {
18759
- const { textColor = '#212121', backgroundColor = 'transparent' } = this._data;
19401
+ const { textColor = '#212121', backgroundColor = 'transparent', textBlockPosition = ENUM_TEXT_BLOCK_POSITION.LEFT, } = this._data;
18760
19402
  const prefix = this._config.prefix;
18761
19403
  return `
18762
19404
  .${prefix} {
18763
19405
  display: block;
18764
19406
  cursor: pointer;
18765
- max-width: fit-content;
19407
+ width: 100%;
18766
19408
  padding: 0;
18767
19409
  background-color: ${backgroundColor};
18768
19410
  }
@@ -18773,6 +19415,7 @@ class RbInTextSE extends BaseSpotComponent {
18773
19415
  color: ${textColor};
18774
19416
  font-family: "Source Sans 3", system-ui;
18775
19417
  margin: 0;
19418
+ text-align: ${textBlockPosition};
18776
19419
  }
18777
19420
  .${prefix}__header:hover {
18778
19421
  color: #b5914a;
@@ -20265,6 +20908,15 @@ class SpotTemplateService {
20265
20908
  [RMN_SPOT_TYPE.RB_VIDEO_PLAYER]: {
20266
20909
  rbVideoPlayer: RbVideoPlayerSE,
20267
20910
  },
20911
+ [RMN_SPOT_TYPE.RB_CAROUSEL_HORIZONTAL_INFO_CARD]: {
20912
+ rbCarouselHorizontalInfoCard: RbCarouselHorizontalInfoCardSE,
20913
+ },
20914
+ [RMN_SPOT_TYPE.RB_CAROUSEL_VERTICAL_SMALL_IMAGE_INFO_CARD]: {
20915
+ rbCarouselVerticalSmallImageInfoCard: RbCarouselVerticalSmallImageInfoCardSE,
20916
+ },
20917
+ [RMN_SPOT_TYPE.RB_CAROUSEL_HORIZONTAL_SHORT_INFO_CARD]: {
20918
+ rbCarouselHorizontalShortInfoCard: RbCarouselHorizontalShortInfoCardSE,
20919
+ },
20268
20920
  };
20269
20921
  }
20270
20922
  initializeIabTemplates() {