@times-components/ad 2.22.39 → 2.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,17 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [2.23.0](https://github.com/newsuk/times-components/compare/@times-components/ad@2.22.39...@times-components/ad@2.23.0) (2025-06-03)
7
+
8
+
9
+ ### Features
10
+
11
+ * **TMRA-206:** video article comments ([#4131](https://github.com/newsuk/times-components/issues/4131)) ([a7bedd7](https://github.com/newsuk/times-components/commit/a7bedd73f450a3240d9980168b268efe2b5044ce))
12
+
13
+
14
+
15
+
16
+
6
17
  ## [2.22.39](https://github.com/newsuk/times-components/compare/@times-components/ad@2.22.38...@times-components/ad@2.22.39) (2025-04-24)
7
18
 
8
19
  **Note:** Version bump only for package @times-components/ad
@@ -29,7 +29,9 @@ const AdContainer = ({
29
29
  inlineAd1: "ad-article-inline-1",
30
30
  inlineAd2: "ad-article-inline-2",
31
31
  inlineAd3: "ad-article-inline-3",
32
- inlineAd4: "ad-article-inline-4"
32
+ inlineAd4: "ad-article-inline-4",
33
+ videoAd1: "ad-vid-article-1",
34
+ videoAd2: "ad-vid-article-2"
33
35
  };
34
36
  return /*#__PURE__*/_react.default.createElement(_utils.TcView, {
35
37
  style: { ..._styles.default.container,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@times-components/ad",
3
- "version": "2.22.39",
3
+ "version": "2.23.0",
4
4
  "description": "Ad component ",
5
5
  "main": "dist/ad",
6
6
  "dev": "src/ad",
@@ -67,5 +67,5 @@
67
67
  "publishConfig": {
68
68
  "access": "public"
69
69
  },
70
- "gitHead": "bc65367b03200871875ffed9a06d9a13c4815dea"
70
+ "gitHead": "d4bacef922f25d0e11bf6a2e3a260d1912f03edb"
71
71
  }
package/rnw.js CHANGED
@@ -1 +1 @@
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:"ad-article-inline",pixel:"ad-pixel",pixelteads:"ad-pixelteads",pixelskin:"ad-pixelskin",inlineAd1:"ad-article-inline-1",inlineAd2:"ad-article-inline-2",inlineAd3:"ad-article-inline-3",inlineAd4:"ad-article-inline-4"}[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}]);
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:"ad-article-inline",pixel:"ad-pixel",pixelteads:"ad-pixelteads",pixelskin:"ad-pixelskin",inlineAd1:"ad-article-inline-1",inlineAd2:"ad-article-inline-2",inlineAd3:"ad-article-inline-3",inlineAd4:"ad-article-inline-4",videoAd1:"ad-vid-article-1",videoAd2:"ad-vid-article-2"}[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 A 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))}}A.defaultProps={baseUrl:"https://www.thetimes.co.uk/",contextUrl:"",isLoading:!1,section:"",style:null};t.default=A}]);