@financial-times/cmp-client 3.4.0-beta.1 → 3.4.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/scripts/cmp-static.js +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(){"use strict";const S=(e,{credentials:n="omit"}={})=>fetch(`https://session-next.ft.com${e}`,{credentials:n,useCorsProxy:!0}).then(t=>t.ok?t.json():t.text().then(o=>{throw new Error(`Next session responded with "${o}" (${t.status})`)})).catch(t=>{document.body.dispatchEvent(new CustomEvent("oErrors.log",{bubbles:!0,detail:{error:t,info:{component:"next-session-client"}}}))});let d={};const m=(e,n)=>{if(typeof e=="object"){d=e;return}if(typeof e=="string"&&typeof n=="string"){d[e]=n;return}if(typeof e=="string"&&typeof n>"u")return d[e]||null;if(typeof e>"u"&&typeof n>"u")return d;throw new Error("Invalid arguments")};m.clear=()=>{d={}};const l={},T=()=>{const[,e]=/FTSession_s=([^;]+)/.exec(document.cookie)||[];return e},k=()=>{const e=m("uuid");if(e)return Promise.resolve({uuid:e});const n=T();return n?(l.uuid||(l.uuid=S(`/sessions/s/${n}`).then(({uuid:t}={})=>(delete l.uuid,t&&m("uuid",t),{uuid:t}))),l.uuid):Promise.resolve({uuid:void 0})},h="sourcepoint-cmp",P="FTPINK",N="FTConsent",M="sourcepointCmp/VngD.XycZut.595cp9fWdp5XYP9vlFvk",L=".ft.com",A="https://consent.ft.com",v={permutiveAds:{purposes:[2,4,8,9],iabVendors:[361],customVendors:[],specialFeatures:[]},demographicAds:{purposes:[3,4,7,9,10],iabVendors:[],customVendors:[],specialFeatures:[]},behaviouralAds:{purposes:[2,4,8,9],iabVendors:[],customVendors:[],specialFeatures:[]},programmaticAds:{purposes:[2],iabVendors:[],customVendors:[],specialFeatures:[]},personalisedMarketing:{purposes:[1,4,8,9,10],iabVendors:[],customVendors:[],specialFeatures:[]}},C=Object.keys(v),u={joinHref:!0,gdpr:{},ccpa:{}},I={...u,accountId:1906,baseEndpoint:"https://consent-manager.ft.com",propertyHref:"https://local.ft.com",_clientOptions:{privacyManagerId:827767,manageCookiesLinkOverride:"ft.com/preferences/manage-cookies"}},_={...u,accountId:1906,baseEndpoint:"https://consent-manager.ft.com",propertyId:31642,_clientOptions:{privacyManagerId:827767,manageCookiesLinkOverride:"ft.com/preferences/manage-cookies",rootDomain:"ft.com"}},D={...u,accountId:1906,baseEndpoint:"https://consent-manager.pwmnet.com",propertyId:33414,_clientOptions:{rootDomain:"pwmnet.com"}},R={...u,accountId:1906,baseEndpoint:"https://consent-manager.fdiintelligence.com",propertyId:34061,_clientOptions:{rootDomain:"fdiintelligence.com"}},F={...u,accountId:1906,baseEndpoint:"https://consent-manager.thebanker.com",propertyId:34060,_clientOptions:{rootDomain:"thebanker.com"}},V={...u,accountId:1906,baseEndpoint:"https://consent-manager.bankingriskandregulation.com",propertyId:34059,_clientOptions:{rootDomain:"bankingriskandregulation.com"}},j={...u,accountId:1906,baseEndpoint:"https://consent-manager.sustainableviews.com",propertyId:34058,_clientOptions:{rootDomain:"sustainableviews.com"}},H={...u,accountId:1906,baseEndpoint:"https://consent-manager.ftadviser.com",propertyId:33416,_clientOptions:{rootDomain:"ftadviser.com"}},U={...u,accountId:1906,baseEndpoint:"https://consent-manager.investorschronicle.co.uk",propertyId:33415,_clientOptions:{rootDomain:"investorschronicle.co.uk"}},x={...u,accountId:1906,baseEndpoint:"https://cdn.privacy-mgmt.com",propertyId:33947,_clientOptions:{rootDomain:"ignitesasia.com"}},$={...u,accountId:1906,baseEndpoint:"https://cdn.privacy-mgmt.com",propertyId:33946,_clientOptions:{rootDomain:"igniteseurope.com"}},q=Object.freeze(Object.defineProperty({__proto__:null,FT_DOTCOM_PROD:_,FT_DOTCOM_TEST:I,MM_IGNITES_ASIA:x,MM_IGNITES_EUROPE:$,SP_BANKING_RR:V,SP_FDI_INTELLIGENCE:R,SP_FT_ADVISER:H,SP_INVESTORS_CHRONICLE:U,SP_PWMNET:D,SP_SUSTAINABLE_VIEWS:j,SP_THE_BANKER:F},Symbol.toStringTag,{value:"Module"}));function E(e,n){const t=document.createElement("script");return t.dataset.cmpScript=e,t.innerHTML=n,t}function G(e){const n=document.createElement("script");return n.src=e,n}const W={cmpFrames:"https://consent-manager.ft.com/unified/wrapperMessagingWithoutDetection.js"},w={tcfStub:'"use strict";function _typeof(t){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}!function(){var t=function(){var t,e,o=[],n=window,r=n;for(;r;){try{if(r.frames.__tcfapiLocator){t=r;break}}catch(t){}if(r===n.top)break;r=r.parent}t||(!function t(){var e=n.document,o=!!n.frames.__tcfapiLocator;if(!o)if(e.body){var r=e.createElement("iframe");r.style.cssText="display:none",r.name="__tcfapiLocator",r.title = "__tcfapiLocator",e.body.appendChild(r)}else setTimeout(t,5);return!o}(),n.__tcfapi=function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];if(!n.length)return o;"setGdprApplies"===n[0]?n.length>3&&2===parseInt(n[1],10)&&"boolean"==typeof n[3]&&(e=n[3],"function"==typeof n[2]&&n[2]("set",!0)):"ping"===n[0]?"function"==typeof n[2]&&n[2]({gdprApplies:e,cmpLoaded:!1,cmpStatus:"stub"}):o.push(n)},n.addEventListener("message",(function(t){var e="string"==typeof t.data,o={};if(e)try{o=JSON.parse(t.data)}catch(t){}else o=t.data;var n="object"===_typeof(o)&&null!==o?o.__tcfapiCall:null;n&&window.__tcfapi(n.command,n.version,(function(o,r){var a={__tcfapiReturn:{returnValue:o,success:r,callId:n.callId}};t&&t.source&&t.source.postMessage&&t.source.postMessage(e?JSON.stringify(a):a,"*")}),n.parameter)}),!1))};"undefined"!=typeof module?module.exports=t:t()}();',uspStub:'"use strict";(function () { var e = false; var c = window; var t = document; function r() { if (!c.frames["__uspapiLocator"]) { if (t.body) { var a = t.body; var e = t.createElement("iframe"); e.style.cssText = "display:none"; e.name = "__uspapiLocator"; e.title = "__uspapiLocator";a.appendChild(e) } else { setTimeout(r, 5) } } } r(); function p() { var a = arguments; __uspapi.a = __uspapi.a || []; if (!a.length) { return __uspapi.a } else if (a[0] === "ping") { a[2]({ gdprAppliesGlobally: e, cmpLoaded: false }, true) } else { __uspapi.a.push([].slice.apply(a)) } } function l(t) { var r = typeof t.data === "string"; try { var a = r ? JSON.parse(t.data) : t.data; if (a.__cmpCall) { var n = a.__cmpCall; c.__uspapi(n.command, n.parameter, function (a, e) { var c = { __cmpReturn: { returnValue: a, success: e, callId: n.callId } }; t.source.postMessage(r ? JSON.stringify(c) : c, "*") }) } } catch (a) { } } if (typeof __uspapi !== "function") { c.__uspapi = p; __uspapi.msgHandler = l; c.addEventListener("message", l, false) } })();'};function K(){const e=document.createDocumentFragment();return e.appendChild(E("tcf",w.tcfStub)),e.appendChild(E("usp",w.uspStub)),e.appendChild(G(W.cmpFrames)),e}function B(e){const{_clientOptions:n,...t}=e;window._sp_={config:t},window._sp_queue??(window._sp_queue=[]),document.head.appendChild(K())}function J(e,n,{formOfWordsId:t,cookieDomain:o}){const r=Object.keys(e).reduce((a,i)=>(a[i]={onsite:{status:e[i],lbi:!1,source:h,fow:t}},a),{});return n?{setConsentCookie:!0,formOfWordsId:t,consentSource:h,cookieDomain:o,data:r}:{data:r,cookieDomain:o}}function X(e,{purpose:n,vendor:t,specialFeatureOptins:o}){const s=v[e],r=s.purposes.every(c=>(n==null?void 0:n.consents[c])||(n==null?void 0:n.legitimateInterests[c])),a=s.iabVendors.every(c=>(t==null?void 0:t.consents[c])||(t==null?void 0:t.legitimateInterests[c])),i=s.specialFeatures.every(c=>(o==null?void 0:o[c])===!0);return r&&a&&i}function Y(e){const n=(e==null?void 0:e[2])==="N",t={};for(const o of C)t[o]=n;return t}async function z(){const e=await new Promise((t,o)=>{var s;try{(s=window.__tcfapi)==null||s.call(window,"addEventListener",2,t)}catch(r){o(r)}}),n={};for(const t of C)n[t]=X(t,e);return n}async function Z(e,n){return e==="ccpa"?Y(n):await z()}function Q(){const n=Object.fromEntries(document.cookie.split("; ").map(o=>o.split("=")))[N];if(!n)return{};const t=decodeURIComponent(n);return Object.fromEntries(t.split(",").map(o=>{const[s,r]=o.split(":");return[s,r==="on"]}))}function ee(e,n){return Object.keys(e).some(o=>{const s=`${o.toLowerCase()}Onsite`;return e[o]!==n[s]})}function te({userId:e,useConsentStore:n}){return!!e&&n===!0}function ne(e,n){return e?`${n.consentProxyHost}/__consent/consent-record/${P}/${n.userId}`:`${n.consentProxyHost}/__consent/consent-record-cookie?cookieDomain=${n.cookieDomain}`}async function oe(e,n){try{const t=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n),credentials:"include"});t.ok||console.error("Unable to save consent preferences",t.status)}catch(t){console.error("An error occurred while saving consent",t)}}function se(e){return async function(t,o,s,r){const a=r.applies?t:"gdpr";if(a!==t||!s)return;const i=await Z(a,s);if(!ee(i,Q()))return;const p=te(e),ve=ne(p,e),Ce=J(i,p,e);await oe(ve,Ce),document.dispatchEvent(new CustomEvent("oCookieMessage.act",{bubbles:!0}))}}const g="cookie-message",re="manage-cookies";let y=Object.freeze({activeComponent:g,messageId:0,privacyManagerId:0});function ce(e){return typeof e=="object"&&e!==null&&e.constructor===Object&&Object.prototype.toString.call(e)==="[object Object]"}const ae=()=>({...y}),b=e=>{if(!ce(e)){console.error("Invalid state changes");return}y={...y,...e}},ie=["adsDisableInternalCMP","pwm.cmp","messageSlotBottom"];function ue(e,n){const t=pe(e.flags);window._sp_queue=window._sp_queue??[],window._sp_queue.push(()=>{var o,s;for(const[r,a]of Object.entries(le))(s=(o=window._sp_).addEventListener)==null||s.call(o,r,a({...e,flags:t}))}),fe({...e,flags:t},n)}function pe(e){const n={};return typeof e=="object"&&ie.forEach(t=>{Object.prototype.hasOwnProperty.call(e,t)&&(n[t]=e[t])}),n}function de(e){if(!e)return;const n=document.body,t=new CustomEvent("oTracking.event",{bubbles:!0,cancelable:!0,detail:e.detail});n.dispatchEvent(t)}function f({trackingProps:e,action:n,triggerAction:t}){let o;const s=ae(),{product:r,app:a,flags:i}=e;s.activeComponent===g?o=s.messageId:o=s.privacyManagerId;const c={detail:{component:{id:o,name:s.activeComponent,type:"overlay",subtype:"cmp"},category:"component",action:n,...t&&{trigger_action:t},...r&&{product:r},...a&&{app:a},custom:[{cookie_toggle_flag:i}],url:window.document.location.href||null}};de(c)}const le={onMessageChoiceSelect:e=>(n,t,o)=>{const r={11:"accept_all",12:"manage_cookies",13:"reject_all"}[o];r&&f({trackingProps:e,action:"click",triggerAction:r})},onMessageReady:e=>()=>{f({trackingProps:e,action:"view"})},onMessageReceiveData:()=>(e,n)=>{const{messageId:t}=n;t&&b({messageId:t})},onError:e=>(n,t)=>{f({trackingProps:e,action:"error",triggerAction:t})},onPMCancel:()=>()=>{b({activeComponent:g})}};function fe(e,n){window.addEventListener("message",function(t){if(t.origin!==n)return;const o={1:"save_and_close",11:"accept_all",13:"reject_all"},{data:{fromPM:s,actionType:r,messageId:a="0"}={}}=t;s&&(+a&&b({activeComponent:re,privacyManagerId:+a}),!(!r||!o[r])&&f({trackingProps:e,action:"click",triggerAction:o[r]}))},!1)}const me="3.4.0-beta.1";async function _e({propertyConfig:e=_,userId:n,useFTSession:t=!0,consentProxyHost:o=A,cookieDomain:s=L,formOfWordsId:r=M,useConsentStore:a=!0,trackingContext:i={}}={}){if(typeof window>"u"){console.error("The CMP client can only be initialised in a browser context");return}if(window.FT_CMP_CLIENT_VERSION=me,!n&&t)try{const c=await k();n=c==null?void 0:c.uuid}catch(c){console.error(c)}if(!(e!=null&&e.accountId))throw new Error("Please pass a valid property config");n&&(e.authId=n),e.events&&(console.warn("[cmp-client] Passing an events map in the config is not supported and will be ignored. Please use window._sp_.addEventListener() to listen for events"),delete e.events),B(e),window._sp_queue.push(()=>{var c,p;(p=(c=window._sp_)==null?void 0:c.addEventListener)==null||p.call(c,"onConsentReady",se({userId:n,consentProxyHost:o,cookieDomain:s,formOfWordsId:r,useConsentStore:a}))}),ue(i,e.baseEndpoint)}function ge(e=_){const{privacyManagerId:n,manageCookiesLinkOverride:t,manageCookiesSelector:o}=e._clientOptions||{},s=document.querySelector(o??"#site-footer");s&&t?s.addEventListener("click",r=>{var i,c,p;const a=r.target.closest("a");(i=a==null?void 0:a.getAttribute("href"))!=null&&i.endsWith(t)&&(r.preventDefault(),(p=(c=window._sp_)==null?void 0:c.gdpr)==null||p.loadPrivacyManagerModal(n))}):console.warn("No footer found for",o)}function ye(e,n){if(!n||Number.isFinite(parseFloat(n))||!e.endsWith(n))return!1;const t=e.indexOf(n),o=e[t-1];return o==="."||o===void 0}function be(e){if(!e)throw new Error("Invalid hostname provided");let t=Object.values(q).find(o=>{var r;const s=(r=o._clientOptions)==null?void 0:r.rootDomain;return s&&ye(e,s)});return t??(t=I),t}const he=new URL(window.location.href).hostname,O=be(he);_e({propertyConfig:O}),ge(O)})();
|
|
1
|
+
(function(){"use strict";const S=(e,{credentials:n="omit"}={})=>fetch(`https://session-next.ft.com${e}`,{credentials:n,useCorsProxy:!0}).then(t=>t.ok?t.json():t.text().then(o=>{throw new Error(`Next session responded with "${o}" (${t.status})`)})).catch(t=>{document.body.dispatchEvent(new CustomEvent("oErrors.log",{bubbles:!0,detail:{error:t,info:{component:"next-session-client"}}}))});let d={};const m=(e,n)=>{if(typeof e=="object"){d=e;return}if(typeof e=="string"&&typeof n=="string"){d[e]=n;return}if(typeof e=="string"&&typeof n>"u")return d[e]||null;if(typeof e>"u"&&typeof n>"u")return d;throw new Error("Invalid arguments")};m.clear=()=>{d={}};const l={},T=()=>{const[,e]=/FTSession_s=([^;]+)/.exec(document.cookie)||[];return e},k=()=>{const e=m("uuid");if(e)return Promise.resolve({uuid:e});const n=T();return n?(l.uuid||(l.uuid=S(`/sessions/s/${n}`).then(({uuid:t}={})=>(delete l.uuid,t&&m("uuid",t),{uuid:t}))),l.uuid):Promise.resolve({uuid:void 0})},h="sourcepoint-cmp",P="FTPINK",N="FTConsent",M="sourcepointCmp/VngD.XycZut.595cp9fWdp5XYP9vlFvk",L=".ft.com",A="https://consent.ft.com",v={permutiveAds:{purposes:[2,4,8,9],iabVendors:[361],customVendors:[],specialFeatures:[]},demographicAds:{purposes:[3,4,7,9,10],iabVendors:[],customVendors:[],specialFeatures:[]},behaviouralAds:{purposes:[2,4,8,9],iabVendors:[],customVendors:[],specialFeatures:[]},programmaticAds:{purposes:[2],iabVendors:[],customVendors:[],specialFeatures:[]},personalisedMarketing:{purposes:[1,4,8,9,10],iabVendors:[],customVendors:[],specialFeatures:[]}},C=Object.keys(v),u={joinHref:!0,gdpr:{},ccpa:{}},I={...u,accountId:1906,baseEndpoint:"https://consent-manager.ft.com",propertyHref:"https://local.ft.com",_clientOptions:{privacyManagerId:827767,manageCookiesLinkOverride:"ft.com/preferences/manage-cookies"}},_={...u,accountId:1906,baseEndpoint:"https://consent-manager.ft.com",propertyId:31642,_clientOptions:{privacyManagerId:827767,manageCookiesLinkOverride:"ft.com/preferences/manage-cookies",rootDomain:"ft.com"}},D={...u,accountId:1906,baseEndpoint:"https://consent-manager.pwmnet.com",propertyId:33414,_clientOptions:{rootDomain:"pwmnet.com"}},R={...u,accountId:1906,baseEndpoint:"https://consent-manager.fdiintelligence.com",propertyId:34061,_clientOptions:{rootDomain:"fdiintelligence.com"}},F={...u,accountId:1906,baseEndpoint:"https://consent-manager.thebanker.com",propertyId:34060,_clientOptions:{rootDomain:"thebanker.com"}},V={...u,accountId:1906,baseEndpoint:"https://consent-manager.bankingriskandregulation.com",propertyId:34059,_clientOptions:{rootDomain:"bankingriskandregulation.com"}},j={...u,accountId:1906,baseEndpoint:"https://consent-manager.sustainableviews.com",propertyId:34058,_clientOptions:{rootDomain:"sustainableviews.com"}},H={...u,accountId:1906,baseEndpoint:"https://consent-manager.ftadviser.com",propertyId:33416,_clientOptions:{rootDomain:"ftadviser.com"}},U={...u,accountId:1906,baseEndpoint:"https://consent-manager.investorschronicle.co.uk",propertyId:33415,_clientOptions:{rootDomain:"investorschronicle.co.uk"}},x={...u,accountId:1906,baseEndpoint:"https://cdn.privacy-mgmt.com",propertyId:33947,_clientOptions:{rootDomain:"ignitesasia.com"}},$={...u,accountId:1906,baseEndpoint:"https://cdn.privacy-mgmt.com",propertyId:33946,_clientOptions:{rootDomain:"igniteseurope.com"}},q=Object.freeze(Object.defineProperty({__proto__:null,FT_DOTCOM_PROD:_,FT_DOTCOM_TEST:I,MM_IGNITES_ASIA:x,MM_IGNITES_EUROPE:$,SP_BANKING_RR:V,SP_FDI_INTELLIGENCE:R,SP_FT_ADVISER:H,SP_INVESTORS_CHRONICLE:U,SP_PWMNET:D,SP_SUSTAINABLE_VIEWS:j,SP_THE_BANKER:F},Symbol.toStringTag,{value:"Module"}));function E(e,n){const t=document.createElement("script");return t.dataset.cmpScript=e,t.innerHTML=n,t}function G(e){const n=document.createElement("script");return n.src=e,n}const W={cmpFrames:"https://consent-manager.ft.com/unified/wrapperMessagingWithoutDetection.js"},w={tcfStub:'"use strict";function _typeof(t){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}!function(){var t=function(){var t,e,o=[],n=window,r=n;for(;r;){try{if(r.frames.__tcfapiLocator){t=r;break}}catch(t){}if(r===n.top)break;r=r.parent}t||(!function t(){var e=n.document,o=!!n.frames.__tcfapiLocator;if(!o)if(e.body){var r=e.createElement("iframe");r.style.cssText="display:none",r.name="__tcfapiLocator",r.title = "__tcfapiLocator",e.body.appendChild(r)}else setTimeout(t,5);return!o}(),n.__tcfapi=function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];if(!n.length)return o;"setGdprApplies"===n[0]?n.length>3&&2===parseInt(n[1],10)&&"boolean"==typeof n[3]&&(e=n[3],"function"==typeof n[2]&&n[2]("set",!0)):"ping"===n[0]?"function"==typeof n[2]&&n[2]({gdprApplies:e,cmpLoaded:!1,cmpStatus:"stub"}):o.push(n)},n.addEventListener("message",(function(t){var e="string"==typeof t.data,o={};if(e)try{o=JSON.parse(t.data)}catch(t){}else o=t.data;var n="object"===_typeof(o)&&null!==o?o.__tcfapiCall:null;n&&window.__tcfapi(n.command,n.version,(function(o,r){var a={__tcfapiReturn:{returnValue:o,success:r,callId:n.callId}};t&&t.source&&t.source.postMessage&&t.source.postMessage(e?JSON.stringify(a):a,"*")}),n.parameter)}),!1))};"undefined"!=typeof module?module.exports=t:t()}();',uspStub:'"use strict";(function () { var e = false; var c = window; var t = document; function r() { if (!c.frames["__uspapiLocator"]) { if (t.body) { var a = t.body; var e = t.createElement("iframe"); e.style.cssText = "display:none"; e.name = "__uspapiLocator"; e.title = "__uspapiLocator";a.appendChild(e) } else { setTimeout(r, 5) } } } r(); function p() { var a = arguments; __uspapi.a = __uspapi.a || []; if (!a.length) { return __uspapi.a } else if (a[0] === "ping") { a[2]({ gdprAppliesGlobally: e, cmpLoaded: false }, true) } else { __uspapi.a.push([].slice.apply(a)) } } function l(t) { var r = typeof t.data === "string"; try { var a = r ? JSON.parse(t.data) : t.data; if (a.__cmpCall) { var n = a.__cmpCall; c.__uspapi(n.command, n.parameter, function (a, e) { var c = { __cmpReturn: { returnValue: a, success: e, callId: n.callId } }; t.source.postMessage(r ? JSON.stringify(c) : c, "*") }) } } catch (a) { } } if (typeof __uspapi !== "function") { c.__uspapi = p; __uspapi.msgHandler = l; c.addEventListener("message", l, false) } })();'};function K(){const e=document.createDocumentFragment();return e.appendChild(E("tcf",w.tcfStub)),e.appendChild(E("usp",w.uspStub)),e.appendChild(G(W.cmpFrames)),e}function B(e){const{_clientOptions:n,...t}=e;window._sp_={config:t},window._sp_queue??(window._sp_queue=[]),document.head.appendChild(K())}function J(e,n,{formOfWordsId:t,cookieDomain:o}){const r=Object.keys(e).reduce((a,i)=>(a[i]={onsite:{status:e[i],lbi:!1,source:h,fow:t}},a),{});return n?{setConsentCookie:!0,formOfWordsId:t,consentSource:h,cookieDomain:o,data:r}:{data:r,cookieDomain:o}}function X(e,{purpose:n,vendor:t,specialFeatureOptins:o}){const s=v[e],r=s.purposes.every(c=>(n==null?void 0:n.consents[c])||(n==null?void 0:n.legitimateInterests[c])),a=s.iabVendors.every(c=>(t==null?void 0:t.consents[c])||(t==null?void 0:t.legitimateInterests[c])),i=s.specialFeatures.every(c=>(o==null?void 0:o[c])===!0);return r&&a&&i}function Y(e){const n=(e==null?void 0:e[2])==="N",t={};for(const o of C)t[o]=n;return t}async function z(){const e=await new Promise((t,o)=>{var s;try{(s=window.__tcfapi)==null||s.call(window,"addEventListener",2,t)}catch(r){o(r)}}),n={};for(const t of C)n[t]=X(t,e);return n}async function Z(e,n){return e==="ccpa"?Y(n):await z()}function Q(){const n=Object.fromEntries(document.cookie.split("; ").map(o=>o.split("=")))[N];if(!n)return{};const t=decodeURIComponent(n);return Object.fromEntries(t.split(",").map(o=>{const[s,r]=o.split(":");return[s,r==="on"]}))}function ee(e,n){return Object.keys(e).some(o=>{const s=`${o.toLowerCase()}Onsite`;return e[o]!==n[s]})}function te({userId:e,useConsentStore:n}){return!!e&&n===!0}function ne(e,n){return e?`${n.consentProxyHost}/__consent/consent-record/${P}/${n.userId}`:`${n.consentProxyHost}/__consent/consent-record-cookie?cookieDomain=${n.cookieDomain}`}async function oe(e,n){try{const t=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n),credentials:"include"});t.ok||console.error("Unable to save consent preferences",t.status)}catch(t){console.error("An error occurred while saving consent",t)}}function se(e){return async function(t,o,s,r){const a=r.applies?t:"gdpr";if(a!==t||!s)return;const i=await Z(a,s);if(!ee(i,Q()))return;const p=te(e),ve=ne(p,e),Ce=J(i,p,e);await oe(ve,Ce),document.dispatchEvent(new CustomEvent("oCookieMessage.act",{bubbles:!0}))}}const g="cookie-message",re="manage-cookies";let y=Object.freeze({activeComponent:g,messageId:0,privacyManagerId:0});function ce(e){return typeof e=="object"&&e!==null&&e.constructor===Object&&Object.prototype.toString.call(e)==="[object Object]"}const ae=()=>({...y}),b=e=>{if(!ce(e)){console.error("Invalid state changes");return}y={...y,...e}},ie=["adsDisableInternalCMP","pwm.cmp","messageSlotBottom"];function ue(e,n){const t=pe(e.flags);window._sp_queue=window._sp_queue??[],window._sp_queue.push(()=>{var o,s;for(const[r,a]of Object.entries(le))(s=(o=window._sp_).addEventListener)==null||s.call(o,r,a({...e,flags:t}))}),fe({...e,flags:t},n)}function pe(e){const n={};return typeof e=="object"&&ie.forEach(t=>{Object.prototype.hasOwnProperty.call(e,t)&&(n[t]=e[t])}),n}function de(e){if(!e)return;const n=document.body,t=new CustomEvent("oTracking.event",{bubbles:!0,cancelable:!0,detail:e.detail});n.dispatchEvent(t)}function f({trackingProps:e,action:n,triggerAction:t}){let o;const s=ae(),{product:r,app:a,flags:i}=e;s.activeComponent===g?o=s.messageId:o=s.privacyManagerId;const c={detail:{component:{id:o,name:s.activeComponent,type:"overlay",subtype:"cmp"},category:"component",action:n,...t&&{trigger_action:t},...r&&{product:r},...a&&{app:a},custom:[{cookie_toggle_flag:i}],url:window.document.location.href||null}};de(c)}const le={onMessageChoiceSelect:e=>(n,t,o)=>{const r={11:"accept_all",12:"manage_cookies",13:"reject_all"}[o];r&&f({trackingProps:e,action:"click",triggerAction:r})},onMessageReady:e=>()=>{f({trackingProps:e,action:"view"})},onMessageReceiveData:()=>(e,n)=>{const{messageId:t}=n;t&&b({messageId:t})},onError:e=>(n,t)=>{f({trackingProps:e,action:"error",triggerAction:t})},onPMCancel:()=>()=>{b({activeComponent:g})}};function fe(e,n){window.addEventListener("message",function(t){if(t.origin!==n)return;const o={1:"save_and_close",11:"accept_all",13:"reject_all"},{data:{fromPM:s,actionType:r,messageId:a="0"}={}}=t;s&&(+a&&b({activeComponent:re,privacyManagerId:+a}),!(!r||!o[r])&&f({trackingProps:e,action:"click",triggerAction:o[r]}))},!1)}const me="3.4.0-beta.2";async function _e({propertyConfig:e=_,userId:n,useFTSession:t=!0,consentProxyHost:o=A,cookieDomain:s=L,formOfWordsId:r=M,useConsentStore:a=!0,trackingContext:i={}}={}){if(typeof window>"u"){console.error("The CMP client can only be initialised in a browser context");return}if(window.FT_CMP_CLIENT_VERSION=me,!n&&t)try{const c=await k();n=c==null?void 0:c.uuid}catch(c){console.error(c)}if(!(e!=null&&e.accountId))throw new Error("Please pass a valid property config");n&&(e.authId=n),e.events&&(console.warn("[cmp-client] Passing an events map in the config is not supported and will be ignored. Please use window._sp_.addEventListener() to listen for events"),delete e.events),B(e),window._sp_queue.push(()=>{var c,p;(p=(c=window._sp_)==null?void 0:c.addEventListener)==null||p.call(c,"onConsentReady",se({userId:n,consentProxyHost:o,cookieDomain:s,formOfWordsId:r,useConsentStore:a}))}),ue(i,e.baseEndpoint)}function ge(e=_){const{privacyManagerId:n,manageCookiesLinkOverride:t,manageCookiesSelector:o}=e._clientOptions||{},s=document.querySelector(o??"#site-footer");s&&t?s.addEventListener("click",r=>{var i,c,p;const a=r.target.closest("a");(i=a==null?void 0:a.getAttribute("href"))!=null&&i.endsWith(t)&&(r.preventDefault(),(p=(c=window._sp_)==null?void 0:c.gdpr)==null||p.loadPrivacyManagerModal(n))}):console.warn("No footer found for",o)}function ye(e,n){if(!n||Number.isFinite(parseFloat(n))||!e.endsWith(n))return!1;const t=e.indexOf(n),o=e[t-1];return o==="."||o===void 0}function be(e){if(!e)throw new Error("Invalid hostname provided");let t=Object.values(q).find(o=>{var r;const s=(r=o._clientOptions)==null?void 0:r.rootDomain;return s&&ye(e,s)});return t??(t=I),t}const he=new URL(window.location.href).hostname,O=be(he);_e({propertyConfig:O}),ge(O)})();
|