@liquidcommercedev/rmn-sdk 1.1.6 → 1.1.8

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/CHANGELOG.md CHANGED
@@ -1,3 +1,17 @@
1
+ ## [1.1.8](https://github.com/liquidcommerce/rmn-sdk/compare/v1.1.7...v1.1.8) (2024-09-27)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * new rb templates ([#30](https://github.com/liquidcommerce/rmn-sdk/issues/30)) ([7137d13](https://github.com/liquidcommerce/rmn-sdk/commit/7137d13513a0f9fa0175ec1e96331852e372aa94))
7
+
8
+ ## [1.1.7](https://github.com/liquidcommerce/rmn-sdk/compare/v1.1.6...v1.1.7) (2024-09-24)
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * types fix & designs update ([#29](https://github.com/liquidcommerce/rmn-sdk/issues/29)) ([2242b9b](https://github.com/liquidcommerce/rmn-sdk/commit/2242b9b1afc8b6db49a421cece71509c1fba872f))
14
+
1
15
  ## [1.1.6](https://github.com/liquidcommerce/rmn-sdk/compare/v1.1.5...v1.1.6) (2024-09-23)
2
16
 
3
17
 
package/dist/index.d.ts CHANGED
@@ -1,4 +1,12 @@
1
1
  declare enum RMN_SPOT_TYPE {
2
+ RB_HOMEPAGE_HERO_THREE_TILE = "rbHomepageHeroThreeTile",
3
+ RB_HOMEPAGE_HERO_FULL_IMAGE = "rbHomepageHeroFullImage",
4
+ RB_LARGE_CATEGORY_IMAGE_TOUT = "rbLargeCategoryImageTout",
5
+ RB_SMALL_DISCOVER_TOUT = "rbSmallDiscoverTout",
6
+ RB_SMALL_CATEGORY_IMAGE_TOUT = "rbSmallCategoryImageTout",
7
+ RB_COLLECTION_BANNER_WITHOUT_TEXT_BLOCK = "rbCollectionBannerWithoutTextBlock",
8
+ RB_PRODUCT_UPCS = "rbProductUpcs",
9
+ RB_NAVIGATION_BANNER = "rbNavigationBanner",
2
10
  BILLBOARD = "billboard",
3
11
  LARGE_RECTANGLE = "largeRectangle",
4
12
  VERTICAL_RECTANGLE = "verticalRectangle",
@@ -6,9 +14,6 @@ declare enum RMN_SPOT_TYPE {
6
14
  LARGE_LEADERBOARD = "largeLeaderboard",
7
15
  WIDE_SKYSCRAPER = "wideSkyscraper",
8
16
  IN_TEXT = "inText",
9
- /**
10
- * CURRENTLY NOT SUPPORTED YET
11
- * */
12
17
  SMALL_RECTANGLE = "smallRectangle",
13
18
  MEDIUM_RECTANGLE = "mediumRectangle",
14
19
  BANNER = "banner",
@@ -38,11 +43,7 @@ declare enum RMN_FILTER_PROPERTIES {
38
43
  TYPE = "type",
39
44
  CLASSIFICATION = "classification",
40
45
  HOLIDAY = "holiday",
41
- EXACT_MATCH = "exactMatch",
42
- PUBLISHERS = "publishers",
43
- DEVICE_TYPE = "deviceType",
44
- BROWSER_TYPE = "browserType",
45
- LOCATION = "location"
46
+ PUBLISHERS = "publishers"
46
47
  }
47
48
 
48
49
  declare enum RMN_ENV {
@@ -59,21 +60,30 @@ interface IAuthCredentials {
59
60
  env: RMN_ENV;
60
61
  }
61
62
 
62
- type SpotsFilterType = {
63
- [key in RMN_FILTER_PROPERTIES]: IFilterPropertiesType[key];
63
+ type RmnFilterType = {
64
+ [key in RMN_FILTER_PROPERTIES]?: string[];
64
65
  };
65
66
  type SpotFilterType = {
66
67
  spot: RMN_SPOT_TYPE | string;
67
68
  count: number;
68
- } & Partial<Omit<SpotsFilterType, RMN_FILTER_PROPERTIES.KEYWORDS>>;
69
+ exactMatch?: string;
70
+ } & Omit<RmnFilterType, RMN_FILTER_PROPERTIES.KEYWORDS>;
69
71
  type SpotIdentifierType = RMN_SPOT_TYPE | `${RMN_SPOT_TYPE}${number}`;
70
- type SpotType = RMN_SPOT_TYPE | SpotFilterType | string;
71
- type SpotVariantType = `${RMN_SPOT_TYPE}V${number}`;
72
+ type RmnSpotType = RMN_SPOT_TYPE | string | SpotFilterType;
73
+ type RBSpotTypeKeys = keyof {
74
+ [K in keyof typeof RMN_SPOT_TYPE as K extends `RB_${string}` ? K : never]: (typeof RMN_SPOT_TYPE)[K];
75
+ };
76
+ type IABSpotTypeKeys = keyof {
77
+ [K in keyof typeof RMN_SPOT_TYPE as K extends `RB_${string}` ? never : K]: (typeof RMN_SPOT_TYPE)[K];
78
+ };
79
+ type RBSpotTypeValues = (typeof RMN_SPOT_TYPE)[RBSpotTypeKeys];
80
+ type IABSpotTypeValues = (typeof RMN_SPOT_TYPE)[IABSpotTypeKeys];
81
+ type SpotVariantType = RBSpotTypeValues | `${IABSpotTypeValues}V${number}`;
72
82
  type SpotEventType = Record<number, string>;
73
83
 
74
84
  interface ISpotSelectionParams {
75
- spots: SpotType[];
76
- filter?: Partial<SpotsFilterType>;
85
+ spots: RmnSpotType[];
86
+ filter?: Partial<RmnFilterType>;
77
87
  }
78
88
  interface ISpot {
79
89
  clickUrl: string;
@@ -83,28 +93,17 @@ interface ISpot {
83
93
  variant: SpotVariantType;
84
94
  width: number;
85
95
  height: number;
86
- headline?: string;
87
- body?: string;
88
- image?: string;
89
- image2?: string;
90
- buttonText?: string;
91
- upc?: string;
96
+ preHeader?: string;
97
+ header?: string;
98
+ description?: string;
99
+ primaryImage?: string;
100
+ secondaryImage?: string;
101
+ mobilePrimaryImage?: string;
102
+ mobileSecondaryImage?: string;
103
+ ctaText?: string;
104
+ productUpcs?: string[];
92
105
  customData?: Record<string, any>;
93
106
  }
94
- interface IFilterPropertiesType {
95
- [RMN_FILTER_PROPERTIES.EXACT_MATCH]: string;
96
- [RMN_FILTER_PROPERTIES.KEYWORDS]: string[];
97
- [RMN_FILTER_PROPERTIES.PARENTCO]: string[];
98
- [RMN_FILTER_PROPERTIES.BRAND]: string[];
99
- [RMN_FILTER_PROPERTIES.CATEGORY]: string[];
100
- [RMN_FILTER_PROPERTIES.TYPE]: string[];
101
- [RMN_FILTER_PROPERTIES.CLASSIFICATION]: string[];
102
- [RMN_FILTER_PROPERTIES.HOLIDAY]: string[];
103
- [RMN_FILTER_PROPERTIES.PUBLISHERS]: string[];
104
- [RMN_FILTER_PROPERTIES.DEVICE_TYPE]: string[];
105
- [RMN_FILTER_PROPERTIES.BROWSER_TYPE]: string[];
106
- [RMN_FILTER_PROPERTIES.LOCATION]: string[];
107
- }
108
107
  type ISpots = Record<SpotIdentifierType, ISpot[]>;
109
108
 
110
109
  interface IRmnClient {
@@ -116,8 +115,8 @@ interface IRmnConfig {
116
115
  }
117
116
 
118
117
  declare class LiquidCommerceRmnClient implements IRmnClient {
119
- private spotSelectionService;
120
- private spotHtmlService;
118
+ private readonly spotSelectionService;
119
+ private readonly spotHtmlService;
121
120
  constructor(auth: IAuthCredentials);
122
121
  /**
123
122
  * Makes a selection request on our server based on the provided data.
@@ -164,4 +163,4 @@ declare function RmnClient(apiKey: string, config: IRmnConfig): Promise<IRmnClie
164
163
  */
165
164
  declare function RmnCreateSpotElement(spot: ISpot, fluid?: boolean): HTMLElement | null;
166
165
 
167
- export { type IRmnClient, type IRmnConfig, type ISpot, type ISpotSelectionParams, LiquidCommerceRmnClient, RMN_ENV, RMN_FILTER_PROPERTIES, RMN_SPOT_TYPE, RmnClient, RmnCreateSpotElement };
166
+ export { type IRmnClient, type IRmnConfig, type ISpot, type ISpotSelectionParams, type ISpots, LiquidCommerceRmnClient, RMN_ENV, RMN_FILTER_PROPERTIES, RMN_SPOT_TYPE, RmnClient, RmnCreateSpotElement, type RmnFilterType, type RmnSpotType };