@liquidcommercedev/rmn-sdk 1.5.0-beta.4 → 1.5.0-beta.41

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.
Files changed (105) hide show
  1. package/README.md +201 -57
  2. package/dist/index.cjs +6418 -3423
  3. package/dist/index.esm.js +6417 -3422
  4. package/dist/types/common/helpers/event-type.helper.d.ts +8 -0
  5. package/dist/types/common/helpers/extract-deep.helper.d.ts +14 -0
  6. package/dist/types/common/helpers/index.d.ts +6 -0
  7. package/dist/types/common/helpers/normalize-string.helper.d.ts +14 -0
  8. package/dist/types/common/helpers/utils.helper.d.ts +37 -0
  9. package/dist/types/common/http/api.constant.d.ts +1 -1
  10. package/dist/types/common/http/api.interface.d.ts +1 -1
  11. package/dist/types/common/http/base.api.d.ts +1 -1
  12. package/dist/types/constants/special-chars-map.constant.d.ts +1 -0
  13. package/dist/types/constants/spot-dimension.constant.d.ts +2 -0
  14. package/dist/types/enums.d.ts +25 -1
  15. package/dist/types/index.umd.d.ts +2 -2
  16. package/dist/types/modules/element/component/carousel/carousel.interface.d.ts +8 -3
  17. package/dist/types/modules/element/component/skeleton/index.d.ts +2 -0
  18. package/dist/types/modules/element/component/skeleton/skeleton.component.d.ts +3 -0
  19. package/dist/types/modules/element/component/skeleton/skeleton.interface.d.ts +14 -0
  20. package/dist/types/modules/element/component/spot/spot.component.d.ts +21 -3
  21. package/dist/types/modules/element/component/spot/spot.interface.d.ts +11 -7
  22. package/dist/types/modules/element/element.constant.d.ts +2 -5
  23. package/dist/types/modules/element/element.interface.d.ts +5 -8
  24. package/dist/types/modules/element/element.service.d.ts +29 -11
  25. package/dist/types/modules/helper-service/index.d.ts +4 -0
  26. package/dist/types/modules/helper-service/localstorage.service.d.ts +82 -0
  27. package/dist/types/modules/helper-service/proximity-observer.service.d.ts +30 -0
  28. package/dist/types/modules/{event/pubsub.d.ts → helper-service/pubsub.service.d.ts} +8 -9
  29. package/dist/types/modules/monitor/index.d.ts +2 -0
  30. package/dist/types/modules/monitor/monitor.enums.d.ts +5 -0
  31. package/dist/types/modules/monitor/monitor.interface.d.ts +21 -0
  32. package/dist/types/modules/monitor/monitor.service.d.ts +12 -0
  33. package/dist/types/modules/monitor/monitors/datalayer.monitor.d.ts +11 -0
  34. package/dist/types/modules/selection/selection.interface.d.ts +27 -3
  35. package/dist/types/modules/selection/selection.service.d.ts +1 -0
  36. package/dist/types/modules/selection/selection.type.d.ts +5 -9
  37. package/dist/types/modules/spot-manager/index.d.ts +2 -0
  38. package/dist/types/modules/{event/event.interface.d.ts → spot-manager/spot-manager.interface.d.ts} +9 -29
  39. package/dist/types/modules/spot-manager/spot-manager.service.d.ts +28 -0
  40. package/dist/types/modules/spot-template/iab/billboard/billboard-v1.template.d.ts +14 -0
  41. package/dist/types/modules/spot-template/iab/billboard/index.d.ts +1 -0
  42. package/dist/types/modules/{element/template → spot-template}/iab/in-text/in-text-v1.template.d.ts +1 -1
  43. package/dist/types/modules/{element/template → spot-template}/iab/large-leaderboard/index.d.ts +0 -1
  44. package/dist/types/modules/{element/template → spot-template}/iab/square/index.d.ts +0 -1
  45. package/dist/types/modules/spot-template/iab-template.interface.d.ts +12 -0
  46. package/dist/types/modules/spot-template/index.d.ts +4 -0
  47. package/dist/types/modules/spot-template/rb-template.interface.d.ts +120 -0
  48. package/dist/types/modules/spot-template/reservebar/collection-banner-without-text-block.template.d.ts +7 -0
  49. package/dist/types/modules/spot-template/reservebar/homepage-hero-full-image.template.d.ts +8 -0
  50. package/dist/types/modules/spot-template/reservebar/homepage-hero-three-tile.template.d.ts +7 -0
  51. package/dist/types/modules/spot-template/reservebar/homepage-hero-two-tile.template.d.ts +7 -0
  52. package/dist/types/modules/spot-template/reservebar/in-text.template.d.ts +7 -0
  53. package/dist/types/modules/{element/template → spot-template}/reservebar/index.d.ts +4 -0
  54. package/dist/types/modules/spot-template/reservebar/large-category-image-tout.template.d.ts +7 -0
  55. package/dist/types/modules/spot-template/reservebar/long-tout-short.template.d.ts +7 -0
  56. package/dist/types/modules/spot-template/reservebar/long-tout-tall.template.d.ts +8 -0
  57. package/dist/types/modules/spot-template/reservebar/navigation-banner.template.d.ts +7 -0
  58. package/dist/types/modules/spot-template/reservebar/small-category-image-tout.template.d.ts +7 -0
  59. package/dist/types/modules/spot-template/reservebar/small-discover-tout.template.d.ts +7 -0
  60. package/dist/types/modules/spot-template/reservebar/video-player.template.d.ts +20 -0
  61. package/dist/types/modules/spot-template/spot-template.constant.d.ts +3 -0
  62. package/dist/types/modules/spot-template/spot-template.interface.d.ts +13 -0
  63. package/dist/types/modules/spot-template/spot-template.service.d.ts +13 -0
  64. package/dist/types/modules/{element/template/helper.d.ts → spot-template/utils.d.ts} +1 -2
  65. package/dist/types/rmn-client.d.ts +75 -38
  66. package/dist/types/rmn-client.helper.d.ts +41 -0
  67. package/dist/types/types.d.ts +8 -7
  68. package/package.json +30 -42
  69. package/umd/liquidcommerce-rmn-sdk.min.js +1 -1
  70. package/dist/types/modules/element/component/utils.d.ts +0 -1
  71. package/dist/types/modules/element/template/iab/billboard/billboard-v1.template.d.ts +0 -2
  72. package/dist/types/modules/element/template/iab/billboard/billboard-v2.template.d.ts +0 -2
  73. package/dist/types/modules/element/template/iab/billboard/billboard-v3.template.d.ts +0 -2
  74. package/dist/types/modules/element/template/iab/billboard/index.d.ts +0 -3
  75. package/dist/types/modules/element/template/iab/large-leaderboard/large-leaderboard-v2.template.d.ts +0 -2
  76. package/dist/types/modules/element/template/iab/square/square-v2.template.d.ts +0 -2
  77. package/dist/types/modules/element/template/index.d.ts +0 -1
  78. package/dist/types/modules/element/template/reservebar/collection-banner-without-text-block.template.d.ts +0 -3
  79. package/dist/types/modules/element/template/reservebar/homepage-hero-full-image.template.d.ts +0 -3
  80. package/dist/types/modules/element/template/reservebar/homepage-hero-three-tile.template.d.ts +0 -3
  81. package/dist/types/modules/element/template/reservebar/homepage-hero-two-tile.template.d.ts +0 -3
  82. package/dist/types/modules/element/template/reservebar/large-category-image-tout.template.d.ts +0 -3
  83. package/dist/types/modules/element/template/reservebar/navigation-banner.template.d.ts +0 -3
  84. package/dist/types/modules/element/template/reservebar/small-category-image-tout.template.d.ts +0 -3
  85. package/dist/types/modules/element/template/reservebar/small-discover-tout.template.d.ts +0 -3
  86. package/dist/types/modules/element/template/template.service.d.ts +0 -11
  87. package/dist/types/modules/element/template/template.type.d.ts +0 -11
  88. package/dist/types/modules/event/event.constant.d.ts +0 -1
  89. package/dist/types/modules/event/event.service.d.ts +0 -47
  90. package/dist/types/modules/event/helpers/index.d.ts +0 -3
  91. package/dist/types/modules/event/helpers/intersection.service.d.ts +0 -8
  92. package/dist/types/modules/event/helpers/localstorage.service.d.ts +0 -26
  93. package/dist/types/modules/event/index.d.ts +0 -4
  94. package/dist/types/static.constant.d.ts +0 -4
  95. /package/dist/types/modules/{event/helpers → helper-service}/resize.service.d.ts +0 -0
  96. /package/dist/types/modules/{element/template → spot-template}/iab/in-text/index.d.ts +0 -0
  97. /package/dist/types/modules/{element/template → spot-template}/iab/index.d.ts +0 -0
  98. /package/dist/types/modules/{element/template → spot-template}/iab/large-leaderboard/large-leaderboard-v1.template.d.ts +0 -0
  99. /package/dist/types/modules/{element/template → spot-template}/iab/large-rectangle/index.d.ts +0 -0
  100. /package/dist/types/modules/{element/template → spot-template}/iab/large-rectangle/large-rectangle-v1.template.d.ts +0 -0
  101. /package/dist/types/modules/{element/template → spot-template}/iab/square/square-v1.template.d.ts +0 -0
  102. /package/dist/types/modules/{element/template → spot-template}/iab/vertical-rectangle/index.d.ts +0 -0
  103. /package/dist/types/modules/{element/template → spot-template}/iab/vertical-rectangle/vertical-rectangle-v1.template.d.ts +0 -0
  104. /package/dist/types/modules/{element/template → spot-template}/iab/wide-skyscraper/index.d.ts +0 -0
  105. /package/dist/types/modules/{element/template → spot-template}/iab/wide-skyscraper/wide-skyscraper-v1.template.d.ts +0 -0
@@ -1,15 +1,21 @@
1
- import type { RMN_SPOT_EVENT, RMN_SPOT_TYPE } from 'enums';
1
+ import type { ENUM_TEXT_BLOCK_POSITION, RMN_SPOT_EVENT, RMN_SPOT_TYPE } from 'enums';
2
2
  import type { PlacementIdType, SpotVariantType } from 'modules/selection';
3
3
  import type { RmnFilterType, RmnSpotType } from 'types';
4
4
  export interface ISpotSelectionParams {
5
- url?: string;
6
5
  spots: RmnSpotType[];
7
6
  filter?: Partial<RmnFilterType>;
7
+ userId?: string;
8
+ url?: string;
8
9
  }
9
10
  export interface ISpotEvent {
10
11
  event: RMN_SPOT_EVENT;
11
12
  url: string;
12
13
  }
14
+ export interface ISpotEventPayload {
15
+ e: number;
16
+ u: string;
17
+ ss: string;
18
+ }
13
19
  export interface ISpot {
14
20
  id: string;
15
21
  events: ISpotEvent[];
@@ -21,6 +27,8 @@ export interface ISpot {
21
27
  header?: string;
22
28
  description?: string;
23
29
  ctaText?: string;
30
+ textBlockPosition?: ENUM_TEXT_BLOCK_POSITION;
31
+ mobileTextBlockPosition?: ENUM_TEXT_BLOCK_POSITION;
24
32
  textColor?: string;
25
33
  backgroundColor?: string;
26
34
  ctaTextColor?: string;
@@ -30,7 +38,23 @@ export interface ISpot {
30
38
  mobilePrimaryImage?: string;
31
39
  mobileSecondaryImage?: string;
32
40
  productIds?: Array<string | number>;
33
- productUpcs?: string[];
41
+ video?: {
42
+ url?: string;
43
+ poster?: string;
44
+ posterTitle?: string;
45
+ posterDescription?: string;
46
+ autoplay?: boolean;
47
+ mute?: boolean;
48
+ loop?: boolean;
49
+ showControls?: boolean;
50
+ showPlay?: boolean;
51
+ showTimeline?: boolean;
52
+ showVolume?: boolean;
53
+ showTime?: boolean;
54
+ };
55
+ rbProductUpcs?: Array<string | number>;
56
+ rbProductSalsifyGroupings?: Array<string | number>;
57
+ rbProductSalsifyPids?: Array<string | number>;
34
58
  }
35
59
  export type ISpots = Record<PlacementIdType, ISpot[]>;
36
60
  export interface ISelectionService {
@@ -15,4 +15,5 @@ export declare class SelectionService extends BaseApi implements ISelectionServi
15
15
  spotSelection(data: ISpotSelectionParams): Promise<ISpots | {
16
16
  error: string;
17
17
  }>;
18
+ private getUserId;
18
19
  }
@@ -1,7 +1,5 @@
1
1
  import type { RMN_FILTER_PROPERTIES, RMN_SPOT_TYPE } from 'enums';
2
- export type RmnFilterType = {
3
- [key in RMN_FILTER_PROPERTIES]?: string[];
4
- };
2
+ export type RmnFilterType = Partial<Record<RMN_FILTER_PROPERTIES, string[]>>;
5
3
  export type PlacementIdType = RMN_SPOT_TYPE | `${RMN_SPOT_TYPE}${number}` | string;
6
4
  export type SpotFilterType = {
7
5
  placementId?: PlacementIdType;
@@ -19,10 +17,8 @@ type IABSpotTypeKeys = keyof {
19
17
  type RBSpotTypeValues = (typeof RMN_SPOT_TYPE)[RBSpotTypeKeys];
20
18
  type IABSpotTypeValues = (typeof RMN_SPOT_TYPE)[IABSpotTypeKeys];
21
19
  export type SpotVariantType = RBSpotTypeValues | `${IABSpotTypeValues}V${number}`;
22
- export type SpotDimensionsType = {
23
- [key in RMN_SPOT_TYPE]: {
24
- width: number;
25
- height: number;
26
- };
27
- };
20
+ export type SpotDimensionsType = Record<RMN_SPOT_TYPE, {
21
+ width: number;
22
+ height: number;
23
+ }>;
28
24
  export {};
@@ -0,0 +1,2 @@
1
+ export * from './spot-manager.interface';
2
+ export * from './spot-manager.service';
@@ -1,6 +1,7 @@
1
- import type { RMN_SPOT_EVENT } from 'enums';
1
+ import type { RMN_EVENT, RMN_SPOT_EVENT, RMN_SPOT_TYPE } from 'enums';
2
2
  import type { ISpot } from '../selection';
3
3
  export interface IFireEventParams {
4
+ spotType: RMN_SPOT_TYPE;
4
5
  event: RMN_SPOT_EVENT;
5
6
  eventUrl: string;
6
7
  }
@@ -30,40 +31,19 @@ export interface ILifecycleState {
30
31
  state?: Partial<ILSState>;
31
32
  displayConfig?: Partial<ILSDisplayConfig>;
32
33
  }
33
- export interface IClickEvent {
34
- placementId: string;
35
- spotId: string;
36
- spotElement: HTMLElement;
37
- }
38
- export interface IImpressionEvent {
39
- placementId: string;
40
- spotId: string;
41
- spotElement: HTMLElement;
42
- }
43
- export interface IAddToCartEvent {
34
+ export interface IRmnSpotEvent {
35
+ eventType: RMN_SPOT_EVENT;
44
36
  placementId: string;
45
37
  spotId: string;
46
38
  }
47
- export interface IAddToWishlistEvent {
39
+ export interface IRmnRenderedSpotDataEvent {
48
40
  placementId: string;
49
- spotId: string;
50
- }
51
- export interface IPurchaseEvent {
52
- placementId: string;
53
- spotId: string;
54
- }
55
- export interface IBuyNowEvent {
56
- placementId: string;
57
- spotId: string;
41
+ data: ISpot[];
58
42
  }
59
43
  export interface IRmnEventMap {
60
- [RMN_SPOT_EVENT.LIFECYCLE_STATE]: ILifecycleState;
61
- [RMN_SPOT_EVENT.CLICK]: IClickEvent;
62
- [RMN_SPOT_EVENT.IMPRESSION]: IImpressionEvent;
63
- [RMN_SPOT_EVENT.ADD_TO_CART]: IAddToCartEvent;
64
- [RMN_SPOT_EVENT.ADD_TO_WISHLIST]: IAddToWishlistEvent;
65
- [RMN_SPOT_EVENT.PURCHASE]: IPurchaseEvent;
66
- [RMN_SPOT_EVENT.BUY_NOW]: IBuyNowEvent;
44
+ [RMN_EVENT.LIFECYCLE_STATE]: ILifecycleState;
45
+ [RMN_EVENT.SPOT_EVENT]: IRmnSpotEvent;
46
+ [RMN_EVENT.RENDERED_SPOT_DATA]: IRmnRenderedSpotDataEvent;
67
47
  }
68
48
  export interface IRegisterSpotParams {
69
49
  placementId: string;
@@ -0,0 +1,28 @@
1
+ import { RMN_EVENT } from 'enums';
2
+ import type { ISpot } from 'modules/selection';
3
+ import type { ILifecycleState, IRegisterSpotParams, IRmnEventMap } from './spot-manager.interface';
4
+ export declare class SpotManagerService {
5
+ private pubSubService;
6
+ private localStorageService;
7
+ private spotLifecyleState;
8
+ private constructor();
9
+ static getInstance(): SpotManagerService;
10
+ subscribe(eventType: RMN_EVENT, callback: (data: IRmnEventMap[RMN_EVENT]) => void): () => void;
11
+ publish(eventType: RMN_EVENT, data: IRmnEventMap[RMN_EVENT]): void;
12
+ registerSpot(params: IRegisterSpotParams): void;
13
+ unregisterSpot(rawPlacementId: string): void;
14
+ /**
15
+ * Updates the state of a spot.
16
+ *
17
+ * @param {string} placementId - The placement ID of the spot.
18
+ * @param {Partial<ILifecycleState>} updates - The updates to apply to the spot state.
19
+ * @param publish - Whether to publish the updated state.
20
+ *
21
+ * @returns {void}
22
+ */
23
+ updateSpotLifecycleState(placementId: string, updates: Partial<ILifecycleState>, publish?: boolean): void;
24
+ saveSpotDataToLocalStorage(placementId: string, spot: ISpot): void;
25
+ private handleClickEvent;
26
+ private handleImpressionEvent;
27
+ private deepMerge;
28
+ }
@@ -0,0 +1,14 @@
1
+ import { BaseSpotComponent } from 'modules/element/component/spot';
2
+ import type { IBillboardV1Spot } from '../../iab-template.interface';
3
+ export declare class BillboardV1SE extends BaseSpotComponent<IBillboardV1Spot> {
4
+ private resizeObserver?;
5
+ private originalFontSizes;
6
+ constructor();
7
+ protected connected(): void;
8
+ protected disconnected(): void;
9
+ private setupResizeObserver;
10
+ private handleSpotSizeChanged;
11
+ private adjustFontSize;
12
+ protected template(): string;
13
+ protected styles(): string;
14
+ }
@@ -0,0 +1 @@
1
+ export * from './billboard-v1.template';
@@ -1,2 +1,2 @@
1
- import type { ISpot } from 'types';
1
+ import type { ISpot } from '../../../selection';
2
2
  export declare function inTextV1Template(spot: ISpot): string;
@@ -1,2 +1 @@
1
1
  export * from './large-leaderboard-v1.template';
2
- export * from './large-leaderboard-v2.template';
@@ -1,2 +1 @@
1
1
  export * from './square-v1.template';
2
- export * from './square-v2.template';
@@ -0,0 +1,12 @@
1
+ import type { ISpotTemplateBaseData } from './spot-template.interface';
2
+ export interface IBillboardV1Spot extends ISpotTemplateBaseData {
3
+ preHeader: string;
4
+ header: string;
5
+ description: string;
6
+ ctaText: string;
7
+ textColor: string;
8
+ ctaTextColor: string;
9
+ ctaBorderColor: string;
10
+ primaryImage: string;
11
+ mobilePrimaryImage?: string;
12
+ }
@@ -0,0 +1,4 @@
1
+ export * from './iab-template.interface';
2
+ export * from './rb-template.interface';
3
+ export * from './spot-template.interface';
4
+ export * from './spot-template.service';
@@ -0,0 +1,120 @@
1
+ import type { ENUM_TEXT_BLOCK_POSITION } from 'enums';
2
+ import type { ISpotTemplateBaseData } from './spot-template.interface';
3
+ export interface ICollectionBannerWithoutTextBlockRbSpot extends ISpotTemplateBaseData {
4
+ primaryImage: string;
5
+ mobilePrimaryImage?: string;
6
+ }
7
+ export interface IHomepageHeroFullImageRbSpot extends ISpotTemplateBaseData {
8
+ preHeader: string;
9
+ header: string;
10
+ description: string;
11
+ ctaText: string;
12
+ textColor: string;
13
+ ctaTextColor: string;
14
+ ctaBorderColor: string;
15
+ primaryImage: string;
16
+ mobilePrimaryImage?: string;
17
+ textBlockPosition?: ENUM_TEXT_BLOCK_POSITION.TOP_LEFT | ENUM_TEXT_BLOCK_POSITION.TOP_RIGHT | ENUM_TEXT_BLOCK_POSITION.BOTTOM_LEFT | ENUM_TEXT_BLOCK_POSITION.BOTTOM_RIGHT | ENUM_TEXT_BLOCK_POSITION.MIDDLE_LEFT | ENUM_TEXT_BLOCK_POSITION.MIDDLE_RIGHT;
18
+ mobileTextBlockPosition?: ENUM_TEXT_BLOCK_POSITION.TOP_LEFT | ENUM_TEXT_BLOCK_POSITION.TOP_RIGHT | ENUM_TEXT_BLOCK_POSITION.BOTTOM_LEFT | ENUM_TEXT_BLOCK_POSITION.BOTTOM_RIGHT | ENUM_TEXT_BLOCK_POSITION.MIDDLE_LEFT | ENUM_TEXT_BLOCK_POSITION.MIDDLE_RIGHT;
19
+ }
20
+ export interface IHomepageHeroThreeTileRbSpot extends ISpotTemplateBaseData {
21
+ header: string;
22
+ description: string;
23
+ ctaText: string;
24
+ textColor: string;
25
+ backgroundColor: string;
26
+ ctaTextColor: string;
27
+ primaryImage: string;
28
+ mobilePrimaryImage?: string;
29
+ secondaryImage: string;
30
+ mobileSecondaryImage?: string;
31
+ textBlockPosition?: ENUM_TEXT_BLOCK_POSITION.LEFT | ENUM_TEXT_BLOCK_POSITION.RIGHT;
32
+ mobileTextBlockPosition?: ENUM_TEXT_BLOCK_POSITION.LEFT | ENUM_TEXT_BLOCK_POSITION.RIGHT;
33
+ }
34
+ export interface IHomepageHeroTwoTileRbSpot extends ISpotTemplateBaseData {
35
+ header: string;
36
+ description: string;
37
+ ctaText: string;
38
+ textColor: string;
39
+ backgroundColor: string;
40
+ ctaTextColor: string;
41
+ primaryImage: string;
42
+ mobilePrimaryImage?: string;
43
+ textBlockPosition?: ENUM_TEXT_BLOCK_POSITION.LEFT | ENUM_TEXT_BLOCK_POSITION.RIGHT;
44
+ mobileTextBlockPosition?: ENUM_TEXT_BLOCK_POSITION.TOP | ENUM_TEXT_BLOCK_POSITION.BOTTOM;
45
+ }
46
+ export interface IInTextRbSpot extends ISpotTemplateBaseData {
47
+ header: string;
48
+ textColor: string;
49
+ backgroundColor: string;
50
+ }
51
+ export interface ILargeCategoryImageToutRbSpot extends ISpotTemplateBaseData {
52
+ header: string;
53
+ description: string;
54
+ ctaText: string;
55
+ textColor: string;
56
+ ctaTextColor: string;
57
+ ctaBorderColor: string;
58
+ primaryImage: string;
59
+ mobilePrimaryImage?: string;
60
+ textBlockPosition?: ENUM_TEXT_BLOCK_POSITION.LEFT | ENUM_TEXT_BLOCK_POSITION.RIGHT;
61
+ }
62
+ export interface INavigationBannerRbSpot extends ISpotTemplateBaseData {
63
+ header: string;
64
+ textColor: string;
65
+ primaryImage: string;
66
+ mobilePrimaryImage?: string;
67
+ }
68
+ export interface ISmallCategoryImageToutRbSpot extends ISpotTemplateBaseData {
69
+ header: string;
70
+ textColor: string;
71
+ primaryImage: string;
72
+ mobilePrimaryImage?: string;
73
+ }
74
+ export interface ISmallDiscoverToutRbSpot extends ISpotTemplateBaseData {
75
+ header: string;
76
+ textColor: string;
77
+ backgroundColor: string;
78
+ primaryImage: string;
79
+ mobilePrimaryImage?: string;
80
+ }
81
+ export interface ILongToutShortRbSpot extends ISpotTemplateBaseData {
82
+ preHeader: string;
83
+ header: string;
84
+ description: string;
85
+ ctaText: string;
86
+ textColor: string;
87
+ ctaTextColor: string;
88
+ ctaBorderColor: string;
89
+ primaryImage: string;
90
+ mobilePrimaryImage?: string;
91
+ }
92
+ export interface ILongToutTallRbSpot extends ISpotTemplateBaseData {
93
+ preHeader: string;
94
+ header: string;
95
+ description: string;
96
+ ctaText: string;
97
+ textColor: string;
98
+ ctaTextColor: string;
99
+ ctaBorderColor: string;
100
+ primaryImage: string;
101
+ mobilePrimaryImage?: string;
102
+ textBlockPosition?: ENUM_TEXT_BLOCK_POSITION.TOP_LEFT | ENUM_TEXT_BLOCK_POSITION.TOP_RIGHT | ENUM_TEXT_BLOCK_POSITION.BOTTOM_LEFT | ENUM_TEXT_BLOCK_POSITION.BOTTOM_RIGHT | ENUM_TEXT_BLOCK_POSITION.MIDDLE_LEFT | ENUM_TEXT_BLOCK_POSITION.MIDDLE_RIGHT;
103
+ mobileTextBlockPosition?: ENUM_TEXT_BLOCK_POSITION.TOP_LEFT | ENUM_TEXT_BLOCK_POSITION.TOP_RIGHT | ENUM_TEXT_BLOCK_POSITION.BOTTOM_LEFT | ENUM_TEXT_BLOCK_POSITION.BOTTOM_RIGHT | ENUM_TEXT_BLOCK_POSITION.MIDDLE_LEFT | ENUM_TEXT_BLOCK_POSITION.MIDDLE_RIGHT;
104
+ }
105
+ export interface IVideoPlayerRbSpot extends ISpotTemplateBaseData {
106
+ video: {
107
+ url?: string;
108
+ poster?: string;
109
+ posterTitle?: string;
110
+ posterDescription?: string;
111
+ autoplay?: boolean;
112
+ mute?: boolean;
113
+ loop?: boolean;
114
+ showControls?: boolean;
115
+ showPlay?: boolean;
116
+ showTimeline?: boolean;
117
+ showVolume?: boolean;
118
+ showTime?: boolean;
119
+ };
120
+ }
@@ -0,0 +1,7 @@
1
+ import { BaseSpotComponent } from 'modules/element/component/spot';
2
+ import type { ICollectionBannerWithoutTextBlockRbSpot } from '../rb-template.interface';
3
+ export declare class RbCollectionBannerWithoutTextBlockSE extends BaseSpotComponent<ICollectionBannerWithoutTextBlockRbSpot> {
4
+ constructor();
5
+ protected template(): string;
6
+ protected styles(): string;
7
+ }
@@ -0,0 +1,8 @@
1
+ import { BaseSpotComponent } from 'modules/element/component/spot';
2
+ import type { IHomepageHeroFullImageRbSpot } from '../rb-template.interface';
3
+ export declare class RbHomepageHeroFullImageSE extends BaseSpotComponent<IHomepageHeroFullImageRbSpot> {
4
+ constructor();
5
+ private getGradientDirection;
6
+ protected template(): string;
7
+ protected styles(): string;
8
+ }
@@ -0,0 +1,7 @@
1
+ import { BaseSpotComponent } from 'modules/element/component/spot';
2
+ import type { IHomepageHeroThreeTileRbSpot } from '../rb-template.interface';
3
+ export declare class RbHomepageHeroThreeTileSE extends BaseSpotComponent<IHomepageHeroThreeTileRbSpot> {
4
+ constructor();
5
+ protected template(): string;
6
+ protected styles(): string;
7
+ }
@@ -0,0 +1,7 @@
1
+ import { BaseSpotComponent } from 'modules/element/component/spot';
2
+ import type { IHomepageHeroTwoTileRbSpot } from '../rb-template.interface';
3
+ export declare class RbHomepageHeroTwoTileSE extends BaseSpotComponent<IHomepageHeroTwoTileRbSpot> {
4
+ constructor();
5
+ protected template(): string;
6
+ protected styles(): string;
7
+ }
@@ -0,0 +1,7 @@
1
+ import { BaseSpotComponent } from 'modules/element/component/spot';
2
+ import type { IInTextRbSpot } from '../rb-template.interface';
3
+ export declare class RbInTextSE extends BaseSpotComponent<IInTextRbSpot> {
4
+ constructor();
5
+ protected template(): string;
6
+ protected styles(): string;
7
+ }
@@ -2,7 +2,11 @@ export * from './collection-banner-without-text-block.template';
2
2
  export * from './homepage-hero-full-image.template';
3
3
  export * from './homepage-hero-three-tile.template';
4
4
  export * from './homepage-hero-two-tile.template';
5
+ export * from './in-text.template';
5
6
  export * from './large-category-image-tout.template';
7
+ export * from './long-tout-short.template';
8
+ export * from './long-tout-tall.template';
6
9
  export * from './navigation-banner.template';
7
10
  export * from './small-category-image-tout.template';
8
11
  export * from './small-discover-tout.template';
12
+ export * from './video-player.template';
@@ -0,0 +1,7 @@
1
+ import { BaseSpotComponent } from 'modules/element/component/spot';
2
+ import type { ILargeCategoryImageToutRbSpot } from '../rb-template.interface';
3
+ export declare class RbLargeCategoryImageToutSE extends BaseSpotComponent<ILargeCategoryImageToutRbSpot> {
4
+ constructor();
5
+ protected template(): string;
6
+ protected styles(): string;
7
+ }
@@ -0,0 +1,7 @@
1
+ import { BaseSpotComponent } from 'modules/element/component/spot';
2
+ import type { ILongToutShortRbSpot } from '../rb-template.interface';
3
+ export declare class RbLongToutShortSE extends BaseSpotComponent<ILongToutShortRbSpot> {
4
+ constructor();
5
+ protected template(): string;
6
+ protected styles(): string;
7
+ }
@@ -0,0 +1,8 @@
1
+ import { BaseSpotComponent } from 'modules/element/component/spot';
2
+ import type { ILongToutTallRbSpot } from '../rb-template.interface';
3
+ export declare class RbLongToutTallSE extends BaseSpotComponent<ILongToutTallRbSpot> {
4
+ constructor();
5
+ private getGradientDirection;
6
+ protected template(): string;
7
+ protected styles(): string;
8
+ }
@@ -0,0 +1,7 @@
1
+ import { BaseSpotComponent } from 'modules/element/component/spot';
2
+ import type { INavigationBannerRbSpot } from '../rb-template.interface';
3
+ export declare class RbNavigationBannerSE extends BaseSpotComponent<INavigationBannerRbSpot> {
4
+ constructor();
5
+ protected template(): string;
6
+ protected styles(): string;
7
+ }
@@ -0,0 +1,7 @@
1
+ import { BaseSpotComponent } from 'modules/element/component/spot';
2
+ import type { ISmallCategoryImageToutRbSpot } from '../rb-template.interface';
3
+ export declare class RbSmallCategoryImageToutSE extends BaseSpotComponent<ISmallCategoryImageToutRbSpot> {
4
+ constructor();
5
+ protected template(): string;
6
+ protected styles(): string;
7
+ }
@@ -0,0 +1,7 @@
1
+ import { BaseSpotComponent } from 'modules/element/component/spot';
2
+ import type { ISmallDiscoverToutRbSpot } from '../rb-template.interface';
3
+ export declare class RbSmallDiscoverToutSE extends BaseSpotComponent<ISmallDiscoverToutRbSpot> {
4
+ constructor();
5
+ protected template(): string;
6
+ protected styles(): string;
7
+ }
@@ -0,0 +1,20 @@
1
+ import { BaseSpotComponent } from 'modules/element/component/spot';
2
+ import type { IVideoPlayerRbSpot } from '../rb-template.interface';
3
+ export declare class RbVideoPlayerSE extends BaseSpotComponent<IVideoPlayerRbSpot> {
4
+ private readonly videoSelector;
5
+ private readonly muteButtonSelector;
6
+ private video;
7
+ constructor();
8
+ private bindEventHandlers;
9
+ private updateMuteIcon;
10
+ private handleMuteToggle;
11
+ private getMuteIcon;
12
+ private getUnmuteIcon;
13
+ protected connected(): void;
14
+ protected disconnected(): void;
15
+ private initializeElements;
16
+ private attachEventListeners;
17
+ private removeEventListeners;
18
+ protected template(): string;
19
+ protected styles(): string;
20
+ }
@@ -0,0 +1,3 @@
1
+ export declare const GFONT_PRECONNECT = "\n <link rel=\"preconnect\" href=\"https://fonts.googleapis.com\">\n <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n";
2
+ export declare const GFONT_SOURCE_SANS_3 = "\n <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css2?family=Source+Sans+3:ital,wght@0,200..900;1,200..900&display=swap\">\n";
3
+ export declare const GFONT_CORMORANT = "\n <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css2?family=Cormorant:ital,wght@0,300..700;1,300..700&family=Source+Sans+3:ital,wght@0,200..900;1,200..900&display=swap\">\n";
@@ -0,0 +1,13 @@
1
+ import type { RMN_SPOT_TYPE } from 'enums';
2
+ import type { ISpotEvent, SpotVariantType } from 'modules/selection';
3
+ import type { BaseSpotComponentConstructor } from '../element/component/spot';
4
+ export type SpotTypeTemplate = Partial<Record<SpotVariantType, BaseSpotComponentConstructor>>;
5
+ export type SpotTemplates = Partial<Record<RMN_SPOT_TYPE, SpotTypeTemplate>>;
6
+ export interface ISpotTemplateBaseData {
7
+ id: string;
8
+ events: ISpotEvent[];
9
+ spot: RMN_SPOT_TYPE;
10
+ variant: SpotVariantType;
11
+ width: number;
12
+ height: number;
13
+ }
@@ -0,0 +1,13 @@
1
+ import { RMN_SPOT_TYPE } from 'enums';
2
+ import type { SpotVariantType } from 'modules/selection';
3
+ import type { BaseSpotComponentConstructor } from '../element/component/spot';
4
+ export declare class SpotTemplateService {
5
+ private readonly rbTemplates;
6
+ private readonly iabTemplates;
7
+ private constructor();
8
+ static getInstance(): SpotTemplateService;
9
+ getTemplateCustomElementClass(spotType: RMN_SPOT_TYPE, spotVariant: SpotVariantType): BaseSpotComponentConstructor | null;
10
+ private isRbSpot;
11
+ private initializeRbTemplates;
12
+ private initializeIabTemplates;
13
+ }
@@ -1,4 +1,3 @@
1
- import type { ISpotOverlay } from '../element.interface';
1
+ import type { ISpotOverlay } from 'types';
2
2
  export declare function convertHexToRgba(hex: string, opacity?: number): string;
3
3
  export declare function generateGradientColor(overlay?: ISpotOverlay, fallback?: string): string;
4
- export declare function spotHtmlStringToElement(htmlString: string): HTMLElement;