@times-components/ad 2.20.3 → 2.21.1
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 +19 -0
- package/README.md +1 -14
- package/babel.config.js +14 -5
- package/dist/ad-composer-prop-types.js +63 -1
- package/dist/ad-composer.js +27 -1
- package/dist/ad-container.js +48 -1
- package/dist/ad-placeholder-prop-types.js +21 -1
- package/dist/ad-prop-types.js +31 -1
- package/dist/ad.js +177 -1
- package/dist/dom-context-prop-types-base.js +27 -1
- package/dist/dom-context-prop-types.js +21 -1
- package/dist/dom-context.js +116 -1
- package/dist/styles/index.js +13 -1
- package/dist/styles/index.shared.js +53 -1
- package/dist/utils/ad-init.js +473 -1
- package/dist/utils/generate-config.js +85 -1
- package/dist/utils/index.js +39 -1
- package/dist/utils/logger.js +37 -1
- package/dist/utils/prebid-config.js +137 -1
- package/dist/utils/sizes.js +75 -1
- package/dist/utils/webview-event-callback-setup.js +36 -1
- package/package.json +12 -14
- package/rnw.js +1 -1
|
@@ -1 +1,85 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.slotPositions = exports.getMaxSizes = exports.getSlotConfig = exports.getAdSizes = void 0;
|
|
7
|
+
|
|
8
|
+
var _sizes = _interopRequireDefault(require("./sizes"));
|
|
9
|
+
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
+
|
|
12
|
+
const getMaxSizes = adSizes => {
|
|
13
|
+
if (!adSizes) {
|
|
14
|
+
return {
|
|
15
|
+
height: 0,
|
|
16
|
+
width: 0
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
return adSizes.reduce((max, [curWidth, curHeight]) => ({
|
|
21
|
+
height: Math.max(max.height, curHeight),
|
|
22
|
+
width: Math.max(max.width, curWidth)
|
|
23
|
+
}), {
|
|
24
|
+
height: 0,
|
|
25
|
+
width: 0
|
|
26
|
+
});
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
exports.getMaxSizes = getMaxSizes;
|
|
30
|
+
const slotPositions = {
|
|
31
|
+
"ad-header": 1,
|
|
32
|
+
"ad-mpu": 3,
|
|
33
|
+
"ad-pixel": 2,
|
|
34
|
+
"ad-pixelskin": 2,
|
|
35
|
+
"ad-pixelteads": 2,
|
|
36
|
+
"article-sponsored-ad": 2,
|
|
37
|
+
default: 0,
|
|
38
|
+
header: 1,
|
|
39
|
+
mpu: 3,
|
|
40
|
+
pixel: 2,
|
|
41
|
+
pixelskin: 2,
|
|
42
|
+
pixelteads: 2
|
|
43
|
+
};
|
|
44
|
+
exports.slotPositions = slotPositions;
|
|
45
|
+
const sizeMap = {
|
|
46
|
+
"ad-header": _sizes.default.header,
|
|
47
|
+
"ad-mpu": _sizes.default.mpu,
|
|
48
|
+
"ad-pixel": _sizes.default.pixel,
|
|
49
|
+
"ad-pixelskin": _sizes.default.pixelskin,
|
|
50
|
+
"ad-pixelteads": _sizes.default.pixelteads,
|
|
51
|
+
"article-sponsored-ad": _sizes.default.pixel,
|
|
52
|
+
default: _sizes.default.intervention,
|
|
53
|
+
header: _sizes.default.header,
|
|
54
|
+
mpu: _sizes.default.mpu,
|
|
55
|
+
"native-inline-ad": _sizes.default.native,
|
|
56
|
+
pixel: _sizes.default.pixel,
|
|
57
|
+
pixelskin: _sizes.default.pixel,
|
|
58
|
+
pixelteads: _sizes.default.pixel
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
const getAdSizes = (adSizeMap, width) => {
|
|
62
|
+
for (let i = adSizeMap.length - 1; i >= 0; i -= 1) {
|
|
63
|
+
if (width >= adSizeMap[i].width) {
|
|
64
|
+
return adSizeMap[i].sizes;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
return [];
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
exports.getAdSizes = getAdSizes;
|
|
72
|
+
|
|
73
|
+
const getSlotConfig = (slotName, width) => {
|
|
74
|
+
const mappings = sizeMap[slotName] || sizeMap.default;
|
|
75
|
+
const adSizes = getAdSizes(mappings, width);
|
|
76
|
+
const maxSizes = getMaxSizes(adSizes);
|
|
77
|
+
return {
|
|
78
|
+
mappings,
|
|
79
|
+
maxSizes,
|
|
80
|
+
sizes: adSizes,
|
|
81
|
+
slotName
|
|
82
|
+
};
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
exports.getSlotConfig = getSlotConfig;
|
package/dist/utils/index.js
CHANGED
|
@@ -1 +1,39 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "getAdSizes", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _generateConfig.getAdSizes;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "getMaxSizes", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function () {
|
|
15
|
+
return _generateConfig.getMaxSizes;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
Object.defineProperty(exports, "getSlotConfig", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function () {
|
|
21
|
+
return _generateConfig.getSlotConfig;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
Object.defineProperty(exports, "prebidConfig", {
|
|
25
|
+
enumerable: true,
|
|
26
|
+
get: function () {
|
|
27
|
+
return _prebidConfig.prebidConfig;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
Object.defineProperty(exports, "getPrebidSlotConfig", {
|
|
31
|
+
enumerable: true,
|
|
32
|
+
get: function () {
|
|
33
|
+
return _prebidConfig.getPrebidSlotConfig;
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
var _generateConfig = require("./generate-config");
|
|
38
|
+
|
|
39
|
+
var _prebidConfig = require("./prebid-config");
|
package/dist/utils/logger.js
CHANGED
|
@@ -1 +1,37 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
/* eslint-disable no-console */
|
|
9
|
+
var _default = (type, detail) => {
|
|
10
|
+
switch (type) {
|
|
11
|
+
case "error":
|
|
12
|
+
console.error(detail);
|
|
13
|
+
break;
|
|
14
|
+
|
|
15
|
+
case "warn":
|
|
16
|
+
console.warn(detail);
|
|
17
|
+
break;
|
|
18
|
+
|
|
19
|
+
case "info":
|
|
20
|
+
console.info(detail);
|
|
21
|
+
break;
|
|
22
|
+
|
|
23
|
+
case "debug":
|
|
24
|
+
console.debug(detail);
|
|
25
|
+
break;
|
|
26
|
+
|
|
27
|
+
case "log":
|
|
28
|
+
console.log(detail);
|
|
29
|
+
break;
|
|
30
|
+
|
|
31
|
+
default:
|
|
32
|
+
console.log(type);
|
|
33
|
+
console.log(detail);
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
exports.default = _default;
|
|
@@ -1 +1,137 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getPrebidSlotConfig = exports.prebidConfig = void 0;
|
|
7
|
+
|
|
8
|
+
var _generateConfig = require("./generate-config");
|
|
9
|
+
|
|
10
|
+
const bidderSettings = ({
|
|
11
|
+
maxBid,
|
|
12
|
+
minPrice,
|
|
13
|
+
bucketSize
|
|
14
|
+
}) => ({
|
|
15
|
+
adserverTargeting: [{
|
|
16
|
+
key: "hb_bidder",
|
|
17
|
+
|
|
18
|
+
val(bidResponse) {
|
|
19
|
+
return bidResponse.bidder;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
}, {
|
|
23
|
+
key: "hb_adid",
|
|
24
|
+
|
|
25
|
+
val(bidResponse) {
|
|
26
|
+
return bidResponse.adId;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
}, {
|
|
30
|
+
key: "hb_pb",
|
|
31
|
+
|
|
32
|
+
val(bidResponse) {
|
|
33
|
+
if (bidResponse.cpm > maxBid) {
|
|
34
|
+
return maxBid.toFixed(2);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
if (bidResponse.cpm < bucketSize) {
|
|
38
|
+
return minPrice.toFixed(2);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
return (bidResponse.cpm - bidResponse.cpm % bucketSize).toFixed(2);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
}, {
|
|
45
|
+
key: "hb_size",
|
|
46
|
+
|
|
47
|
+
val(bidResponse) {
|
|
48
|
+
return bidResponse.size;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
}]
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
const getPrebidSlotConfig = (slot, section, width, biddersConfig) => {
|
|
55
|
+
const position = _generateConfig.slotPositions[slot] || _generateConfig.slotPositions.default;
|
|
56
|
+
const {
|
|
57
|
+
sizes
|
|
58
|
+
} = (0, _generateConfig.getSlotConfig)(slot, width);
|
|
59
|
+
let bids = [];
|
|
60
|
+
|
|
61
|
+
if (biddersConfig.ix && biddersConfig.ix.siteId) {
|
|
62
|
+
bids = bids.concat(sizes.map(size => ({
|
|
63
|
+
bidder: "ix",
|
|
64
|
+
params: {
|
|
65
|
+
siteId: biddersConfig.ix.siteId,
|
|
66
|
+
size
|
|
67
|
+
}
|
|
68
|
+
})));
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
if (biddersConfig.appnexus && biddersConfig.appnexus.placementId) {
|
|
72
|
+
bids.push({
|
|
73
|
+
bidder: "appnexus",
|
|
74
|
+
params: {
|
|
75
|
+
keywords: {
|
|
76
|
+
pos: position,
|
|
77
|
+
section
|
|
78
|
+
},
|
|
79
|
+
placementId: biddersConfig.appnexus.placementId,
|
|
80
|
+
position
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
if (biddersConfig.rubicon && biddersConfig.rubicon.accountId) {
|
|
86
|
+
bids.push({
|
|
87
|
+
bidder: "rubicon",
|
|
88
|
+
params: {
|
|
89
|
+
accountId: biddersConfig.rubicon.accountId,
|
|
90
|
+
keywords: [section],
|
|
91
|
+
position: position === 1 ? "atf" : "btf",
|
|
92
|
+
siteId: biddersConfig.rubicon.siteId,
|
|
93
|
+
zoneId: biddersConfig.rubicon.zoneId
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
return {
|
|
99
|
+
bids,
|
|
100
|
+
code: slot,
|
|
101
|
+
mediaTypes: {
|
|
102
|
+
banner: {
|
|
103
|
+
sizes
|
|
104
|
+
}
|
|
105
|
+
},
|
|
106
|
+
sizes
|
|
107
|
+
};
|
|
108
|
+
};
|
|
109
|
+
|
|
110
|
+
exports.getPrebidSlotConfig = getPrebidSlotConfig;
|
|
111
|
+
const prebidConfig = {
|
|
112
|
+
bidderSettings,
|
|
113
|
+
init: {
|
|
114
|
+
bidderSequence: "random",
|
|
115
|
+
bidTimeout: 3000,
|
|
116
|
+
cache: {
|
|
117
|
+
url: "https://prebid.adnxs.com/pbc/v1/cache"
|
|
118
|
+
},
|
|
119
|
+
consentManagement: {
|
|
120
|
+
allowAuctionWithoutConsent: true,
|
|
121
|
+
cmpApi: "iab",
|
|
122
|
+
timeout: 3000
|
|
123
|
+
},
|
|
124
|
+
disableAjaxTimeout: false,
|
|
125
|
+
enableSendAllBids: true,
|
|
126
|
+
maxRequestsPerOrigin: 4,
|
|
127
|
+
priceGranularity: "medium",
|
|
128
|
+
timeoutBuffer: 400,
|
|
129
|
+
userSync: {
|
|
130
|
+
enableOverride: false,
|
|
131
|
+
syncDelay: 3000,
|
|
132
|
+
syncEnabled: true,
|
|
133
|
+
syncsPerBidder: 5
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
};
|
|
137
|
+
exports.prebidConfig = prebidConfig;
|
package/dist/utils/sizes.js
CHANGED
|
@@ -1 +1,75 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
const billboard = [970, 250];
|
|
8
|
+
const leaderboard = [728, 90];
|
|
9
|
+
const mobileStandard = [300, 50];
|
|
10
|
+
const wideLeaderboard = [970, 90];
|
|
11
|
+
const sizes = {
|
|
12
|
+
header: [{
|
|
13
|
+
height: 0,
|
|
14
|
+
sizes: [],
|
|
15
|
+
width: 0
|
|
16
|
+
}, {
|
|
17
|
+
height: 100,
|
|
18
|
+
sizes: [[320, 50], [320, 48], mobileStandard],
|
|
19
|
+
width: 300
|
|
20
|
+
}, {
|
|
21
|
+
height: 90,
|
|
22
|
+
sizes: [leaderboard],
|
|
23
|
+
width: 768
|
|
24
|
+
}, {
|
|
25
|
+
height: 250,
|
|
26
|
+
sizes: [billboard, wideLeaderboard, leaderboard],
|
|
27
|
+
width: 1024
|
|
28
|
+
}],
|
|
29
|
+
intervention: [{
|
|
30
|
+
height: 0,
|
|
31
|
+
sizes: [],
|
|
32
|
+
width: 0
|
|
33
|
+
}, {
|
|
34
|
+
height: 100,
|
|
35
|
+
sizes: [[300, 250], [320, 50], [320, 48], mobileStandard],
|
|
36
|
+
width: 300
|
|
37
|
+
}, {
|
|
38
|
+
height: 90,
|
|
39
|
+
sizes: [leaderboard],
|
|
40
|
+
width: 768
|
|
41
|
+
}, {
|
|
42
|
+
height: 250,
|
|
43
|
+
sizes: [billboard, wideLeaderboard, leaderboard],
|
|
44
|
+
width: 1024
|
|
45
|
+
}],
|
|
46
|
+
mpu: [{
|
|
47
|
+
height: 0,
|
|
48
|
+
sizes: [],
|
|
49
|
+
width: 0
|
|
50
|
+
}, {
|
|
51
|
+
height: 250,
|
|
52
|
+
sizes: [[300, 250], [300, 600]],
|
|
53
|
+
width: 300
|
|
54
|
+
}],
|
|
55
|
+
native: [{
|
|
56
|
+
height: 250,
|
|
57
|
+
sizes: [[300, 250]],
|
|
58
|
+
width: 300
|
|
59
|
+
}, {
|
|
60
|
+
height: 90,
|
|
61
|
+
sizes: [leaderboard],
|
|
62
|
+
width: 728
|
|
63
|
+
}, {
|
|
64
|
+
height: 250,
|
|
65
|
+
sizes: [billboard],
|
|
66
|
+
width: 970
|
|
67
|
+
}],
|
|
68
|
+
pixel: [{
|
|
69
|
+
height: 0,
|
|
70
|
+
sizes: [[1, 1]],
|
|
71
|
+
width: 0
|
|
72
|
+
}]
|
|
73
|
+
};
|
|
74
|
+
var _default = sizes;
|
|
75
|
+
exports.default = _default;
|
|
@@ -1 +1,36 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
// NOTE: this function must be self-contained, i.e. contain no references to variables
|
|
9
|
+
// defined outside the function, so that it can be passed into a WebView.
|
|
10
|
+
|
|
11
|
+
/* eslint-env browser */
|
|
12
|
+
const webviewEventCallbackSetup = options => {
|
|
13
|
+
const {
|
|
14
|
+
window
|
|
15
|
+
} = options;
|
|
16
|
+
|
|
17
|
+
window.eventCallback = (type, detail) => {
|
|
18
|
+
window.postMessage(JSON.stringify({
|
|
19
|
+
detail,
|
|
20
|
+
isTngMessage: true,
|
|
21
|
+
type
|
|
22
|
+
}));
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
window.addEventListener("error", ev => {
|
|
26
|
+
const file = (ev.filename || "").substring(0, 100);
|
|
27
|
+
window.eventCallback("error", `msg=${ev.message || ""}, file=${file}, line=${ev.lineno || ""}, col=${ev.colno || ""}`);
|
|
28
|
+
}); // eslint-disable-next-line no-console
|
|
29
|
+
|
|
30
|
+
window.console.error = (...args) => {
|
|
31
|
+
window.eventCallback("error", args.join("\n"));
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
var _default = webviewEventCallbackSetup;
|
|
36
|
+
exports.default = _default;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@times-components/ad",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.21.1",
|
|
4
4
|
"description": "Ad component",
|
|
5
5
|
"main": "dist/ad",
|
|
6
6
|
"dev": "src/ad",
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"prettier:diff": "prettier --list-different '**/*.*'",
|
|
11
11
|
"depcheck": "depcheck --ignores='@babel/*,babel-*,depcheck,eslint,jest,prettier,webpack*' --ignore-bin-package=false --skip-missing",
|
|
12
12
|
"lint": "eslint . && yarn prettier:diff && yarn depcheck",
|
|
13
|
-
"test:web": "jest --config='./__tests__/
|
|
13
|
+
"test:web": "jest --config='./__tests__/jest.config.js'",
|
|
14
14
|
"watch": "watch 'yarn bundle' ./src --ignoreDotFiles --ignoreUnreadable",
|
|
15
15
|
"cleanup-dist": "rm -rf dist",
|
|
16
16
|
"transpile": "yarn cleanup-dist && babel src -d dist",
|
|
@@ -29,15 +29,14 @@
|
|
|
29
29
|
"devDependencies": {
|
|
30
30
|
"@babel/core": "7.4.4",
|
|
31
31
|
"@times-components/eslint-config-thetimes": "0.8.18",
|
|
32
|
-
"@times-components/jest-configurator": "
|
|
33
|
-
"@times-components/jest-serializer": "3.
|
|
34
|
-
"@times-components/storybook": "4.
|
|
35
|
-
"@times-components/test-utils": "2.
|
|
36
|
-
"@times-components/webpack-configurator": "2.0
|
|
32
|
+
"@times-components/jest-configurator-web": "0.8.0",
|
|
33
|
+
"@times-components/jest-serializer": "3.4.1",
|
|
34
|
+
"@times-components/storybook": "4.5.1",
|
|
35
|
+
"@times-components/test-utils": "2.4.0",
|
|
36
|
+
"@times-components/webpack-configurator": "2.1.0",
|
|
37
37
|
"babel-jest": "24.8.0",
|
|
38
38
|
"babel-loader": "8.0.5",
|
|
39
|
-
"babel-plugin-
|
|
40
|
-
"babel-plugin-styled-components": "1.10.6",
|
|
39
|
+
"babel-plugin-transform-class-properties": "6.24.1",
|
|
41
40
|
"depcheck": "0.6.9",
|
|
42
41
|
"enzyme": "3.9.0",
|
|
43
42
|
"eslint": "5.9.0",
|
|
@@ -48,12 +47,11 @@
|
|
|
48
47
|
"react": "16.9.0",
|
|
49
48
|
"react-dom": "16.9.0",
|
|
50
49
|
"react-test-renderer": "16.9.0",
|
|
51
|
-
"webpack": "4.30.0"
|
|
52
|
-
"webpack-cli": "3.3.1"
|
|
50
|
+
"webpack": "4.30.0"
|
|
53
51
|
},
|
|
54
52
|
"dependencies": {
|
|
55
|
-
"@times-components/ts-styleguide": "1.
|
|
56
|
-
"@times-components/utils": "6.
|
|
53
|
+
"@times-components/ts-styleguide": "1.37.1",
|
|
54
|
+
"@times-components/utils": "6.15.1",
|
|
57
55
|
"prop-types": "15.7.2",
|
|
58
56
|
"react-broadcast": "0.5.2"
|
|
59
57
|
},
|
|
@@ -68,5 +66,5 @@
|
|
|
68
66
|
"publishConfig": {
|
|
69
67
|
"access": "public"
|
|
70
68
|
},
|
|
71
|
-
"gitHead": "
|
|
69
|
+
"gitHead": "d33c3115e165e09794ffdfd7931e217620f7ce07"
|
|
72
70
|
}
|
package/rnw.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
module.exports=function(e){var t={};function r(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)r.d(n,i,function(t){return e[t]}.bind(null,i));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=13)}([function(e,t){e.exports=require("@babel/runtime/helpers/interopRequireDefault")},function(e,t){e.exports=require("prop-types")},function(e,t){e.exports=require("@babel/runtime/helpers/defineProperty")},function(e,t){e.exports=require("react")},function(e,t){e.exports=require("@babel/runtime/helpers/classCallCheck")},function(e,t){e.exports=require("@babel/runtime/helpers/createClass")},function(e,t){e.exports=require("@babel/runtime/helpers/inherits")},function(e,t){e.exports=require("@babel/runtime/helpers/possibleConstructorReturn")},function(e,t){e.exports=require("@babel/runtime/helpers/getPrototypeOf")},function(e,t){e.exports=require("react-broadcast")},function(e,t){e.exports=require("@times-components/utils/rnw")},function(e,t,r){var n=r(0);Object.defineProperty(t,"__esModule",{value:!0}),t.slotPositions=t.getMaxSizes=t.getSlotConfig=t.getAdSizes=void 0;var i=n(r(16)),o=n(r(17)),a=function(e){return e?e.reduce((function(e,t){var r=(0,i.default)(t,2),n=r[0],o=r[1];return{height:Math.max(e.height,o),width:Math.max(e.width,n)}}),{height:0,width:0}):{height:0,width:0}};t.getMaxSizes=a;t.slotPositions={"ad-header":1,"ad-mpu":3,"ad-pixel":2,"ad-pixelskin":2,"ad-pixelteads":2,"article-sponsored-ad":2,default:0,header:1,mpu:3,pixel:2,pixelskin:2,pixelteads:2};var s={"ad-header":o.default.header,"ad-mpu":o.default.mpu,"ad-pixel":o.default.pixel,"ad-pixelskin":o.default.pixelskin,"ad-pixelteads":o.default.pixelteads,"article-sponsored-ad":o.default.pixel,default:o.default.intervention,header:o.default.header,mpu:o.default.mpu,"native-inline-ad":o.default.native,pixel:o.default.pixel,pixelskin:o.default.pixel,pixelteads:o.default.pixel},u=function(e,t){for(var r=e.length-1;r>=0;r-=1)if(t>=e[r].width)return e[r].sizes;return[]};t.getAdSizes=u;t.getSlotConfig=function(e,t){var r=s[e]||s.default,n=u(r,t);return{mappings:r,maxSizes:a(n),sizes:n,slotName:e}}},function(e,t,r){var n=r(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=n(r(22)).default;t.default=i},function(e,t,r){var n=r(0);Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"AdContainer",{enumerable:!0,get:function(){return b.default}}),Object.defineProperty(t,"AdComposer",{enumerable:!0,get:function(){return m.default}}),t.default=void 0;var i=n(r(2)),o=n(r(14)),a=n(r(4)),s=n(r(5)),u=n(r(6)),d=n(r(7)),l=n(r(8)),c=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=w(t);if(r&&r.has(e))return r.get(e);var n={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var a=i?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(n,o,a):n[o]=e[o]}n.default=e,r&&r.set(e,n);return n}(r(3)),f=r(9),p=r(10),g=r(15),h=n(r(19)),b=n(r(21)),v=n(r(24)),m=n(r(28)),y=r(30),O=n(r(12));function w(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(w=function(e){return e?r:t})(e)}function x(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function P(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?x(Object(r),!0).forEach((function(t){(0,i.default)(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):x(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function j(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=(0,l.default)(e);if(t){var i=(0,l.default)(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return(0,d.default)(this,r)}}var S=function(e){(0,u.default)(r,e);var t=j(r);function r(e){var n;(0,a.default)(this,r),(n=t.call(this,e)).setAdReady=function(){n.setState({isAdReady:!0})},n.setAdError=function(){n.setState({hasError:!0})};var i=e.slotName;return n.prebidConfig=g.prebidConfig,n.state={config:(0,g.getSlotConfig)(i,(0,p.screenWidth)()),hasError:!1,isAdReady:!1,hasAdBlock:!1},n}return(0,s.default)(r,[{key:"componentDidMount",value:function(){this.setState({hasAdBlock:window.hasAdBlock})}},{key:"renderAd",value:function(e){var t=this.props,r=t.baseUrl,n=t.contextUrl,i=t.isLoading,a=t.section,s=t.slotName,u=t.style,d=this.state,l=d.config,f=d.hasError,b=d.isAdReady;if(d.hasAdBlock||f)return null;this.slots=e.bidderSlots.map((function(t){return(0,g.getPrebidSlotConfig)(t,a,l.maxSizes.width,e.biddersConfig.bidders)})),this.allSlotConfigs=e.globalSlots.concat(e.bidderSlots).map((function(e){return(0,g.getSlotConfig)(e,(0,p.screenWidth)())}));var m={adUnit:e.adUnit,allSlotConfigs:this.allSlotConfigs||this.slots,bidInitialiser:e.bidInitialiser||!1,config:l,contextUrl:n,debug:e.debug||!1,disableAds:e.disabled||!1,networkId:e.networkId,pageTargeting:e.pageTargeting,prebidConfig:(0,o.default)(this.prebidConfig,{bidders:e.biddersConfig.bidders,bucketSize:e.biddersConfig.bucketSize,maxBid:e.biddersConfig.maxBid,minPrice:e.biddersConfig.minPrice,timeout:e.biddersConfig.timeout}),section:a,sizingMap:l.mappings,slotName:s,slots:this.slots,slotTargeting:e.slotTargeting},y=b?{height:l.maxSizes.height,width:l.maxSizes.width}:{height:0,width:0},w=c.default.createElement(p.TcView,{style:P(P({},O.default.container),u)},i?null:c.default.createElement(v.default,(0,o.default)({baseUrl:r,data:m,init:h.default,onRenderComplete:this.setAdReady,onRenderError:this.setAdError},y)));return c.default.createElement(p.ServerClientRender,{client:function(){return w},server:null})}},{key:"render",value:function(){var e=this,t=this.props.adConfig;return t?this.renderAd(t):c.default.createElement(f.Subscriber,{channel:"adConfig"},(function(t){return e.renderAd(t)}))}}],[{key:"getDerivedStateFromProps",value:function(e){var t=e.slotName;return{config:(0,g.getSlotConfig)(t,(0,p.screenWidth)())}}}]),r}(c.Component);S.defaultProps=y.defaultProps;var k=S;t.default=k},function(e,t){e.exports=require("@babel/runtime/helpers/extends")},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getAdSizes",{enumerable:!0,get:function(){return n.getAdSizes}}),Object.defineProperty(t,"getMaxSizes",{enumerable:!0,get:function(){return n.getMaxSizes}}),Object.defineProperty(t,"getSlotConfig",{enumerable:!0,get:function(){return n.getSlotConfig}}),Object.defineProperty(t,"prebidConfig",{enumerable:!0,get:function(){return i.prebidConfig}}),Object.defineProperty(t,"getPrebidSlotConfig",{enumerable:!0,get:function(){return i.getPrebidSlotConfig}});var n=r(11),i=r(18)},function(e,t){e.exports=require("@babel/runtime/helpers/slicedToArray")},function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=[970,250],n=[728,90],i=[300,50],o=[970,90],a={header:[{height:0,sizes:[],width:0},{height:100,sizes:[[320,50],[320,48],i],width:300},{height:90,sizes:[n],width:768},{height:250,sizes:[r,o,n],width:1024}],intervention:[{height:0,sizes:[],width:0},{height:100,sizes:[[300,250],[320,50],[320,48],i],width:300},{height:90,sizes:[n],width:768},{height:250,sizes:[r,o,n],width:1024}],mpu:[{height:0,sizes:[],width:0},{height:250,sizes:[[300,250],[300,600]],width:300}],native:[{height:250,sizes:[[300,250]],width:300},{height:90,sizes:[n],width:728},{height:250,sizes:[r],width:970}],pixel:[{height:0,sizes:[[1,1]],width:0}]};t.default=a},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.getPrebidSlotConfig=t.prebidConfig=void 0;var n=r(11);t.getPrebidSlotConfig=function(e,t,r,i){var o=n.slotPositions[e]||n.slotPositions.default,a=(0,n.getSlotConfig)(e,r).sizes,s=[];return i.ix&&i.ix.siteId&&(s=s.concat(a.map((function(e){return{bidder:"ix",params:{siteId:i.ix.siteId,size:e}}})))),i.appnexus&&i.appnexus.placementId&&s.push({bidder:"appnexus",params:{keywords:{pos:o,section:t},placementId:i.appnexus.placementId,position:o}}),i.rubicon&&i.rubicon.accountId&&s.push({bidder:"rubicon",params:{accountId:i.rubicon.accountId,keywords:[t],position:1===o?"atf":"btf",siteId:i.rubicon.siteId,zoneId:i.rubicon.zoneId}}),{bids:s,code:e,mediaTypes:{banner:{sizes:a}},sizes:a}};var i={bidderSettings:function(e){var t=e.maxBid,r=e.minPrice,n=e.bucketSize;return{adserverTargeting:[{key:"hb_bidder",val:function(e){return e.bidder}},{key:"hb_adid",val:function(e){return e.adId}},{key:"hb_pb",val:function(e){return e.cpm>t?t.toFixed(2):e.cpm<n?r.toFixed(2):(e.cpm-e.cpm%n).toFixed(2)}},{key:"hb_size",val:function(e){return e.size}}]}},init:{bidderSequence:"random",bidTimeout:3e3,cache:{url:"https://prebid.adnxs.com/pbc/v1/cache"},consentManagement:{allowAuctionWithoutConsent:!0,cmpApi:"iab",timeout:3e3},disableAjaxTimeout:!1,enableSendAllBids:!0,maxRequestsPerOrigin:4,priceGranularity:"medium",timeoutBuffer:400,userSync:{enableOverride:!1,syncDelay:3e3,syncEnabled:!0,syncsPerBidder:5}}};t.prebidConfig=i},function(e,t,r){var n=r(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=n(r(20));t.default=function(e){var t=e.el,r=e.data,n=e.platform,o=e.eventCallback,a=e.window;a.googletag=a.googletag||{},a.googletag.cmd=a.googletag.cmd||[],a.pbjs=a.pbjs||{},a.pbjs.que=a.pbjs.que||[],a.apstag=a.apstag||{_Q:[],addToQueue:function(e,t){this._Q.push([e,t])},fetchBids:function(){this.addToQueue("f",arguments)},init:function(){this.addToQueue("i",arguments)},setDisplayBids:function(){},targetingKeys:function(){return[]}};var s=a.apstag,u=a.document,d=a.encodeURIComponent,l=a.googletag,c=a.location,f=a.pbjs,p=a.Promise,g=a.Set,h=a.XMLHttpRequest,b=!1,v="web"===n,m=r.prebidConfig,y=m.timeout,O=m.bidders,w=O&&O.amazon&&O.amazon.accountId;return{init:function(){var e=this;if(r.disableAds)return p.resolve("ads disabled");var t=[p.resolve()];return a.initCalled||((!r.bidInitialiser&&v||!v)&&this.loadScripts(),t.push(this.apstag.process(),this.prebid.process(),this.gpt.process())),a.initCalled=!0,b||t.push(this.gpt.bid()),b=!0,p.all(t).then((function(){e.gpt.refreshAd(),o("renderComplete")})).catch((function(e){o("error",e.stack),o("renderFailed")}))},loadScripts:function(){v&&(this.breakpoints(),this.utils.loadScript(this.prebid.url)),this.utils.loadScript(this.gpt.url),this.utils.loadScript(this.apstag.url),this.admantx.init()},breakpoints:function(){var e=this,t={huge:"(min-width: 1320px)",medium:"(min-width: 768px) and (max-width: 1023px)",small:"(max-width: 767px)",wide:"(min-width: 1024px) and (max-width: 1319px)"};a.matchMedia&&Object.keys(t).forEach((function(r){a.matchMedia(t[r]).addListener(e.handleBreakPointChange.bind(e,r))}))},handleBreakPointChange:function(e,t){t.matches&&(this.gpt.setPageTargeting({breakpoint:e,refresh:"true"}),l.cmd.push((function(){return l.pubads().refresh()})))},admantx:{extractNames:function(e){var t=new g(e.map((function(e){return e.name.toLowerCase().trim().replace(/\s+/g,"_").replace(/["'=!+#*~;^()<>[\],&]/g,"")})));return(0,i.default)(t).join(",")},getUrl:function(){return"https://euasync01.admantx.com/admantx/service?request="+d(JSON.stringify({key:"f1694ae18c17dc1475ee187e4996ad2b484217b1a436cb04b7ac3dd4902180b6",method:"descriptor",mode:"async",decorator:"json",filter:"default",type:"URL",body:c.href}))},init:function(){var e=this,t=new h;t.open("GET",this.getUrl()),t.send(),t.onload=function(){if(200!==t.status)o("Error: "+t.status+": "+t.statusText);else{var r=t.response;if(r.admants||r.categories||r.entities||r.feelings){var n={admantx_bs:e.extractNames(r.admants),admantx_cat:e.extractNames(r.categories),admantx_emotion:e.extractNames(r.feelings),admantx_ents:e.extractNames(r.entities)};l.cmd.push((function(){return e.gpt.setPageTargeting(n)}))}}},t.onerror=function(){o("Error in ADmantx request")}}},gpt:{url:"https://www.googletagservices.com/tag/js/gpt.js",setSlotTargeting:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:r,i=n.networkId,a=n.adUnit,s=n.section,u=n.slotTargeting;l.cmd.push((function(){try{var r=e.slotName,n=e.sizes,d=e.mappings,c=l.defineSlot("/"+i+"/"+a+"/"+s,n,r);if(!c)return;c.addService(l.pubads()),t&&(t.id="wrapper-"+r,t.innerHTML='<div id="'+r+'"></div>',t.style.display="flex",t.style.alignItems="center",t.style.justifyContent="center",t.style.margin="0 auto",t.style.height="100%");var f=l.sizeMapping();d.forEach((function(e){return f.addSize([e.width,e.height],e.sizes)})),c.defineSizeMapping(f.build()),Object.keys(u||[]).forEach((function(e){return c.setTargeting(e,u[e])}));var p=Math.floor(10*Math.random()).toString();c.setTargeting("timestestgroup",p),c.setTargeting("pos",r),l.display(r),o("warn","[Google] INFO: set slot targeting - "+r)}catch(e){o("error",e.stack)}}))},setPageTargeting:function(e){return l.cmd.push((function(){try{var t=l.pubads();Object.keys(e).forEach((function(r){t.setTargeting(r,e[r])})),o("warn","[Google] INFO: set page target"),o("log",e)}catch(e){o("error",e.stack)}})),this.waitUntilReady()},init:function(){l.cmd.push((function(){var e=l.pubads();e.disableInitialLoad(),e.enableSingleRequest(),e.collapseEmptyDivs(!0,!0),l.enableServices(),o("warn","[Google] INFO: initialised")}))},bid:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:r,t=e.config;return this.setSlotTargeting(t),this.waitUntilReady()},refreshAd:function(){l.cmd.push((function(){v&&f.setTargetingForGPTAsync(),s.setDisplayBids(),l.pubads().refresh(),o("warn","[Google] INFO: pubads refresh")}))},process:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:r,t=e.pageTargeting;return this.init(),this.setPageTargeting(t),this.waitUntilReady()},waitUntilReady:function(){return new p((function(e){return l.cmd.push((function(){e()}))}))}},prebid:{url:"https://www.thetimes.co.uk/d/js/vendor/prebid.min-4c674b73bd.js",bid:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:r,t=e.slots;return new p((function(e,r){f.que.push((function(){try{if(t.length>0)o("warn","[Prebid] INFO: requesting bids"),o("log",t),t.forEach((function(e){return f.removeAdUnit(e.code)})),f.addAdUnits(t),f.requestBids({bidsBackHandler:function(t){o("warn","[Prebid] INFO: bid response"),o("log",t),e(t)}});else{var n="[Prebid] INFO: no slots are defined";o("warn",n),e(n)}}catch(e){r(e)}}))}))},process:function(){if(v)return this.init(),this.bid();var e="[Prebid] INFO: no prebid on native";return o("warn",e),p.resolve(e)},init:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:r,t=e.prebidConfig,n=e.debug,i=void 0!==n&&n,s=t.init,u=t.bidderSettings;a.pbjs.bidderTimeout=y,a.pbjs.bidderSettings=u&&u(t),f.que.push((function(){s.debug=i,f.setConfig(s),o("warn","[Prebid] INFO: initialised"),o("log",s)}))}},apstag:{url:"https://c.amazon-adsystem.com/aax2/apstag.js",getConfig:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:r,t=e.slots,n=e.networkId,i=e.adUnit,o=e.section,a=[n,i];o&&a.push(o);var s=a.reduce((function(e,t,r){return 1===r?"/"+e+"/"+t:e+"/"+t}));return t.map((function(e){return{sizes:e.sizes,slotID:e.code,slotName:s}}))},bid:function(){var e=this;return new p((function(t){try{var r=e.getConfig();if(r.length>0)o("warn","[Amazon] INFO: requesting bids"),o("log",r),s.fetchBids({slots:r},(function(e){o("warn","[Amazon] INFO: bids response"),o("log",e),t(e)}));else{var n="[Amazon] INFO: no slots are defined";o("warn",n),t(n)}}catch(e){o("error",e.stack),t(e)}}))},process:function(){if(w)return this.init();var e="[Amazon] INFO: amazonAccountID undefined";return o("warn",e),p.resolve(e)},init:function(){var e=this,t={adServer:"googletag",bidTimeout:y,gdpr:{cmpTimeout:y},pubID:w};o("log",t),s.init(t,(function(){return o("warn","[Amazon] INFO: initialised"),e.bid()}))}},utils:{scriptsInserted:{},createScriptElement:function(e,t,r){try{var n=u.createElement("script");n.type="text/javascript",n.defer=!0,t&&n.addEventListener("load",t),r&&n.addEventListener("error",r),n.src=e,u.head.appendChild(n)}catch(e){o("error",e.stack)}},loadScript:function(e){var t=this;return this.scriptsInserted[e]?p.resolve('Inserting "'+e+'" twice.'):(this.scriptsInserted[e]=!0,new p((function(r,n){t.createScriptElement(e,(function(){r("loaded "+e)}),(function(){n(new Error("load error for "+e))}))})))}}}}},function(e,t){e.exports=require("@babel/runtime/helpers/toConsumableArray")},function(e,t,r){var n=r(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=n(r(2)),o=n(r(3)),a=(n(r(1)),r(10)),s=n(r(12));function u(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function d(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?u(Object(r),!0).forEach((function(t){(0,i.default)(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):u(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var l=function(e){var t=e.slotName,r=e.style;return o.default.createElement(a.TcView,{style:d(d({},s.default.container),r)},o.default.createElement("div",{id:""+{header:"ad-header","inline-ad":"ad-article-inline",articleListAd:"inline-ad",pixel:"ad-pixel",pixelteads:"ad-pixelteads",pixelskin:"ad-pixelskin",inlineAd1:"ad-article-inline-1",inlineAd2:"ad-article-inline-2",inlineAd3:"ad-article-inline-3"}[t]}))};t.default=l},function(e,t,r){var n=r(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=n(r(2)),o=r(23);function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function s(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?a(Object(r),!0).forEach((function(t){(0,i.default)(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):a(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var u={children:{flex:1},container:{alignItems:"center",flex:1},placeholderContainer:{alignItems:"center",flex:1,justifyContent:"center",minHeight:"auto"},placeholderText:s(s({backgroundColor:o.colours.functional.backgroundPrimary,borderColor:o.colours.functional.keyline,borderStyle:"solid",borderWidth:1,color:o.colours.functional.secondary},(0,o.fontFactory)({font:"body",fontSize:"puffLink"})),{},{letterSpacing:1.5,paddingBottom:(0,o.spacing)(1),paddingLeft:(0,o.spacing)(2),paddingRight:(0,o.spacing)(2),paddingTop:(0,o.spacing)(1),zIndex:1}),placeholderWrapper:{alignItems:"center",backgroundColor:o.colours.functional.backgroundPrimary,borderColor:o.colours.functional.keyline,borderStyle:"solid",borderWidth:1,justifyContent:"center",overflow:"hidden"}};t.default=u},function(e,t){e.exports=require("@times-components/ts-styleguide/rnw")},function(e,t,r){var n=r(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=n(r(4)),o=n(r(5)),a=n(r(6)),s=n(r(7)),u=n(r(8)),d=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=f(t);if(r&&r.has(e))return r.get(e);var n={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var a=i?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(n,o,a):n[o]=e[o]}n.default=e,r&&r.set(e,n);return n}(r(3)),l=r(25),c=n(r(27));function f(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(f=function(e){return e?r:t})(e)}function p(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=(0,u.default)(e);if(t){var i=(0,u.default)(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return(0,s.default)(this,r)}}var g=function(e){(0,a.default)(r,e);var t=p(r);function r(){var e;(0,i.default)(this,r);for(var n=arguments.length,o=new Array(n),a=0;a<n;a++)o[a]=arguments[a];return(e=t.call.apply(t,[this].concat(o))).eventQueue=[],e.eventCallback=function(t,r){e.eventQueue.push({detail:r,type:t}),e.processEventQueue()},e.processEvent=function(t){var r=t.type,n=t.detail,i=e.props,o=i.onRenderComplete,a=i.onRenderError,s=i.data;if(0!==e.eventQueue.length)switch(r){case"renderFailed":a();break;case"renderComplete":o();break;default:s.debug&&(0,c.default)(r,n)}},e}return(0,o.default)(r,[{key:"componentDidMount",value:function(){var e=this.props,t=e.data,r=e.init;this.initExecuting=!0,this.hasUnmounted=!1,this.adInit=r({data:t,el:this.div,eventCallback:this.eventCallback,platform:"web",window:window}),this.adInit&&this.adInit.init&&this.adInit.init(),this.initExecuting=!1,this.processEventQueue()}},{key:"componentWillUnmount",value:function(){this.eventQueue=[],this.hasUnmounted=!0}},{key:"processEventQueue",value:function(){this.initExecuting||this.hasUnmounted||(this.eventQueue.forEach(this.processEvent),this.eventQueue=[])}},{key:"render",value:function(){var e=this,t=this.props.width;return d.default.createElement("div",{ref:function(t){e.div=t},style:{height:"auto",overflow:"hidden",width:t}})}}]),r}(d.Component);g.defaultProps=l.defaultProps;var h=g;t.default=h},function(e,t,r){var n=r(0);Object.defineProperty(t,"__esModule",{value:!0}),t.defaultProps=t.propTypes=void 0;var i=n(r(2)),o=n(r(1)),a=r(26);function s(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function u(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?s(Object(r),!0).forEach((function(t){(0,i.default)(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):s(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var d=u(u({},a.propTypes),{},{height:o.default.number});t.propTypes=d;var l=u(u({},a.defaultProps),{},{height:0});t.defaultProps=l},function(e,t,r){var n=r(0);Object.defineProperty(t,"__esModule",{value:!0}),t.defaultProps=t.propTypes=void 0;var i=n(r(1)),o={data:i.default.shape({}),height:i.default.number.isRequired,init:i.default.func.isRequired,onRenderComplete:i.default.func,onRenderError:i.default.func,width:i.default.number.isRequired};t.propTypes=o;t.defaultProps={data:{},height:0,onRenderComplete:function(){},onRenderError:function(){}}},function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=function(e,t){switch(e){case"error":console.error(t);break;case"warn":console.warn(t);break;case"info":console.info(t);break;case"debug":console.debug(t);break;case"log":console.log(t);break;default:console.log(e),console.log(t)}}},function(e,t,r){var n=r(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=n(r(3)),o=r(9),a=r(29),s=function(e){var t=e.adConfig,r=e.children;return i.default.createElement(o.Broadcast,{channel:"adConfig",value:t},r)};s.defaultProps=a.defaultProps;var u=s;t.default=u},function(e,t,r){var n=r(0);Object.defineProperty(t,"__esModule",{value:!0}),t.defaultProps=t.propTypes=void 0;var i=n(r(1)),o={adConfig:i.default.shape({adUnit:i.default.string.isRequired,biddersConfig:i.default.shape({}),bidderSlots:i.default.arrayOf(i.default.string),networkId:i.default.string.isRequired,pageTargeting:i.default.shape({}),slotTargeting:i.default.shape({})}),children:i.default.oneOfType([i.default.element,i.default.arrayOf(i.default.element)]).isRequired};t.propTypes=o;var a={adConfig:{adUnit:"d.thetimes.co.uk",biddersConfig:{bidders:{amazon:{accountId:"3360"},appnexus:{placementId:"5823281"},ix:{siteId:"188830"},rubicon:{accountId:"14062",siteId:"70608",zoneId:"335918"}},bucketSize:.25,maxBid:15,minPrice:.01,timeout:3e3},bidderSlots:["header","inline-ad"],bidInitialiser:Promise.resolve(),globalSlots:["ad-pixel","ad-pixelskin","ad-pixelteads"],networkId:"25436805",pageTargeting:{label:"This is label",title:"This is title"},slotTargeting:{section:"news"}}};t.defaultProps=a},function(e,t,r){var n=r(0);Object.defineProperty(t,"__esModule",{value:!0}),t.defaultProps=t.propTypes=void 0;var i=n(r(1)),o=i.default.object.style,a={baseUrl:i.default.string,contextUrl:i.default.string,isLoading:i.default.bool,section:i.default.string,slotName:i.default.string.isRequired,style:o};t.propTypes=a;t.defaultProps={baseUrl:"https://www.thetimes.co.uk/",contextUrl:"",isLoading:!1,section:"",style:null}}]);
|
|
1
|
+
module.exports=function(e){var t={};function i(s){if(t[s])return t[s].exports;var n=t[s]={i:s,l:!1,exports:{}};return e[s].call(n.exports,n,n.exports,i),n.l=!0,n.exports}return i.m=e,i.c=t,i.d=function(e,t,s){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:s})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var s=Object.create(null);if(i.r(s),Object.defineProperty(s,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)i.d(s,n,function(t){return e[t]}.bind(null,n));return s},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="",i(i.s=5)}([function(e,t){e.exports=require("prop-types")},function(e,t){e.exports=require("react")},function(e,t){e.exports=require("@times-components/ts-styleguide/rnw")},function(e,t){e.exports=require("@times-components/utils/rnw")},function(e,t){e.exports=require("react-broadcast")},function(e,t,i){"use strict";i.r(t);var s=i(1),n=i.n(s),r=i(4),a=i(3);const o=[970,250],d=[728,90],l=[300,50],c=[970,90],p={header:[{height:0,sizes:[],width:0},{height:100,sizes:[[320,50],[320,48],l],width:300},{height:90,sizes:[d],width:768},{height:250,sizes:[o,c,d],width:1024}],intervention:[{height:0,sizes:[],width:0},{height:100,sizes:[[300,250],[320,50],[320,48],l],width:300},{height:90,sizes:[d],width:768},{height:250,sizes:[o,c,d],width:1024}],mpu:[{height:0,sizes:[],width:0},{height:250,sizes:[[300,250],[300,600]],width:300}],native:[{height:250,sizes:[[300,250]],width:300},{height:90,sizes:[d],width:728},{height:250,sizes:[o],width:970}],pixel:[{height:0,sizes:[[1,1]],width:0}]};const h={"ad-header":1,"ad-mpu":3,"ad-pixel":2,"ad-pixelskin":2,"ad-pixelteads":2,"article-sponsored-ad":2,default:0,header:1,mpu:3,pixel:2,pixelskin:2,pixelteads:2},u={"ad-header":p.header,"ad-mpu":p.mpu,"ad-pixel":p.pixel,"ad-pixelskin":p.pixelskin,"ad-pixelteads":p.pixelteads,"article-sponsored-ad":p.pixel,default:p.intervention,header:p.header,mpu:p.mpu,"native-inline-ad":p.native,pixel:p.pixel,pixelskin:p.pixel,pixelteads:p.pixel},g=(e,t)=>{const i=u[e]||u.default,s=((e,t)=>{for(let i=e.length-1;i>=0;i-=1)if(t>=e[i].width)return e[i].sizes;return[]})(i,t);return{mappings:i,maxSizes:(e=>e?e.reduce((e,[t,i])=>({height:Math.max(e.height,i),width:Math.max(e.width,t)}),{height:0,width:0}):{height:0,width:0})(s),sizes:s,slotName:e}},b={bidderSettings:({maxBid:e,minPrice:t,bucketSize:i})=>({adserverTargeting:[{key:"hb_bidder",val:e=>e.bidder},{key:"hb_adid",val:e=>e.adId},{key:"hb_pb",val:s=>s.cpm>e?e.toFixed(2):s.cpm<i?t.toFixed(2):(s.cpm-s.cpm%i).toFixed(2)},{key:"hb_size",val:e=>e.size}]}),init:{bidderSequence:"random",bidTimeout:3e3,cache:{url:"https://prebid.adnxs.com/pbc/v1/cache"},consentManagement:{allowAuctionWithoutConsent:!0,cmpApi:"iab",timeout:3e3},disableAjaxTimeout:!1,enableSendAllBids:!0,maxRequestsPerOrigin:4,priceGranularity:"medium",timeoutBuffer:400,userSync:{enableOverride:!1,syncDelay:3e3,syncEnabled:!0,syncsPerBidder:5}}};var m=({el:e,data:t,platform:i,eventCallback:s,window:n})=>{n.googletag=n.googletag||{},n.googletag.cmd=n.googletag.cmd||[],n.pbjs=n.pbjs||{},n.pbjs.que=n.pbjs.que||[],n.apstag=n.apstag||{_Q:[],addToQueue(e,t){this._Q.push([e,t])},fetchBids(){this.addToQueue("f",arguments)},init(){this.addToQueue("i",arguments)},setDisplayBids(){},targetingKeys:()=>[]};const{apstag:r,document:a,encodeURIComponent:o,googletag:d,location:l,pbjs:c,Promise:p,Set:h,XMLHttpRequest:u}=n;let g=!1;const b="web"===i,{timeout:m,bidders:f}=t.prebidConfig,x=f&&f.amazon&&f.amazon.accountId;return{init(){if(t.disableAds)return p.resolve("ads disabled");const e=[p.resolve()];return n.initCalled||((!t.bidInitialiser&&b||!b)&&this.loadScripts(),e.push(this.apstag.process(),this.prebid.process(),this.gpt.process())),n.initCalled=!0,g||e.push(this.gpt.bid()),g=!0,p.all(e).then(()=>{this.gpt.refreshAd(),s("renderComplete")}).catch(e=>{s("error",e.stack),s("renderFailed")})},loadScripts(){b&&(this.breakpoints(),this.utils.loadScript(this.prebid.url)),this.utils.loadScript(this.gpt.url),this.utils.loadScript(this.apstag.url),this.admantx.init()},breakpoints(){const e={huge:"(min-width: 1320px)",medium:"(min-width: 768px) and (max-width: 1023px)",small:"(max-width: 767px)",wide:"(min-width: 1024px) and (max-width: 1319px)"};n.matchMedia&&Object.keys(e).forEach(t=>{n.matchMedia(e[t]).addListener(this.handleBreakPointChange.bind(this,t))})},handleBreakPointChange(e,t){t.matches&&(this.gpt.setPageTargeting({breakpoint:e,refresh:"true"}),d.cmd.push(()=>d.pubads().refresh()))},admantx:{extractNames:e=>[...new h(e.map(e=>e.name.toLowerCase().trim().replace(/\s+/g,"_").replace(/["'=!+#*~;^()<>[\],&]/g,"")))].join(","),getUrl:()=>"https://euasync01.admantx.com/admantx/service?request="+o(JSON.stringify({key:"f1694ae18c17dc1475ee187e4996ad2b484217b1a436cb04b7ac3dd4902180b6",method:"descriptor",mode:"async",decorator:"json",filter:"default",type:"URL",body:l.href})),init(){const e=new u;e.open("GET",this.getUrl()),e.send(),e.onload=()=>{if(200!==e.status)s(`Error: ${e.status}: ${e.statusText}`);else{const{response:t}=e;if(t.admants||t.categories||t.entities||t.feelings){const e={admantx_bs:this.extractNames(t.admants),admantx_cat:this.extractNames(t.categories),admantx_emotion:this.extractNames(t.feelings),admantx_ents:this.extractNames(t.entities)};d.cmd.push(()=>this.gpt.setPageTargeting(e))}}},e.onerror=()=>{s("Error in ADmantx request")}}},gpt:{url:"https://www.googletagservices.com/tag/js/gpt.js",setSlotTargeting(i,{networkId:n,adUnit:r,section:a,slotTargeting:o}=t){d.cmd.push(()=>{try{const{slotName:t,sizes:l,mappings:c}=i,p=d.defineSlot(`/${n}/${r}/${a}`,l,t);if(!p)return;p.addService(d.pubads()),e&&(e.id="wrapper-"+t,e.innerHTML=`<div id="${t}"></div>`,e.style.display="flex",e.style.alignItems="center",e.style.justifyContent="center",e.style.margin="0 auto",e.style.height="100%");const h=d.sizeMapping();c.forEach(e=>h.addSize([e.width,e.height],e.sizes)),p.defineSizeMapping(h.build()),Object.keys(o||[]).forEach(e=>p.setTargeting(e,o[e]));const u=Math.floor(10*Math.random()).toString();p.setTargeting("timestestgroup",u),p.setTargeting("pos",t),d.display(t),s("warn","[Google] INFO: set slot targeting - "+t)}catch(e){s("error",e.stack)}})},setPageTargeting(e){return d.cmd.push(()=>{try{const t=d.pubads();Object.keys(e).forEach(i=>{t.setTargeting(i,e[i])}),s("warn","[Google] INFO: set page target"),s("log",e)}catch(e){s("error",e.stack)}}),this.waitUntilReady()},init(){d.cmd.push(()=>{const e=d.pubads();e.disableInitialLoad(),e.enableSingleRequest(),e.collapseEmptyDivs(!0,!0),d.enableServices(),s("warn","[Google] INFO: initialised")})},bid({config:e}=t){return this.setSlotTargeting(e),this.waitUntilReady()},refreshAd(){d.cmd.push(()=>{b&&c.setTargetingForGPTAsync(),r.setDisplayBids(),d.pubads().refresh(),s("warn","[Google] INFO: pubads refresh")})},process({pageTargeting:e}=t){return this.init(),this.setPageTargeting(e),this.waitUntilReady()},waitUntilReady:()=>new p(e=>d.cmd.push(()=>{e()}))},prebid:{url:"https://www.thetimes.co.uk/d/js/vendor/prebid.min-4c674b73bd.js",bid:({slots:e}=t)=>new p((t,i)=>{c.que.push(()=>{try{if(e.length>0)s("warn","[Prebid] INFO: requesting bids"),s("log",e),e.forEach(e=>c.removeAdUnit(e.code)),c.addAdUnits(e),c.requestBids({bidsBackHandler(e){s("warn","[Prebid] INFO: bid response"),s("log",e),t(e)}});else{const e="[Prebid] INFO: no slots are defined";s("warn",e),t(e)}}catch(e){i(e)}})}),process(){if(b)return this.init(),this.bid();const e="[Prebid] INFO: no prebid on native";return s("warn",e),p.resolve(e)},init({prebidConfig:e,debug:i=!1}=t){const{init:r,bidderSettings:a}=e;n.pbjs.bidderTimeout=m,n.pbjs.bidderSettings=a&&a(e),c.que.push(()=>{r.debug=i,c.setConfig(r),s("warn","[Prebid] INFO: initialised"),s("log",r)})}},apstag:{url:"https://c.amazon-adsystem.com/aax2/apstag.js",getConfig({slots:e,networkId:i,adUnit:s,section:n}=t){const r=[i,s];n&&r.push(n);const a=r.reduce((e,t,i)=>1===i?`/${e}/${t}`:`${e}/${t}`);return e.map(e=>({sizes:e.sizes,slotID:e.code,slotName:a}))},bid(){return new p(e=>{try{const t=this.getConfig();if(t.length>0)s("warn","[Amazon] INFO: requesting bids"),s("log",t),r.fetchBids({slots:t},t=>{s("warn","[Amazon] INFO: bids response"),s("log",t),e(t)});else{const t="[Amazon] INFO: no slots are defined";s("warn",t),e(t)}}catch(t){s("error",t.stack),e(t)}})},process(){if(x)return this.init();const e="[Amazon] INFO: amazonAccountID undefined";return s("warn",e),p.resolve(e)},init(){const e={adServer:"googletag",bidTimeout:m,gdpr:{cmpTimeout:m},pubID:x};s("log",e),r.init(e,()=>(s("warn","[Amazon] INFO: initialised"),this.bid()))}},utils:{scriptsInserted:{},createScriptElement(e,t,i){try{const s=a.createElement("script");s.type="text/javascript",s.defer=!0,t&&s.addEventListener("load",t),i&&s.addEventListener("error",i),s.src=e,a.head.appendChild(s)}catch(e){s("error",e.stack)}},loadScript(e){return this.scriptsInserted[e]?p.resolve(`Inserting "${e}" twice.`):(this.scriptsInserted[e]=!0,new p((t,i)=>{this.createScriptElement(e,()=>{t("loaded "+e)},()=>{i(new Error("load error for "+e))})}))}}}},f=i(0),x=i.n(f),w=i(2);var y={children:{flex:1},container:{alignItems:"center",flex:1},placeholderContainer:{alignItems:"center",flex:1,justifyContent:"center",minHeight:"auto"},placeholderText:{backgroundColor:w.colours.functional.backgroundPrimary,borderColor:w.colours.functional.keyline,borderStyle:"solid",borderWidth:1,color:w.colours.functional.secondary,...Object(w.fontFactory)({font:"body",fontSize:"puffLink"}),letterSpacing:1.5,paddingBottom:Object(w.spacing)(1),paddingLeft:Object(w.spacing)(2),paddingRight:Object(w.spacing)(2),paddingTop:Object(w.spacing)(1),zIndex:1},placeholderWrapper:{alignItems:"center",backgroundColor:w.colours.functional.backgroundPrimary,borderColor:w.colours.functional.keyline,borderStyle:"solid",borderWidth:1,justifyContent:"center",overflow:"hidden"}};var v=({slotName:e,style:t})=>n.a.createElement(a.TcView,{style:{...y.container,...t}},n.a.createElement("div",{id:""+{header:"ad-header","inline-ad":"ad-article-inline",articleListAd:"inline-ad",pixel:"ad-pixel",pixelteads:"ad-pixelteads",pixelskin:"ad-pixelskin",inlineAd1:"ad-article-inline-1",inlineAd2:"ad-article-inline-2",inlineAd3:"ad-article-inline-3"}[e]}));x.a.shape({}),x.a.number.isRequired,x.a.func.isRequired,x.a.func,x.a.func,x.a.number.isRequired,x.a.number;const k={data:{},height:0,onRenderComplete:()=>{},onRenderError:()=>{},height:0};class I extends s.Component{constructor(...e){var t;return t=super(...e),this.eventQueue=[],this.eventCallback=(e,t)=>{this.eventQueue.push({detail:t,type:e}),this.processEventQueue()},this.processEvent=({type:e,detail:t})=>{const{onRenderComplete:i,onRenderError:s,data:n}=this.props;if(0!==this.eventQueue.length)switch(e){case"renderFailed":s();break;case"renderComplete":i();break;default:n.debug&&((e,t)=>{switch(e){case"error":console.error(t);break;case"warn":console.warn(t);break;case"info":console.info(t);break;case"debug":console.debug(t);break;case"log":console.log(t);break;default:console.log(e),console.log(t)}})(e,t)}},t}componentDidMount(){const{data:e,init:t}=this.props;this.initExecuting=!0,this.hasUnmounted=!1,this.adInit=t({data:e,el:this.div,eventCallback:this.eventCallback,platform:"web",window:window}),this.adInit&&this.adInit.init&&this.adInit.init(),this.initExecuting=!1,this.processEventQueue()}componentWillUnmount(){this.eventQueue=[],this.hasUnmounted=!0}processEventQueue(){this.initExecuting||this.hasUnmounted||(this.eventQueue.forEach(this.processEvent),this.eventQueue=[])}render(){const{width:e}=this.props;return n.a.createElement("div",{ref:e=>{this.div=e},style:{height:"auto",overflow:"hidden",width:e}})}}I.defaultProps=k;var S=I;x.a.shape({adUnit:x.a.string.isRequired,biddersConfig:x.a.shape({}),bidderSlots:x.a.arrayOf(x.a.string),networkId:x.a.string.isRequired,pageTargeting:x.a.shape({}),slotTargeting:x.a.shape({})}),x.a.oneOfType([x.a.element,x.a.arrayOf(x.a.element)]).isRequired;const C={adConfig:{adUnit:"d.thetimes.co.uk",biddersConfig:{bidders:{amazon:{accountId:"3360"},appnexus:{placementId:"5823281"},ix:{siteId:"188830"},rubicon:{accountId:"14062",siteId:"70608",zoneId:"335918"}},bucketSize:.25,maxBid:15,minPrice:.01,timeout:3e3},bidderSlots:["header","inline-ad"],bidInitialiser:Promise.resolve(),globalSlots:["ad-pixel","ad-pixelskin","ad-pixelteads"],networkId:"25436805",pageTargeting:{label:"This is label",title:"This is title"},slotTargeting:{section:"news"}}},z=({adConfig:e,children:t})=>n.a.createElement(r.Broadcast,{channel:"adConfig",value:e},t);z.defaultProps=C;var T=z;const{style:O}=x.a.object;x.a.string,x.a.string,x.a.bool,x.a.string,x.a.string.isRequired;function j(){return(j=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var i=arguments[t];for(var s in i)Object.prototype.hasOwnProperty.call(i,s)&&(e[s]=i[s])}return e}).apply(this,arguments)}i.d(t,"AdComposer",(function(){return T})),i.d(t,"AdContainer",(function(){return v}));class E extends s.Component{static getDerivedStateFromProps(e){const{slotName:t}=e;return{config:g(t,Object(a.screenWidth)())}}constructor(e){super(e),this.setAdReady=()=>{this.setState({isAdReady:!0})},this.setAdError=()=>{this.setState({hasError:!0})};const{slotName:t}=e;this.prebidConfig=b,this.state={config:g(t,Object(a.screenWidth)()),hasError:!1,isAdReady:!1,hasAdBlock:!1}}componentDidMount(){this.setState({hasAdBlock:window.hasAdBlock})}renderAd(e){const{baseUrl:t,contextUrl:i,isLoading:s,section:r,slotName:o,style:d}=this.props,{config:l,hasError:c,isAdReady:p,hasAdBlock:u}=this.state;if(u||c)return null;this.slots=e.bidderSlots.map(t=>((e,t,i,s)=>{const n=h[e]||h.default,{sizes:r}=g(e,i);let a=[];return s.ix&&s.ix.siteId&&(a=a.concat(r.map(e=>({bidder:"ix",params:{siteId:s.ix.siteId,size:e}})))),s.appnexus&&s.appnexus.placementId&&a.push({bidder:"appnexus",params:{keywords:{pos:n,section:t},placementId:s.appnexus.placementId,position:n}}),s.rubicon&&s.rubicon.accountId&&a.push({bidder:"rubicon",params:{accountId:s.rubicon.accountId,keywords:[t],position:1===n?"atf":"btf",siteId:s.rubicon.siteId,zoneId:s.rubicon.zoneId}}),{bids:a,code:e,mediaTypes:{banner:{sizes:r}},sizes:r}})(t,r,l.maxSizes.width,e.biddersConfig.bidders)),this.allSlotConfigs=e.globalSlots.concat(e.bidderSlots).map(e=>g(e,Object(a.screenWidth)()));const b={adUnit:e.adUnit,allSlotConfigs:this.allSlotConfigs||this.slots,bidInitialiser:e.bidInitialiser||!1,config:l,contextUrl:i,debug:e.debug||!1,disableAds:e.disabled||!1,networkId:e.networkId,pageTargeting:e.pageTargeting,prebidConfig:Object.assign(this.prebidConfig,{bidders:e.biddersConfig.bidders,bucketSize:e.biddersConfig.bucketSize,maxBid:e.biddersConfig.maxBid,minPrice:e.biddersConfig.minPrice,timeout:e.biddersConfig.timeout}),section:r,sizingMap:l.mappings,slotName:o,slots:this.slots,slotTargeting:e.slotTargeting},f=p?{height:l.maxSizes.height,width:l.maxSizes.width}:{height:0,width:0},x=n.a.createElement(a.TcView,{style:{...y.container,...d}},s?null:n.a.createElement(S,j({baseUrl:t,data:b,init:m,onRenderComplete:this.setAdReady,onRenderError:this.setAdError},f)));return n.a.createElement(a.ServerClientRender,{client:()=>x,server:null})}render(){const{adConfig:e}=this.props;return e?this.renderAd(e):n.a.createElement(r.Subscriber,{channel:"adConfig"},e=>this.renderAd(e))}}E.defaultProps={baseUrl:"https://www.thetimes.co.uk/",contextUrl:"",isLoading:!1,section:"",style:null};t.default=E}]);
|