@schibsted/pulse-sdk 8.0.0-rc.13 → 8.0.0-rc.15

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 (73) hide show
  1. package/dist/cjs/Tracker.js +40 -0
  2. package/dist/cjs/leaveTrackingTpaas/index.js +18 -6
  3. package/dist/cjs/tpaas-builders/builders/device.js +1 -1
  4. package/dist/cjs/tpaas-builders/builders/trackerBuilder.js +2 -1
  5. package/dist/cjs/tpaas-builders/builders.js +18 -6
  6. package/dist/cjs/tpaas-schemas/constants.js +75 -51
  7. package/dist/cjs/tracker-proxy/consts.js +3 -0
  8. package/dist/cjs/version.js +1 -1
  9. package/dist/ejs/Tracker.js +41 -1
  10. package/dist/ejs/leaveTrackingTpaas/index.js +18 -6
  11. package/dist/ejs/tpaas-builders/builders/device.js +1 -1
  12. package/dist/ejs/tpaas-builders/builders/trackerBuilder.js +2 -1
  13. package/dist/ejs/tpaas-builders/builders.js +16 -7
  14. package/dist/ejs/tpaas-schemas/constants.js +73 -49
  15. package/dist/ejs/tracker-proxy/consts.js +3 -0
  16. package/dist/ejs/version.js +1 -1
  17. package/dist/types/Tracker.d.ts +16 -1
  18. package/dist/types/builders/consents.d.ts +2 -2
  19. package/dist/types/builders/device-node.d.ts +2 -2
  20. package/dist/types/builders/events-anonymous-node.d.ts +4 -4
  21. package/dist/types/builders/events-node.d.ts +5 -5
  22. package/dist/types/builders/objects/objects-anonymous-node.d.ts +1 -1
  23. package/dist/types/builders/objects/objects-node.d.ts +1 -1
  24. package/dist/types/builders/origin-node.d.ts +1 -1
  25. package/dist/types/cis-sync/storage/pulseStorage.d.ts +8 -4
  26. package/dist/types/config.d.ts +1 -1
  27. package/dist/types/tpaas-builders/builders/device.d.ts +1 -1
  28. package/dist/types/tpaas-builders/builders/experiments.d.ts +1 -1
  29. package/dist/types/tpaas-builders/builders/navigationType.d.ts +2 -2
  30. package/dist/types/tpaas-builders/builders/pageviewId.d.ts +1 -1
  31. package/dist/types/tpaas-builders/builders/trackerBuilder.d.ts +1 -1
  32. package/dist/types/tpaas-builders/builders/user.d.ts +1 -1
  33. package/dist/types/tpaas-builders/builders.d.ts +43 -39
  34. package/dist/types/tpaas-builders/index.d.ts +1 -1
  35. package/dist/types/tpaas-builders/types.d.ts +2 -0
  36. package/dist/types/tpaas-schemas/constants.d.ts +196 -174
  37. package/dist/types/tpaas-schemas/types/ITpaasEvent.d.ts +6 -0
  38. package/dist/types/tpaas-schemas/types/schemas/IEngagementAffiliate.d.ts +138 -0
  39. package/dist/types/tpaas-schemas/types/schemas/IEngagementAudio.d.ts +0 -6
  40. package/dist/types/tpaas-schemas/types/schemas/IEngagementTeaser.d.ts +9 -0
  41. package/dist/types/tpaas-schemas/types/schemas/IEngagementTvModule.d.ts +130 -0
  42. package/dist/types/tpaas-schemas/types/schemas/IEngagementUIElement.d.ts +4 -0
  43. package/dist/types/tpaas-schemas/types/schemas/IEngagementVideo.d.ts +1 -7
  44. package/dist/types/tpaas-schemas/types/schemas/IImpressionAffiliate.d.ts +136 -0
  45. package/dist/types/tpaas-schemas/types/schemas/IImpressionForm.d.ts +2 -2
  46. package/dist/types/tpaas-schemas/types/schemas/IImpressionTeaser.d.ts +9 -0
  47. package/dist/types/tpaas-schemas/types/schemas/ILeaveArticle.d.ts +1 -1
  48. package/dist/types/tpaas-schemas/types/schemas/ILeaveAudioPage.d.ts +1 -1
  49. package/dist/types/tpaas-schemas/types/schemas/ILeaveFrontpage.d.ts +1 -1
  50. package/dist/types/tpaas-schemas/types/schemas/ILeaveListing.d.ts +10 -1
  51. package/dist/types/tpaas-schemas/types/schemas/ILeaveLockedArticle.d.ts +1 -1
  52. package/dist/types/tpaas-schemas/types/schemas/ILeaveLockedAudioPage.d.ts +1 -1
  53. package/dist/types/tpaas-schemas/types/schemas/ILeaveLockedVideoPage.d.ts +1 -1
  54. package/dist/types/tpaas-schemas/types/schemas/ILeaveVideoPage.d.ts +1 -1
  55. package/dist/types/tpaas-schemas/types/schemas/IViewArticle.d.ts +1 -1
  56. package/dist/types/tpaas-schemas/types/schemas/IViewAudioPage.d.ts +1 -1
  57. package/dist/types/tpaas-schemas/types/schemas/IViewFrontpage.d.ts +1 -1
  58. package/dist/types/tpaas-schemas/types/schemas/IViewListing.d.ts +10 -1
  59. package/dist/types/tpaas-schemas/types/schemas/IViewLockedArticle.d.ts +1 -1
  60. package/dist/types/tpaas-schemas/types/schemas/IViewLockedAudioPage.d.ts +1 -1
  61. package/dist/types/tpaas-schemas/types/schemas/IViewLockedVideoPage.d.ts +1 -1
  62. package/dist/types/tpaas-schemas/types/schemas/IViewVideoPage.d.ts +1 -1
  63. package/dist/types/tpaas-schemas/types/schemas/index.d.ts +3 -0
  64. package/dist/types/tpaas-schemas/types/templates/IDevice.d.ts +1 -1
  65. package/dist/types/tpaas-schemas/types/templates/IPageRef.d.ts +3 -1
  66. package/dist/types/tpaas-schemas/types/templates/IProvider.d.ts +1 -1
  67. package/dist/types/tpaas-schemas/types/templates/ITracker.d.ts +4 -0
  68. package/dist/types/tpaas-schemas/types/templates/IUtmTags.d.ts +0 -2
  69. package/dist/types/tpaas-schemas/types.d.ts +3 -3
  70. package/dist/types/tracker-proxy/consts.d.ts +2 -2
  71. package/dist/types/version.d.ts +1 -1
  72. package/dist/types/wrapper/types/event.d.ts +1 -1
  73. package/package.json +8 -7
@@ -0,0 +1,138 @@
1
+ /* eslint-disable */
2
+
3
+ import type { IConsents } from '../templates/IConsents.d.ts';
4
+ import type { IContent } from '../templates/IContent.d.ts';
5
+ import type { IDevice } from '../templates/IDevice.d.ts';
6
+ import type { IEngagement } from '../templates/IEngagement.d.ts';
7
+ import type { IExperiments } from '../templates/IExperiments.d.ts';
8
+ import type { IPageRef } from '../templates/IPageRef.d.ts';
9
+ import type { IProvider } from '../templates/IProvider.d.ts';
10
+ import type { ISession } from '../templates/ISession.d.ts';
11
+ import type { ITime } from '../templates/ITime.d.ts';
12
+ import type { ITracker } from '../templates/ITracker.d.ts';
13
+ import type { IUser } from '../templates/IUser.d.ts';
14
+ import type { IUtmTags } from '../templates/IUtmTags.d.ts';
15
+
16
+ /**
17
+ * Interaction with an affiliate link (e.g. buy button, product card, banner).
18
+ */
19
+ export interface IEngagementAffiliate {
20
+ /**
21
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
22
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
23
+ * @example "1.2.3"
24
+ */
25
+ catalogVersion: string;
26
+ consents: IConsents;
27
+ device: IDevice;
28
+ engagement: IEngagement;
29
+ /**
30
+ * The unique identifier for the event.
31
+ * @format uuid
32
+ */
33
+ eventId: string;
34
+ /**
35
+ * The type of the event.
36
+ */
37
+ eventType: 'Engagement';
38
+ experiments?: IExperiments;
39
+ object: {
40
+ /**
41
+ * ISO-4217 currency code.
42
+ * @example "NOK"
43
+ */
44
+ currency?: string;
45
+ /**
46
+ * The size of the component.
47
+ */
48
+ elementSize?: 'XS' | 'S' | 'M' | 'L' | 'XL';
49
+ /**
50
+ * Whether the affiliate link is commercial.
51
+ */
52
+ isCommercial: boolean;
53
+ /**
54
+ * The name of the component.
55
+ */
56
+ name: string;
57
+ /**
58
+ * The unique ID for this component.
59
+ */
60
+ objectId: string;
61
+ /**
62
+ * The unique SDRN for this component.
63
+ */
64
+ objectSdrn: string;
65
+ /**
66
+ * The type of the object.
67
+ */
68
+ objectType: 'Affiliate';
69
+ /**
70
+ * Price of the product.
71
+ */
72
+ price?: number;
73
+ /**
74
+ * Product category.
75
+ * @example "cars"
76
+ */
77
+ productCategory?: string;
78
+ /**
79
+ * Stable product identifier.
80
+ */
81
+ productId?: string;
82
+ /**
83
+ * Name of the product.
84
+ */
85
+ productName: string;
86
+ /**
87
+ * Name of the shop the affiliate link points to.
88
+ * @example "Elkjøp"
89
+ */
90
+ storeName: string;
91
+ /**
92
+ * Brand-specific markers.
93
+ */
94
+ tags?: string[];
95
+ };
96
+ page: {
97
+ content?: IContent;
98
+ info: IPageRef;
99
+ /**
100
+ * The pageviewID.
101
+ * @format uuid
102
+ */
103
+ pageviewId: string;
104
+ referrer?: IPageRef;
105
+ utm?: IUtmTags;
106
+ };
107
+ placement: {
108
+ /**
109
+ * Element the affiliate link lives in, used for traffic attribution.
110
+ * @example "ProductSummaryBox"
111
+ */
112
+ containerName: string;
113
+ /**
114
+ * Indicator if the player was visible at pageload (“above”) or if the user had to scroll to it (“below”).
115
+ */
116
+ foldPosition?: 'Above' | 'Below' | 'Unknown';
117
+ /**
118
+ * Position of this link among affiliate links in the same element.
119
+ * @minimum -19
120
+ */
121
+ primaryPosition?: number;
122
+ };
123
+ provider: IProvider;
124
+ /**
125
+ * URL to the JSON schema for this event.
126
+ * @format uri
127
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
128
+ */
129
+ schema: string;
130
+ session: ISession;
131
+ target: {
132
+ content?: IContent;
133
+ info: IPageRef;
134
+ };
135
+ time: ITime;
136
+ tracker: ITracker;
137
+ user?: IUser;
138
+ }
@@ -207,12 +207,6 @@ export interface IEngagementAudio {
207
207
  referrer?: IPageRef;
208
208
  utm?: IUtmTags;
209
209
  };
210
- placement: {
211
- /**
212
- * ContainerName is the name of the UI container/module in which the player renders (not the player type or content type).
213
- */
214
- containerName: string;
215
- };
216
210
  provider: IProvider;
217
211
  /**
218
212
  * URL to the JSON schema for this event.
@@ -52,6 +52,11 @@ export interface IEngagementTeaser {
52
52
  * The size of the component.
53
53
  */
54
54
  elementSize?: 'XS' | 'S' | 'M' | 'L' | 'XL';
55
+ /**
56
+ * The URL to the teaser image.
57
+ * @example "https://akamai.vgc.no/v2/images/bf0b043a-beb4-382a-be20-89bba60bdc44?fit=crop&format=auto&w=1440&s=183a09a7662535f456fa261fb7cc4f8af6a55aa1"
58
+ */
59
+ imageUrl?: string;
55
60
  /**
56
61
  * The name of the component.
57
62
  */
@@ -68,6 +73,10 @@ export interface IEngagementTeaser {
68
73
  * The type of the component.
69
74
  */
70
75
  objectType: 'Teaser';
76
+ /**
77
+ * The name of the company that sponsored the Teaser. Omitted if it was not sponsored.
78
+ */
79
+ sponsor?: string;
71
80
  /**
72
81
  * The title of the teaser.
73
82
  */
@@ -0,0 +1,130 @@
1
+ /* eslint-disable */
2
+
3
+ import type { IConsents } from '../templates/IConsents.d.ts';
4
+ import type { IContent } from '../templates/IContent.d.ts';
5
+ import type { IDevice } from '../templates/IDevice.d.ts';
6
+ import type { IEngagement } from '../templates/IEngagement.d.ts';
7
+ import type { IExperiments } from '../templates/IExperiments.d.ts';
8
+ import type { IPageRef } from '../templates/IPageRef.d.ts';
9
+ import type { IProvider } from '../templates/IProvider.d.ts';
10
+ import type { ISession } from '../templates/ISession.d.ts';
11
+ import type { ITime } from '../templates/ITime.d.ts';
12
+ import type { ITracker } from '../templates/ITracker.d.ts';
13
+ import type { IUser } from '../templates/IUser.d.ts';
14
+ import type { IUtmTags } from '../templates/IUtmTags.d.ts';
15
+
16
+ /**
17
+ * Interaction with a TvModule element. (Note: currently only used by TVnu.)
18
+ */
19
+ export interface IEngagementTvModule {
20
+ /**
21
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
22
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
23
+ * @example "1.2.3"
24
+ */
25
+ catalogVersion: string;
26
+ consents: IConsents;
27
+ device: IDevice;
28
+ engagement: IEngagement;
29
+ /**
30
+ * The unique identifier for the event.
31
+ * @format uuid
32
+ */
33
+ eventId: string;
34
+ /**
35
+ * The type of the event.
36
+ */
37
+ eventType: 'Engagement';
38
+ experiments?: IExperiments;
39
+ object: {
40
+ /**
41
+ * The size of the component.
42
+ */
43
+ elementSize?: 'XS' | 'S' | 'M' | 'L' | 'XL';
44
+ /**
45
+ * The text of the element.
46
+ */
47
+ elementText?: string;
48
+ /**
49
+ * The type of UIElement (div, span, a, …).
50
+ */
51
+ elementType: string;
52
+ /**
53
+ * Action taken on the module: Add module, remove module, change placement of module, etc.
54
+ * @example "moveTop"
55
+ */
56
+ moduleAction?: string;
57
+ /**
58
+ * Content interacted with in the module: Article teaser text, Title, List Name.
59
+ * @example "Ted Lasso"
60
+ */
61
+ moduleContent?: string;
62
+ /**
63
+ * Text set as header (or title) for the module.
64
+ * @example "Fotbolls-VM"
65
+ */
66
+ moduleHeader: string;
67
+ /**
68
+ * Type of TV module users interact with.
69
+ * @example "Editorial"
70
+ */
71
+ moduleType:
72
+ | 'Channel'
73
+ | 'Sport'
74
+ | 'PlayProvider'
75
+ | 'Editorial'
76
+ | 'ProgramList'
77
+ | 'SportListing'
78
+ | 'PremiereCalendar'
79
+ | 'UserCalendar'
80
+ | 'TrailerList';
81
+ /**
82
+ * The name of the component.
83
+ */
84
+ name: string;
85
+ /**
86
+ * The unique ID for this component.
87
+ */
88
+ objectId: string;
89
+ /**
90
+ * The unique SDRN for this component.
91
+ */
92
+ objectSdrn: string;
93
+ /**
94
+ * The type of the object.
95
+ */
96
+ objectType: 'TvModule';
97
+ };
98
+ page: {
99
+ content?: IContent;
100
+ info: IPageRef;
101
+ /**
102
+ * The pageviewID.
103
+ * @format uuid
104
+ */
105
+ pageviewId: string;
106
+ referrer?: IPageRef;
107
+ utm?: IUtmTags;
108
+ };
109
+ placement: {
110
+ /**
111
+ * The closest parent container used for traffic attribution. When in doubt use “page”.
112
+ */
113
+ containerName: string;
114
+ };
115
+ provider: IProvider;
116
+ /**
117
+ * URL to the JSON schema for this event.
118
+ * @format uri
119
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
120
+ */
121
+ schema: string;
122
+ session: ISession;
123
+ target?: {
124
+ content?: IContent;
125
+ info?: IPageRef;
126
+ };
127
+ time: ITime;
128
+ tracker: ITracker;
129
+ user?: IUser;
130
+ }
@@ -65,6 +65,10 @@ export interface IEngagementUIElement {
65
65
  * The type of the component.
66
66
  */
67
67
  objectType: 'UIElement';
68
+ /**
69
+ * The name of the company that sponsored the UIElement. Omitted if it was not sponsored.
70
+ */
71
+ sponsor?: string;
68
72
  };
69
73
  page: {
70
74
  content?: IContent;
@@ -98,7 +98,7 @@ export interface IEngagementVideo {
98
98
  */
99
99
  prevPositionMs: number;
100
100
  /**
101
- * The current playback quality.
101
+ * The current playback quality. High quality equals 1080p or more, medium equals between 480p and up to 1080p and low quality equals below 480p. This definition applies for both vertical and horizontal content.
102
102
  */
103
103
  quality?: string;
104
104
  /**
@@ -230,12 +230,6 @@ export interface IEngagementVideo {
230
230
  referrer?: IPageRef;
231
231
  utm?: IUtmTags;
232
232
  };
233
- placement: {
234
- /**
235
- * ContainerName is the name of the UI container/module in which the player renders (not the player type or content type).
236
- */
237
- containerName: string;
238
- };
239
233
  provider: IProvider;
240
234
  /**
241
235
  * URL to the JSON schema for this event.
@@ -0,0 +1,136 @@
1
+ /* eslint-disable */
2
+
3
+ import type { IConsents } from '../templates/IConsents.d.ts';
4
+ import type { IContent } from '../templates/IContent.d.ts';
5
+ import type { IDevice } from '../templates/IDevice.d.ts';
6
+ import type { IExperiments } from '../templates/IExperiments.d.ts';
7
+ import type { IPageRef } from '../templates/IPageRef.d.ts';
8
+ import type { IProvider } from '../templates/IProvider.d.ts';
9
+ import type { ISession } from '../templates/ISession.d.ts';
10
+ import type { ITime } from '../templates/ITime.d.ts';
11
+ import type { ITracker } from '../templates/ITracker.d.ts';
12
+ import type { IUser } from '../templates/IUser.d.ts';
13
+ import type { IUtmTags } from '../templates/IUtmTags.d.ts';
14
+
15
+ /**
16
+ * Impression of an affiliate link (e.g. buy button, product card, banner).
17
+ */
18
+ export interface IImpressionAffiliate {
19
+ /**
20
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
21
+ * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
22
+ * @example "1.2.3"
23
+ */
24
+ catalogVersion: string;
25
+ consents: IConsents;
26
+ device: IDevice;
27
+ /**
28
+ * The unique identifier for the event.
29
+ * @format uuid
30
+ */
31
+ eventId: string;
32
+ /**
33
+ * The type of the event.
34
+ */
35
+ eventType: 'Impression';
36
+ experiments?: IExperiments;
37
+ object: {
38
+ /**
39
+ * ISO-4217 currency code.
40
+ * @example "NOK"
41
+ */
42
+ currency?: string;
43
+ /**
44
+ * The size of the component.
45
+ */
46
+ elementSize?: 'XS' | 'S' | 'M' | 'L' | 'XL';
47
+ /**
48
+ * Whether the affiliate link is commercial.
49
+ */
50
+ isCommercial: boolean;
51
+ /**
52
+ * The name of the component.
53
+ */
54
+ name: string;
55
+ /**
56
+ * The unique ID for this component.
57
+ */
58
+ objectId: string;
59
+ /**
60
+ * The unique SDRN for this component.
61
+ */
62
+ objectSdrn: string;
63
+ /**
64
+ * The type of the object.
65
+ */
66
+ objectType: 'Affiliate';
67
+ /**
68
+ * Price of the product.
69
+ */
70
+ price?: number;
71
+ /**
72
+ * Product category.
73
+ * @example "cars"
74
+ */
75
+ productCategory?: string;
76
+ /**
77
+ * Stable product identifier.
78
+ */
79
+ productId?: string;
80
+ /**
81
+ * Name of the product.
82
+ */
83
+ productName: string;
84
+ /**
85
+ * Name of the shop the affiliate link points to.
86
+ * @example "Elkjøp"
87
+ */
88
+ storeName: string;
89
+ /**
90
+ * Brand-specific markers.
91
+ */
92
+ tags?: string[];
93
+ };
94
+ page: {
95
+ content?: IContent;
96
+ info: IPageRef;
97
+ /**
98
+ * The pageviewID.
99
+ * @format uuid
100
+ */
101
+ pageviewId: string;
102
+ referrer?: IPageRef;
103
+ utm?: IUtmTags;
104
+ };
105
+ placement: {
106
+ /**
107
+ * Element the affiliate link lives in, used for traffic attribution.
108
+ * @example "ProductSummaryBox"
109
+ */
110
+ containerName: string;
111
+ /**
112
+ * Indicator if the player was visible at pageload (“above”) or if the user had to scroll to it (“below”).
113
+ */
114
+ foldPosition: 'Above' | 'Below' | 'Unknown';
115
+ /**
116
+ * Position of this link among affiliate links in the same element.
117
+ * @minimum -19
118
+ */
119
+ primaryPosition?: number;
120
+ };
121
+ provider: IProvider;
122
+ /**
123
+ * URL to the JSON schema for this event.
124
+ * @format uri
125
+ * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
126
+ */
127
+ schema: string;
128
+ session: ISession;
129
+ target: {
130
+ content?: IContent;
131
+ info: IPageRef;
132
+ };
133
+ time: ITime;
134
+ tracker: ITracker;
135
+ user?: IUser;
136
+ }
@@ -103,8 +103,8 @@ export interface IImpressionForm {
103
103
  */
104
104
  schema: string;
105
105
  session: ISession;
106
- target: {
107
- content: IContent;
106
+ target?: {
107
+ content?: IContent;
108
108
  info?: IPageRef;
109
109
  };
110
110
  time: ITime;
@@ -50,6 +50,11 @@ export interface IImpressionTeaser {
50
50
  * The size of the component.
51
51
  */
52
52
  elementSize?: 'XS' | 'S' | 'M' | 'L' | 'XL';
53
+ /**
54
+ * The URL to the teaser image.
55
+ * @example "https://akamai.vgc.no/v2/images/bf0b043a-beb4-382a-be20-89bba60bdc44?fit=crop&format=auto&w=1440&s=183a09a7662535f456fa261fb7cc4f8af6a55aa1"
56
+ */
57
+ imageUrl?: string;
53
58
  /**
54
59
  * The name of the component.
55
60
  */
@@ -66,6 +71,10 @@ export interface IImpressionTeaser {
66
71
  * The type of the object.
67
72
  */
68
73
  objectType: 'Teaser';
74
+ /**
75
+ * The name of the company that sponsored the UIElement. Omitted if it was not sponsored.
76
+ */
77
+ sponsor?: string;
69
78
  /**
70
79
  * The title of the teaser.
71
80
  */
@@ -108,7 +108,7 @@ export interface ILeaveArticle {
108
108
  /**
109
109
  * The browser navigation that got the user to the current page.
110
110
  */
111
- navigationType: 'Navigate' | 'Reload' | 'BackForward' | 'Prerender' | 'Scroll';
111
+ navigationType: 'Navigate' | 'Reload' | 'BackForward' | 'Prerender' | 'Scroll' | 'Swipe' | 'DeepLink' | 'Push';
112
112
  /**
113
113
  * The pageviewID.
114
114
  * @format uuid
@@ -65,7 +65,7 @@ export interface ILeaveAudioPage {
65
65
  /**
66
66
  * The browser navigation that got the user to the current page.
67
67
  */
68
- navigationType: 'Navigate' | 'Reload' | 'BackForward' | 'Prerender';
68
+ navigationType: 'Navigate' | 'Reload' | 'BackForward' | 'Prerender' | 'DeepLink' | 'Push';
69
69
  /**
70
70
  * The pageviewID.
71
71
  * @format uuid
@@ -60,7 +60,7 @@ export interface ILeaveFrontpage {
60
60
  /**
61
61
  * The browser navigation that got the user to the current page.
62
62
  */
63
- navigationType: 'Navigate' | 'Reload' | 'BackForward' | 'Prerender';
63
+ navigationType: 'Navigate' | 'Reload' | 'BackForward' | 'Prerender' | 'DeepLink' | 'Push';
64
64
  /**
65
65
  * The pageviewID.
66
66
  * @format uuid
@@ -47,6 +47,10 @@ export interface ILeaveListing {
47
47
  * The engine producing this listing. Use “editorial” for manually curated lists.
48
48
  */
49
49
  contentSource: 'Capi' | 'Curate' | 'ElasticSearch' | 'Editorial';
50
+ /**
51
+ * Filters applied to the listing.
52
+ */
53
+ filters?: string[];
50
54
  /**
51
55
  * True if list is populated indefinitely.
52
56
  */
@@ -77,10 +81,15 @@ export interface ILeaveListing {
77
81
  * @minimum 0
78
82
  */
79
83
  pageNumber: number;
84
+ /**
85
+ * The search query used by the user, if the listing page supports search.
86
+ * @example "risotto"
87
+ */
88
+ searchQuery?: string;
80
89
  /**
81
90
  * Indicates how results are sorted. Use “editorial” for manually curated lists.
82
91
  */
83
- sortingMethod: 'Time' | 'Editorial' | 'Relevance' | 'Alphabetical';
92
+ sortingMethod: 'Time' | 'Editorial' | 'Relevance' | 'Alphabetical' | 'Other';
84
93
  /**
85
94
  * The title of the page.
86
95
  */
@@ -116,7 +116,7 @@ export interface ILeaveLockedArticle {
116
116
  /**
117
117
  * The browser navigation that got the user to the current page.
118
118
  */
119
- navigationType: 'Navigate' | 'Reload' | 'BackForward' | 'Prerender' | 'Scroll';
119
+ navigationType: 'Navigate' | 'Reload' | 'BackForward' | 'Prerender' | 'Scroll' | 'Swipe' | 'DeepLink' | 'Push';
120
120
  /**
121
121
  * The pageviewID.
122
122
  * @format uuid
@@ -74,7 +74,7 @@ export interface ILeaveLockedAudioPage {
74
74
  /**
75
75
  * The browser navigation that got the user to the current page.
76
76
  */
77
- navigationType: 'Navigate' | 'Reload' | 'BackForward' | 'Prerender';
77
+ navigationType: 'Navigate' | 'Reload' | 'BackForward' | 'Prerender' | 'DeepLink' | 'Push';
78
78
  /**
79
79
  * The pageviewID.
80
80
  * @format uuid
@@ -74,7 +74,7 @@ export interface ILeaveLockedVideoPage {
74
74
  /**
75
75
  * The browser navigation that got the user to the current page.
76
76
  */
77
- navigationType: 'Navigate' | 'Reload' | 'BackForward' | 'Prerender';
77
+ navigationType: 'Navigate' | 'Reload' | 'BackForward' | 'Prerender' | 'DeepLink' | 'Push';
78
78
  /**
79
79
  * The pageviewID.
80
80
  * @format uuid
@@ -68,7 +68,7 @@ export interface ILeaveVideoPage {
68
68
  /**
69
69
  * The browser navigation that got the user to the current page.
70
70
  */
71
- navigationType: 'Navigate' | 'Reload' | 'BackForward' | 'Prerender';
71
+ navigationType: 'Navigate' | 'Reload' | 'BackForward' | 'Prerender' | 'DeepLink' | 'Push';
72
72
  /**
73
73
  * The pageviewID.
74
74
  * @format uuid
@@ -108,7 +108,7 @@ export interface IViewArticle {
108
108
  /**
109
109
  * The browser navigation that got the user to the current page.
110
110
  */
111
- navigationType: 'Navigate' | 'Reload' | 'BackForward' | 'Prerender' | 'Scroll';
111
+ navigationType: 'Navigate' | 'Reload' | 'BackForward' | 'Prerender' | 'Scroll' | 'Swipe' | 'DeepLink' | 'Push';
112
112
  /**
113
113
  * The pageviewID.
114
114
  * @format uuid
@@ -64,7 +64,7 @@ export interface IViewAudioPage {
64
64
  /**
65
65
  * The browser navigation that got the user to the current page.
66
66
  */
67
- navigationType: 'Navigate' | 'Reload' | 'BackForward' | 'Prerender';
67
+ navigationType: 'Navigate' | 'Reload' | 'BackForward' | 'Prerender' | 'DeepLink' | 'Push';
68
68
  /**
69
69
  * The pageviewID.
70
70
  * @format uuid
@@ -57,7 +57,7 @@ export interface IViewFrontpage {
57
57
  /**
58
58
  * The browser navigation that got the user to the current page.
59
59
  */
60
- navigationType: 'Navigate' | 'Reload' | 'BackForward' | 'Prerender';
60
+ navigationType: 'Navigate' | 'Reload' | 'BackForward' | 'Prerender' | 'DeepLink' | 'Push';
61
61
  /**
62
62
  * The pageviewID.
63
63
  * @format uuid
@@ -42,6 +42,10 @@ export interface IViewListing {
42
42
  * The engine producing this listing. Use “editorial” for manually curated lists.
43
43
  */
44
44
  contentSource: 'Capi' | 'Curate' | 'ElasticSearch' | 'Editorial';
45
+ /**
46
+ * Filters applied to the listing.
47
+ */
48
+ filters?: string[];
45
49
  /**
46
50
  * True if list is populated indefinitely (doomscroll).
47
51
  */
@@ -72,10 +76,15 @@ export interface IViewListing {
72
76
  * @minimum 0
73
77
  */
74
78
  pageNumber: number;
79
+ /**
80
+ * The search query used by the user, if the listing page supports search.
81
+ * @example "risotto"
82
+ */
83
+ searchQuery?: string;
75
84
  /**
76
85
  * Indicates how results are sorted. Use “editorial” for manually curated lists.
77
86
  */
78
- sortingMethod: 'Time' | 'Editorial' | 'Relevance' | 'Alphabetical';
87
+ sortingMethod: 'Time' | 'Editorial' | 'Relevance' | 'Alphabetical' | 'Other';
79
88
  /**
80
89
  * The title of the page.
81
90
  */
@@ -116,7 +116,7 @@ export interface IViewLockedArticle {
116
116
  /**
117
117
  * The browser navigation that got the user to the current page.
118
118
  */
119
- navigationType: 'Navigate' | 'Reload' | 'BackForward' | 'Prerender' | 'Scroll';
119
+ navigationType: 'Navigate' | 'Reload' | 'BackForward' | 'Prerender' | 'Scroll' | 'Swipe' | 'DeepLink' | 'Push';
120
120
  /**
121
121
  * The pageviewID.
122
122
  * @format uuid