@temple-wallet/extension-ads 11.0.0 → 11.0.2-dev.1712.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/dist/index.d.ts +3 -2
- package/dist/index.js +10 -10
- package/package.json +2 -2
- package/src/execute-ads-actions/utils.ts +0 -24
package/dist/index.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ type StringRecord<T = string> = Record<string, T>;
|
|
|
2
2
|
|
|
3
3
|
interface AdSource {
|
|
4
4
|
shouldNotUseStrictContainerLimits?: boolean;
|
|
5
|
-
providerName: 'Temple' | 'Persona' | 'HypeLab' | 'SmartyAds';
|
|
5
|
+
providerName: 'Temple' | 'Persona' | 'HypeLab' | 'SmartyAds' | 'Bitmedia';
|
|
6
6
|
native?: boolean;
|
|
7
7
|
slug: string;
|
|
8
8
|
categories?: string[];
|
|
@@ -158,7 +158,8 @@ declare enum AdsProviderTitle {
|
|
|
158
158
|
SmartyAds = "SmartyAds",
|
|
159
159
|
HypeLab = "HypeLab",
|
|
160
160
|
Persona = "Persona",
|
|
161
|
-
Temple = "Temple Wallet"
|
|
161
|
+
Temple = "Temple Wallet",
|
|
162
|
+
Bitmedia = "Bitmedia"
|
|
162
163
|
}
|
|
163
164
|
type AdsProviderName = keyof typeof AdsProviderTitle;
|
|
164
165
|
|
package/dist/index.js
CHANGED
|
@@ -3,20 +3,20 @@
|
|
|
3
3
|
var semver = require('semver');
|
|
4
4
|
var lodash = require('lodash');
|
|
5
5
|
var nanoid = require('nanoid');
|
|
6
|
-
var
|
|
6
|
+
var vt = require('webextension-polyfill');
|
|
7
7
|
var cryptoJs = require('crypto-js');
|
|
8
|
-
var
|
|
8
|
+
var Ut = require('axios');
|
|
9
9
|
|
|
10
10
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
11
|
|
|
12
|
-
var
|
|
13
|
-
var
|
|
12
|
+
var vt__default = /*#__PURE__*/_interopDefault(vt);
|
|
13
|
+
var Ut__default = /*#__PURE__*/_interopDefault(Ut);
|
|
14
14
|
|
|
15
|
-
var at=Object.defineProperty,lt=Object.defineProperties;var dt=Object.getOwnPropertyDescriptors;var le=Object.getOwnPropertySymbols;var Oe=Object.prototype.hasOwnProperty,We=Object.prototype.propertyIsEnumerable;var Be=(e,t,r)=>t in e?at(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,v=(e,t)=>{for(var r in t||(t={}))Oe.call(t,r)&&Be(e,r,t[r]);if(le)for(var r of le(t))We.call(t,r)&&Be(e,r,t[r]);return e},C=(e,t)=>lt(e,dt(t));var I=(e,t)=>{var r={};for(var s in e)Oe.call(e,s)&&t.indexOf(s)<0&&(r[s]=e[s]);if(e!=null&&le)for(var s of le(e))t.indexOf(s)<0&&We.call(e,s)&&(r[s]=e[s]);return r};var w=(e,t,r)=>new Promise((s,o)=>{var a=l=>{try{i(r.next(l));}catch(m){o(m);}},n=l=>{try{i(r.throw(l));}catch(m){o(m);}},i=l=>l.done?s(l.value):Promise.resolve(l.value).then(a,n);i((r=r.apply(e,t)).next());});process&&process.env&&process.env.NODE_ENV==="development";navigator.userAgent.includes("Macintosh");var ke=e=>!!e,ct=300,B=(e=ct)=>new Promise(t=>setTimeout(t,e));var A=class{};A.IS_MISES_BROWSER=!1,A.ADS_TW_WINDOW_URL="",A.TKEY_INPAGE_AD_URL="",A.SMALL_TKEY_INPAGE_AD_URL="",A.SWAP_TKEY_URL="",A.EXTERNAL_ADS_ACTIVITY_MESSAGE_TYPE="",A.personaIframePath="",A.getAdsStackIframeURL=()=>"",A.buildNativeAdsMeta=()=>[],A.pickNextAdMetadata=()=>{},A.bannerAdsMeta=[];var mt=e=>{let{adsTwWindowUrl:t,tkeyInpageAdUrl:r,smallTkeyInpageAdUrl:s,swapTkeyUrl:o,externalAdsActivityMessageType:a,personaIframePath:n,getAdsStackIframeURL:i,buildNativeAdsMeta:l,bannerAdsMeta:m,extVersion:d,templePassphrase:p,isMisesBrowser:c,pickNextAdMetadata:h}=e;s&&(A.SMALL_TKEY_INPAGE_AD_URL=s),A.ADS_TW_WINDOW_URL=t,A.TKEY_INPAGE_AD_URL=r,A.SWAP_TKEY_URL=o,A.EXTERNAL_ADS_ACTIVITY_MESSAGE_TYPE=a,A.personaIframePath=n,A.getAdsStackIframeURL=i,A.buildNativeAdsMeta=l,A.pickNextAdMetadata=h,A.bannerAdsMeta=m,A.EXTENSION_VERSION=d,A.TEMPLE_PASSPHRASE=p,A.IS_MISES_BROWSER=c;};var Y="twa",K="twa-native",de="twa-hidden",G="twa-sibling-replacement";var ce="adRenderStart",me="resize",se="ready",ne="error",pe="accelerometer; gyroscope",_="crypto",ue="background";var q=/[\d.]+(px)?$/,X=`[${Y}]`,Ue=`[${Y}]:not([${K}])`,Fe=`[${K}]`,j=(e,t)=>{let r=parseInt(e,10);return isNaN(r)||!q.test(e)?t:r},V=(e,t,r)=>{e.style[t]=`${Math.max(j(e.style[t],0),r)}px`;},Q=e=>e.reduce((t,r)=>t+j(r,0),0),J=e=>!!e.closest(X),Ae=e=>{var t;return !!((t=e.previousElementSibling)!=null&&t.getAttribute(G))},ie=e=>{let t=getComputedStyle(e),{x:r,right:s,width:o,height:a}=e.getBoundingClientRect(),n={width:o,height:a},i=["width","height"];for(let l of i){let m=t[l],d=e.getAttribute(l),p=Math.max(...[m,d].map(c=>j(c!=null?c:"",-1)));p!==-1&&(n[l]=p),l==="width"&&r<0?n.width+=r:l==="width"&&s>window.innerWidth&&(n.width=window.innerWidth-r);}return n},H=(e,t,r=document)=>e?t?[...r.querySelectorAll(e)]:[r.querySelector(e)].filter(s=>!!s):[],O=(e,t)=>{let r=e;for(let s=0;s<t;s++){let o=r.parentElement;if(!o)return null;r=o;}return r},Ve=(e,t,r,s,o)=>{if(e<2&&t<2)return [];if(s)return A.buildNativeAdsMeta(e,t);let a=r==="permanent"||r==="slot-replacement"?A.bannerAdsMeta.filter(({source:l})=>l.shouldNotUseStrictContainerLimits):[],n=Math.max(e,...a.map(({dimensions:l})=>l.width)),i=Math.max(t,...a.map(({dimensions:l})=>l.height));return A.bannerAdsMeta.reduce((l,{dimensions:m,source:d},p)=>{let{shouldNotUseStrictContainerLimits:c=!1,categories:h=[_]}=d;if(h.every(M=>!o.includes(M)))return l;let{minContainerWidth:u,minContainerHeight:g,width:R,maxContainerWidth:E,maxContainerHeight:P}=m,S=!1;switch(r){case"permanent":S=c||n>=R&&(i>=g||i<2);break;case"slot-replacement":S=c||n>=u&&(i>=g||i<2);break;default:S=e>=u&&t>=g&&e<=E&&t<=P;}return S&&l.push(p),l},[])},pt=e=>{let{x:t,y:r,width:s,height:o}=e.getBoundingClientRect();return t!==0||r!==0||s!==0||o!==0},Ee=e=>{let{display:t}=window.getComputedStyle(e);switch(t){case"none":return !0;case"contents":return Array.from(e.children).every(r=>Ee(r));default:return !pt(e)}};var Ye=(e,t)=>{let{shouldHide:r,cssString:s,parentDepth:o,isMultiple:a}=e;H(s,a).forEach(n=>{let i=O(n,o);if(!i)return;let l=window.getComputedStyle(i);l.display!=="none"&&l.visibility!=="hidden"&&t.push({type:r?"hide-element":"remove-element",element:i});});};var Ge=(e,t,r,s)=>w(void 0,null,function*(){let{parentSelector:o,displayWidth:a}=e,{isMultiple:n,cssString:i,parentDepth:l}=o;if(a&&!semver.satisfies(semver.coerce(window.innerWidth),a))return [];let m=H(i,n).map(d=>O(d,l)).filter(d=>!!d);return yield Promise.all(m.map(d=>w(void 0,null,function*(){yield B(0),ut(d,e,t,r,s);}))),m}),fe=(e,t)=>{var r,s;return e?{width:(r=document.querySelector(e.width))!=null?r:t,height:(s=document.querySelector(e.height))!=null?s:t}:{width:t,height:t}},ut=(e,t,r,s,o)=>{var be;let xe=t,{shouldUseDivWrapper:a,divWrapperStyle:n,wrapperStyle:i,elementStyle:l,adSelector:m,insertionIndex:d,insertBeforeSelector:p,insertAfterSelector:c,insertionsCount:h=1,elementsToMeasureSelectors:u,stylesOverrides:g,shouldHideOriginal:R=!1,isNative:E,urlRegexes:P,parentSelector:S,supportsTheming:M,enableForNonMises:L,fontSampleSelector:y,displayWidth:T}=xe,x=I(xe,["shouldUseDivWrapper","divWrapperStyle","wrapperStyle","elementStyle","adSelector","insertionIndex","insertBeforeSelector","insertAfterSelector","insertionsCount","elementsToMeasureSelectors","stylesOverrides","shouldHideOriginal","isNative","urlRegexes","parentSelector","supportsTheming","enableForNonMises","fontSampleSelector","displayWidth"]),D=x.wrapperType?i:a?n:{display:"contents"},{isMultiple:b,cssString:z,parentDepth:U}=m,W=H(E?Fe:Ue,!0,e).reduce((f,k)=>f.some($=>$.contains(k))?f:[...f.filter($=>!k.contains($)),k],[]),F=W.filter(f=>Ee(f)&&!f.hasAttribute(de)),ee=W.length-F.length,ae=h-ee;if(H(z,b,e).map(f=>O(f,U)).filter(f=>ke(f)&&!J(f)).forEach(f=>{var $;let k=window.getComputedStyle(f).display==="none";if(ae<=0)(!R||!k)&&s.push({type:R?"hide-element":"remove-element",element:f});else {let rt=fe(u,(($=f.parentElement)==null?void 0:$.children.length)===1?f.parentElement:f),_e=M&&y?document.querySelector(y):null,{fontSize:Le,lineHeight:Ce}=_e?window.getComputedStyle(_e):{},st=Le?j(Le,0):0,nt=Ce?j(Ce,0):0,He=v({themeColor:M?o:void 0,fontSize:st||void 0,lineHeight:nt||void 0,wrapperStyle:D,elementStyle:l,stylesOverrides:g},x),it=v({type:"replace-element",element:f,adCategories:[_]},He),Ne={type:"hide-element",element:f},ot=v({type:"simple-insert-ad",parent:f.parentElement,insertionIndex:Array.from(f.parentElement.children).indexOf(f),isSiblingReplacement:!0,adCategories:[_]},He),re=[],De=Ae(f);R&&De&&!k?re=[Ne]:R&&!De?re=[Ne,ot]:R||(re=[it]),re.length>0&&r(rt,"permanent",E,[_],...re)&&ae--;}}),ae<=0)return;let te=-1,Me=e,he={width:e,height:e},Ie=p||c;if(Ie){let f=e.querySelector(Ie),k=f==null?void 0:f.parentElement;f&&k&&(Me=k,te=Array.from(e.children).indexOf(f)+(p?0:1),he=fe(u,f));}else {let f=d!=null?d:0;te=f<0?Math.max(e.children.length+f,0):Math.min(f,e.children.length),he=fe(u,(be=e.children[te])!=null?be:e);}if(te!==-1){let f=v({type:"simple-insert-ad",wrapperStyle:D,elementStyle:l,parent:Me,insertionIndex:te,isSiblingReplacement:!1,stylesOverrides:g,adCategories:[_]},x);r(he,"permanent",E,[_],...Array(ae).fill(f));}};var Et=["align-items","align-self","bottom","display","flex","flex-grow","flex-shrink","float","justify-content","justify-self","left","margin","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","padding","position","right","top","vertical-align","z-index"],ft=lodash.memoize(e=>e.reduce((t,{dimensions:r})=>{let s=t.filter(({width:o,height:a})=>o<r.width||a<r.height);return (s.length===0||s.some(({width:o,height:a})=>o>r.width||a>r.height))&&s.push(r),s},[])),ze=(e,t,r,s)=>w(void 0,null,function*(){let o=ft(A.bannerAdsMeta),a=e.map(({selector:i,parentDepth:l,categories:m})=>H(i,!0).reduce((d,p)=>{var y;let c=(y=O(p,l))!=null?y:p,h=d.findIndex(({element:T})=>T.contains(c)),u=c.parentElement&&window.getComputedStyle(c.parentElement),{width:g,height:R}=ie(c),E=s.some(T=>{var x;return T.type==="replace-all-children"||T.type==="simple-insert-ad"?T.parent.contains(c)||c.contains(T.parent):((x=T.element.parentElement)==null?void 0:x.contains(c))||c.contains(T.element)}),P=(u==null?void 0:u.display)==="none"||(u==null?void 0:u.visibility)==="hidden",S=h>=0&&d[h]instanceof HTMLAnchorElement,M=o.some(({width:T,height:x})=>g>=T&&R>=x);if(E||!M||P||S)return d;let L={element:c,categories:m};return h>=0?d.splice(h,1,L):d.some(({element:T})=>T.contains(c))||d.push(L),d},[])).flat(),n=t.map(({selector:i,parentDepth:l})=>H(i,!0).map(m=>O(m,l)).filter(m=>!!m)).flat();a=a.filter(({element:i})=>!n.includes(i)),yield Promise.all(a.map(m=>w(void 0,[m],function*({element:i,categories:l}){var u,g,R,E,P,S,M,L;yield B(0);let d=i.parentElement,{width:p,height:c}=window.getComputedStyle(i),h=q.test(p)&&q.test(c)?i:(g=(u=d==null?void 0:d.closest("div, article, aside, footer, header"))!=null?u:(d==null?void 0:d.tagName.toLowerCase())==="body"?void 0:d)!=null?g:i;if(!J(i)&&!i.querySelector(X)&&!s.some(y=>y.type==="simple-insert-ad"?!1:y.type==="replace-all-children"?y.parent.contains(i):y.element===i)){let y=(R=i.getAttribute("style"))!=null?R:"",T=Object.fromEntries(y.split(";").filter(Boolean).map(F=>F.split(":").map(ee=>ee.trim())));if((E=T.width)!=null&&E.match(/^0[a-z]/)||(P=T.height)!=null&&P.match(/^0[a-z]/))return;let x=window.getComputedStyle(i),D=v(v({},Object.fromEntries(Et.map(F=>[F,x.getPropertyValue(F)]))),T),b={type:"hide-element",element:i},z={type:"simple-insert-ad",wrapperStyle:D,parent:(S=i.parentElement)!=null?S:document.body,insertionIndex:Array.from((L=(M=i.parentElement)==null?void 0:M.children)!=null?L:[]).indexOf(i),isSiblingReplacement:!0,shouldUseBlurredBackground:!0,adCategories:l},U,W=i.closest(`[${G}] + *`);W&&W!==i?U=[{type:"remove-element",element:W.previousElementSibling},b,z]:W?U=window.getComputedStyle(i).display==="none"?[]:[b]:U=[b,z],r({width:h,height:h},"provider-replacement",!1,l,...U);}})));});var $e=(e,t,r)=>w(void 0,null,function*(){let{cssString:s,isMultiple:o}=e.selector,a=H(s,o);yield Promise.all(a.map(n=>w(void 0,null,function*(){yield B(0),Rt(n,e,t,r);})));}),Rt=(e,t,r,s)=>{let{selector:{shouldUseDivWrapper:o,parentDepth:a,divWrapperStyle:n},stylesOverrides:i,shouldHideOriginal:l,isNative:m=!1}=t,d=O(e,a);if(!d||r.some(h=>h.contains(d))||J(d)||d.querySelector(X))return;let p={shouldUseDivWrapper:o,wrapperStyle:n},c;if(o&&l){let h=d.parentElement,u=window.getComputedStyle(d).display==="none",g=v({type:"simple-insert-ad",parent:h,insertionIndex:Array.from(h.children).indexOf(d),stylesOverrides:i==null?void 0:i.map(P=>{var S=P,{parentDepth:R}=S,E=I(S,["parentDepth"]);return C(v({},E),{parentDepth:R-1})}),isSiblingReplacement:!0,adCategories:[_]},p);c=[],u||c.push({type:"hide-element",element:d}),Ae(d)||c.push(g);}else if(o)c=[v({type:"replace-element",element:d,stylesOverrides:i==null?void 0:i.map(R=>{var E=R,{parentDepth:u}=E,g=I(E,["parentDepth"]);return C(v({},g),{parentDepth:u-1})}),adCategories:[_]},p)];else if(l){let h={type:"simple-insert-ad",parent:d,insertionIndex:0,stylesOverrides:i,isSiblingReplacement:!0,adCategories:[_],wrapperStyle:{display:"contents"}};c=Array.from(d.children).filter(u=>window.getComputedStyle(u).display!=="none").map(u=>({type:"hide-element",element:u})),d.querySelector(X)||c.push(h);}else c=[{type:"replace-all-children",parent:d,stylesOverrides:i,adCategories:[_],wrapperStyle:{display:"contents"}}];c.length>0&&s({width:d,height:d},"slot-replacement",m,[_],...c);};var yt=a=>w(void 0,[a],function*({providersSelectors:e,providersNegativeSelectors:t,adPlacesRules:r,permanentAdPlacesRules:s,elementsToHideOrRemoveRules:o}){let n=[],i=(d,p,c,h,...u)=>{if(u.length>0&&u.every(b=>b.type==="hide-element"||b.type==="remove-element"))return n.push(...u),!0;let{width:g}=ie(d.width),{height:R}=ie(d.height),{paddingLeft:E,paddingRight:P}=window.getComputedStyle(d.width),{paddingTop:S,paddingBottom:M}=window.getComputedStyle(d.height),L=Q([E,P]),y=L===g?g:g-L,T=Q([S,M]),x=T===R?R:R-T,D=Ve(y,x,p,c,h);return D.length?(n.push(...u.map(b=>b.type==="hide-element"||b.type==="remove-element"?b:C(v({},b),{adsMetadata:D,originalWidth:y,originalHeight:x}))),!0):!1},l=[],{backgroundColor:m}=window.getComputedStyle(document.body);return yield Promise.all(o.map(d=>w(void 0,null,function*(){yield B(0),Ye(d,n);}))),yield Promise.all(s.map(d=>w(void 0,null,function*(){yield B(0),l=l.concat(yield Ge(d,i,n,m));}))),yield Promise.all(r.map(d=>w(void 0,null,function*(){yield B(0),yield $e(d,l,i);}))),yield ze(e,t,i,n),n});var Re=(a=>(a.Optimal="Optimal",a.SmartyAds="SmartyAds",a.HypeLab="HypeLab",a.Persona="Persona",a.Temple="Temple Wallet",a))(Re||{});var ye=new Set,Ke=new Set,qe=new Set,je=e=>w(void 0,null,function*(){let t=e.id;if(!ye.has(t))return ye.add(t),new Promise((r,s)=>{let o=!1,a=n=>{var i,l;if(n.source===e.contentWindow)try{let m=typeof n.data=="string"?JSON.parse(n.data):n.data;if(m.id!==t)return;let d=e.offsetWidth-e.clientWidth,p=e.offsetHeight-e.clientHeight;switch(m.type){case se:r(m.adMetadata.source.providerName);break;case ne:window.removeEventListener("message",a),e.style.display="none",s(new Error((i=m.reason)!=null?i:"Unknown error"));break;case ce:let{dimensions:c,source:h}=m.adMetadata;o=(l=h.native)!=null?l:!1;let{width:u,height:g}=c;u>0&&g>0&&(h.native?e.style.height=`${g}px`:(V(e,"width",u),V(e,"height",g)));break;case me:let{width:R,height:E}=m;o?e.style.height=`${E+p}px`:(V(e,"width",R+d),V(e,"height",E+p));}}catch(m){console.error("Observing error:",m);}};window.addEventListener("message",a);}).then(r=>{if(Ke.has(t))return;Ke.add(t),vt(e)?Qe(t,r):Tt(e,r);}).catch(r=>{throw console.error(r),r}).finally(()=>void ye.delete(t))}),Tt=(e,t)=>{let r=new IntersectionObserver(s=>{s.some(o=>o.isIntersecting)&&(Qe(e.id,t),r.disconnect());},{threshold:.5});r.observe(e);},Qe=(e,t)=>{if(qe.has(e))return;qe.add(e);let r=window.parent.location.href;St__default.default.runtime.sendMessage({type:A.EXTERNAL_ADS_ACTIVITY_MESSAGE_TYPE,url:r,provider:Re[t]}).catch(s=>void console.error(s));},vt=e=>{let t=e.getBoundingClientRect(),r=window.visualViewport;if(!r)return !1;let s=Math.min(Math.max(0,t.x),r.width),o=Math.min(Math.max(0,t.x+t.width),r.width),a=Math.min(Math.max(0,t.y),r.height),n=Math.min(Math.max(0,t.y+t.height),r.height),i=t.width*t.height;return (o-s)*(n-a)/i>=.5};var oe=(e,t)=>{for(let r in t)e.style.setProperty(r,t[r]);};var Pt=(e,t)=>{["width","height"].forEach(s=>{var a;let o=(a=e.style[s])!=null?a:"";q.test(o)&&parseInt(o,10)<t[s]&&e.style.removeProperty(s);});},Mt=(e,t,r,s)=>w(void 0,null,function*(){let{elementStyle:o={},stylesOverrides:a=[],adsMetadata:n,wrapperType:i,originalHeight:l,originalWidth:m,shouldUseBlurredBackground:d,adCategories:p,themeColor:c,fontSize:h,lineHeight:u}=e;a.sort((y,T)=>y.parentDepth-T.parentDepth);let g,R=nanoid.nanoid(),E=document.createElement("iframe");E.loading="lazy",E.src=A.getAdsStackIframeURL({id:R,adsMetadataIds:n,origin:window.location.href,adCategories:p,themeColor:c,fontSize:h,lineHeight:u}),E.id=R,E.allow=pe;let P=n[0],{dimensions:S}=typeof P=="number"?A.bannerAdsMeta[P]:P,M={width:d?Math.max(m,S.width):S.width,height:d?Math.max(l,S.height):S.height};E.style.width=i==="tbody"?"100%":`${M.width}px`,E.style.height=`${M.height}px`,E.style.border="none";for(let y in o)E.style.setProperty(y,o[y]);switch(E.setAttribute(Y,"true"),Pt(t,M),r.appendChild(E),e.type){case"replace-all-children":g=e.parent,e.parent.innerHTML="",e.parent.appendChild(t);break;case"replace-element":g=e.element.parentElement,e.element.replaceWith(t);break;default:let y=e.parent.children[e.insertionIndex];if(e.isSiblingReplacement){t.setAttribute(G,"true");let T=new MutationObserver(x=>{x.some(b=>Array.from(b.removedNodes).includes(y))&&(t.remove(),T.disconnect());});T.observe(e.parent,{childList:!0});}g=e.parent,e.parent.insertBefore(t,y);break}if(i!=="tbody"){let{borderLeftWidth:y,borderRightWidth:T,borderTopWidth:x,borderBottomWidth:D}=window.getComputedStyle(E),{borderLeftWidth:b,borderRightWidth:z,borderTopWidth:U,borderBottomWidth:W}=window.getComputedStyle(t),F=Q([y,T,b,z]),ee=Q([x,D,U,W]);E.style.width=`${M.width-F}px`,E.style.height=`${M.height-ee}px`;}je(E).catch(s);let L=0;a.forEach(({parentDepth:y,style:T})=>{for(;y>L&&g;)g=g.parentElement,L++;g&&oe(g,T);});}),Je=e=>w(void 0,null,function*(){let{wrapperStyle:t={},adsMetadata:r,wrapperType:s="div",colsAfter:o=0,colsBefore:a=0,colspan:n=1}=e,i=r.every(p=>typeof p=="object"),l,m;if(s==="div")l=document.createElement("div"),m=l;else {l=document.createElement("tbody");let p=document.createElement("tr");l.appendChild(p);for(let h=0;h<a;h++)p.appendChild(document.createElement("td"));let c=document.createElement("td");c.colSpan=n,p.appendChild(c),m=c;for(let h=0;h<o;h++)p.appendChild(document.createElement("td"));}l.setAttribute(Y,"true"),i&&l.setAttribute(K,"true"),oe(l,t);let d=()=>{let p=document.createElement("div");p.setAttribute(Y,"true"),p.setAttribute(de,"true"),i&&p.setAttribute(K,"true"),e.type==="simple-insert-ad"&&e.isSiblingReplacement&&p.setAttribute(G,"true"),p.style.display="none",l.replaceWith(p);};yield Mt(e,l,m,p=>{console.error("Failed to render ads",p),d();}).catch(p=>{throw console.error("Inserting an ad attempt error:",p),d(),p});});var It=e=>Promise.allSettled(e.map(t=>w(void 0,null,function*(){t.type==="remove-element"?t.element.remove():t.type==="hide-element"?t.element.style.setProperty("display","none","important"):yield Je(t);})));var Se=(e,t,r=!1)=>{let s=document.createElement("div");s.style.width=`${e}px`,s.style.height=`${t}px`;let o=document.createElement("div");if(o.style.width=`${e}px`,o.style.height=`${t}px`,s.appendChild(o),r){let i=document.createElement("a");return i.href=A.SWAP_TKEY_URL,i.target="_blank",i.rel="noopener noreferrer",i.style.width=`${e}px`,i.style.height=`${t}px`,i.style.overflow="hidden",i.style.textOverflow="ellipsis",i.appendChild(document.createTextNode("TODO: Native TKEY ad")),o.appendChild(i),{element:s}}let a=document.createElement("a");a.href=A.SWAP_TKEY_URL,a.target="_blank",a.rel="noopener noreferrer",a.style.width="100%",a.style.height="100%",o.appendChild(a);let n=document.createElement("img");return n.src=e<=320?A.SMALL_TKEY_INPAGE_AD_URL:A.TKEY_INPAGE_AD_URL,n.style.width="100%",n.style.height="100%",a.appendChild(n),{element:s,creativeSet:{image:{url:n.src}}}};var Te=e=>{let{source:t,id:r,dimensions:s}=e,{width:o,height:a}=s,n=document.createElement("iframe");return n.id=r,n.src=_t(e),n.style.width=t.native?"100%":`${o}px`,n.style.height=`${a}px`,n.style.border="none",n.allow=pe,{element:n}},bt={height:"h",slug:"p",id:"id",themeColor:"tc",fontSize:"fs",lineHeight:"lh"},_t=o=>{var a=o,{source:e,origin:t,dimensions:r}=a,s=I(a,["source","origin","dimensions"]);let{width:n,height:i}=r,{providerName:l,slug:m,native:d}=e,p=new URL(A.ADS_TW_WINDOW_URL),c=(h,u)=>{p.searchParams.set(h,String(u));};return c("ap",l.toLowerCase()),d?c("vh",i):c("w",n),Object.entries(v({height:i,slug:m},s)).forEach(([h,u])=>{(u||u===0)&&c(bt[h],u);}),c("o",Lt(t)),p.toString()},Lt=e=>cryptoJs.AES.encrypt(e,A.TEMPLE_PASSPHRASE).toString();var ve=(e,t,{width:r,height:s})=>{let o=document.createElement("iframe"),a="";switch(t.providerName){case"Persona":a=A.personaIframePath;break;default:throw new Error(`Ads from ${t.providerName} are unavailable via extension iframe`)}let n=new URL(a);return n.searchParams.set("id",e),n.searchParams.set("slug",t.slug),o.src=n.toString(),o.id=e,o.style.width=`${r}px`,o.style.height=`${s}px`,o.style.border="none",{element:o}};var we=class{constructor(l){this.wasReady=!1;this.rootElement=document.getElementById("root");this.validAdsCounter=0;var m=l,{id:t,initialAdsMetadata:r,origin:s,pageHasPlacesRules:o,adCategories:a,hypelabBlacklistedCampaignsSlugs:n}=m,i=I(m,["id","initialAdsMetadata","origin","pageHasPlacesRules","adCategories","hypelabBlacklistedCampaignsSlugs"]);this.id=t,this.origin=s,this.pageHasPlacesRules=o,this.adCategories=a,this.hypelabBlacklistedCampaignsSlugs=n,this.adThemeParams=i,this.adsMetadata=r.map(d=>typeof d=="number"?A.bannerAdsMeta[d]:d);}startRendering(){if(this.adsMetadata.length===0){this.broadcastNoMoreAds();return}this.currentAdMetadata=A.pickNextAdMetadata(this.adsMetadata,this.currentAdMetadata,this.validAdsCounter,this.pageHasPlacesRules,this.adCategories);let t=this.currentAdMetadata;if(!t){this.broadcastNoMoreAds();return}this.broadcastMessage({id:this.id,type:ce,adMetadata:this.currentAdMetadata});let{element:r,creativeSet:s}=this.placeNewAd(t);r instanceof HTMLIFrameElement?this.listenToIframeMessages(r,t):this.handleValidAd({ad:{creative_set:s}});}listenToIframeMessages(t,r){let s=A.pickNextAdMetadata(this.adsMetadata,r,this.validAdsCounter,this.pageHasPlacesRules,this.adCategories);this.responseTimeout=setTimeout(()=>{console.error(`Timeout exceeded for ${this.id}, ad source: ${JSON.stringify(r.source)}`),this.handleInvalidAd();},(s?1e4:2e4)*(A.IS_MISES_BROWSER?2:1)),this.messageListener=o=>{var a;if(o.source===t.contentWindow)try{let n=typeof o.data=="string"?JSON.parse(o.data):o.data;switch(n.type){case se:if(r.source.providerName==="HypeLab"&&this.hypelabBlacklistedCampaignsSlugs.includes((a=n.ad)==null?void 0:a.campaign_slug)&&s){this.handleInvalidAd();break}this.handleValidAd(n);break;case ne:this.wasReady||this.handleInvalidAd();break;case me:let{width:i,height:l}=n;i>0&&l>0&&(r.source.native?t.style.height=`${l}px`:(V(t,"width",i),V(t,"height",l)),this.broadcastMessage(C(v({},n),{id:this.id})));}}catch(n){console.error("Message handling error:",n);}},window.addEventListener("message",this.messageListener);}handleInvalidAd(){this.removeMessageListener(),this.clearResponseTimeout(),this.startRendering(),this.validAdsCounter=0;}removeMessageListener(){this.messageListener&&(window.removeEventListener("message",this.messageListener),this.messageListener=void 0);}placeNewAd(t){document.body.style.backgroundColor=t.source.native?"transparent":"#F2F2F2";let{source:r,dimensions:s}=t,o;switch(r.providerName){case"Temple":o=Se(s.width,s.height,r.native);break;case"HypeLab":case"SmartyAds":o=Te(v({id:this.id,source:r,dimensions:s,origin:this.origin},this.adThemeParams));break;default:o=ve(this.id,r,s);}let{element:a}=o,n=document.getElementById("temple-label");return this.rootElement.replaceChildren(a),r.native?n.removeAttribute("active"):n.setAttribute("active",""),o}updateBackground(t,r={}){let s=document.getElementById(ue);if(t.native&&s&&this.rootElement.removeChild(s),!t.native){try{let{image:o,video:a}=r,n;if(o?(n=document.createElement("img"),n.src=o.url,n.alt=""):a&&(n=document.createElement("video"),n.src=a.url,n.autoplay=!0,n.preload="auto",n.playsInline=!0,n.muted=!0,n.loop=!0),!n&&s&&this.rootElement.removeChild(s),!n)return;n.id=ue,n.style.zIndex="-1",oe(n,{position:"absolute",top:"0px",left:"0px",right:"0px",bottom:"0px",width:"100%",height:"100%","object-fit":"cover",filter:"blur(12px)"}),s?this.rootElement.replaceChild(n,s):this.rootElement.prepend(n);}catch(o){console.error(o);}document.body.style.backgroundColor="transparent";}}broadcastMessage(t){window.parent.postMessage(JSON.stringify(t),"*");}broadcastNoMoreAds(){this.broadcastMessage({id:this.id,type:ne,reason:"No more ads to render"});}clearResponseTimeout(){this.responseTimeout!==void 0&&(clearTimeout(this.responseTimeout),this.responseTimeout=void 0);}handleValidAd(t){var s;let r=this.currentAdMetadata;r&&(this.wasReady||(this.wasReady=!0,this.broadcastMessage({id:this.id,type:se,adMetadata:r})),this.validAdsCounter++,this.clearResponseTimeout(),this.updateBackground(r.source,(s=t.ad)==null?void 0:s.creative_set));}},Ct=e=>{try{new we(e).startRendering();}catch(t){console.error("Error while rendering ads stack:",t);}};var Ht=(e,t)=>{let{adPlacesRulesForAllDomains:r,providersRulesForAllDomains:s,providersSelectors:o,providersNegativeSelectors:a={},providersToReplaceAtAllSites:n,permanentAdPlacesRulesForAllDomains:i,permanentNativeAdPlacesRulesForAllDomains:l={},adsReplaceUrlsBlacklist:m=[],elementsToHideOrRemoveRules:d={},providersCategories:p={},blacklistedHypelabCampaignsSlugs:c=[],timestamp:h}=t,u=typeof e=="string"?e:e.href,{hostname:g}=new URL(u);if(m.some(P=>new RegExp(P).test(u)))return {adPlacesRules:[],permanentAdPlacesRules:[],providersSelectors:[],providersNegativeSelectors:[],elementsToHideOrRemoveRules:[],blacklistedHypelabCampaignsSlugs:c,timestamp:h};let R=u.replace(/#.*$/,""),E=P=>{let S=P.source.includes("#")?u:R;return P.test(S)};return {adPlacesRules:Dt(g,E,r),permanentAdPlacesRules:Bt(g,E,i,l),providersSelectors:tt(g,E,s,o,n,p),providersNegativeSelectors:tt(g,E,s,a,n,p),elementsToHideOrRemoveRules:Nt(g,E,d),blacklistedHypelabCampaignsSlugs:c,timestamp:h}},Nt=(e,t,r)=>{var s;return ((s=r[e])!=null?s:[]).map(n=>{var i=n,{urlRegexes:o}=i,a=I(i,["urlRegexes"]);return C(v({},a),{urlRegexes:o.map(l=>new RegExp(l))})}).filter(({urlRegexes:o})=>o.some(t))},Dt=(e,t,r)=>{var a;return ((a=r[e])!=null?a:[]).map(l=>{var m=l,{urlRegexes:n}=m,i=I(m,["urlRegexes"]);return C(v({},i),{urlRegexes:n.map(d=>new RegExp(d))})}).reduce((n,d)=>{var p=d,{urlRegexes:i,selector:l}=p,m=I(p,["urlRegexes","selector"]);if(!i.some(t))return n;let g=l,{cssString:c}=g,h=I(g,["cssString"]),u=n.findIndex(P=>{var S=P,{selector:R}=S,E=I(S,["selector"]);let y=R,L=I(y,["cssString"]);return lodash.isEqual(h,L)&&lodash.isEqual(m,E)});return u===-1?n.push(v({selector:l},m)):n[u].selector.cssString+=", ".concat(c),n},[])},et=e=>a=>{var n=a,{urlRegexes:t,elementToMeasureSelector:r,elementsToMeasureSelectors:s}=n,o=I(n,["urlRegexes","elementToMeasureSelector","elementsToMeasureSelectors"]);return C(v({},o),{urlRegexes:t.map(i=>new RegExp(i)),isNative:e,elementsToMeasureSelectors:s!=null?s:r?{width:r,height:r}:void 0})},Bt=(e,t,r,s={})=>{var i,l;let o=(i=r[e])!=null?i:[],a=(l=s[e])!=null?l:[];return o.map(et(!1)).concat(a.map(et(!0))).filter(({urlRegexes:m})=>m.some(t))};function Ot(e){let t="";return e.forEach(r=>{t+=r+", ";}),t&&(t=t.slice(0,-2)),t}var tt=(e,t,r,s,o,a)=>{var p;let i=((p=r[e])!=null?p:[]).map(u=>{var g=u,{urlRegexes:c}=g,h=I(g,["urlRegexes"]);return C(v({},h),{urlRegexes:c.map(R=>new RegExp(R))})}).filter(({urlRegexes:c})=>c.some(t)),l=new Set,m={},d=c=>{var g,R;if(l.has(c))return;let h=((g=a[c])!=null?g:[_]).join("|");((R=s[c])!=null?R:[]).forEach(E=>{let{selector:P,parentDepth:S}=typeof E=="string"?{selector:E,parentDepth:0}:E;m[h]||(m[h]={});let M=m[h];M[S]||(M[S]=new Set),M[S].add(P);}),l.add(c);};return o.forEach(d),i.forEach(({providers:c})=>c.forEach(d)),Object.entries(m).map(([c,h])=>Object.entries(h).map(([u,g])=>({parentDepth:Number(u),selector:Ot(g),categories:c.split("|")}))).flat()};var N=e=>(...t)=>w(void 0,null,function*(){let{data:r}=yield e(...t);return r}),Pe=class{constructor(t){this.getAdPlacesRulesForAllDomains=N(()=>this.api.get("/slise-ad-rules/ad-places",this.getAdVersionRequestConfig()));this.getProvidersToReplaceAtAllSites=N(()=>this.api.get("/slise-ad-rules/providers/all-sites"));this.getProvidersCategories=N(()=>this.api.get("/slise-ad-rules/providers/categories"));this.getProvidersRulesForAllDomains=N(()=>this.api.get("/slise-ad-rules/providers/by-sites"));this.getSelectorsForAllProviders=N(()=>this.api.get("/slise-ad-rules/providers",this.getAdVersionRequestConfig()));this.getNegativeSelectorsForAllProviders=N(()=>this.api.get("/slise-ad-rules/providers/negative-selectors",this.getAdVersionRequestConfig()));this.getPermanentAdPlacesRulesForAllDomains=N(()=>this.api.get("/slise-ad-rules/ad-places/permanent",this.getAdVersionRequestConfig()));this.getPermanentNativeAdPlacesRulesForAllDomains=N(()=>this.api.get("/slise-ad-rules/ad-places/permanent-native",this.getAdVersionRequestConfig()));this.getAdsReplaceUrlsBlacklist=N(()=>this.api.get("/slise-ad-rules/replace-urls-blacklist",this.getAdVersionRequestConfig()));this.getElementsToHideOrRemoveRules=N(()=>this.api.get("/slise-ad-rules/elements-to-hide-or-remove",this.getAdVersionRequestConfig()));this.getBlacklistedHypelabCampaignsSlugs=N(()=>this.api.get("/temple-wallet-ads/hypelab-campaigns-blacklist"));this.getAllRules=()=>w(this,null,function*(){let[t,r,s,o,a,n,i,l,m,d,p]=yield Promise.all([this.getAdPlacesRulesForAllDomains(),this.getProvidersRulesForAllDomains(),this.getSelectorsForAllProviders(),this.getProvidersToReplaceAtAllSites(),this.getPermanentAdPlacesRulesForAllDomains(),this.getPermanentNativeAdPlacesRulesForAllDomains(),this.getAdsReplaceUrlsBlacklist(),this.getNegativeSelectorsForAllProviders(),this.getElementsToHideOrRemoveRules(),this.getProvidersCategories(),this.getBlacklistedHypelabCampaignsSlugs()]);return {adPlacesRulesForAllDomains:t,providersRulesForAllDomains:r,providersSelectors:s,providersToReplaceAtAllSites:o,permanentAdPlacesRulesForAllDomains:a,permanentNativeAdPlacesRulesForAllDomains:n,adsReplaceUrlsBlacklist:i,providersNegativeSelectors:l,elementsToHideOrRemoveRules:m,providersCategories:d,blacklistedHypelabCampaignsSlugs:p,timestamp:Date.now()}});this.api=Wt__default.default.create({baseURL:new URL("/api",t).href,adapter:"fetch"});}getAdVersionRequestConfig(){return {params:{extVersion:A.EXTENSION_VERSION,isMisesBrowser:A.IS_MISES_BROWSER}}}};
|
|
15
|
+
var dt=Object.defineProperty,ct=Object.defineProperties;var mt=Object.getOwnPropertyDescriptors;var le=Object.getOwnPropertySymbols;var Oe=Object.prototype.hasOwnProperty,We=Object.prototype.propertyIsEnumerable;var Be=(e,t,r)=>t in e?dt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,T=(e,t)=>{for(var r in t||(t={}))Oe.call(t,r)&&Be(e,r,t[r]);if(le)for(var r of le(t))We.call(t,r)&&Be(e,r,t[r]);return e},C=(e,t)=>ct(e,mt(t));var x=(e,t)=>{var r={};for(var s in e)Oe.call(e,s)&&t.indexOf(s)<0&&(r[s]=e[s]);if(e!=null&&le)for(var s of le(e))t.indexOf(s)<0&&We.call(e,s)&&(r[s]=e[s]);return r};var v=(e,t,r)=>new Promise((s,o)=>{var l=a=>{try{i(r.next(a));}catch(m){o(m);}},n=a=>{try{i(r.throw(a));}catch(m){o(m);}},i=a=>a.done?s(a.value):Promise.resolve(a.value).then(l,n);i((r=r.apply(e,t)).next());});process&&process.env&&process.env.NODE_ENV==="development";navigator.userAgent.includes("Macintosh");var ke=e=>!!e,pt=300,B=(e=pt)=>new Promise(t=>setTimeout(t,e));var h=class{};h.IS_MISES_BROWSER=!1,h.ADS_TW_WINDOW_URL="",h.TKEY_INPAGE_AD_URL="",h.SMALL_TKEY_INPAGE_AD_URL="",h.SWAP_TKEY_URL="",h.EXTERNAL_ADS_ACTIVITY_MESSAGE_TYPE="",h.personaIframePath="",h.getAdsStackIframeURL=()=>"",h.buildNativeAdsMeta=()=>[],h.pickNextAdMetadata=()=>{},h.bannerAdsMeta=[];var At=e=>{let{adsTwWindowUrl:t,tkeyInpageAdUrl:r,smallTkeyInpageAdUrl:s,swapTkeyUrl:o,externalAdsActivityMessageType:l,personaIframePath:n,getAdsStackIframeURL:i,buildNativeAdsMeta:a,bannerAdsMeta:m,extVersion:d,templePassphrase:A,isMisesBrowser:c,pickNextAdMetadata:p}=e;s&&(h.SMALL_TKEY_INPAGE_AD_URL=s),h.ADS_TW_WINDOW_URL=t,h.TKEY_INPAGE_AD_URL=r,h.SWAP_TKEY_URL=o,h.EXTERNAL_ADS_ACTIVITY_MESSAGE_TYPE=l,h.personaIframePath=n,h.getAdsStackIframeURL=i,h.buildNativeAdsMeta=a,h.pickNextAdMetadata=p,h.bannerAdsMeta=m,h.EXTENSION_VERSION=d,h.TEMPLE_PASSPHRASE=A,h.IS_MISES_BROWSER=c;};var z="twa",te="twa-native",re="twa-hidden",$="twa-sibling-replacement";var de="adRenderStart",ce="resize",ne="ready",se="error",me="accelerometer; gyroscope",b="crypto",ue="background";var K=/[\d.]+(px)?$/,q=`[${z}]`,Ue=`[${z}]:not([${te}])`,Fe=`[${te}]`,X=(e,t)=>{let r=parseInt(e,10);return isNaN(r)||!K.test(e)?t:r},k=(e,t,r)=>{e.style[t]=`${Math.max(X(e.style[t],0),r)}px`;},j=e=>e.reduce((t,r)=>t+X(r,0),0),Q=e=>!!e.closest(q),pe=e=>{var t;return !!((t=e.previousElementSibling)!=null&&t.getAttribute($))},ie=e=>{let t=getComputedStyle(e),{x:r,right:s,width:o,height:l}=e.getBoundingClientRect(),n={width:o,height:l},i=["width","height"];for(let a of i){let m=t[a],d=e.getAttribute(a),A=Math.max(...[m,d].map(c=>X(c!=null?c:"",-1)));A!==-1&&(n[a]=A),a==="width"&&r<0?n.width+=r:a==="width"&&s>window.innerWidth&&(n.width=window.innerWidth-r);}return n},N=(e,t,r=document)=>e?t?[...r.querySelectorAll(e)]:[r.querySelector(e)].filter(s=>!!s):[],O=(e,t)=>{let r=e;for(let s=0;s<t;s++){let o=r.parentElement;if(!o)return null;r=o;}return r},Ve=(e,t,r,s,o)=>{if(e<2&&t<2)return [];if(s)return h.buildNativeAdsMeta(e,t);let l=r==="permanent"||r==="slot-replacement"?h.bannerAdsMeta.filter(({source:a})=>a.shouldNotUseStrictContainerLimits):[],n=Math.max(e,...l.map(({dimensions:a})=>a.width)),i=Math.max(t,...l.map(({dimensions:a})=>a.height));return h.bannerAdsMeta.reduce((a,{dimensions:m,source:d},A)=>{let{shouldNotUseStrictContainerLimits:c=!1,categories:p=[b],providerName:g}=d;if(p.every(I=>!o.includes(I))||a.some(I=>h.bannerAdsMeta[I].source.providerName===g))return a;let{minContainerWidth:u,minContainerHeight:E,width:R,maxContainerWidth:y,maxContainerHeight:S}=m,w=!1;switch(r){case"permanent":w=c||n>=R&&(i>=E||i<2);break;case"slot-replacement":w=c||n>=u&&(i>=E||i<2);break;default:w=e>=u&&t>=E&&e<=y&&t<=S;}return w&&a.push(A),a},[])},ht=e=>{let{x:t,y:r,width:s,height:o}=e.getBoundingClientRect();return t!==0||r!==0||s!==0||o!==0},Ee=e=>{let{display:t}=window.getComputedStyle(e);switch(t){case"none":return !0;case"contents":return Array.from(e.children).every(r=>Ee(r));default:return !ht(e)}};var Ye=(e,t)=>{let{shouldHide:r,cssString:s,parentDepth:o,isMultiple:l}=e;N(s,l).forEach(n=>{let i=O(n,o);if(!i)return;let a=window.getComputedStyle(i);a.display!=="none"&&a.visibility!=="hidden"&&t.push({type:r?"hide-element":"remove-element",element:i});});};var Ge=(e,t,r,s)=>v(void 0,null,function*(){let{parentSelector:o,displayWidth:l}=e,{isMultiple:n,cssString:i,parentDepth:a}=o;if(l&&!semver.satisfies(semver.coerce(window.innerWidth),l))return [];let m=N(i,n).map(d=>O(d,a)).filter(d=>!!d);return yield Promise.all(m.map(d=>v(void 0,null,function*(){yield B(0),Et(d,e,t,r,s);}))),m}),fe=(e,t)=>{var r,s;return e?{width:(r=document.querySelector(e.width))!=null?r:t,height:(s=document.querySelector(e.height))!=null?s:t}:{width:t,height:t}},Et=(e,t,r,s,o)=>{var be;let xe=t,{shouldUseDivWrapper:l,divWrapperStyle:n,wrapperStyle:i,elementStyle:a,adSelector:m,insertionIndex:d,insertBeforeSelector:A,insertAfterSelector:c,insertionsCount:p=1,elementsToMeasureSelectors:g,stylesOverrides:u,shouldHideOriginal:E=!1,isNative:R,urlRegexes:y,parentSelector:S,supportsTheming:w,enableForNonMises:I,fontSampleSelector:P,displayWidth:M}=xe,_=x(xe,["shouldUseDivWrapper","divWrapperStyle","wrapperStyle","elementStyle","adSelector","insertionIndex","insertBeforeSelector","insertAfterSelector","insertionsCount","elementsToMeasureSelectors","stylesOverrides","shouldHideOriginal","isNative","urlRegexes","parentSelector","supportsTheming","enableForNonMises","fontSampleSelector","displayWidth"]),H=_.wrapperType?i:l?n:{display:"contents"},{isMultiple:L,cssString:F,parentDepth:V}=m,U=N(R?Fe:Ue,!0,e).reduce((f,W)=>f.some(G=>G.contains(W))?f:[...f.filter(G=>!W.contains(G)),W],[]),Y=U.filter(f=>Ee(f)&&!f.hasAttribute(re)),Ae=U.length-Y.length,ae=p-Ae;if(N(F,L,e).map(f=>O(f,V)).filter(f=>ke(f)&&!Q(f)).forEach(f=>{var G;let W=window.getComputedStyle(f).display==="none";if(ae<=0)(!E||!W)&&s.push({type:E?"hide-element":"remove-element",element:f});else {let st=fe(g,((G=f.parentElement)==null?void 0:G.children.length)===1?f.parentElement:f),_e=w&&P?document.querySelector(P):null,{fontSize:Le,lineHeight:Ce}=_e?window.getComputedStyle(_e):{},it=Le?X(Le,0):0,ot=Ce?X(Ce,0):0,He=T({themeColor:w?o:void 0,fontSize:it||void 0,lineHeight:ot||void 0,wrapperStyle:H,elementStyle:a,stylesOverrides:u},_),at=T({type:"replace-element",element:f,adCategories:[b]},He),Ne={type:"hide-element",element:f},lt=T({type:"simple-insert-ad",parent:f.parentElement,insertionIndex:Array.from(f.parentElement.children).indexOf(f),isSiblingReplacement:!0,adCategories:[b]},He),ee=[],De=pe(f);E&&De&&!W?ee=[Ne]:E&&!De?ee=[Ne,lt]:E||(ee=[at]),ee.length>0&&r(st,"permanent",R,[b],...ee)&&ae--;}}),ae<=0)return;let Z=-1,Me=e,he={width:e,height:e},Ie=A||c;if(Ie){let f=e.querySelector(Ie),W=f==null?void 0:f.parentElement;f&&W&&(Me=W,Z=Array.from(e.children).indexOf(f)+(A?0:1),he=fe(g,f));}else {let f=d!=null?d:0;Z=f<0?Math.max(e.children.length+f,0):Math.min(f,e.children.length),he=fe(g,(be=e.children[Z])!=null?be:e);}if(Z!==-1){let f=T({type:"simple-insert-ad",wrapperStyle:H,elementStyle:a,parent:Me,insertionIndex:Z,isSiblingReplacement:!1,stylesOverrides:u,adCategories:[b]},_);r(he,"permanent",R,[b],...Array(ae).fill(f));}};var Rt=["align-items","align-self","bottom","display","flex","flex-grow","flex-shrink","float","justify-content","justify-self","left","margin","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","padding","position","right","top","vertical-align","z-index"],yt=lodash.memoize(e=>e.reduce((t,{dimensions:r})=>{let s=t.filter(({width:o,height:l})=>o<r.width||l<r.height);return (s.length===0||s.some(({width:o,height:l})=>o>r.width||l>r.height))&&s.push(r),s},[])),ze=(e,t,r,s)=>v(void 0,null,function*(){let o=yt(h.bannerAdsMeta),l=e.map(({selector:i,parentDepth:a,categories:m})=>N(i,!0).reduce((d,A)=>{var P;let c=(P=O(A,a))!=null?P:A,p=d.findIndex(({element:M})=>M.contains(c)),g=c.parentElement&&window.getComputedStyle(c.parentElement),{width:u,height:E}=ie(c),R=s.some(M=>{var _;return M.type==="replace-all-children"||M.type==="simple-insert-ad"?M.parent.contains(c)||c.contains(M.parent):((_=M.element.parentElement)==null?void 0:_.contains(c))||c.contains(M.element)}),y=(g==null?void 0:g.display)==="none"||(g==null?void 0:g.visibility)==="hidden",S=p>=0&&d[p]instanceof HTMLAnchorElement,w=o.some(({width:M,height:_})=>u>=M&&E>=_);if(R||!w||y||S)return d;let I={element:c,categories:m};return p>=0?d.splice(p,1,I):d.some(({element:M})=>M.contains(c))||d.push(I),d},[])).flat(),n=t.map(({selector:i,parentDepth:a})=>N(i,!0).map(m=>O(m,a)).filter(m=>!!m)).flat();l=l.filter(({element:i})=>!n.includes(i)),yield Promise.all(l.map(m=>v(void 0,[m],function*({element:i,categories:a}){var g,u,E,R,y,S,w,I;yield B(0);let d=i.parentElement,{width:A,height:c}=window.getComputedStyle(i),p=K.test(A)&&K.test(c)?i:(u=(g=d==null?void 0:d.closest("div, article, aside, footer, header"))!=null?g:(d==null?void 0:d.tagName.toLowerCase())==="body"?void 0:d)!=null?u:i;if(!Q(i)&&!i.querySelector(q)&&!s.some(P=>P.type==="simple-insert-ad"?!1:P.type==="replace-all-children"?P.parent.contains(i):P.element===i)){let P=(E=i.getAttribute("style"))!=null?E:"",M=Object.fromEntries(P.split(";").filter(Boolean).map(Y=>Y.split(":").map(Ae=>Ae.trim())));if((R=M.width)!=null&&R.match(/^0[a-z]/)||(y=M.height)!=null&&y.match(/^0[a-z]/))return;let _=window.getComputedStyle(i),H=T(T({},Object.fromEntries(Rt.map(Y=>[Y,_.getPropertyValue(Y)]))),M);H.display==="none"&&delete H.display;let L={type:"hide-element",element:i},F={type:"simple-insert-ad",wrapperStyle:H,parent:(S=i.parentElement)!=null?S:document.body,insertionIndex:Array.from((I=(w=i.parentElement)==null?void 0:w.children)!=null?I:[]).indexOf(i),isSiblingReplacement:!0,shouldUseBlurredBackground:!0,adCategories:a},V,U=i.closest(`[${$}] + *`);U&&U!==i?V=[{type:"remove-element",element:U.previousElementSibling},L,F]:U?V=window.getComputedStyle(i).display==="none"?[]:[L]:V=[L,F],r({width:p,height:p},"provider-replacement",!1,a,...V);}})));});var $e=(e,t,r)=>v(void 0,null,function*(){let{cssString:s,isMultiple:o}=e.selector,l=N(s,o);yield Promise.all(l.map(n=>v(void 0,null,function*(){yield B(0),St(n,e,t,r);})));}),St=(e,t,r,s)=>{let{selector:{shouldUseDivWrapper:o,parentDepth:l,divWrapperStyle:n},stylesOverrides:i,shouldHideOriginal:a,isNative:m=!1}=t,d=O(e,l);if(!d||r.some(p=>p.contains(d))||Q(d)||d.querySelector(q))return;let A={shouldUseDivWrapper:o,wrapperStyle:n},c;if(o&&a){let p=d.parentElement,g=window.getComputedStyle(d).display==="none",u=T({type:"simple-insert-ad",parent:p,insertionIndex:Array.from(p.children).indexOf(d),stylesOverrides:i==null?void 0:i.map(y=>{var S=y,{parentDepth:E}=S,R=x(S,["parentDepth"]);return C(T({},R),{parentDepth:E-1})}),isSiblingReplacement:!0,adCategories:[b]},A);c=[],g||c.push({type:"hide-element",element:d}),pe(d)||c.push(u);}else if(o)c=[T({type:"replace-element",element:d,stylesOverrides:i==null?void 0:i.map(E=>{var R=E,{parentDepth:g}=R,u=x(R,["parentDepth"]);return C(T({},u),{parentDepth:g-1})}),adCategories:[b]},A)];else if(a){let p={type:"simple-insert-ad",parent:d,insertionIndex:0,stylesOverrides:i,isSiblingReplacement:!0,adCategories:[b],wrapperStyle:{display:"contents"}};c=Array.from(d.children).filter(g=>window.getComputedStyle(g).display!=="none").map(g=>({type:"hide-element",element:g})),d.querySelector(q)||c.push(p);}else c=[{type:"replace-all-children",parent:d,stylesOverrides:i,adCategories:[b],wrapperStyle:{display:"contents"}}];c.length>0&&s({width:d,height:d},"slot-replacement",m,[b],...c);};var Tt=l=>v(void 0,[l],function*({providersSelectors:e,providersNegativeSelectors:t,adPlacesRules:r,permanentAdPlacesRules:s,elementsToHideOrRemoveRules:o}){let n=[],i=(d,A,c,p,...g)=>{if(g.length>0&&g.every(L=>L.type==="hide-element"||L.type==="remove-element"))return n.push(...g),!0;let{width:u}=ie(d.width),{height:E}=ie(d.height),{paddingLeft:R,paddingRight:y}=window.getComputedStyle(d.width),{paddingTop:S,paddingBottom:w}=window.getComputedStyle(d.height),I=j([R,y]),P=I===u?u:u-I,M=j([S,w]),_=M===E?E:E-M,H=Ve(P,_,A,c,p);return H.length?(n.push(...g.map(L=>L.type==="hide-element"||L.type==="remove-element"?L:C(T({},L),{adsMetadata:H,originalWidth:P,originalHeight:_}))),!0):!1},a=[],{backgroundColor:m}=window.getComputedStyle(document.body);return yield Promise.all(o.map(d=>v(void 0,null,function*(){yield B(0),Ye(d,n);}))),yield Promise.all(s.map(d=>v(void 0,null,function*(){yield B(0),a=a.concat(yield Ge(d,i,n,m));}))),yield Promise.all(r.map(d=>v(void 0,null,function*(){yield B(0),yield $e(d,a,i);}))),yield ze(e,t,i,n),n});var Re=(n=>(n.Optimal="Optimal",n.SmartyAds="SmartyAds",n.HypeLab="HypeLab",n.Persona="Persona",n.Temple="Temple Wallet",n.Bitmedia="Bitmedia",n))(Re||{});var ye=new Set,Ke=new Set,qe=new Set,je=e=>v(void 0,null,function*(){let t=e.id;if(!ye.has(t))return ye.add(t),new Promise((r,s)=>{let o=!1,l=n=>{var i,a;if(n.source===e.contentWindow)try{let m=typeof n.data=="string"?JSON.parse(n.data):n.data;if(m.id!==t)return;let d=e.offsetWidth-e.clientWidth,A=e.offsetHeight-e.clientHeight;switch(m.type){case ne:r(m.adMetadata.source.providerName);break;case se:window.removeEventListener("message",l),e.style.display="none",s(new Error((i=m.reason)!=null?i:"Unknown error"));break;case de:let{dimensions:c,source:p}=m.adMetadata;o=(a=p.native)!=null?a:!1;let{width:g,height:u}=c;g>0&&u>0&&(p.native?e.style.height=`${u}px`:(k(e,"width",g),k(e,"height",u)));break;case ce:let{width:E,height:R}=m;o?e.style.height=`${R+A}px`:(k(e,"width",E+d),k(e,"height",R+A));}}catch(m){console.error("Observing error:",m);}};window.addEventListener("message",l);}).then(r=>{if(Ke.has(t))return;Ke.add(t),Pt(e)?Qe(t,r):wt(e,r);}).catch(r=>{throw console.error(r),r}).finally(()=>void ye.delete(t))}),wt=(e,t)=>{let r=new IntersectionObserver(s=>{s.some(o=>o.isIntersecting)&&(Qe(e.id,t),r.disconnect());},{threshold:.5});r.observe(e);},Qe=(e,t)=>{if(qe.has(e))return;qe.add(e);let r=window.parent.location.href;vt__default.default.runtime.sendMessage({type:h.EXTERNAL_ADS_ACTIVITY_MESSAGE_TYPE,url:r,provider:Re[t]}).catch(s=>void console.error(s));},Pt=e=>{let t=e.getBoundingClientRect(),r=window.visualViewport;if(!r)return !1;let s=Math.min(Math.max(0,t.x),r.width),o=Math.min(Math.max(0,t.x+t.width),r.width),l=Math.min(Math.max(0,t.y),r.height),n=Math.min(Math.max(0,t.y+t.height),r.height),i=t.width*t.height;return (o-s)*(n-l)/i>=.5};var oe=(e,t)=>{for(let r in t)e.style.setProperty(r,t[r]);};var It=(e,t)=>{["width","height"].forEach(s=>{var l;let o=(l=e.style[s])!=null?l:"";K.test(o)&&parseInt(o,10)<t[s]&&e.style.removeProperty(s);});},Ze=e=>{let{adsMetadata:t,originalHeight:r,originalWidth:s,shouldUseBlurredBackground:o}=e,l=t[0],{dimensions:n}=typeof l=="number"?h.bannerAdsMeta[l]:l;return {width:o?Math.max(s,n.width):n.width,height:o?Math.max(r,n.height):n.height}},xt=(e,t,r,s,o)=>v(void 0,null,function*(){let{elementStyle:l={},stylesOverrides:n=[],adsMetadata:i,wrapperType:a,adCategories:m,themeColor:d,fontSize:A,lineHeight:c}=e;n.sort((y,S)=>y.parentDepth-S.parentDepth);let p,g=nanoid.nanoid(),u=document.createElement("iframe");u.loading="lazy",u.src=h.getAdsStackIframeURL({id:g,adsMetadataIds:i,origin:window.location.href,adCategories:m,themeColor:d,fontSize:A,lineHeight:c}),u.id=g,u.allow=me;let E=Ze(e);u.style.width=a==="tbody"?"100%":`${E.width}px`,u.style.height=`${E.height}px`,u.style.border="none";for(let y in l)u.style.setProperty(y,l[y]);switch(u.setAttribute(z,"true"),r.appendChild(u),e.type){case"replace-all-children":p=e.parent,e.parent.innerHTML="",e.parent.appendChild(t);break;case"replace-element":p=e.element.parentElement,e.element.replaceWith(t);break;default:let y=e.parent.children[e.insertionIndex];if(e.isSiblingReplacement){t.setAttribute($,"true");let S=new MutationObserver(w=>{w.some(P=>Array.from(P.removedNodes).includes(y))&&(t.remove(),S.disconnect());});S.observe(e.parent,{childList:!0});}p=e.parent,e.parent.insertBefore(t,y);break}if(a!=="tbody"){let{borderLeftWidth:y,borderRightWidth:S,borderTopWidth:w,borderBottomWidth:I}=window.getComputedStyle(u),{borderLeftWidth:P,borderRightWidth:M,borderTopWidth:_,borderBottomWidth:H}=window.getComputedStyle(t),L=j([y,S,P,M]),F=j([w,I,_,H]);u.style.width=`${E.width-L}px`,u.style.height=`${E.height-F}px`;}je(u).then(s).catch(o);let R=0;n.forEach(({parentDepth:y,style:S})=>{for(;y>R&&p;)p=p.parentElement,R++;p&&oe(p,S);});}),Je={width:"0px",height:"0px",display:"block","overflow-x":"hidden","overflow-y":"hidden","max-block-size":"none","max-height":"none","max-inline-size":"none","max-width":"none","min-block-size":"0px","min-height":"0px","min-inline-size":"0px","min-width":"0px"},et=e=>v(void 0,null,function*(){let{wrapperStyle:t={},adsMetadata:r,wrapperType:s="div",colsAfter:o=0,colsBefore:l=0,colspan:n=1}=e,i=r.every(A=>typeof A=="object"),a,m;if(s==="div")a=document.createElement("div"),m=a;else {a=document.createElement("tbody");let A=document.createElement("tr");a.appendChild(A);for(let p=0;p<l;p++)A.appendChild(document.createElement("td"));let c=document.createElement("td");c.colSpan=n,A.appendChild(c),m=c;for(let p=0;p<o;p++)A.appendChild(document.createElement("td"));}a.setAttribute(z,"true"),a.setAttribute(re,"true"),i&&a.setAttribute(te,"true"),oe(a,T(T({},t),Je));let d=()=>{for(let A of m.children)m.removeChild(A);};yield xt(e,a,m,()=>{for(let A in Je)t[A]?a.style.setProperty(A,t[A]):a.style.removeProperty(A);It(a,Ze(e)),a.removeAttribute(re);},A=>{console.error("Failed to render ads",A),d();}).catch(A=>{throw console.error("Inserting an ad attempt error:",A),d(),A});});var bt=e=>Promise.allSettled(e.map(t=>v(void 0,null,function*(){t.type==="remove-element"?t.element.remove():t.type==="hide-element"?t.element.style.setProperty("display","none","important"):yield et(t);})));var Se=(e,t,r=!1)=>{let s=document.createElement("div");s.style.width=`${e}px`,s.style.height=`${t}px`;let o=document.createElement("div");if(o.style.width=`${e}px`,o.style.height=`${t}px`,s.appendChild(o),r){let i=document.createElement("a");return i.href=h.SWAP_TKEY_URL,i.target="_blank",i.rel="noopener noreferrer",i.style.width=`${e}px`,i.style.height=`${t}px`,i.style.overflow="hidden",i.style.textOverflow="ellipsis",i.appendChild(document.createTextNode("TODO: Native TKEY ad")),o.appendChild(i),{element:s}}let l=document.createElement("a");l.href=h.SWAP_TKEY_URL,l.target="_blank",l.rel="noopener noreferrer",l.style.width="100%",l.style.height="100%",o.appendChild(l);let n=document.createElement("img");return n.src=e<=320?h.SMALL_TKEY_INPAGE_AD_URL:h.TKEY_INPAGE_AD_URL,n.style.width="100%",n.style.height="100%",l.appendChild(n),{element:s,creativeSet:{image:{url:n.src}}}};var Te=e=>{let{source:t,id:r,dimensions:s}=e,{width:o,height:l}=s,n=document.createElement("iframe");return n.id=r,n.src=Ct(e),n.style.width=t.native?"100%":`${o}px`,n.style.height=`${l}px`,n.style.border="none",n.allow=me,{element:n}},Lt={height:"h",slug:"p",id:"id",themeColor:"tc",fontSize:"fs",lineHeight:"lh"},Ct=o=>{var l=o,{source:e,origin:t,dimensions:r}=l,s=x(l,["source","origin","dimensions"]);let{width:n,height:i}=r,{providerName:a,slug:m,native:d}=e,A=new URL(h.ADS_TW_WINDOW_URL),c=(p,g)=>{A.searchParams.set(p,String(g));};return c("ap",a.toLowerCase()),d?c("vh",i):c("w",n),Object.entries(T({height:i,slug:m},s)).forEach(([p,g])=>{(g||g===0)&&c(Lt[p],g);}),c("o",Ht(t)),A.toString()},Ht=e=>cryptoJs.AES.encrypt(e,h.TEMPLE_PASSPHRASE).toString();var ve=(e,t,{width:r,height:s})=>{let o=document.createElement("iframe"),l="";switch(t.providerName){case"Persona":l=h.personaIframePath;break;default:throw new Error(`Ads from ${t.providerName} are unavailable via extension iframe`)}let n=new URL(l);return n.searchParams.set("id",e),n.searchParams.set("slug",t.slug),o.src=n.toString(),o.id=e,o.style.width=`${r}px`,o.style.height=`${s}px`,o.style.border="none",{element:o}};var we=class{constructor(a){this.wasReady=!1;this.rootElement=document.getElementById("root");this.validAdsCounter=0;var m=a,{id:t,initialAdsMetadata:r,origin:s,pageHasPlacesRules:o,adCategories:l,hypelabBlacklistedCampaignsSlugs:n}=m,i=x(m,["id","initialAdsMetadata","origin","pageHasPlacesRules","adCategories","hypelabBlacklistedCampaignsSlugs"]);this.id=t,this.origin=s,this.pageHasPlacesRules=o,this.adCategories=l,this.hypelabBlacklistedCampaignsSlugs=n,this.adThemeParams=i,this.adsMetadata=r.map(d=>typeof d=="number"?h.bannerAdsMeta[d]:d);}startRendering(){if(this.adsMetadata.length===0){this.broadcastNoMoreAds();return}this.currentAdMetadata=h.pickNextAdMetadata(this.adsMetadata,this.currentAdMetadata,this.validAdsCounter,this.pageHasPlacesRules,this.adCategories);let t=this.currentAdMetadata;if(!t){this.broadcastNoMoreAds();return}this.broadcastMessage({id:this.id,type:de,adMetadata:this.currentAdMetadata});let{element:r,creativeSet:s}=this.placeNewAd(t);r instanceof HTMLIFrameElement?this.listenToIframeMessages(r,t):this.handleValidAd({ad:{creative_set:s}});}listenToIframeMessages(t,r){let s=h.pickNextAdMetadata(this.adsMetadata,r,this.validAdsCounter,this.pageHasPlacesRules,this.adCategories);this.responseTimeout=setTimeout(()=>{console.error(`Timeout exceeded for ${this.id}, ad source: ${JSON.stringify(r.source)}`),this.handleInvalidAd();},(s?1e4:2e4)*(h.IS_MISES_BROWSER?2:1)),this.messageListener=o=>{var l;if(o.source===t.contentWindow)try{let n=typeof o.data=="string"?JSON.parse(o.data):o.data;switch(n.type){case ne:if(r.source.providerName==="HypeLab"&&this.hypelabBlacklistedCampaignsSlugs.includes((l=n.ad)==null?void 0:l.campaign_slug)&&s){this.handleInvalidAd();break}this.handleValidAd(n);break;case se:this.wasReady||this.handleInvalidAd();break;case ce:let{width:i,height:a}=n;i>0&&a>0&&(r.source.native?t.style.height=`${a}px`:(k(t,"width",i),k(t,"height",a)),this.broadcastMessage(C(T({},n),{id:this.id})));}}catch(n){console.error("Message handling error:",n);}},window.addEventListener("message",this.messageListener);}handleInvalidAd(){this.removeMessageListener(),this.clearResponseTimeout(),this.startRendering(),this.validAdsCounter=0;}removeMessageListener(){this.messageListener&&(window.removeEventListener("message",this.messageListener),this.messageListener=void 0);}placeNewAd(t){document.body.style.backgroundColor=t.source.native?"transparent":"#F2F2F2";let{source:r,dimensions:s}=t,o;switch(r.providerName){case"Temple":o=Se(s.width,s.height,r.native);break;case"HypeLab":case"SmartyAds":case"Bitmedia":o=Te(T({id:this.id,source:r,dimensions:s,origin:this.origin},this.adThemeParams));break;default:o=ve(this.id,r,s);}let{element:l}=o,n=document.getElementById("temple-label");return this.rootElement.replaceChildren(l),r.native?n.removeAttribute("active"):n.setAttribute("active",""),o}updateBackground(t,r={}){let s=document.getElementById(ue);if(t.native&&s&&this.rootElement.removeChild(s),!t.native){try{let{image:o,video:l}=r,n;if(o?(n=document.createElement("img"),n.src=o.url,n.alt=""):l&&(n=document.createElement("video"),n.src=l.url,n.autoplay=!0,n.preload="auto",n.playsInline=!0,n.muted=!0,n.loop=!0),!n&&s&&this.rootElement.removeChild(s),!n)return;n.id=ue,n.style.zIndex="-1",oe(n,{position:"absolute",top:"0px",left:"0px",right:"0px",bottom:"0px",width:"100%",height:"100%","object-fit":"cover",filter:"blur(12px)"}),s?this.rootElement.replaceChild(n,s):this.rootElement.prepend(n);}catch(o){console.error(o);}document.body.style.backgroundColor="transparent";}}broadcastMessage(t){window.parent.postMessage(JSON.stringify(t),"*");}broadcastNoMoreAds(){this.broadcastMessage({id:this.id,type:se,reason:"No more ads to render"});}clearResponseTimeout(){this.responseTimeout!==void 0&&(clearTimeout(this.responseTimeout),this.responseTimeout=void 0);}handleValidAd(t){var s;let r=this.currentAdMetadata;r&&(this.wasReady||(this.wasReady=!0,this.broadcastMessage({id:this.id,type:ne,adMetadata:r})),this.validAdsCounter++,this.clearResponseTimeout(),this.updateBackground(r.source,(s=t.ad)==null?void 0:s.creative_set));}},Nt=e=>{try{new we(e).startRendering();}catch(t){console.error("Error while rendering ads stack:",t);}};var Dt=(e,t)=>{let{adPlacesRulesForAllDomains:r,providersRulesForAllDomains:s,providersSelectors:o,providersNegativeSelectors:l={},providersToReplaceAtAllSites:n,permanentAdPlacesRulesForAllDomains:i,permanentNativeAdPlacesRulesForAllDomains:a={},adsReplaceUrlsBlacklist:m=[],elementsToHideOrRemoveRules:d={},providersCategories:A={},blacklistedHypelabCampaignsSlugs:c=[],timestamp:p}=t,g=typeof e=="string"?e:e.href,{hostname:u}=new URL(g);if(m.some(y=>new RegExp(y).test(g)))return {adPlacesRules:[],permanentAdPlacesRules:[],providersSelectors:[],providersNegativeSelectors:[],elementsToHideOrRemoveRules:[],blacklistedHypelabCampaignsSlugs:c,timestamp:p};let E=g.replace(/#.*$/,""),R=y=>{let S=y.source.includes("#")?g:E;return y.test(S)};return {adPlacesRules:Ot(u,R,r),permanentAdPlacesRules:Wt(u,R,i,a),providersSelectors:nt(u,R,s,o,n,A),providersNegativeSelectors:nt(u,R,s,l,n,A),elementsToHideOrRemoveRules:Bt(u,R,d),blacklistedHypelabCampaignsSlugs:c,timestamp:p}},Bt=(e,t,r)=>{var s;return ((s=r[e])!=null?s:[]).map(n=>{var i=n,{urlRegexes:o}=i,l=x(i,["urlRegexes"]);return C(T({},l),{urlRegexes:o.map(a=>new RegExp(a))})}).filter(({urlRegexes:o})=>o.some(t))},Ot=(e,t,r)=>{var l;return ((l=r[e])!=null?l:[]).map(a=>{var m=a,{urlRegexes:n}=m,i=x(m,["urlRegexes"]);return C(T({},i),{urlRegexes:n.map(d=>new RegExp(d))})}).reduce((n,d)=>{var A=d,{urlRegexes:i,selector:a}=A,m=x(A,["urlRegexes","selector"]);if(!i.some(t))return n;let u=a,{cssString:c}=u,p=x(u,["cssString"]),g=n.findIndex(y=>{var S=y,{selector:E}=S,R=x(S,["selector"]);let P=E,I=x(P,["cssString"]);return lodash.isEqual(p,I)&&lodash.isEqual(m,R)});return g===-1?n.push(T({selector:a},m)):n[g].selector.cssString+=", ".concat(c),n},[])},rt=e=>l=>{var n=l,{urlRegexes:t,elementToMeasureSelector:r,elementsToMeasureSelectors:s}=n,o=x(n,["urlRegexes","elementToMeasureSelector","elementsToMeasureSelectors"]);return C(T({},o),{urlRegexes:t.map(i=>new RegExp(i)),isNative:e,elementsToMeasureSelectors:s!=null?s:r?{width:r,height:r}:void 0})},Wt=(e,t,r,s={})=>{var i,a;let o=(i=r[e])!=null?i:[],l=(a=s[e])!=null?a:[];return o.map(rt(!1)).concat(l.map(rt(!0))).filter(({urlRegexes:m})=>m.some(t))};function kt(e){let t="";return e.forEach(r=>{t+=r+", ";}),t&&(t=t.slice(0,-2)),t}var nt=(e,t,r,s,o,l)=>{var A;let i=((A=r[e])!=null?A:[]).map(g=>{var u=g,{urlRegexes:c}=u,p=x(u,["urlRegexes"]);return C(T({},p),{urlRegexes:c.map(E=>new RegExp(E))})}).filter(({urlRegexes:c})=>c.some(t)),a=new Set,m={},d=c=>{var u,E;if(a.has(c))return;let p=((u=l[c])!=null?u:[b]).join("|");((E=s[c])!=null?E:[]).forEach(R=>{let{selector:y,parentDepth:S}=typeof R=="string"?{selector:R,parentDepth:0}:R;m[p]||(m[p]={});let w=m[p];w[S]||(w[S]=new Set),w[S].add(y);}),a.add(c);};return o.forEach(d),i.forEach(({providers:c})=>c.forEach(d)),Object.entries(m).map(([c,p])=>Object.entries(p).map(([g,u])=>({parentDepth:Number(g),selector:kt(u),categories:c.split("|")}))).flat()};var D=e=>(...t)=>v(void 0,null,function*(){let{data:r}=yield e(...t);return r}),Pe=class{constructor(t){this.getAdPlacesRulesForAllDomains=D(()=>this.api.get("/slise-ad-rules/ad-places",this.getAdVersionRequestConfig()));this.getProvidersToReplaceAtAllSites=D(()=>this.api.get("/slise-ad-rules/providers/all-sites"));this.getProvidersCategories=D(()=>this.api.get("/slise-ad-rules/providers/categories"));this.getProvidersRulesForAllDomains=D(()=>this.api.get("/slise-ad-rules/providers/by-sites"));this.getSelectorsForAllProviders=D(()=>this.api.get("/slise-ad-rules/providers",this.getAdVersionRequestConfig()));this.getNegativeSelectorsForAllProviders=D(()=>this.api.get("/slise-ad-rules/providers/negative-selectors",this.getAdVersionRequestConfig()));this.getPermanentAdPlacesRulesForAllDomains=D(()=>this.api.get("/slise-ad-rules/ad-places/permanent",this.getAdVersionRequestConfig()));this.getPermanentNativeAdPlacesRulesForAllDomains=D(()=>this.api.get("/slise-ad-rules/ad-places/permanent-native",this.getAdVersionRequestConfig()));this.getAdsReplaceUrlsBlacklist=D(()=>this.api.get("/slise-ad-rules/replace-urls-blacklist",this.getAdVersionRequestConfig()));this.getElementsToHideOrRemoveRules=D(()=>this.api.get("/slise-ad-rules/elements-to-hide-or-remove",this.getAdVersionRequestConfig()));this.getBlacklistedHypelabCampaignsSlugs=D(()=>this.api.get("/temple-wallet-ads/hypelab-campaigns-blacklist"));this.getAllRules=()=>v(this,null,function*(){let[t,r,s,o,l,n,i,a,m,d,A]=yield Promise.all([this.getAdPlacesRulesForAllDomains(),this.getProvidersRulesForAllDomains(),this.getSelectorsForAllProviders(),this.getProvidersToReplaceAtAllSites(),this.getPermanentAdPlacesRulesForAllDomains(),this.getPermanentNativeAdPlacesRulesForAllDomains(),this.getAdsReplaceUrlsBlacklist(),this.getNegativeSelectorsForAllProviders(),this.getElementsToHideOrRemoveRules(),this.getProvidersCategories(),this.getBlacklistedHypelabCampaignsSlugs()]);return {adPlacesRulesForAllDomains:t,providersRulesForAllDomains:r,providersSelectors:s,providersToReplaceAtAllSites:o,permanentAdPlacesRulesForAllDomains:l,permanentNativeAdPlacesRulesForAllDomains:n,adsReplaceUrlsBlacklist:i,providersNegativeSelectors:a,elementsToHideOrRemoveRules:m,providersCategories:d,blacklistedHypelabCampaignsSlugs:A,timestamp:Date.now()}});this.api=Ut__default.default.create({baseURL:new URL("/api",t).href,adapter:"fetch"});}getAdVersionRequestConfig(){return {params:{extVersion:h.EXTENSION_VERSION,isMisesBrowser:h.IS_MISES_BROWSER}}}};
|
|
16
16
|
|
|
17
17
|
exports.TempleWalletApi = Pe;
|
|
18
|
-
exports.configureAds =
|
|
19
|
-
exports.executeAdsActions =
|
|
20
|
-
exports.getAdsActions =
|
|
21
|
-
exports.renderAdsStack =
|
|
22
|
-
exports.transformRawRules =
|
|
18
|
+
exports.configureAds = At;
|
|
19
|
+
exports.executeAdsActions = bt;
|
|
20
|
+
exports.getAdsActions = Tt;
|
|
21
|
+
exports.renderAdsStack = Nt;
|
|
22
|
+
exports.transformRawRules = Dt;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@temple-wallet/extension-ads",
|
|
3
|
-
"version": "11.0.
|
|
3
|
+
"version": "11.0.2-dev.1712.1",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
},
|
|
39
39
|
"packageManager": "yarn@4.1.1",
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"axios": "^1.
|
|
41
|
+
"axios": "^1.8.4",
|
|
42
42
|
"crypto-js": "^4.2.0",
|
|
43
43
|
"lodash": "^4.17.21",
|
|
44
44
|
"memoizee": "^0.4.17",
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
export const stripDimentionsLimits = (wrapperElement: HTMLDivElement, width: number, height: number) => {
|
|
2
|
-
const predefinedStyles = wrapperElement.style;
|
|
3
|
-
// If needed in future, try `getComputedStyle(wrapperElement)` - though would have to not remove but override
|
|
4
|
-
|
|
5
|
-
stripOneDimensionLimit(predefinedStyles, width, ['width']);
|
|
6
|
-
stripOneDimensionLimit(predefinedStyles, height, ['height', 'maxHeight']);
|
|
7
|
-
};
|
|
8
|
-
|
|
9
|
-
const stripOneDimensionLimit = (
|
|
10
|
-
predefinedStyles: CSSStyleDeclaration,
|
|
11
|
-
value: number,
|
|
12
|
-
dimensionNames: ('width' | 'height' | 'maxWidth' | 'maxHeight')[]
|
|
13
|
-
) => {
|
|
14
|
-
for (const dimensionName of dimensionNames) {
|
|
15
|
-
const predefinedStyleValue = predefinedStyles[dimensionName] ?? '';
|
|
16
|
-
|
|
17
|
-
if (/^\d+(px)?$/.test(predefinedStyleValue)) {
|
|
18
|
-
const predefinedSize = parseInt(predefinedStyleValue, 10);
|
|
19
|
-
if (predefinedSize < value) {
|
|
20
|
-
predefinedStyles.removeProperty(dimensionName);
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
};
|