@schibsted/sps-sdk 4.6.0 → 4.6.1-CBT-19878.2
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/cjs/actions/dismiss.d.ts +2 -0
- package/dist/cjs/actions/dismiss.js +9 -1
- package/dist/cjs/actions/dismiss.js.map +1 -1
- package/dist/cjs/sps.d.ts +3 -0
- package/dist/cjs/sps.js +8 -11
- package/dist/cjs/sps.js.map +1 -1
- package/dist/esm/actions/dismiss.d.ts +2 -0
- package/dist/esm/actions/dismiss.js +6 -0
- package/dist/esm/actions/dismiss.js.map +1 -1
- package/dist/esm/sps.d.ts +3 -0
- package/dist/esm/sps.js +9 -12
- package/dist/esm/sps.js.map +1 -1
- package/dist/public-scripts/sps-pulse-helpers.v2.2.0.min.js +1 -1
- package/package.json +1 -1
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import type { PlacementType, PlacementTypeWithStringContent } from "../sps/placement.js";
|
|
2
|
+
export declare const getDismissElementId: (placementType: PlacementType) => string;
|
|
3
|
+
export declare const isDismissablePlacementType: (placementType: PlacementType) => boolean;
|
|
2
4
|
export declare const isDismissed: (placementType: PlacementType, iframeId: string) => boolean;
|
|
3
5
|
export declare const addDismiss: (placementType: PlacementType, iframeId: string, hideDuration: number, viewLimit: number | null) => void;
|
|
4
6
|
export declare const getDismissScript: (placementType: PlacementTypeWithStringContent) => string;
|
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getDismissScript = exports.addDismiss = exports.isDismissed = void 0;
|
|
3
|
+
exports.getDismissScript = exports.addDismiss = exports.isDismissed = exports.isDismissablePlacementType = exports.getDismissElementId = void 0;
|
|
4
4
|
const placementCookies_1 = require("../utils/placementCookies.js");
|
|
5
5
|
const DISMISS_KEY = "sps-dismiss-click";
|
|
6
|
+
const DISMISSABLE_PLACEMENT_TYPES = ["bottombar", "foldup", "stripe", "takeover"];
|
|
6
7
|
const dismissListenerKeys = new Set();
|
|
8
|
+
const getDismissElementId = (placementType) => `sps-${placementType}-poster`;
|
|
9
|
+
exports.getDismissElementId = getDismissElementId;
|
|
10
|
+
const isDismissablePlacementType = (placementType) => DISMISSABLE_PLACEMENT_TYPES.includes(placementType);
|
|
11
|
+
exports.isDismissablePlacementType = isDismissablePlacementType;
|
|
7
12
|
const isDismissed = (placementType, iframeId) => {
|
|
8
13
|
if (typeof document === "undefined") {
|
|
9
14
|
return false;
|
|
@@ -13,6 +18,9 @@ const isDismissed = (placementType, iframeId) => {
|
|
|
13
18
|
};
|
|
14
19
|
exports.isDismissed = isDismissed;
|
|
15
20
|
const addDismiss = (placementType, iframeId, hideDuration, viewLimit) => {
|
|
21
|
+
if (!(0, exports.isDismissablePlacementType)(placementType)) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
16
24
|
const key = `${placementType}:${iframeId}`;
|
|
17
25
|
if (dismissListenerKeys.has(key)) {
|
|
18
26
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dismiss.js","sourceRoot":"","sources":["../../../src/actions/dismiss.ts"],"names":[],"mappings":";;;AACA,gEAMmC;AAEnC,MAAM,WAAW,GAAG,mBAAmB,CAAC;AAExC,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAU,CAAC;AAEvC,MAAM,WAAW,GAAG,CAAC,aAA4B,EAAE,QAAgB,EAAW,EAAE;IACrF,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,CAAC;QACpC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,UAAU,GAAG,IAAA,uCAAoB,EAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IACjE,OAAO,UAAU,IAAI,IAAA,+BAAY,EAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACrD,CAAC,CAAC;AANW,QAAA,WAAW,eAMtB;AAEK,MAAM,UAAU,GAAG,CACxB,aAA4B,EAC5B,QAAgB,EAChB,YAAoB,EACpB,SAAwB,EAClB,EAAE;IACR,MAAM,GAAG,GAAG,GAAG,aAAa,IAAI,QAAQ,EAAE,CAAC;IAE3C,IAAI,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QACjC,OAAO;IACT,CAAC;IACD,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAE7B,IAAI,SAAS,EAAE,CAAC;QACd,IAAA,qCAAkB,EAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,IAAA,+BAAY,EAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAA,yCAAsB,EAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;QAC5F,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,SAAS,EAAE,CAAC;YACxC,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;YACxD,IAAA,mCAAgB,EAAC,aAAa,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;YACxD,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;YAC5C,OAAO;QACT,CAAC;IACH,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,UAAU,KAAK;QAChD,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YAC5C,OAAO;QACT,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,GAAG,WAAW,IAAI,aAAa,EAAE,EAAE,CAAC;YAC1D,OAAO,CAAC,GAAG,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC;YACzD,IAAA,mCAAgB,EAAC,aAAa,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;YACxD,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QAC9C,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"dismiss.js","sourceRoot":"","sources":["../../../src/actions/dismiss.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/sps.d.ts
CHANGED
|
@@ -13,6 +13,7 @@ export type Poster<T extends PlacementType> = SPSPosterResponse<T> & {
|
|
|
13
13
|
trackingData: TrackingData;
|
|
14
14
|
pulseOrigin: PulseOrigin;
|
|
15
15
|
pulseObject: PulseObject;
|
|
16
|
+
elementId: string;
|
|
16
17
|
};
|
|
17
18
|
/**
|
|
18
19
|
* The decision result from SPS, used to subsequently fetch poster content via
|
|
@@ -266,6 +267,7 @@ export declare class SPS {
|
|
|
266
267
|
*/
|
|
267
268
|
getFrontpagePlacements(options?: SpsContextPlacementsOptions<PlacementType>): Promise<(Poster<PlacementType> & {
|
|
268
269
|
type: PlacementType;
|
|
270
|
+
elementId: string;
|
|
269
271
|
})[]>;
|
|
270
272
|
/**
|
|
271
273
|
* Fetches priority-ordered placements (full content) for the article page context.
|
|
@@ -279,6 +281,7 @@ export declare class SPS {
|
|
|
279
281
|
*/
|
|
280
282
|
getArticlePagePlacements(options?: SpsContextPlacementsOptions<PlacementType>): Promise<(Poster<PlacementType> & {
|
|
281
283
|
type: PlacementType;
|
|
284
|
+
elementId: string;
|
|
282
285
|
})[]>;
|
|
283
286
|
private enrichContextPlacements;
|
|
284
287
|
/**
|
package/dist/cjs/sps.js
CHANGED
|
@@ -61,7 +61,7 @@ class SPS {
|
|
|
61
61
|
return null;
|
|
62
62
|
}
|
|
63
63
|
const posterResponse = poster.posterResponse;
|
|
64
|
-
const enriched = await this.enrichPosterResponse(posterResponse, placementType, props, {
|
|
64
|
+
const enriched = await this.enrichPosterResponse(posterResponse, placementType, props, dismissOptions, {
|
|
65
65
|
articleType: props.params?.articleType,
|
|
66
66
|
posterType: props.params?.posterType,
|
|
67
67
|
section: props.params?.section,
|
|
@@ -69,9 +69,6 @@ class SPS {
|
|
|
69
69
|
failReason: poster?.failReason,
|
|
70
70
|
segmentNames: posterResponse.segmentNames || [],
|
|
71
71
|
});
|
|
72
|
-
if (dismissOptions) {
|
|
73
|
-
(0, dismiss_1.addDismiss)(placementType, dismissOptions.elementId, posterResponse.hideDuration || 86400000, posterResponse.viewLimit || null); // Default 1 day.
|
|
74
|
-
}
|
|
75
72
|
return enriched;
|
|
76
73
|
};
|
|
77
74
|
/**
|
|
@@ -135,18 +132,14 @@ class SPS {
|
|
|
135
132
|
if (!poster) {
|
|
136
133
|
return null;
|
|
137
134
|
}
|
|
138
|
-
const enriched = await this.enrichPosterResponse(poster.posterResponse, placementType, props, {
|
|
135
|
+
const enriched = await this.enrichPosterResponse(poster.posterResponse, placementType, props, dismissOptions, {
|
|
139
136
|
articleType,
|
|
140
137
|
failReason: poster?.failReason,
|
|
141
138
|
segmentNames,
|
|
142
139
|
});
|
|
143
|
-
if (dismissOptions) {
|
|
144
|
-
(0, dismiss_1.addDismiss)(placementType, dismissOptions.elementId, poster.posterResponse.hideDuration || 86400000, // Default 1 day
|
|
145
|
-
poster.posterResponse.viewLimit || null);
|
|
146
|
-
}
|
|
147
140
|
return enriched;
|
|
148
141
|
};
|
|
149
|
-
async enrichPosterResponse(posterResponse, placementType, options, posterData) {
|
|
142
|
+
async enrichPosterResponse(posterResponse, placementType, options, dismissOptions, posterData) {
|
|
150
143
|
const { trackingData, pulseOrigin, pulseObject, searchParams, offerData } = await (0, create_tracking_params_1.createTrackingParams)({
|
|
151
144
|
contentId: options.tracking?.contentId || "",
|
|
152
145
|
contentType: options.tracking?.contentType || "article",
|
|
@@ -184,9 +177,13 @@ class SPS {
|
|
|
184
177
|
appendSearchParams: options.appendSearchParams ?? true,
|
|
185
178
|
});
|
|
186
179
|
}
|
|
180
|
+
const elementId = dismissOptions?.elementId || (0, dismiss_1.getDismissElementId)(placementType);
|
|
181
|
+
(0, dismiss_1.addDismiss)(placementType, elementId, posterResponse.hideDuration || 86400000, // Default 1 day.
|
|
182
|
+
posterResponse.viewLimit || null);
|
|
187
183
|
return {
|
|
188
184
|
...posterResponse,
|
|
189
185
|
segmentNames: posterData.segmentNames ?? [],
|
|
186
|
+
elementId,
|
|
190
187
|
content,
|
|
191
188
|
trackingData,
|
|
192
189
|
pulseOrigin,
|
|
@@ -225,7 +222,7 @@ class SPS {
|
|
|
225
222
|
}
|
|
226
223
|
async enrichContextPlacements(placements, options) {
|
|
227
224
|
return Promise.all(placements.map(async (placement) => {
|
|
228
|
-
const enriched = await this.enrichPosterResponse(placement, placement.placementType, options, {
|
|
225
|
+
const enriched = await this.enrichPosterResponse(placement, placement.placementType, options, undefined, {
|
|
229
226
|
segmentNames: placement.segmentNames,
|
|
230
227
|
});
|
|
231
228
|
return { ...enriched, type: placement.placementType };
|
package/dist/cjs/sps.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sps.js","sourceRoot":"","sources":["../../src/sps.ts"],"names":[],"mappings":";;;AAAA,wBASW;AACX,8EAK2C;AAC3C,uFAG6C;AAE7C,2CAQqB;AAOrB,+
|
|
1
|
+
{"version":3,"file":"sps.js","sourceRoot":"","sources":["../../src/sps.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import type { PlacementType, PlacementTypeWithStringContent } from "../sps/placement.js";
|
|
2
|
+
export declare const getDismissElementId: (placementType: PlacementType) => string;
|
|
3
|
+
export declare const isDismissablePlacementType: (placementType: PlacementType) => boolean;
|
|
2
4
|
export declare const isDismissed: (placementType: PlacementType, iframeId: string) => boolean;
|
|
3
5
|
export declare const addDismiss: (placementType: PlacementType, iframeId: string, hideDuration: number, viewLimit: number | null) => void;
|
|
4
6
|
export declare const getDismissScript: (placementType: PlacementTypeWithStringContent) => string;
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { setDismissCookie, incrementViewCount, getDismissCookieName, getViewCountCookieName, parseCookies, } from "../utils/placementCookies.js";
|
|
2
2
|
const DISMISS_KEY = "sps-dismiss-click";
|
|
3
|
+
const DISMISSABLE_PLACEMENT_TYPES = ["bottombar", "foldup", "stripe", "takeover"];
|
|
3
4
|
const dismissListenerKeys = new Set();
|
|
5
|
+
export const getDismissElementId = (placementType) => `sps-${placementType}-poster`;
|
|
6
|
+
export const isDismissablePlacementType = (placementType) => DISMISSABLE_PLACEMENT_TYPES.includes(placementType);
|
|
4
7
|
export const isDismissed = (placementType, iframeId) => {
|
|
5
8
|
if (typeof document === "undefined") {
|
|
6
9
|
return false;
|
|
@@ -9,6 +12,9 @@ export const isDismissed = (placementType, iframeId) => {
|
|
|
9
12
|
return cookieName in parseCookies(document.cookie);
|
|
10
13
|
};
|
|
11
14
|
export const addDismiss = (placementType, iframeId, hideDuration, viewLimit) => {
|
|
15
|
+
if (!isDismissablePlacementType(placementType)) {
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
12
18
|
const key = `${placementType}:${iframeId}`;
|
|
13
19
|
if (dismissListenerKeys.has(key)) {
|
|
14
20
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dismiss.js","sourceRoot":"","sources":["../../../src/actions/dismiss.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,EACtB,YAAY,GACb,MAAM,2BAA2B,CAAC;AAEnC,MAAM,WAAW,GAAG,mBAAmB,CAAC;AAExC,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAU,CAAC;AAE9C,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,aAA4B,EAAE,QAAgB,EAAW,EAAE;IACrF,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,CAAC;QACpC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,UAAU,GAAG,oBAAoB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IACjE,OAAO,UAAU,IAAI,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACrD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,aAA4B,EAC5B,QAAgB,EAChB,YAAoB,EACpB,SAAwB,EAClB,EAAE;IACR,MAAM,GAAG,GAAG,GAAG,aAAa,IAAI,QAAQ,EAAE,CAAC;IAE3C,IAAI,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QACjC,OAAO;IACT,CAAC;IACD,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAE7B,IAAI,SAAS,EAAE,CAAC;QACd,kBAAkB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,sBAAsB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;QAC5F,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,SAAS,EAAE,CAAC;YACxC,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;YACxD,gBAAgB,CAAC,aAAa,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;YACxD,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;YAC5C,OAAO;QACT,CAAC;IACH,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,UAAU,KAAK;QAChD,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YAC5C,OAAO;QACT,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,GAAG,WAAW,IAAI,aAAa,EAAE,EAAE,CAAC;YAC1D,OAAO,CAAC,GAAG,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC;YACzD,gBAAgB,CAAC,aAAa,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;YACxD,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QAC9C,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,aAA6C,EAAU,EAAE,CACxF;;;;;;;;;qBASmB,WAAW,IAAI,aAAa;;;;;;GAM9C,CAAC"}
|
|
1
|
+
{"version":3,"file":"dismiss.js","sourceRoot":"","sources":["../../../src/actions/dismiss.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,EACtB,YAAY,GACb,MAAM,2BAA2B,CAAC;AAEnC,MAAM,WAAW,GAAG,mBAAmB,CAAC;AAExC,MAAM,2BAA2B,GAAoB,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;AAEnG,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAU,CAAC;AAE9C,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,aAA4B,EAAU,EAAE,CAC1E,OAAO,aAAa,SAAS,CAAC;AAEhC,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,aAA4B,EAAW,EAAE,CAClF,2BAA2B,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;AAEtD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,aAA4B,EAAE,QAAgB,EAAW,EAAE;IACrF,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,CAAC;QACpC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,UAAU,GAAG,oBAAoB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IACjE,OAAO,UAAU,IAAI,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACrD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,aAA4B,EAC5B,QAAgB,EAChB,YAAoB,EACpB,SAAwB,EAClB,EAAE;IACR,IAAI,CAAC,0BAA0B,CAAC,aAAa,CAAC,EAAE,CAAC;QAC/C,OAAO;IACT,CAAC;IAED,MAAM,GAAG,GAAG,GAAG,aAAa,IAAI,QAAQ,EAAE,CAAC;IAE3C,IAAI,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QACjC,OAAO;IACT,CAAC;IACD,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAE7B,IAAI,SAAS,EAAE,CAAC;QACd,kBAAkB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,sBAAsB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;QAC5F,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,SAAS,EAAE,CAAC;YACxC,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;YACxD,gBAAgB,CAAC,aAAa,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;YACxD,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;YAC5C,OAAO;QACT,CAAC;IACH,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,UAAU,KAAK;QAChD,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YAC5C,OAAO;QACT,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,GAAG,WAAW,IAAI,aAAa,EAAE,EAAE,CAAC;YAC1D,OAAO,CAAC,GAAG,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC;YACzD,gBAAgB,CAAC,aAAa,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;YACxD,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QAC9C,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,aAA6C,EAAU,EAAE,CACxF;;;;;;;;;qBASmB,WAAW,IAAI,aAAa;;;;;;GAM9C,CAAC"}
|
package/dist/esm/sps.d.ts
CHANGED
|
@@ -13,6 +13,7 @@ export type Poster<T extends PlacementType> = SPSPosterResponse<T> & {
|
|
|
13
13
|
trackingData: TrackingData;
|
|
14
14
|
pulseOrigin: PulseOrigin;
|
|
15
15
|
pulseObject: PulseObject;
|
|
16
|
+
elementId: string;
|
|
16
17
|
};
|
|
17
18
|
/**
|
|
18
19
|
* The decision result from SPS, used to subsequently fetch poster content via
|
|
@@ -266,6 +267,7 @@ export declare class SPS {
|
|
|
266
267
|
*/
|
|
267
268
|
getFrontpagePlacements(options?: SpsContextPlacementsOptions<PlacementType>): Promise<(Poster<PlacementType> & {
|
|
268
269
|
type: PlacementType;
|
|
270
|
+
elementId: string;
|
|
269
271
|
})[]>;
|
|
270
272
|
/**
|
|
271
273
|
* Fetches priority-ordered placements (full content) for the article page context.
|
|
@@ -279,6 +281,7 @@ export declare class SPS {
|
|
|
279
281
|
*/
|
|
280
282
|
getArticlePagePlacements(options?: SpsContextPlacementsOptions<PlacementType>): Promise<(Poster<PlacementType> & {
|
|
281
283
|
type: PlacementType;
|
|
284
|
+
elementId: string;
|
|
282
285
|
})[]>;
|
|
283
286
|
private enrichContextPlacements;
|
|
284
287
|
/**
|
package/dist/esm/sps.js
CHANGED
|
@@ -3,7 +3,7 @@ import { createTrackingParams, } from "./tracking/create-tracking-params.js";
|
|
|
3
3
|
import { rewritePlaceholderVariables, rewriteJsonPosterVariables, } from "./sps/rewrite-salesposter-variables.js";
|
|
4
4
|
import { SpsPublication } from "./sps/publication.js";
|
|
5
5
|
import { fetchDecision, fetchDecisionsByContext, fetchPlacementsByContext, fetchPoster, } from "./apiClient.js";
|
|
6
|
-
import { addDismiss, isDismissed } from "./actions/dismiss.js";
|
|
6
|
+
import { addDismiss, getDismissElementId, isDismissed } from "./actions/dismiss.js";
|
|
7
7
|
/**
|
|
8
8
|
* Main entry point for the SPS SDK. Provides methods to fetch posters and decisions
|
|
9
9
|
* from the SPS API for a given publication and environment.
|
|
@@ -59,7 +59,7 @@ export class SPS {
|
|
|
59
59
|
return null;
|
|
60
60
|
}
|
|
61
61
|
const posterResponse = poster.posterResponse;
|
|
62
|
-
const enriched = await this.enrichPosterResponse(posterResponse, placementType, props, {
|
|
62
|
+
const enriched = await this.enrichPosterResponse(posterResponse, placementType, props, dismissOptions, {
|
|
63
63
|
articleType: props.params?.articleType,
|
|
64
64
|
posterType: props.params?.posterType,
|
|
65
65
|
section: props.params?.section,
|
|
@@ -67,9 +67,6 @@ export class SPS {
|
|
|
67
67
|
failReason: poster?.failReason,
|
|
68
68
|
segmentNames: posterResponse.segmentNames || [],
|
|
69
69
|
});
|
|
70
|
-
if (dismissOptions) {
|
|
71
|
-
addDismiss(placementType, dismissOptions.elementId, posterResponse.hideDuration || 86400000, posterResponse.viewLimit || null); // Default 1 day.
|
|
72
|
-
}
|
|
73
70
|
return enriched;
|
|
74
71
|
};
|
|
75
72
|
/**
|
|
@@ -133,18 +130,14 @@ export class SPS {
|
|
|
133
130
|
if (!poster) {
|
|
134
131
|
return null;
|
|
135
132
|
}
|
|
136
|
-
const enriched = await this.enrichPosterResponse(poster.posterResponse, placementType, props, {
|
|
133
|
+
const enriched = await this.enrichPosterResponse(poster.posterResponse, placementType, props, dismissOptions, {
|
|
137
134
|
articleType,
|
|
138
135
|
failReason: poster?.failReason,
|
|
139
136
|
segmentNames,
|
|
140
137
|
});
|
|
141
|
-
if (dismissOptions) {
|
|
142
|
-
addDismiss(placementType, dismissOptions.elementId, poster.posterResponse.hideDuration || 86400000, // Default 1 day
|
|
143
|
-
poster.posterResponse.viewLimit || null);
|
|
144
|
-
}
|
|
145
138
|
return enriched;
|
|
146
139
|
};
|
|
147
|
-
async enrichPosterResponse(posterResponse, placementType, options, posterData) {
|
|
140
|
+
async enrichPosterResponse(posterResponse, placementType, options, dismissOptions, posterData) {
|
|
148
141
|
const { trackingData, pulseOrigin, pulseObject, searchParams, offerData } = await createTrackingParams({
|
|
149
142
|
contentId: options.tracking?.contentId || "",
|
|
150
143
|
contentType: options.tracking?.contentType || "article",
|
|
@@ -182,9 +175,13 @@ export class SPS {
|
|
|
182
175
|
appendSearchParams: options.appendSearchParams ?? true,
|
|
183
176
|
});
|
|
184
177
|
}
|
|
178
|
+
const elementId = dismissOptions?.elementId || getDismissElementId(placementType);
|
|
179
|
+
addDismiss(placementType, elementId, posterResponse.hideDuration || 86400000, // Default 1 day.
|
|
180
|
+
posterResponse.viewLimit || null);
|
|
185
181
|
return {
|
|
186
182
|
...posterResponse,
|
|
187
183
|
segmentNames: posterData.segmentNames ?? [],
|
|
184
|
+
elementId,
|
|
188
185
|
content,
|
|
189
186
|
trackingData,
|
|
190
187
|
pulseOrigin,
|
|
@@ -223,7 +220,7 @@ export class SPS {
|
|
|
223
220
|
}
|
|
224
221
|
async enrichContextPlacements(placements, options) {
|
|
225
222
|
return Promise.all(placements.map(async (placement) => {
|
|
226
|
-
const enriched = await this.enrichPosterResponse(placement, placement.placementType, options, {
|
|
223
|
+
const enriched = await this.enrichPosterResponse(placement, placement.placementType, options, undefined, {
|
|
227
224
|
segmentNames: placement.segmentNames,
|
|
228
225
|
});
|
|
229
226
|
return { ...enriched, type: placement.placementType };
|
package/dist/esm/sps.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sps.js","sourceRoot":"","sources":["../../src/sps.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,WAAW,GAOZ,MAAM,GAAG,CAAC;AACX,OAAO,EACL,oBAAoB,GAIrB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,2BAA2B,EAC3B,0BAA0B,GAC3B,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EACL,aAAa,EACb,uBAAuB,EACvB,wBAAwB,EACxB,WAAW,GAIZ,MAAM,aAAa,CAAC;AAOrB,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"sps.js","sourceRoot":"","sources":["../../src/sps.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var SpsPulseHelpersBundle=(()=>{var M=Object.defineProperty;var te=Object.getOwnPropertyDescriptor;var re=Object.getOwnPropertyNames;var ne=Object.prototype.hasOwnProperty;var se=(e,t,r,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of re(t))!ne.call(e,n)&&n!==r&&M(e,n,{get:()=>t[n],enumerable:!(s=te(t,n))||s.enumerable});return e};var oe=e=>se(M({},"__esModule",{value:!0}),e);var Pe={};var y="pulse-tracker-proxy",ae=`${y}:request`,fe=`${y}:ack`,W=`${y}:invoke`,j=`${y}:return`,R=`${y}:return-error`,G=["trackAnonymousViewUIElement","trackEngagementAudio","trackEngagementForm","trackEngagementHealthUIElement","trackEngagementOffer","trackEngagementTeaser","trackEngagementUIElement","trackEngagementVideo","trackEngagementVideoAd","trackEngagementWidget","trackCompletedHealthAction","trackImpressionAdSlot","trackImpressionForm","trackImpressionHealthUIElement","trackImpressionOffer","trackImpressionPlayer","trackImpressionTeaser","trackImpressionUIElement","trackImpressionWidget","trackLeaveArticle","trackLeaveAudioPage","trackLeaveError","trackLeaveFrontpage","trackLeaveLandingpage","trackLeaveListing","trackLeaveLockedArticle","trackLeaveLockedAudioPage","trackLeaveLockedVideoPage","trackLeavePage","trackLeaveSportsPage","trackLeaveVideoPage","trackLeaveWeather","trackViewArticle","trackViewAudioPage","trackViewError","trackViewFrontpage","trackViewHealthPage","trackViewLandingpage","trackViewListing","trackViewLockedArticle","trackViewLockedAudioPage","trackViewLockedVideoPage","trackViewPage","trackViewSportsPage","trackViewTitle","trackViewVideoPage","trackViewWeather","trackLegacyViewArticle","trackLegacyViewLoginPoster","trackLegacyViewSalesPoster","trackLegacyViewListing","trackLegacyViewFrontpage","trackLegacyViewPage","trackLegacyViewUIElement","trackLegacyClickUIElement"];function v(e){return e!==null&&typeof e=="object"&&"type"in e&&typeof e.type=="string"&&e.type.startsWith(y)}function L(e,{target:t,timeout:r,debug:s=()=>{}}){return new Promise((n,c)=>{let a=new MessageChannel,p=r?setTimeout(()=>{a.port1.close(),c(new Error(`Message of type ${e.type} timed out`))},r):void 0,i=o=>{if(s("[Pulse Tracker Proxy] Received the response on the MessageChannel",o),!v(o.data)){s("[Pulse Tracker Proxy] Response was not a valid Proxy Message",o.data);return}o.data.type===R&&(s("[Pulse Tracker Proxy] Received an return error response",o.data.error),clearTimeout(p),a.port1.close(),c(new Error(o.data.error))),s("[Pulse Tracker Proxy] Received a valid response",o.data),clearTimeout(p),a.port1.close(),n(o.data)};a.port1.onmessage=i,s("[Pulse Tracker Proxy] Sending message to target window",e),t.postMessage(e,"*",[a.port2])})}var
|
|
1
|
+
"use strict";var SpsPulseHelpersBundle=(()=>{var M=Object.defineProperty;var te=Object.getOwnPropertyDescriptor;var re=Object.getOwnPropertyNames;var ne=Object.prototype.hasOwnProperty;var se=(e,t,r,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of re(t))!ne.call(e,n)&&n!==r&&M(e,n,{get:()=>t[n],enumerable:!(s=te(t,n))||s.enumerable});return e};var oe=e=>se(M({},"__esModule",{value:!0}),e);var Pe={};var y="pulse-tracker-proxy",ae=`${y}:request`,fe=`${y}:ack`,W=`${y}:invoke`,j=`${y}:return`,R=`${y}:return-error`,G=["trackAnonymousViewUIElement","trackEngagementAudio","trackEngagementForm","trackEngagementHealthUIElement","trackEngagementOffer","trackEngagementTeaser","trackEngagementUIElement","trackEngagementVideo","trackEngagementVideoAd","trackEngagementWidget","trackCompletedHealthAction","trackImpressionAdSlot","trackImpressionForm","trackImpressionHealthUIElement","trackImpressionOffer","trackImpressionPlayer","trackImpressionTeaser","trackImpressionUIElement","trackImpressionWidget","trackLeaveArticle","trackLeaveAudioPage","trackLeaveError","trackLeaveFrontpage","trackLeaveLandingpage","trackLeaveListing","trackLeaveLockedArticle","trackLeaveLockedAudioPage","trackLeaveLockedVideoPage","trackLeavePage","trackLeaveSportsPage","trackLeaveVideoPage","trackLeaveWeather","trackViewArticle","trackViewAudioPage","trackViewError","trackViewFrontpage","trackViewHealthPage","trackViewLandingpage","trackViewListing","trackViewLockedArticle","trackViewLockedAudioPage","trackViewLockedVideoPage","trackViewPage","trackViewSportsPage","trackViewTitle","trackViewVideoPage","trackViewWeather","trackLegacyViewArticle","trackLegacyViewLoginPoster","trackLegacyViewSalesPoster","trackLegacyViewListing","trackLegacyViewFrontpage","trackLegacyViewPage","trackLegacyViewUIElement","trackLegacyClickUIElement"];function v(e){return e!==null&&typeof e=="object"&&"type"in e&&typeof e.type=="string"&&e.type.startsWith(y)}function L(e,{target:t,timeout:r,debug:s=()=>{}}){return new Promise((n,c)=>{let a=new MessageChannel,p=r?setTimeout(()=>{a.port1.close(),c(new Error(`Message of type ${e.type} timed out`))},r):void 0,i=o=>{if(s("[Pulse Tracker Proxy] Received the response on the MessageChannel",o),!v(o.data)){s("[Pulse Tracker Proxy] Response was not a valid Proxy Message",o.data);return}o.data.type===R&&(s("[Pulse Tracker Proxy] Received an return error response",o.data.error),clearTimeout(p),a.port1.close(),c(new Error(o.data.error))),s("[Pulse Tracker Proxy] Received a valid response",o.data),clearTimeout(p),a.port1.close(),n(o.data)};a.port1.onmessage=i,s("[Pulse Tracker Proxy] Sending message to target window",e),t.postMessage(e,"*",[a.port2])})}var B="2.0.0-rc.9";function D(e){let t="tracker"in e&&typeof e.tracker=="object"?e.tracker:{};return{...e,tracker:{...t,proxyVersion:B}}}function _(e,t,r){let s="provider"in e&&typeof e.provider=="object"?e.provider:{};return{...e,provider:{...s,component:t,componentVersion:r}}}var O=class{constructor(t,r,s,n){this.target=t,this.component=r,this.componentVersion=s,this.debug=n}track(...t){this.debug("[Pulse Tracker Proxy] Calling `track`",t);let[r,s,...n]=t,c=D(s),a=_(c,this.component,this.componentVersion),p=[r,a,...n];return this.invoke({method:"track",args:p})}async invoke(t){this.debug("[Pulse Tracker Proxy] Invoking remote function",t);let r=await L({type:W,payload:t},{target:this.target});if(!v(r))throw this.debug("[Pulse Tracker Proxy] Invalid response from proxy",r),new Error("Invalid response from proxy");if(r.type===R)throw this.debug("[Pulse Tracker Proxy] Error response from proxy",r.error),new Error(r.error);if(r.type===j)return this.debug("[Pulse Tracker Proxy] Successful response from proxy",r.payload),r.payload;throw this.debug("[Pulse Tracker Proxy] Unhandled response from proxy",r),new Error("Unexpected response from proxy")}};var ie=Object.fromEntries(G.map(e=>[e,function(...t){this.debug("[Pulse Tracker Proxy] Calling `track`",t);let[r,...s]=t,n=D(r),a=[_(n,this.component,this.componentVersion),...s];return this.invoke({method:e,args:a})}]));function ce(){return class extends O{constructor(e,t,r,s){super(e,t,r,s),s("[Pulse TPaaS Proxy] Initialized"),Object.assign(this,ie)}}}var pe=ce();var le=e=>e==="payment.schibsted.com"||e.startsWith("bestilling.")||e==="pay.pre.schibsted.digital"||e.startsWith("test-bestilling."),me=e=>e==="login.schibsted.com"||e==="identity-pre.schibsted.com",q=e=>{var t;try{let s=new URL((t=e.getAttribute("href"))!=null?t:"").hostname;if(me(s))return"Login";if(le(s))return"Purchase"}catch{return}};var H=e=>{var t;try{let r=new URL((t=e.getAttribute("href"))!=null?t:""),n=new URLSearchParams(r.search).get("code");return n?n.split(","):[]}catch{return[]}};var w=e=>{var r;let t=(r=e==null?void 0:e.toLowerCase())!=null?r:"";if(t.includes("meter"))return"Meter";if(t.includes("paid")||t.includes("subscription"))return"Paid";if(t.includes("login"))return"Login"};function K(e,t,r,s){let{campaign:n,articleType:c,abTestGroup:a,placementType:p,experiment:i,legacy:o,contentName:l,pulseEvents:m}=t,P=400,T="",h=0;function f(g){var b,k,x,A,V;try{let S=g.target,d=(b=S==null?void 0:S.closest)==null?void 0:b.call(S,"a");if(!d)return;let E=d.textContent||d.getAttribute("href")||`${p} button`,F=`a|${E}`,N=Date.now();if(F===T&&N-h<P)return;T=F,h=N;let C=q(d),ee=C==="Purchase"?H(d):[];m.tpaas&&e.trackEngagementOffer({placement:{containerName:"page",offerPlacement:p},object:{objectId:s,objectSdrn:r,campaign:n,name:l,offerCodes:ee,offerType:w(c)},...i?{experiments:[{experimentSdrn:`${r}:experiment:${u(i)}`,name:i,platform:"SPS",variant:a||""}]}:{},engagement:{action:"Click",elementName:E},page:{},provider:{stage:"Test"},target:{info:{url:(k=d.getAttribute("href"))!=null?k:""}}}),m.legacy&&e.trackLegacyClickUIElement({object:{id:u(E),elementType:"Button",name:E,containerName:"Page",custom:{...o==null?void 0:o.offerData}},...o?{origin:o.pulseOrigin}:{},target:{url:(V=(A=(x=d.getAttribute("href"))==null?void 0:x.split("?"))==null?void 0:A[0])!=null?V:""},...C?{intent:C}:{},...i?{experiments:[{id:`experiment:${u(i)}`,name:i,platform:"SPS",variant:a}]}:{}})}catch{}}return document.addEventListener("click",f,!0),()=>document.removeEventListener("click",f,!0)}function Y(e,t,r,s,n){let{campaign:c,articleType:a,abTestGroup:p,placementType:i,experiment:o,legacy:l,contentName:m,pulseEvents:P}=t;P.tpaas&&e.trackImpressionOffer({placement:{foldPosition:n,containerName:"page",offerPlacement:i},object:{campaign:c,name:m,objectId:s,objectSdrn:r,offerCodes:[],offerType:w(a)},...o?{experiments:[{experimentSdrn:`${r}:experiment:${u(o)}`,name:o,platform:"SPS",variant:p||""}]}:{},page:{},provider:{stage:"Test"},target:{info:{}}}),P.legacy&&e.trackLegacyViewUIElement({object:{id:u(m),elementType:i,name:m,placement:{},custom:{...l==null?void 0:l.offerData,...l==null?void 0:l.custom}},...o?{experiments:[{id:`${r}:experiment:${u(o)}`,name:o,platform:"SPS",variant:p}]}:{},...l?{origin:l.pulseOrigin}:{}})}async function J(e,t,r){let{placementType:s,legacy:n,pulseEvents:c}=t,a=window.location.pathname,i=`landingpage-${s==="campaignpage"?"CAMPAIGN":"STATIC"}-${$(a)}`.toLowerCase();c.legacy&&await e.trackLegacyViewPage({object:{pageId:i,name:document.title,"spt:custom":{...n==null?void 0:n.offerData,...n==null?void 0:n.custom}},origin:n==null?void 0:n.pulseOrigin}),c.tpaas&&await e.trackViewLandingpage({object:{objectId:i,objectSdrn:r,title:document.title},page:{},provider:{stage:"Test"}},{leaveTracking:{objectElement:"body",pageElement:"body",objectResizable:!1}})}var U={"sps-pulse-helpers":"2.2.0","pulse-tracker-proxy":"1.2.0"};var I=e=>e==="campaignpage"||e==="staticpage";var Q=!1,z=!1,X="script[data-sps-pulse-config='true']",u=e=>e.toLowerCase().replace(/ /g,"-").replace(/[^-a-z:0-9]/g,""),$=e=>{var t,r;return(e==null?void 0:e.replace((r=(t=window.__landingpages)==null?void 0:t.rootUrl)!=null?r:"","").replace(/^\/|\/$/g,""))||""};async function Z(){if(console.log("[SPS-Pulse-Helpers] boot initiated"),Q)return;Q=!0;let e=null;try{let t=document.querySelector(X);if(!t){console.warn(`[SPS-Pulse-Helpers] Config script tag not found with selector ${X}`);return}e=JSON.parse(t.textContent)}catch(t){console.warn("[SPS-Pulse-Helpers] Failed to parse config from script tag",t);return}try{let t=window.getPulseTrackerProxy;if(!t||typeof t!="function"){console.warn("[SPS-Pulse-Helpers] PulseTrackerProxy not available");return}let{placementType:r,publication:s,contentName:n}=e,c=I(r)?$(window.location.pathname):u(n),a=`sdrn:${s}:element:offer:${r}:${c}`,p=crypto==null?void 0:crypto.randomUUID(),i=await t({component:"SPS-SDK",componentVersion:U["sps-pulse-helpers"]});K(i,e,a,p);let o=f=>{z||(z=!0,Y(i,e,a,p,f))};if(I(r)){await J(i,e,a),o("Above");return}let l=window.frameElement,m=window.parent.IntersectionObserver;if(!l||!m){console.warn("[SPS-Pulse-Helpers] No iframe or IntersectionObserver available. Pulse View event will not be fired.");return}let P="Unknown",T=!0,h=new m(f=>{var x;let g=f[0],b=(x=g==null?void 0:g.intersectionRatio)!=null?x:0,k=(g==null?void 0:g.isIntersecting)&&b>=1/3;T&&(T=!1,P=k?"Above":"Below"),k&&(h.disconnect(),o(P))},{root:null,threshold:[0,1/3]});h.observe(l)}catch(t){console.warn("[SPS-Pulse-Helpers] boot failed",t)}}Z();return oe(Pe);})();
|