@schibsted/advertory 2.44.0 → 2.44.5-art-v5

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 (156) hide show
  1. package/core/aftenposten/es/index.css +1 -0
  2. package/core/aftenposten/es/index.d.ts +699 -0
  3. package/core/aftenposten/es/index.js +1 -0
  4. package/core/aftenposten/es/package.json +9 -0
  5. package/core/aftenposten/index.d.ts +699 -0
  6. package/core/aftenposten/index.js +1 -0
  7. package/core/aftenposten/package.json +9 -0
  8. package/core/aftonbladet/es/index.css +1 -1
  9. package/core/aftonbladet/es/index.js +1 -1
  10. package/core/aftonbladet/index.js +1 -1
  11. package/core/aftonbladetv2/es/index.css +1 -0
  12. package/core/aftonbladetv2/es/index.d.ts +701 -0
  13. package/core/aftonbladetv2/es/index.js +1 -0
  14. package/core/aftonbladetv2/es/package.json +9 -0
  15. package/core/bt/es/index.css +1 -0
  16. package/core/bt/es/index.d.ts +699 -0
  17. package/core/bt/es/index.js +1 -0
  18. package/core/bt/es/package.json +9 -0
  19. package/core/bt/index.d.ts +699 -0
  20. package/core/bt/index.js +1 -0
  21. package/core/bt/package.json +9 -0
  22. package/core/e24/es/index.css +1 -1
  23. package/core/e24/es/index.js +1 -1
  24. package/core/e24/index.js +1 -1
  25. package/core/e24v2/es/index.css +1 -0
  26. package/core/e24v2/es/index.d.ts +699 -0
  27. package/core/e24v2/es/index.js +1 -0
  28. package/core/e24v2/es/package.json +9 -0
  29. package/core/godare/index.d.ts +699 -0
  30. package/core/godare/index.js +1 -0
  31. package/core/godare/package.json +9 -0
  32. package/core/godt/index.d.ts +701 -0
  33. package/core/godt/index.js +1 -0
  34. package/core/godt/package.json +9 -0
  35. package/core/klart/index.d.ts +701 -0
  36. package/core/klart/index.js +1 -0
  37. package/core/klart/package.json +9 -0
  38. package/core/kompakt/index.d.ts +699 -0
  39. package/core/kompakt/index.js +1 -0
  40. package/core/kompakt/package.json +9 -0
  41. package/core/minmote/index.d.ts +701 -0
  42. package/core/minmote/index.js +1 -0
  43. package/core/minmote/package.json +9 -0
  44. package/core/pent/index.d.ts +699 -0
  45. package/core/pent/index.js +1 -0
  46. package/core/pent/package.json +9 -0
  47. package/core/sa/es/index.css +1 -0
  48. package/core/sa/es/index.d.ts +699 -0
  49. package/core/sa/es/index.js +1 -0
  50. package/core/sa/es/package.json +9 -0
  51. package/core/sa/index.d.ts +699 -0
  52. package/core/sa/index.js +1 -0
  53. package/core/sa/package.json +9 -0
  54. package/core/svd/es/index.css +1 -0
  55. package/core/svd/es/index.d.ts +701 -0
  56. package/core/svd/es/index.js +1 -0
  57. package/core/svd/es/package.json +9 -0
  58. package/core/svd/index.d.ts +701 -0
  59. package/core/svd/index.js +1 -0
  60. package/core/svd/package.json +9 -0
  61. package/core/tek/index.d.ts +701 -0
  62. package/core/tek/index.js +1 -0
  63. package/core/tek/package.json +9 -0
  64. package/core/vg/es/index.css +1 -0
  65. package/core/vg/es/index.d.ts +699 -0
  66. package/core/vg/es/index.js +1 -0
  67. package/core/vg/es/package.json +9 -0
  68. package/core/vg/index.d.ts +699 -0
  69. package/core/vg/index.js +1 -0
  70. package/core/vg/package.json +9 -0
  71. package/core/vgv2/es/index.css +1 -0
  72. package/core/vgv2/es/index.d.ts +699 -0
  73. package/core/vgv2/es/index.js +1 -0
  74. package/core/vgv2/es/package.json +9 -0
  75. package/package.json +1 -2
  76. package/sites/aftenposten/es/index.css +1 -0
  77. package/sites/aftenposten/es/index.d.ts +29 -0
  78. package/sites/aftenposten/es/index.js +1 -0
  79. package/sites/aftenposten/es/package.json +9 -0
  80. package/sites/aftenposten/index.d.ts +29 -0
  81. package/sites/aftenposten/index.js +1 -0
  82. package/sites/aftenposten/package.json +9 -0
  83. package/sites/aftonbladet/es/index.css +1 -1
  84. package/sites/aftonbladetv2/es/index.css +1 -0
  85. package/sites/aftonbladetv2/es/index.d.ts +29 -0
  86. package/sites/aftonbladetv2/es/index.js +1 -0
  87. package/sites/aftonbladetv2/es/package.json +9 -0
  88. package/sites/bt/es/index.css +1 -0
  89. package/sites/bt/es/index.d.ts +29 -0
  90. package/sites/bt/es/index.js +1 -0
  91. package/sites/bt/es/package.json +9 -0
  92. package/sites/bt/index.d.ts +29 -0
  93. package/sites/bt/index.js +1 -0
  94. package/sites/bt/package.json +9 -0
  95. package/sites/e24/es/index.css +1 -1
  96. package/sites/e24v2/es/index.css +1 -0
  97. package/sites/e24v2/es/index.d.ts +33 -0
  98. package/sites/e24v2/es/index.js +1 -0
  99. package/sites/e24v2/es/package.json +9 -0
  100. package/sites/godare/index.d.ts +25 -0
  101. package/sites/godare/index.js +1 -0
  102. package/sites/godare/package.json +9 -0
  103. package/sites/klart/index.d.ts +25 -0
  104. package/sites/klart/index.js +1 -0
  105. package/sites/klart/package.json +9 -0
  106. package/sites/minmote/index.d.ts +19 -0
  107. package/sites/minmote/index.js +1 -0
  108. package/sites/minmote/package.json +9 -0
  109. package/sites/sa/es/index.css +1 -0
  110. package/sites/sa/es/index.d.ts +29 -0
  111. package/sites/sa/es/index.js +1 -0
  112. package/sites/sa/es/package.json +9 -0
  113. package/sites/sa/index.d.ts +29 -0
  114. package/sites/sa/index.js +1 -0
  115. package/sites/sa/package.json +9 -0
  116. package/sites/svd/es/index.css +1 -0
  117. package/sites/svd/es/index.d.ts +29 -0
  118. package/sites/svd/es/index.js +1 -0
  119. package/sites/svd/es/package.json +9 -0
  120. package/sites/svd/index.d.ts +29 -0
  121. package/sites/svd/index.js +1 -0
  122. package/sites/svd/package.json +9 -0
  123. package/sites/vg/es/index.css +1 -0
  124. package/sites/vg/es/index.d.ts +27 -0
  125. package/sites/vg/es/index.js +1 -0
  126. package/sites/vg/es/package.json +9 -0
  127. package/sites/vg/index.d.ts +27 -0
  128. package/sites/vg/index.js +1 -0
  129. package/sites/vg/package.json +9 -0
  130. package/sites/vgv2/es/index.css +1 -0
  131. package/sites/vgv2/es/index.d.ts +27 -0
  132. package/sites/vgv2/es/index.js +1 -0
  133. package/sites/vgv2/es/package.json +9 -0
  134. package/styles/aftenposten/index.js +3 -0
  135. package/styles/aftenposten/styles.css +1 -0
  136. package/styles/aftonbladetv2/index.js +3 -0
  137. package/styles/aftonbladetv2/styles.css +1 -0
  138. package/styles/bt/index.js +3 -0
  139. package/styles/bt/styles.css +1 -0
  140. package/styles/e24v2/index.js +3 -0
  141. package/styles/e24v2/styles.css +1 -0
  142. package/styles/godare/index.js +3 -0
  143. package/styles/godare/styles.css +1 -0
  144. package/styles/klart/index.js +3 -0
  145. package/styles/klart/styles.css +1 -0
  146. package/styles/kompakt/index.js +3 -0
  147. package/styles/kompakt/styles.css +1 -0
  148. package/styles/sa/index.js +3 -0
  149. package/styles/sa/styles.css +1 -0
  150. package/styles/svd/index.js +3 -0
  151. package/styles/svd/styles.css +1 -0
  152. package/styles/vg/index.js +3 -0
  153. package/styles/vg/styles.css +1 -0
  154. package/styles/vgv2/index.js +3 -0
  155. package/styles/vgv2/styles.css +1 -0
  156. package/README.md +0 -230
@@ -0,0 +1,699 @@
1
+ import { Identity } from '@schibsted/account-sdk-browser';
2
+
3
+ type AstCommand = () => void;
4
+ type AstAdType = 'banner' | 'video' | 'native' | 'outstream';
5
+ interface AstBanner {
6
+ content: string;
7
+ height: number;
8
+ width: number;
9
+ }
10
+ interface AstNativeImage {
11
+ height: number;
12
+ width: number;
13
+ url: string;
14
+ prevent_crop: boolean;
15
+ }
16
+ interface AstNativeVideo {
17
+ content: string;
18
+ }
19
+ interface AstNative {
20
+ title: string;
21
+ sponsoredBy: string;
22
+ desc2?: string;
23
+ clickUrl: string;
24
+ clickTrackers: Array<string>;
25
+ clickFallbackUrl?: string;
26
+ displayUrl?: string;
27
+ downloads?: Array<string>;
28
+ cta?: string;
29
+ address?: string;
30
+ body: string;
31
+ main_media?: {
32
+ url: string;
33
+ };
34
+ image: AstNativeImage;
35
+ icon: AstNativeIcon;
36
+ impressionTrackers?: Array<string>;
37
+ javascriptTrackers?: Array<string>;
38
+ likes?: number;
39
+ phone?: string;
40
+ price?: string;
41
+ privacyLink?: string;
42
+ rating?: number;
43
+ saleprice?: number;
44
+ fullText?: string;
45
+ type?: string;
46
+ custom?: {
47
+ type: string;
48
+ };
49
+ video?: AstNativeVideo;
50
+ customTitle1?: string;
51
+ customTitle2?: string;
52
+ customTitle3?: string;
53
+ customTitle4?: string;
54
+ description?: string;
55
+ customIcon2: AstNativeIcon;
56
+ }
57
+ interface AstAdObj {
58
+ adType: AstAdType;
59
+ height: number;
60
+ source: string;
61
+ targetId: string;
62
+ width: number;
63
+ native?: AstNative;
64
+ desc2?: string;
65
+ image?: object;
66
+ tagId?: number;
67
+ cpm?: object;
68
+ buyerMemberId?: number;
69
+ impressionTrackersFired?: boolean;
70
+ auctionId?: string;
71
+ creativeId?: number;
72
+ banner?: AstBanner;
73
+ subtype?: string;
74
+ renderer_url?: string;
75
+ bidderId?: number | undefined;
76
+ }
77
+ interface AstAdError {
78
+ code: number;
79
+ errMessage: string;
80
+ exception: Error;
81
+ targetId: string;
82
+ }
83
+ interface AstTagObj {
84
+ targetId: string;
85
+ }
86
+ type AstEventType = 'adRequested' | 'adAvailable' | 'adBadRequest' | 'adLoaded' | 'adNoBid' | 'adRequestFailure' | 'adError' | 'adCollapse' | 'adNoBidMediated' | 'adLoadedMediated';
87
+ interface AstOnEventFunction {
88
+ (eventType: 'adRequested', eventHandler: AstCommand, targetId?: string): void;
89
+ (eventType: 'adAvailable', eventHandler: (adObj: AstAdObj) => void, targetId?: string): void;
90
+ (eventType: 'adLoaded', eventHandler: (adObj: AstAdObj) => void, targetId?: string): void;
91
+ (eventType: 'adNoBid', eventHandler: (adObj: AstAdObj) => void, targetId?: string): void;
92
+ (eventType: 'adCollapse', eventHandler: AstCommand, targetId?: string): void;
93
+ (eventType: 'adRequestFailure', eventHandler: (adError: AstAdError) => void, targetId?: string): void;
94
+ (eventType: 'adBadRequest', eventHandler: (adError: AstAdError) => void, targetId?: string): void;
95
+ (eventType: 'adError', eventHandler: (adError: AstAdError, adObj: AstAdObj) => void, targetId?: string): void;
96
+ (eventType: 'adLoadedMediated', eventHandler: (adObj: AstAdObj) => void, targetId?: string): void;
97
+ (eventType: 'adNoBidMediated', eventHandler: (adObj: AstAdObj) => void, targetId?: string): void;
98
+ }
99
+ interface AstNativeItem {
100
+ required: boolean;
101
+ }
102
+ type AstKeywordValue = Array<string> | string | number | Array<number> | undefined;
103
+ type AstKeywords = Record<string, AstKeywordValue> & {
104
+ 'se-generic-adformat'?: Array<string>;
105
+ 'se-generic-targetid'?: Array<string>;
106
+ 'se-sch-supply_type'?: Array<string>;
107
+ 'no-sno-adformat'?: Array<string>;
108
+ 'no-sno-targetid'?: Array<string>;
109
+ 'aa-sch-dynamic-outstream'?: Array<string>;
110
+ };
111
+ interface AstRendererOptions {
112
+ disableCollapse?: {
113
+ hideControlBar: boolean;
114
+ enabled: boolean;
115
+ replay: boolean;
116
+ };
117
+ playerSkin?: {
118
+ videoBackgroundColor: string;
119
+ };
120
+ safeFrameAutoInitialSize?: boolean;
121
+ aspectRatio?: string;
122
+ enableInlineVideoForIos?: boolean;
123
+ autoInitialSize?: boolean;
124
+ maxHeight?: MaxHeightParams;
125
+ fixedSizePlayer?: boolean;
126
+ }
127
+ interface MaxHeightParams {
128
+ enabled: boolean;
129
+ height: number;
130
+ }
131
+ interface AstNativeParams {
132
+ customTitle1: AstNativeItem;
133
+ customTitle2: AstNativeItem;
134
+ customTitle3: AstNativeItem;
135
+ customTitle4: AstNativeItem;
136
+ title: AstNativeItem;
137
+ body: AstNativeItem;
138
+ image: AstNativeItem;
139
+ icon: AstNativeItem;
140
+ sponsoredBy: AstNativeItem;
141
+ cta: AstNativeItem;
142
+ clickUrl: AstNativeItem;
143
+ desc2: AstNativeItem;
144
+ rating?: AstNativeItem;
145
+ displayUrl: AstNativeItem;
146
+ likes?: AstNativeItem;
147
+ downloads?: AstNativeItem;
148
+ price?: AstNativeItem;
149
+ saleprice?: AstNativeItem;
150
+ phone?: AstNativeItem;
151
+ address?: AstNativeItem;
152
+ description: AstNativeItem;
153
+ video?: AstNativeItem;
154
+ customIcon2?: AstNativeItem;
155
+ }
156
+ interface AstDefineTagParams {
157
+ invCode: string;
158
+ targetId: string;
159
+ sizes: Array<Array<number>>;
160
+ keywords?: AstKeywords;
161
+ rendererOptions?: AstRendererOptions;
162
+ native?: AstNativeParams;
163
+ allowedFormats?: Array<AstAdType>;
164
+ enableSafeFrame?: boolean;
165
+ externalImpId?: string;
166
+ resizeAdParentDiv?: boolean;
167
+ safeframeConfig?: SafeFrameConfig;
168
+ dynamicSizeWidthCheck?: boolean;
169
+ }
170
+ interface SafeFrameConfig {
171
+ allowExpansionByPush?: boolean;
172
+ allowExpansionByOverlay?: boolean;
173
+ }
174
+ interface EidsUserSource {
175
+ id: string;
176
+ source: string;
177
+ }
178
+ interface AstUserIds {
179
+ type: string;
180
+ eids: Array<EidsUserSource>;
181
+ }
182
+ interface AstUser {
183
+ externalUid?: string;
184
+ dnt?: boolean;
185
+ userIds?: Array<AstUserIds>;
186
+ }
187
+ interface AstTrackingManagement {
188
+ native?: {
189
+ loadViewabilityScriptAt?: 'adresponse' | 'impression';
190
+ };
191
+ }
192
+ interface AstRenderingManagement {
193
+ sandboxAdIframe: boolean;
194
+ sandboxAttributes: Array<string>;
195
+ }
196
+ interface AstPageOptions {
197
+ keywords: Record<string, AstKeywordValue>;
198
+ enableSafeFrame?: boolean;
199
+ disablePsa?: boolean;
200
+ user?: AstUser;
201
+ member?: number;
202
+ trackingManagement?: AstTrackingManagement;
203
+ renderingManagement?: AstRenderingManagement;
204
+ }
205
+ interface AstApnTagRequests {
206
+ user?: AstUser;
207
+ keywords: AstKeywords;
208
+ member: number;
209
+ tags: Record<string, {
210
+ adResponse: {
211
+ ads: Array<{
212
+ rtb: {
213
+ banner: AstBanner;
214
+ native: AstNative;
215
+ };
216
+ }>;
217
+ };
218
+ uuid?: string;
219
+ invCode?: string;
220
+ }>;
221
+ }
222
+ interface AstApnTag {
223
+ anq: Array<AstCommand>;
224
+ defineTag: (params: AstDefineTagParams) => AstTagObj;
225
+ showTag: (targetId: string) => void;
226
+ onEvent: AstOnEventFunction;
227
+ offEvent: (eventType: AstEventType, targetId: string) => void;
228
+ refresh: (targetIds: Array<string>) => void;
229
+ modifyTag: (targetId: string, params: Partial<AstDefineTagParams>) => void;
230
+ loadTags: (targetIds?: Array<string>) => void;
231
+ emitEvent: (targetId: string, eventName: string) => void;
232
+ setPageOpts: (params: AstPageOptions) => void;
233
+ resizeAd: (targetId: string, size: Array<string | number>, config?: {
234
+ resizeAdParentDiv?: boolean;
235
+ }) => void;
236
+ getAstVersion: () => string;
237
+ setEndpoint: (endpoint: string, freezeIbUrl: boolean) => void;
238
+ requests?: AstApnTagRequests;
239
+ fireImpressionTrackers: (nativeObject: AstAdObj) => void;
240
+ setKeywords: (ids: Array<string>, keywords: AstKeywords, options: {
241
+ overrideKeyValue: boolean;
242
+ }) => void;
243
+ clearRequest: (targetIds?: Array<string> | string) => void;
244
+ }
245
+ interface AstNativeIcon {
246
+ url: string;
247
+ height?: number;
248
+ width?: number;
249
+ prevent_crop?: boolean;
250
+ }
251
+
252
+ declare const DeviceTypes: {
253
+ readonly MOBILE: "mobile";
254
+ readonly TABLET: "tablet";
255
+ readonly DESKTOP: "desktop";
256
+ };
257
+ type DeviceType = (typeof DeviceTypes)[keyof typeof DeviceTypes];
258
+
259
+ declare const Countries: {
260
+ readonly NO: "no";
261
+ readonly SE: "se";
262
+ };
263
+ type Country = (typeof Countries)[keyof typeof Countries];
264
+
265
+ declare const PageTypes: {
266
+ readonly FRONT: "front";
267
+ readonly ARTICLE: "article";
268
+ readonly SECTION: "section";
269
+ readonly COLLECTION: "collection";
270
+ readonly OTHER: "other";
271
+ };
272
+ type PageType = (typeof PageTypes)[keyof typeof PageTypes];
273
+
274
+ interface AdvertisingIdentifiers {
275
+ xandr?: {
276
+ ppId1?: string;
277
+ ppId2?: string;
278
+ };
279
+ }
280
+ interface TrackerInstance {
281
+ getAdvertisingIdentifiers: () => Promise<AdvertisingIdentifiers>;
282
+ getUserId: () => Promise<undefined | string | number>;
283
+ getEnvironmentId: () => Promise<undefined | string>;
284
+ getActor: () => Promise<undefined | unknown>;
285
+ state?: {
286
+ pageViewId?: string;
287
+ };
288
+ }
289
+ interface PulseInstance {
290
+ pulseTracker: TrackerInstance;
291
+ getSDK: () => Promise<TrackerInstance>;
292
+ trackElementView?: (eventInput: unknown) => Promise<void>;
293
+ trackElementClick?: (eventInput: unknown) => Promise<void>;
294
+ trackClickUIElement?: (eventInput: unknown) => Promise<void>;
295
+ trackViewUIElement?: (eventInput: unknown) => Promise<void>;
296
+ }
297
+ interface Tracker {
298
+ clientId: string;
299
+ instance: TrackerInstance;
300
+ }
301
+ interface Pulse {
302
+ clientId: string;
303
+ instance: PulseInstance;
304
+ }
305
+
306
+ type MarginPriority = 'high' | 'normal' | 'low';
307
+ interface PrioEntry {
308
+ renderMargin: number;
309
+ refreshMargin: number;
310
+ }
311
+ interface PrioPreloadMarginMap {
312
+ high?: Partial<PrioEntry>;
313
+ normal?: Partial<PrioEntry>;
314
+ low?: Partial<PrioEntry>;
315
+ }
316
+
317
+ type DistributionTypes = 'REALESTATE' | 'REALESTATE_RETARGET' | 'REALESTATE_LEISURE' | 'REALESTATE_LEISURE_RETARGET' | 'REALESTATE_PROJECT' | 'REALESTATE_PROJECT_RETARGET' | 'CAR' | 'JOB';
318
+ interface BlinkConstructorOptions {
319
+ remote?: string;
320
+ id?: string;
321
+ hashed_email?: string;
322
+ theme?: string;
323
+ }
324
+ interface BlinkInstance {
325
+ inject: (options: unknown) => Promise<unknown>;
326
+ }
327
+ type BlinkConstructor = new (options: BlinkConstructorOptions) => BlinkInstance;
328
+
329
+ declare const Newsrooms: {
330
+ readonly SVD: "svd";
331
+ readonly VG: "vg";
332
+ readonly GODARE: "godare";
333
+ readonly AFTENPOSTEN: "aftenposten";
334
+ readonly SA: "sa";
335
+ readonly BT: "bt";
336
+ readonly AFTONBLADET: "aftonbladet";
337
+ readonly E24: "e24";
338
+ readonly MINMOTE: "minmote";
339
+ readonly PENT: "pent";
340
+ readonly GODT: "godt";
341
+ readonly TEK: "tekno";
342
+ readonly KLART: "klart";
343
+ readonly POLARIS: "polaris";
344
+ };
345
+ type Newsroom = (typeof Newsrooms)[keyof typeof Newsrooms];
346
+
347
+ interface SiteConfig {
348
+ publisher: string;
349
+ country: Country;
350
+ astUrl?: string;
351
+ gptUrl?: string;
352
+ testMember?: number;
353
+ pageType: PageType;
354
+ pageOptions: AstPageOptions;
355
+ placements: Placements;
356
+ keywordsConfig?: KeywordsConfig;
357
+ deviceType: DeviceType;
358
+ isMobileApp?: boolean;
359
+ glimr?: GlimrConfig;
360
+ tcf?: TCFConfig;
361
+ prebid?: PrebidConfig;
362
+ tracker?: Tracker;
363
+ pulse?: Pulse;
364
+ finnBlink?: FinnBlinkConfig;
365
+ wallpaper?: WallpaperConfig;
366
+ fullscreenScroll?: FullscreenScrollConfig;
367
+ appearanceConfig: AppearanceConfig;
368
+ queryConfig?: QueryConfig;
369
+ refreshConfig?: RefreshConfig;
370
+ preloadMarginsConfig?: Record<DeviceType, PrioPreloadMarginMap>;
371
+ takeover?: TakeoverConfig;
372
+ brandmetrics?: BrandmetricsConfig;
373
+ gdpr?: GdprConfig;
374
+ brandboard?: BrandboardConfig;
375
+ norstat?: NorstatConfig;
376
+ siteSpecificConfig?: SiteSpecificConfig;
377
+ sponsorstripe?: SponsorstripeConfig;
378
+ privacyBroker?: PrivacyBrokerConfig;
379
+ drEdition?: DrEditionConfig;
380
+ forwardExternalImpId?: boolean;
381
+ requestSize?: number;
382
+ nativeTrackingConfig?: NativeTrackingConfig;
383
+ sandboxAdIframeEnabled?: boolean;
384
+ pageSectionsSelectors?: PageSectionsSelectors;
385
+ editableConfiguration?: {
386
+ useS3Config?: boolean;
387
+ pageTypeToFetch?: string;
388
+ };
389
+ }
390
+ interface NativeTrackingConfig {
391
+ nativeTrackingEnabled?: boolean;
392
+ fireImpressionsBasedOnAppearanceThreshold?: boolean;
393
+ }
394
+ interface SiteSpecificConfig {
395
+ publisherClassName?: Newsroom;
396
+ fullWidthFormatClassName?: 'netboard' | 'panorama';
397
+ classesToRemoveOnRefresh?: Array<string>;
398
+ }
399
+ interface Placement {
400
+ id: string;
401
+ sizes: Array<Array<number>>;
402
+ allowedFormats: Array<AstAdType>;
403
+ invCode: string;
404
+ keywords: any;
405
+ refresh?: boolean;
406
+ bfCacheRefresh?: boolean;
407
+ priority?: MarginPriority;
408
+ ssa?: boolean;
409
+ threshold?: number;
410
+ finnBlink?: FinnBlinkPlacementConfig;
411
+ nativeCustomProperties?: Array<string>;
412
+ minViewWidth?: number;
413
+ dynamicSizeWidthCheck?: boolean;
414
+ safeframeConfig?: SafeFrameConfig;
415
+ resizeAdParentDiv?: boolean;
416
+ positionConfig?: Array<PositionConfig>;
417
+ drEdition?: DrEditionPlacementConfig;
418
+ isBackfill?: boolean;
419
+ }
420
+ interface Placements {
421
+ desktop: Array<Placement>;
422
+ tablet: Array<Placement>;
423
+ mobile: Array<Placement>;
424
+ }
425
+ interface AppearanceConfig {
426
+ defaultThreshold: {
427
+ mobile: number;
428
+ tablet: number;
429
+ desktop: number;
430
+ };
431
+ clearProbableDimensionsEnabled?: boolean;
432
+ isDarkModeEnabled?: boolean;
433
+ mainColumnWidth?: number;
434
+ subsectionTheme?: string;
435
+ }
436
+ interface PageSectionsSelectors {
437
+ top?: string;
438
+ left?: string;
439
+ right?: string;
440
+ main?: string;
441
+ mainFirstColumn?: string;
442
+ mainSecondColumn?: string;
443
+ }
444
+ interface KeywordsConfig {
445
+ includeCountingKeywordInTags?: boolean;
446
+ sponsors?: string;
447
+ }
448
+ interface QueryConfig {
449
+ queryByDataDevice?: boolean;
450
+ lazyLoadingV3?: {
451
+ enabled: boolean;
452
+ rootMargin: string;
453
+ };
454
+ placementBatches?: PlacementBatchesConfig;
455
+ }
456
+ interface PositionConfig {
457
+ adPositionIndex: number;
458
+ sizes?: Array<Array<number>>;
459
+ keywords?: AstKeywords;
460
+ }
461
+ type FinnBlinkTheme = 'light' | 'dark';
462
+ interface FinnBlinkConfig {
463
+ enabled?: boolean;
464
+ channel?: string;
465
+ userId?: string;
466
+ uuid?: string;
467
+ identifierUrl?: string;
468
+ theme?: FinnBlinkTheme;
469
+ replacementConfig?: {
470
+ adsToReplace?: Array<Array<string>>;
471
+ sizes?: {
472
+ width: number;
473
+ height: number;
474
+ };
475
+ };
476
+ }
477
+ interface FinnBlinkPlacementConfig {
478
+ enabled: boolean;
479
+ renderOnlyWithAdBlock?: boolean;
480
+ position: string;
481
+ distributionTypes?: Array<DistributionTypes>;
482
+ height?: number;
483
+ limit?: number;
484
+ offset?: number;
485
+ requireImage?: boolean;
486
+ rec?: boolean;
487
+ theme?: FinnBlinkTheme;
488
+ advertoryTheme?: string;
489
+ }
490
+ interface PrebidConfig {
491
+ enabled: boolean;
492
+ url: string;
493
+ id: string;
494
+ externalUidInAuctionEnabled: boolean;
495
+ relevantCbTimeout?: number;
496
+ forwardGlimrTags?: boolean;
497
+ }
498
+ interface TCFConfig {
499
+ enabled: boolean;
500
+ timeout?: number;
501
+ }
502
+ interface GlimrConfig {
503
+ enabled: boolean;
504
+ clientId: string;
505
+ }
506
+ interface WallpaperConfig {
507
+ enabled: boolean;
508
+ options?: WallpaperConfigOptions;
509
+ }
510
+ interface WallpaperConfigOptions {
511
+ appMainContainerSelector?: string;
512
+ wallpaperAnchorSelector?: string;
513
+ }
514
+ interface BrandmetricsConfig {
515
+ enabled: boolean;
516
+ url: string;
517
+ }
518
+ interface GdprConfig {
519
+ url?: string;
520
+ allowHidingAds?: boolean;
521
+ }
522
+ interface FullscreenScrollConfig {
523
+ fadingHeaderEnabled: boolean;
524
+ headerSelectors: Array<string>;
525
+ skyscraperSelectors?: Array<string>;
526
+ headerZIndex: number;
527
+ overlayStyles?: OverlayStyles;
528
+ moveCogwheelToTheLeft?: boolean;
529
+ }
530
+ interface OverlayStyles {
531
+ backgroundColor?: string;
532
+ foregroundColor?: string;
533
+ articlesContainerWidth?: number;
534
+ margin?: string;
535
+ beforeContentValue?: string;
536
+ }
537
+ interface RefreshConfig {
538
+ delayTime?: number;
539
+ scrollRefreshEnabled?: boolean;
540
+ visibilityStateRefreshEnabled?: boolean;
541
+ backForwardNavigationRefreshEnabled?: boolean;
542
+ }
543
+ interface WelcomePageConfig {
544
+ showArrowIcon?: boolean;
545
+ headerElementSelector?: string;
546
+ buttonLabel?: string;
547
+ showCloseButton?: boolean;
548
+ }
549
+ interface BrandboardConfig {
550
+ enabled: boolean;
551
+ sidebarContainerSelector: string;
552
+ sidebarItemsContainerSelector: string;
553
+ }
554
+ interface SplashConfig {
555
+ themeColors?: ThemeColors;
556
+ buttonLabel: string;
557
+ logotype: Logotype;
558
+ showArrowIcon?: boolean;
559
+ showAnnonsLabel?: boolean;
560
+ }
561
+ interface TakeoverConfig {
562
+ enabled?: boolean;
563
+ splash?: SplashConfig;
564
+ welcomePage?: WelcomePageConfig;
565
+ topscroller?: WelcomePageConfig;
566
+ cookieCapName?: string | null;
567
+ cookieCapTime?: number;
568
+ setCookieCapForNotShownAd?: boolean;
569
+ }
570
+ interface Logotype {
571
+ url: string;
572
+ alt: string;
573
+ }
574
+ interface ThemeColors {
575
+ backgroundColor: string;
576
+ color: string;
577
+ }
578
+ interface NorstatConfig {
579
+ enabled: true;
580
+ }
581
+ interface SponsorstripeConfig {
582
+ toogleEnabled: boolean;
583
+ headerSelector?: string;
584
+ containersSelectors?: Array<string>;
585
+ }
586
+ interface PrivacyBrokerConfig {
587
+ enabled: boolean;
588
+ clientId: string;
589
+ storageKeyPrefix: string;
590
+ }
591
+ interface DrEditionConfig {
592
+ enabled: boolean;
593
+ containerSelector: string;
594
+ wrapperSelector: string;
595
+ fallbackGlobalEditionName?: string;
596
+ videoScriptUrl?: string;
597
+ addPreviewVideo?: (videoElement: HTMLElement) => void;
598
+ }
599
+ interface DrEditionPlacementConfig {
600
+ editionName: string;
601
+ }
602
+ interface DevicePlacementBatches {
603
+ [key: string]: Array<string>;
604
+ }
605
+ type PlacementBatchesConfig = {
606
+ [device in DeviceType]: DevicePlacementBatches;
607
+ };
608
+
609
+ type IsConsentedToAll = (callback: ConsentedToAllCallback) => void;
610
+ type ConsentedToAllCallback = (value: boolean) => void;
611
+ type GetConsentToAllSync = () => boolean | null;
612
+ interface ConsentManager {
613
+ getConsentedToAllSync: GetConsentToAllSync;
614
+ isConsentedToAll: IsConsentedToAll;
615
+ }
616
+
617
+ interface AlertoryTag {
618
+ invCode: string;
619
+ sizes: Array<Array<number>>;
620
+ adTypes?: Array<AstAdType>;
621
+ keywords?: AstKeywords;
622
+ }
623
+ interface XandrConfig {
624
+ member?: number;
625
+ keywords: AstKeywords;
626
+ tags: Array<Array<AlertoryTag>>;
627
+ }
628
+ interface AlertoryConfig {
629
+ xandr: XandrConfig;
630
+ advertory: Partial<SiteConfig>;
631
+ }
632
+
633
+ declare const ES_MODULE_KEYS: {
634
+ readonly Blink: "Blink";
635
+ };
636
+ type ESModuleKey = (typeof ES_MODULE_KEYS)[keyof typeof ES_MODULE_KEYS];
637
+ type ESMModules = {
638
+ [K in ESModuleKey]?: BlinkConstructor;
639
+ };
640
+
641
+ declare global {
642
+ interface Window extends ESMModules {
643
+ apntag: AstApnTag;
644
+ relevantDigital: any;
645
+ Identity: Identity;
646
+ SvD: any;
647
+ gdpr: {
648
+ allowHidingAds: boolean;
649
+ setupButton: (targetId: string) => void;
650
+ };
651
+ _scc_: any;
652
+ _tcf_?: ConsentManager;
653
+ __tcfapi: any;
654
+ _brandmetrics: any;
655
+ SVP?: any;
656
+ advertory_idfv?: string;
657
+ advertory_anId?: string;
658
+ advertory: {
659
+ initialized: boolean;
660
+ siteConfig: SiteConfig;
661
+ renderedDrEditionAds?: Array<string>;
662
+ alertoryConfig?: AlertoryConfig;
663
+ };
664
+ advertoryFluepapir: boolean;
665
+ autoplayQueue: Array<(autoplay: {
666
+ parse: () => void;
667
+ }) => void>;
668
+ }
669
+ interface Document {
670
+ prerendering: boolean;
671
+ }
672
+ interface Navigator {
673
+ globalPrivacyControl?: boolean;
674
+ }
675
+ }
676
+
677
+ declare module 'glimr-sdk' {
678
+ function setTagCacheTimeInSeconds(time: number): void;
679
+ function getTags(clientId: string, fn: (tags: Array<string>, tagsMapping: any) => void): void;
680
+ export { setTagCacheTimeInSeconds, getTags };
681
+ }
682
+
683
+ declare module '*.png' {
684
+ const pngValue: string;
685
+ export { pngValue };
686
+ }
687
+
688
+ interface UpdateAdvertoryConfig {
689
+ clearAds?: boolean;
690
+ reloadExistingAds?: boolean;
691
+ renderFinnBlinkPlacements?: boolean;
692
+ contextSelector?: string;
693
+ }
694
+
695
+ declare const updateAdvertory: (configPropertiesToUpdate?: Partial<SiteConfig>, updateAdvertoryConfig?: UpdateAdvertoryConfig) => Promise<Array<Placement>>;
696
+
697
+ declare const initAdvertoryPackage: (config: SiteConfig) => Promise<void>;
698
+
699
+ export { initAdvertoryPackage, updateAdvertory };