@temple-wallet/extension-ads 8.1.0-dev.4 → 8.1.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.
Files changed (90) hide show
  1. package/dist/ads-actions/helpers.d.ts +17 -0
  2. package/dist/ads-actions/helpers.js +96 -0
  3. package/dist/ads-actions/helpers.js.map +1 -0
  4. package/dist/ads-actions/index.d.ts +3 -0
  5. package/dist/ads-actions/index.js +63 -0
  6. package/dist/ads-actions/index.js.map +1 -0
  7. package/dist/ads-actions/process-elements-to-hide-or-remove-rule.d.ts +3 -0
  8. package/dist/ads-actions/process-elements-to-hide-or-remove-rule.js +19 -0
  9. package/dist/ads-actions/process-elements-to-hide-or-remove-rule.js.map +1 -0
  10. package/dist/ads-actions/process-permanent-rule.d.ts +3 -0
  11. package/dist/ads-actions/process-permanent-rule.js +143 -0
  12. package/dist/ads-actions/process-permanent-rule.js.map +1 -0
  13. package/dist/ads-actions/process-providers-ads.d.ts +3 -0
  14. package/dist/ads-actions/process-providers-ads.js +137 -0
  15. package/dist/ads-actions/process-providers-ads.js.map +1 -0
  16. package/dist/ads-actions/process-rule.d.ts +3 -0
  17. package/dist/ads-actions/process-rule.js +98 -0
  18. package/dist/ads-actions/process-rule.js.map +1 -0
  19. package/dist/ads-configuration.d.ts +31 -0
  20. package/dist/ads-configuration.js +30 -0
  21. package/dist/ads-configuration.js.map +1 -0
  22. package/dist/constants.d.ts +11 -0
  23. package/dist/constants.js +12 -0
  24. package/dist/constants.js.map +1 -0
  25. package/dist/execute-ads-actions/ads-views/index.d.ts +3 -0
  26. package/dist/execute-ads-actions/ads-views/index.js +4 -0
  27. package/dist/execute-ads-actions/ads-views/index.js.map +1 -0
  28. package/dist/execute-ads-actions/ads-views/make-ads-tw-view.d.ts +3 -0
  29. package/dist/execute-ads-actions/ads-views/make-ads-tw-view.js +40 -0
  30. package/dist/execute-ads-actions/ads-views/make-ads-tw-view.js.map +1 -0
  31. package/dist/execute-ads-actions/ads-views/make-extension-iframe-view.d.ts +3 -0
  32. package/dist/execute-ads-actions/ads-views/make-extension-iframe-view.js +22 -0
  33. package/dist/execute-ads-actions/ads-views/make-extension-iframe-view.js.map +1 -0
  34. package/dist/execute-ads-actions/ads-views/make-tkey-ad.d.ts +3 -0
  35. package/dist/execute-ads-actions/ads-views/make-tkey-ad.js +38 -0
  36. package/dist/execute-ads-actions/ads-views/make-tkey-ad.js.map +1 -0
  37. package/dist/execute-ads-actions/index.d.ts +2 -0
  38. package/dist/execute-ads-actions/index.js +23 -0
  39. package/dist/execute-ads-actions/index.js.map +1 -0
  40. package/dist/execute-ads-actions/observing.d.ts +1 -0
  41. package/dist/execute-ads-actions/observing.js +129 -0
  42. package/dist/execute-ads-actions/observing.js.map +1 -0
  43. package/dist/execute-ads-actions/override-element-styles.d.ts +2 -0
  44. package/dist/execute-ads-actions/override-element-styles.js +6 -0
  45. package/dist/execute-ads-actions/override-element-styles.js.map +1 -0
  46. package/dist/execute-ads-actions/process-insert-ad-action.d.ts +2 -0
  47. package/dist/execute-ads-actions/process-insert-ad-action.js +153 -0
  48. package/dist/execute-ads-actions/process-insert-ad-action.js.map +1 -0
  49. package/dist/index.d.ts +0 -1
  50. package/dist/index.js +14 -12
  51. package/dist/index.js.map +1 -0
  52. package/dist/render-ads-stack.d.ts +7 -0
  53. package/dist/render-ads-stack.js +156 -0
  54. package/dist/render-ads-stack.js.map +1 -0
  55. package/dist/temple-wallet-api.d.ts +23 -0
  56. package/dist/temple-wallet-api.js +67 -0
  57. package/dist/temple-wallet-api.js.map +1 -0
  58. package/dist/transform-raw-rules.d.ts +3 -0
  59. package/dist/transform-raw-rules.js +137 -0
  60. package/dist/transform-raw-rules.js.map +1 -0
  61. package/dist/types/ad-view.d.ts +7 -0
  62. package/dist/types/ad-view.js +2 -0
  63. package/dist/types/ad-view.js.map +1 -0
  64. package/dist/types/ads-actions.d.ts +56 -0
  65. package/dist/types/ads-actions.js +15 -0
  66. package/dist/types/ads-actions.js.map +1 -0
  67. package/dist/types/ads-meta.d.ts +19 -0
  68. package/dist/types/ads-meta.js +2 -0
  69. package/dist/types/ads-meta.js.map +1 -0
  70. package/dist/types/ads-provider.d.ts +8 -0
  71. package/dist/types/ads-provider.js +9 -0
  72. package/dist/types/ads-provider.js.map +1 -0
  73. package/dist/types/ads-rules.d.ts +26 -0
  74. package/dist/types/ads-rules.js +2 -0
  75. package/dist/types/ads-rules.js.map +1 -0
  76. package/dist/types/temple-wallet-api.d.ts +78 -0
  77. package/dist/types/temple-wallet-api.js +2 -0
  78. package/dist/types/temple-wallet-api.js.map +1 -0
  79. package/dist/utils.d.ts +6 -0
  80. package/dist/utils.js +4 -0
  81. package/dist/utils.js.map +1 -0
  82. package/package.json +3 -2
  83. package/src/ads-actions/helpers.ts +2 -36
  84. package/src/ads-actions/process-permanent-rule.ts +3 -5
  85. package/src/ads-actions/process-providers-ads.ts +2 -28
  86. package/src/execute-ads-actions/observing.ts +1 -3
  87. package/src/execute-ads-actions/process-insert-ad-action.ts +4 -24
  88. package/src/render-ads-stack.ts +2 -10
  89. package/src/temple-wallet-api.ts +2 -1
  90. package/src/types/ads-actions.ts +0 -1
@@ -0,0 +1,153 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { nanoid } from 'nanoid';
11
+ import { PX_VALUE_REGEX, sumPxValues } from 'src/ads-actions/helpers';
12
+ import { AdsConfiguration } from 'src/ads-configuration';
13
+ import { IFRAME_ALLOWANCE, SIBLING_REPLACEMENT_ATTRIBUTE_NAME, TEMPLE_WALLET_AD_ATTRIBUTE_NAME, TEMPLE_WALLET_NATIVE_AD_ATTRIBUTE_NAME } from 'src/constants';
14
+ import { AdActionType } from 'src/types/ads-actions';
15
+ import { subscribeToAdsStackIframeLoadIfNecessary } from './observing';
16
+ import { overrideElementStyles } from './override-element-styles';
17
+ const adjustToAd = (wrapperElement, adDimensions) => {
18
+ const predefinedStylesKeyToOverride = ['width', 'height'];
19
+ predefinedStylesKeyToOverride.forEach(dimensionName => {
20
+ var _a;
21
+ const predefinedStyleValue = (_a = wrapperElement.style[dimensionName]) !== null && _a !== void 0 ? _a : '';
22
+ if (PX_VALUE_REGEX.test(predefinedStyleValue)) {
23
+ const predefinedSize = parseInt(predefinedStyleValue, 10);
24
+ if (predefinedSize < adDimensions[dimensionName]) {
25
+ wrapperElement.style.removeProperty(dimensionName);
26
+ }
27
+ }
28
+ });
29
+ };
30
+ const processInsertAdActionOnce = (action, wrapperElement, insertionPoint, onAdsStackError) => __awaiter(void 0, void 0, void 0, function* () {
31
+ const { elementStyle = {}, stylesOverrides = [], adsMetadata, wrapperType, originalHeight, originalWidth } = action;
32
+ stylesOverrides.sort((a, b) => a.parentDepth - b.parentDepth);
33
+ let stylesOverridesCurrentElement;
34
+ const adId = nanoid();
35
+ const adElement = document.createElement('iframe');
36
+ adElement.loading = 'lazy';
37
+ adElement.src = AdsConfiguration.getAdsStackIframeURL(adId, adsMetadata, window.location.href);
38
+ adElement.id = adId;
39
+ adElement.allow = IFRAME_ALLOWANCE;
40
+ const firstAdMetadataOrId = adsMetadata[0];
41
+ const { dimensions: minDimensions } = typeof firstAdMetadataOrId === 'number' ? AdsConfiguration.bannerAdsMeta[firstAdMetadataOrId] : firstAdMetadataOrId;
42
+ const dimensions = {
43
+ width: Math.max(originalWidth, minDimensions.width),
44
+ height: Math.max(originalHeight, minDimensions.height)
45
+ };
46
+ adElement.style.width = wrapperType === 'tbody' ? '100%' : `${dimensions.width}px`;
47
+ adElement.style.height = `${dimensions.height}px`;
48
+ adElement.style.border = 'none';
49
+ for (const styleProp in elementStyle) {
50
+ adElement.style.setProperty(styleProp, elementStyle[styleProp]);
51
+ }
52
+ adElement.setAttribute(TEMPLE_WALLET_AD_ATTRIBUTE_NAME, 'true');
53
+ adjustToAd(wrapperElement, dimensions);
54
+ insertionPoint.appendChild(adElement);
55
+ switch (action.type) {
56
+ case AdActionType.ReplaceAllChildren:
57
+ stylesOverridesCurrentElement = action.parent;
58
+ action.parent.innerHTML = '';
59
+ action.parent.appendChild(wrapperElement);
60
+ break;
61
+ case AdActionType.ReplaceElement:
62
+ stylesOverridesCurrentElement = action.element.parentElement;
63
+ action.element.replaceWith(wrapperElement);
64
+ break;
65
+ default:
66
+ if (action.isSiblingReplacement) {
67
+ wrapperElement.setAttribute(SIBLING_REPLACEMENT_ATTRIBUTE_NAME, 'true');
68
+ }
69
+ stylesOverridesCurrentElement = action.parent;
70
+ action.parent.insertBefore(wrapperElement, action.parent.children[action.insertionIndex]);
71
+ break;
72
+ }
73
+ if (wrapperType !== 'tbody') {
74
+ const { borderLeftWidth: adElementBLWidth, borderRightWidth: adElementBRWidth, borderTopWidth: adElementBTWidth, borderBottomWidth: adElementBBWidth } = window.getComputedStyle(adElement);
75
+ const { borderLeftWidth: wrapperElementBLWidth, borderRightWidth: wrapperElementBRWidth, borderTopWidth: wrapperElementBTWidth, borderBottomWidth: wrapperElementBBWidth } = window.getComputedStyle(wrapperElement);
76
+ const horizontalBordersWidth = sumPxValues([
77
+ adElementBLWidth,
78
+ adElementBRWidth,
79
+ wrapperElementBLWidth,
80
+ wrapperElementBRWidth
81
+ ]);
82
+ const verticalBordersWidth = sumPxValues([
83
+ adElementBTWidth,
84
+ adElementBBWidth,
85
+ wrapperElementBTWidth,
86
+ wrapperElementBBWidth
87
+ ]);
88
+ adElement.style.width = `${dimensions.width - horizontalBordersWidth}px`;
89
+ adElement.style.height = `${dimensions.height - verticalBordersWidth}px`;
90
+ }
91
+ subscribeToAdsStackIframeLoadIfNecessary(adElement).catch(onAdsStackError);
92
+ let currentParentDepth = 0;
93
+ stylesOverrides.forEach(({ parentDepth, style }) => {
94
+ while (parentDepth > currentParentDepth && stylesOverridesCurrentElement) {
95
+ stylesOverridesCurrentElement = stylesOverridesCurrentElement.parentElement;
96
+ currentParentDepth++;
97
+ }
98
+ if (stylesOverridesCurrentElement) {
99
+ overrideElementStyles(stylesOverridesCurrentElement, style);
100
+ }
101
+ });
102
+ });
103
+ export const processInsertAdAction = (action) => __awaiter(void 0, void 0, void 0, function* () {
104
+ const { wrapperStyle = {}, adsMetadata, wrapperType = 'div', colsAfter = 0, colsBefore = 0, colspan = 1 } = action;
105
+ const isNativeAd = adsMetadata.every(adMetadata => typeof adMetadata === 'object');
106
+ let wrapperElement;
107
+ let insertionPoint;
108
+ if (wrapperType === 'div') {
109
+ wrapperElement = document.createElement('div');
110
+ insertionPoint = wrapperElement;
111
+ }
112
+ else {
113
+ wrapperElement = document.createElement('tbody');
114
+ const row = document.createElement('tr');
115
+ wrapperElement.appendChild(row);
116
+ for (let i = 0; i < colsBefore; i++) {
117
+ row.appendChild(document.createElement('td'));
118
+ }
119
+ const cell = document.createElement('td');
120
+ cell.colSpan = colspan;
121
+ row.appendChild(cell);
122
+ insertionPoint = cell;
123
+ for (let i = 0; i < colsAfter; i++) {
124
+ row.appendChild(document.createElement('td'));
125
+ }
126
+ }
127
+ wrapperElement.setAttribute(TEMPLE_WALLET_AD_ATTRIBUTE_NAME, 'true');
128
+ if (isNativeAd) {
129
+ wrapperElement.setAttribute(TEMPLE_WALLET_NATIVE_AD_ATTRIBUTE_NAME, 'true');
130
+ }
131
+ overrideElementStyles(wrapperElement, wrapperStyle);
132
+ const hideFailedAd = () => {
133
+ const emptyAdElement = document.createElement('div');
134
+ emptyAdElement.setAttribute(TEMPLE_WALLET_AD_ATTRIBUTE_NAME, 'true');
135
+ if (isNativeAd) {
136
+ emptyAdElement.setAttribute(TEMPLE_WALLET_NATIVE_AD_ATTRIBUTE_NAME, 'true');
137
+ }
138
+ if (action.type === AdActionType.SimpleInsertAd && action.isSiblingReplacement) {
139
+ emptyAdElement.setAttribute(SIBLING_REPLACEMENT_ATTRIBUTE_NAME, 'true');
140
+ }
141
+ emptyAdElement.style.display = 'none';
142
+ wrapperElement.replaceWith(emptyAdElement);
143
+ };
144
+ yield processInsertAdActionOnce(action, wrapperElement, insertionPoint, error => {
145
+ console.error('Failed to render ads', error);
146
+ hideFailedAd();
147
+ }).catch(error => {
148
+ console.error('Inserting an ad attempt error:', error);
149
+ hideFailedAd();
150
+ throw error;
151
+ });
152
+ });
153
+ //# sourceMappingURL=process-insert-ad-action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"process-insert-ad-action.js","sourceRoot":"","sources":["../../src/execute-ads-actions/process-insert-ad-action.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -118,7 +118,6 @@ interface InsertAdActionProps extends Pick<RawPermanentAdPlacesRule, 'wrapperSty
118
118
  stylesOverrides?: AdStylesOverrides[];
119
119
  originalWidth: number;
120
120
  originalHeight: number;
121
- shouldUseBlurredBackground?: boolean;
122
121
  }
123
122
  interface ReplaceAllChildrenWithAdAction extends AdActionBase, InsertAdActionProps {
124
123
  type: AdActionType.ReplaceAllChildren;
package/dist/index.js CHANGED
@@ -1,22 +1,24 @@
1
1
  'use strict';
2
2
 
3
3
  var semver = require('semver');
4
- var lodash = require('lodash');
5
4
  var nanoid = require('nanoid');
6
- var ct = require('webextension-polyfill');
5
+ var it = require('webextension-polyfill');
7
6
  var cryptoJs = require('crypto-js');
8
- var Pt = require('axios');
7
+ var lodash = require('lodash');
8
+ var yt = require('@vespaiach/axios-fetch-adapter');
9
+ var St = require('axios');
9
10
 
10
11
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
11
12
 
12
- var ct__default = /*#__PURE__*/_interopDefault(ct);
13
- var Pt__default = /*#__PURE__*/_interopDefault(Pt);
13
+ var it__default = /*#__PURE__*/_interopDefault(it);
14
+ var yt__default = /*#__PURE__*/_interopDefault(yt);
15
+ var St__default = /*#__PURE__*/_interopDefault(St);
14
16
 
15
- var je=Object.defineProperty,Je=Object.defineProperties;var Ze=Object.getOwnPropertyDescriptors;var oe=Object.getOwnPropertySymbols;var Me=Object.prototype.hasOwnProperty,_e=Object.prototype.propertyIsEnumerable;var xe=(e,t,r)=>t in e?je(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,x=(e,t)=>{for(var r in t||(t={}))Me.call(t,r)&&xe(e,r,t[r]);if(oe)for(var r of oe(t))_e.call(t,r)&&xe(e,r,t[r]);return e},L=(e,t)=>Je(e,Ze(t));var _=(e,t)=>{var r={};for(var s in e)Me.call(e,s)&&t.indexOf(s)<0&&(r[s]=e[s]);if(e!=null&&oe)for(var s of oe(e))t.indexOf(s)<0&&_e.call(e,s)&&(r[s]=e[s]);return r};var T=(e,t,r)=>new Promise((s,l)=>{var o=i=>{try{n(r.next(i));}catch(d){l(d);}},a=i=>{try{n(r.throw(i));}catch(d){l(d);}},n=i=>i.done?s(i.value):Promise.resolve(i.value).then(o,a);n((r=r.apply(e,t)).next());});var be=e=>!!e;var N=(e=300)=>new Promise(t=>setTimeout(t,e));var g=class{};g.IS_MISES_BROWSER=!1,g.ADS_TW_WINDOW_URL="",g.TKEY_INPAGE_AD_URL="",g.SMALL_TKEY_INPAGE_AD_URL="",g.SWAP_TKEY_URL="",g.EXTERNAL_ADS_ACTIVITY_MESSAGE_TYPE="",g.personaIframePath="",g.getAdsStackIframeURL=()=>"",g.buildNativeAdsMeta=()=>[],g.bannerAdsMeta=[];var et=e=>{let{adsTwWindowUrl:t,tkeyInpageAdUrl:r,smallTkeyInpageAdUrl:s,swapTkeyUrl:l,externalAdsActivityMessageType:o,personaIframePath:a,getAdsStackIframeURL:n,buildNativeAdsMeta:i,bannerAdsMeta:d,extVersion:m,templePassphrase:A,isMisesBrowser:p}=e;s&&(g.SMALL_TKEY_INPAGE_AD_URL=s),g.ADS_TW_WINDOW_URL=t,g.TKEY_INPAGE_AD_URL=r,g.SWAP_TKEY_URL=l,g.EXTERNAL_ADS_ACTIVITY_MESSAGE_TYPE=o,g.personaIframePath=a,g.getAdsStackIframeURL=n,g.buildNativeAdsMeta=i,g.bannerAdsMeta=d,g.EXTENSION_VERSION=m,g.TEMPLE_PASSPHRASE=A,g.IS_MISES_BROWSER=p;};var Y="twa",z="twa-native",G="twa-sibling-replacement";var le="adRenderStart",ae="resize",K="ready",re="error",de="accelerometer; gyroscope",k="crypto",me="background";var q=/[\d.]+(px)?$/,X=`[${Y}]`,Le=`[${Y}]:not([${z}])`,De=`[${z}]`,Ae=(e,t)=>{let r=parseInt(e,10);return isNaN(r)||!q.test(e)?t:r},U=(e,t,r)=>{e.style[t]=`${Math.max(Ae(e.style[t],0),r)}px`;},Q=e=>e.reduce((t,r)=>t+Ae(r,0),0),j=e=>!!e.closest(X),ce=e=>{var t;return !!((t=e.previousElementSibling)!=null&&t.getAttribute(G))},ne=e=>{let t=getComputedStyle(e),{x:r,right:s,width:l,height:o}=e.getBoundingClientRect(),a={width:l,height:o},n=["width","height"];for(let i of n){let d=t[i],m=e.getAttribute(i),A=Math.max(...[d,m].map(p=>Ae(p!=null?p:"",-1)));A!==-1&&(a[i]=A),i==="width"&&r<0?a.width+=r:i==="width"&&s>window.innerWidth&&(a.width=window.innerWidth-r);}return a},D=(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 l=r.parentElement;if(!l)return null;r=l;}return r},He=(e,t,r,s,l)=>{if(e<2&&t<2)return [];if(s)return g.buildNativeAdsMeta(e,t);let o=r==="permanent"||r==="slot-replacement"?g.bannerAdsMeta.filter(({source:i})=>i.shouldNotUseStrictContainerLimits):[],a=Math.max(e,...o.map(({dimensions:i})=>i.width)),n=Math.max(t,...o.map(({dimensions:i})=>i.height));return g.bannerAdsMeta.reduce((i,{dimensions:d,source:m},A)=>{let{shouldNotUseStrictContainerLimits:p=!1,categories:c=[k]}=m;if(c.every(v=>!l.includes(v)))return i;let{minContainerWidth:u,minContainerHeight:E,width:f,maxContainerWidth:h,maxContainerHeight:S}=d,R=!1;switch(r){case"permanent":R=p||a>=f&&(n>=E||n<2);break;case"slot-replacement":R=p||a>=u&&(n>=E||n<2);break;default:R=e>=u&&t>=E&&e<=h&&t<=S;}return R&&i.push(A),i},[])},tt=e=>{let{x:t,y:r,width:s,height:l}=e.getBoundingClientRect();return t!==0||r!==0||s!==0||l!==0},ue=e=>{let{display:t}=window.getComputedStyle(e);switch(t){case"none":return !0;case"contents":return Array.from(e.children).every(r=>ue(r));default:return !tt(e)}};var Ne=(e,t)=>{let{shouldHide:r,cssString:s,parentDepth:l,isMultiple:o}=e;D(s,o).forEach(a=>{let n=O(a,l);if(!n)return;let i=window.getComputedStyle(n);i.display!=="none"&&i.visibility!=="hidden"&&t.push({type:r?"hide-element":"remove-element",element:n});});};var Oe=(e,t,r)=>T(void 0,null,function*(){let{parentSelector:s,displayWidth:l}=e,{isMultiple:o,cssString:a,parentDepth:n}=s;if(l&&!semver.satisfies(semver.coerce(window.innerWidth),l))return [];let i=D(a,o).map(d=>O(d,n)).filter(d=>!!d);return yield Promise.all(i.map(d=>T(void 0,null,function*(){yield N(0),st(d,e,t,r);}))),i}),he=(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}},st=(e,t,r,s)=>{var ve;let Te=t,{shouldUseDivWrapper:l,divWrapperStyle:o,wrapperStyle:a,elementStyle:n,adSelector:i,insertionIndex:d,insertBeforeSelector:m,insertAfterSelector:A,insertionsCount:p=1,elementsToMeasureSelectors:c,stylesOverrides:u,shouldHideOriginal:E=!1,isNative:f,urlRegexes:h,parentSelector:S}=Te,R=_(Te,["shouldUseDivWrapper","divWrapperStyle","wrapperStyle","elementStyle","adSelector","insertionIndex","insertBeforeSelector","insertAfterSelector","insertionsCount","elementsToMeasureSelectors","stylesOverrides","shouldHideOriginal","isNative","urlRegexes","parentSelector"]),v=R.wrapperType?a:l?o:{display:"contents"},{isMultiple:I,cssString:P,parentDepth:w}=i,M=D(f?De:Le,!0,e).reduce((y,B)=>y.some($=>$.contains(B))?y:[...y.filter($=>!B.contains($)),B],[]),b=M.filter(ue),F=M.length-b.length,W=p-F;if(D(P,I,e).map(y=>O(y,w)).filter(y=>be(y)&&!j(y)).forEach(y=>{var $;let B=window.getComputedStyle(y).display==="none";if(W<=0)(!E||!B)&&s.push({type:E?"hide-element":"remove-element",element:y});else {let qe=he(c,(($=y.parentElement)==null?void 0:$.children.length)===1?y.parentElement:y),Xe=x({type:"replace-element",element:y,wrapperStyle:v,elementStyle:n,stylesOverrides:u},R),Pe={type:"hide-element",element:y},Qe=x({type:"simple-insert-ad",wrapperStyle:v,elementStyle:n,parent:y.parentElement,insertionIndex:Array.from(y.parentElement.children).indexOf(y),isSiblingReplacement:!0,stylesOverrides:u},R),te=[],Ie=ce(y);E&&Ie&&!B?te=[Pe]:E&&!Ie?te=[Pe,Qe]:E||(te=[Xe]),te.length>0&&r(qe,"permanent",f,[k],...te)&&W--;}}),W<=0)return;let H=-1,V=e,ee={width:e,height:e},we=m||A;if(we){let y=e.querySelector(we),B=y==null?void 0:y.parentElement;y&&B&&(V=B,H=Array.from(e.children).indexOf(y)+(m?0:1),ee=he(c,y));}else {let y=d!=null?d:0;H=y<0?Math.max(e.children.length+y,0):Math.min(y,e.children.length),ee=he(c,(ve=e.children[H])!=null?ve:e);}if(H!==-1){let y=x({type:"simple-insert-ad",wrapperStyle:v,elementStyle:n,parent:V,insertionIndex:H,isSiblingReplacement:!1,stylesOverrides:u},R);r(ee,"permanent",f,[k],...Array(W).fill(y));}};var ot=["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"],lt=lodash.memoize(e=>e.reduce((t,{dimensions:r})=>{let s=t.filter(({width:l,height:o})=>l<r.width||o<r.height);return (s.length===0||s.some(({width:l,height:o})=>l>r.width||o>r.height))&&s.push(r),s},[])),Ce=(e,t,r,s)=>T(void 0,null,function*(){let l=lt(g.bannerAdsMeta),o=e.map(({selector:n,parentDepth:i,categories:d})=>D(n,!0).reduce((m,A)=>{var P;let p=(P=O(A,i))!=null?P:A,c=m.findIndex(({element:w})=>w.contains(p)),u=p.parentElement&&window.getComputedStyle(p.parentElement),{width:E,height:f}=ne(p),h=s.some(w=>{var M;return w.type==="replace-all-children"||w.type==="simple-insert-ad"?w.parent.contains(p)||p.contains(w.parent):((M=w.element.parentElement)==null?void 0:M.contains(p))||p.contains(w.element)}),S=(u==null?void 0:u.display)==="none"||(u==null?void 0:u.visibility)==="hidden",R=c>=0&&m[c]instanceof HTMLAnchorElement,v=l.some(({width:w,height:M})=>E>=w&&f>=M);if(h||!v||S||R)return m;let I={element:p,categories:d};return c>=0?m.splice(c,1,I):m.some(({element:w})=>w.contains(p))||m.push(I),m},[])).flat(),a=t.map(({selector:n,parentDepth:i})=>D(n,!0).map(d=>O(d,i)).filter(d=>!!d)).flat();o=o.filter(({element:n})=>!a.includes(n)),yield Promise.all(o.map(d=>T(void 0,[d],function*({element:n,categories:i}){var u,E,f,h,S,R,v,I;yield N(0);let m=n.parentElement,{width:A,height:p}=window.getComputedStyle(n),c=q.test(A)&&q.test(p)?n:(E=(u=m==null?void 0:m.closest("div, article, aside, footer, header"))!=null?u:(m==null?void 0:m.tagName.toLowerCase())==="body"?void 0:m)!=null?E:n;if(!j(n)&&!n.querySelector(X)&&!s.some(P=>P.type==="simple-insert-ad"?!1:P.type==="replace-all-children"?P.parent.contains(n):P.element===n)){let P=(f=n.getAttribute("style"))!=null?f:"",w=Object.fromEntries(P.split(";").filter(Boolean).map(V=>V.split(":").map(ee=>ee.trim())));if((h=w.width)!=null&&h.match(/^0[a-z]/)||(S=w.height)!=null&&S.match(/^0[a-z]/))return;let M=window.getComputedStyle(n),b=x(x({},Object.fromEntries(ot.map(V=>[V,M.getPropertyValue(V)]))),w),F={type:"hide-element",element:n},W={type:"simple-insert-ad",wrapperStyle:b,parent:(R=n.parentElement)!=null?R:document.body,insertionIndex:Array.from((I=(v=n.parentElement)==null?void 0:v.children)!=null?I:[]).indexOf(n),isSiblingReplacement:!0,shouldUseBlurredBackground:!0},Z,H=n.closest(`[${G}] + *`);H&&H!==n?Z=[{type:"remove-element",element:H.previousElementSibling},F,W]:H?Z=window.getComputedStyle(n).display==="none"?[]:[F]:Z=[F,W],r({width:c,height:c},"provider-replacement",!1,i,...Z);}})));});var We=(e,t,r)=>T(void 0,null,function*(){let{cssString:s,isMultiple:l}=e.selector,o=D(s,l);yield Promise.all(o.map(a=>T(void 0,null,function*(){yield N(0),at(a,e,t,r);})));}),at=(e,t,r,s)=>{let{selector:{shouldUseDivWrapper:l,parentDepth:o,divWrapperStyle:a},stylesOverrides:n,shouldHideOriginal:i,isNative:d=!1}=t,m=O(e,o);if(!m||r.some(c=>c.contains(m))||j(m)||m.querySelector(X))return;let A={shouldUseDivWrapper:l,wrapperStyle:a},p;if(l&&i){let c=m.parentElement,u=window.getComputedStyle(m).display==="none",E=x({type:"simple-insert-ad",parent:c,insertionIndex:Array.from(c.children).indexOf(m),stylesOverrides:n==null?void 0:n.map(S=>{var R=S,{parentDepth:f}=R,h=_(R,["parentDepth"]);return L(x({},h),{parentDepth:f-1})}),isSiblingReplacement:!0},A);p=[],u||p.push({type:"hide-element",element:m}),ce(m)||p.push(E);}else if(l)p=[x({type:"replace-element",element:m,stylesOverrides:n==null?void 0:n.map(f=>{var h=f,{parentDepth:u}=h,E=_(h,["parentDepth"]);return L(x({},E),{parentDepth:u-1})})},A)];else if(i){let c={type:"simple-insert-ad",parent:m,insertionIndex:0,stylesOverrides:n,isSiblingReplacement:!0,wrapperStyle:{display:"contents"}};p=Array.from(m.children).filter(u=>window.getComputedStyle(u).display!=="none").map(u=>({type:"hide-element",element:u})),m.querySelector(X)||p.push(c);}else p=[{type:"replace-all-children",parent:m,stylesOverrides:n,wrapperStyle:{display:"contents"}}];p.length>0&&s({width:m,height:m},"slot-replacement",d,[k],...p);};var dt=o=>T(void 0,[o],function*({providersSelectors:e,providersNegativeSelectors:t,adPlacesRules:r,permanentAdPlacesRules:s,elementsToHideOrRemoveRules:l}){let a=[],n=(d,m,A,p,...c)=>{if(c.length>0&&c.every(b=>b.type==="hide-element"||b.type==="remove-element"))return a.push(...c),!0;let{width:u}=ne(d.width),{height:E}=ne(d.height),{paddingLeft:f,paddingRight:h}=window.getComputedStyle(d.width),{paddingTop:S,paddingBottom:R}=window.getComputedStyle(d.height),v=Q([f,h]),I=v===u?u:u-v,P=Q([S,R]),w=P===E?E:E-P,M=He(I,w,m,A,p);return M.length?(a.push(...c.map(b=>b.type==="hide-element"||b.type==="remove-element"?b:L(x({},b),{adsMetadata:M,originalWidth:I,originalHeight:w}))),!0):!1},i=[];return yield Promise.all(l.map(d=>T(void 0,null,function*(){yield N(0),Ne(d,a);}))),yield Promise.all(s.map(d=>T(void 0,null,function*(){yield N(0),i=i.concat(yield Oe(d,n,a));}))),yield Promise.all(r.map(d=>T(void 0,null,function*(){yield N(0),yield We(d,i,n);}))),yield Ce(e,t,n,a),a});var Ee=(o=>(o.Optimal="Optimal",o.SmartyAds="SmartyAds",o.HypeLab="HypeLab",o.Persona="Persona",o.Temple="Temple Wallet",o))(Ee||{});var ge=new Set,Be=new Set,ke=new Set,Fe=e=>T(void 0,null,function*(){let t=e.id;if(!ge.has(t))return ge.add(t),new Promise((r,s)=>{let l=!1,o=a=>{var n,i;if(a.source===e.contentWindow)try{let d=typeof a.data=="string"?JSON.parse(a.data):a.data;if(d.id!==t)return;let m=e.offsetWidth-e.clientWidth,A=e.offsetHeight-e.clientHeight;switch(d.type){case K:r(d.adMetadata.source.providerName);break;case re:window.removeEventListener("message",o),e.style.display="none",s(new Error((n=d.reason)!=null?n:"Unknown error"));break;case le:let{dimensions:p,source:c}=d.adMetadata;l=(i=c.native)!=null?i:!1;let{width:u,height:E}=p;u>0&&E>0&&(c.native?e.style.height=`${E}px`:(U(e,"width",u),U(e,"height",E)));break;case ae:let{width:f,height:h}=d;l?e.style.height=`${h+A}px`:(U(e,"width",f+m),U(e,"height",h+A));}}catch(d){console.error("Observing error:",d);}};window.addEventListener("message",o);}).then(r=>{if(Be.has(t))return;Be.add(t),pt(e)?Ve(t,r):mt(e,r);}).catch(r=>{throw console.error(r),r}).finally(()=>void ge.delete(t))}),mt=(e,t)=>{let r=new IntersectionObserver(s=>{s.some(l=>l.isIntersecting)&&(Ve(e.id,t),r.disconnect());},{threshold:.5});r.observe(e);},Ve=(e,t)=>{if(ke.has(e))return;ke.add(e);let r=window.parent.location.href;ct__default.default.runtime.sendMessage({type:g.EXTERNAL_ADS_ACTIVITY_MESSAGE_TYPE,url:r,provider:Ee[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),l=Math.min(Math.max(0,t.x+t.width),r.width),o=Math.min(Math.max(0,t.y),r.height),a=Math.min(Math.max(0,t.y+t.height),r.height),n=t.width*t.height;return (l-s)*(a-o)/n>=.5};var se=(e,t)=>{for(let r in t)e.style.setProperty(r,t[r]);};var ut=(e,t)=>{["width","height"].forEach(s=>{var o;let l=(o=e.style[s])!=null?o:"";q.test(l)&&parseInt(l,10)<t[s]&&e.style.removeProperty(s);});},ht=(e,t,r,s)=>T(void 0,null,function*(){let{elementStyle:l={},stylesOverrides:o=[],adsMetadata:a,wrapperType:n,originalHeight:i,originalWidth:d,shouldUseBlurredBackground:m}=e;o.sort((S,R)=>S.parentDepth-R.parentDepth);let A,p=nanoid.nanoid(),c=document.createElement("iframe");c.loading="lazy",c.src=g.getAdsStackIframeURL(p,a,window.location.href),c.id=p,c.allow=de;let u=a[0],{dimensions:E}=typeof u=="number"?g.bannerAdsMeta[u]:u,f={width:m?Math.max(d,E.width):E.width,height:m?Math.max(i,E.height):E.height};c.style.width=n==="tbody"?"100%":`${f.width}px`,c.style.height=`${f.height}px`,c.style.border="none";for(let S in l)c.style.setProperty(S,l[S]);switch(c.setAttribute(Y,"true"),ut(t,f),r.appendChild(c),e.type){case"replace-all-children":A=e.parent,e.parent.innerHTML="",e.parent.appendChild(t);break;case"replace-element":A=e.element.parentElement,e.element.replaceWith(t);break;default:let S=e.parent.children[e.insertionIndex];if(e.isSiblingReplacement){t.setAttribute(G,"true");let R=new MutationObserver(v=>{v.some(P=>Array.from(P.removedNodes).includes(S))&&(t.remove(),R.disconnect());});R.observe(e.parent,{childList:!0});}A=e.parent,e.parent.insertBefore(t,S);break}if(n!=="tbody"){let{borderLeftWidth:S,borderRightWidth:R,borderTopWidth:v,borderBottomWidth:I}=window.getComputedStyle(c),{borderLeftWidth:P,borderRightWidth:w,borderTopWidth:M,borderBottomWidth:b}=window.getComputedStyle(t),F=Q([S,R,P,w]),W=Q([v,I,M,b]);c.style.width=`${f.width-F}px`,c.style.height=`${f.height-W}px`;}Fe(c).catch(s);let h=0;o.forEach(({parentDepth:S,style:R})=>{for(;S>h&&A;)A=A.parentElement,h++;A&&se(A,R);});}),Ye=e=>T(void 0,null,function*(){let{wrapperStyle:t={},adsMetadata:r,wrapperType:s="div",colsAfter:l=0,colsBefore:o=0,colspan:a=1}=e,n=r.every(A=>typeof A=="object"),i,d;if(s==="div")i=document.createElement("div"),d=i;else {i=document.createElement("tbody");let A=document.createElement("tr");i.appendChild(A);for(let c=0;c<o;c++)A.appendChild(document.createElement("td"));let p=document.createElement("td");p.colSpan=a,A.appendChild(p),d=p;for(let c=0;c<l;c++)A.appendChild(document.createElement("td"));}i.setAttribute(Y,"true"),n&&i.setAttribute(z,"true"),se(i,t);let m=()=>{let A=document.createElement("div");A.setAttribute(Y,"true"),n&&A.setAttribute(z,"true"),e.type==="simple-insert-ad"&&e.isSiblingReplacement&&A.setAttribute(G,"true"),A.style.display="none",i.replaceWith(A);};yield ht(e,i,d,A=>{console.error("Failed to render ads",A),m();}).catch(A=>{throw console.error("Inserting an ad attempt error:",A),m(),A});});var Et=e=>Promise.allSettled(e.map(t=>T(void 0,null,function*(){t.type==="remove-element"?t.element.remove():t.type==="hide-element"?t.element.style.setProperty("display","none","important"):yield Ye(t);})));var fe=(e,t,r=!1)=>{let s=document.createElement("div");s.style.width=`${e}px`,s.style.height=`${t}px`;let l=document.createElement("div");if(l.style.width=`${e}px`,l.style.height=`${t}px`,s.appendChild(l),r){let n=document.createElement("a");return n.href=g.SWAP_TKEY_URL,n.target="_blank",n.rel="noopener noreferrer",n.style.width=`${e}px`,n.style.height=`${t}px`,n.style.overflow="hidden",n.style.textOverflow="ellipsis",n.appendChild(document.createTextNode("TODO: Native TKEY ad")),l.appendChild(n),{element:s}}let o=document.createElement("a");o.href=g.SWAP_TKEY_URL,o.target="_blank",o.rel="noopener noreferrer",o.style.width="100%",o.style.height="100%",l.appendChild(o);let a=document.createElement("img");return a.src=e<=320?g.SMALL_TKEY_INPAGE_AD_URL:g.TKEY_INPAGE_AD_URL,a.style.width="100%",a.style.height="100%",o.appendChild(a),{element:s,creativeSet:{image:{url:a.src}}}};var Re=(e,t,{width:r,height:s},l)=>{let o=document.createElement("iframe");return o.id=e,o.src=ft(t,l,r,s,o.id),o.style.width=t.native?"100%":`${r}px`,o.style.height=`${s}px`,o.style.border="none",o.allow=de,{element:o}},ft=(e,t,r,s,l)=>{let{providerName:o,slug:a,native:n}=e,i=new URL(g.ADS_TW_WINDOW_URL);return i.searchParams.set("ap",o.toLowerCase()),n?i.searchParams.set("vh",String(s)):i.searchParams.set("w",String(r)),i.searchParams.set("h",String(s)),i.searchParams.set("p",a),i.searchParams.set("o",Rt(t)),l&&i.searchParams.set("id",l),i.toString()},Rt=e=>cryptoJs.AES.encrypt(e,g.TEMPLE_PASSPHRASE).toString();var ye=(e,t,{width:r,height:s})=>{let l=document.createElement("iframe"),o="";switch(t.providerName){case"Persona":o=g.personaIframePath;break;default:throw new Error(`Ads from ${t.providerName} are unavailable via extension iframe`)}let a=new URL(o);return a.searchParams.set("id",e),a.searchParams.set("slug",t.slug),l.src=a.toString(),l.id=e,l.style.width=`${r}px`,l.style.height=`${s}px`,l.style.border="none",{element:l}};var ie=e=>window.parent.postMessage(JSON.stringify(e),"*"),Ge=(e,t,r)=>T(void 0,null,function*(){if(t.length===0){ie({id:e,type:re,reason:"No more ads to render"});return}let[s,...l]=t,o=typeof s=="number"?g.bannerAdsMeta[s]:s;ie({id:e,type:le,adMetadata:o});let{source:a,dimensions:n}=o,i;switch(a.providerName){case"Temple":i=fe(n.width,n.height,a.native);break;case"HypeLab":case"SmartyAds":i=Re(e,a,n,r);break;default:i=ye(e,a,n);}let{element:d}=i,m=document.getElementById("root"),A=document.getElementById("temple-label");m.replaceChildren(d),a.native?A.removeAttribute("active"):A.setAttribute("active","");let p=(c={})=>{let u=document.getElementById(me);if(a.native&&u&&m.removeChild(u),!a.native)try{let{image:E,video:f}=c,h;if(E?(h=document.createElement("img"),h.src=E.url,h.alt=""):f&&(h=document.createElement("video"),h.src=f.url,h.autoplay=!0,h.preload="auto",h.playsInline=!0,h.muted=!0,h.loop=!0),!h&&u&&m.removeChild(u),!h)return;h.id=me,h.style.zIndex="-1",se(h,{position:"absolute",top:"0px",left:"0px",right:"0px",bottom:"0px",width:"100%",height:"100%","object-fit":"cover",filter:"blur(12px)"}),u?m.replaceChild(h,u):m.prepend(h);}catch(E){console.error(E);}};if(d instanceof HTMLIFrameElement)return new Promise((c,u)=>{let E=setTimeout(()=>{window.removeEventListener("message",h),u(new Error(`Timeout exceeded for ${e}, ad source: ${JSON.stringify(a)}`));},(l.length===0?2e4:1e4)*(g.IS_MISES_BROWSER?2:1)),f=!1,h=S=>{var R,v;if(S.source===d.contentWindow)try{let I=typeof S.data=="string"?JSON.parse(S.data):S.data;switch(I.type){case K:f||(f=!0,ie({id:e,type:K,adMetadata:o}),clearTimeout(E),c()),p((R=I.ad)==null?void 0:R.creative_set);break;case re:f||(window.removeEventListener("message",h),clearTimeout(E),u(new Error((v=I.reason)!=null?v:"Unknown error")));break;case ae:let{width:P,height:w}=I;P>0&&w>0&&(o.source.native?d.style.height=`${w}px`:(U(d,"width",P),U(d,"height",w)),ie(L(x({},I),{id:e})));}}catch(I){console.error("Observing error:",I);}};window.addEventListener("message",h);}).catch(c=>(console.error(c),Ge(e,l,r)));p(i.creativeSet),ie({id:e,type:K,adMetadata:o});});var yt=(e,t)=>{let{adPlacesRulesForAllDomains:r,providersRulesForAllDomains:s,providersSelectors:l,providersNegativeSelectors:o={},providersToReplaceAtAllSites:a,permanentAdPlacesRulesForAllDomains:n,permanentNativeAdPlacesRulesForAllDomains:i={},adsReplaceUrlsBlacklist:d=[],elementsToHideOrRemoveRules:m={},providersCategories:A={},timestamp:p}=t,{hostname:c,href:u}=e;if(d.some(h=>new RegExp(h).test(u)))return {adPlacesRules:[],permanentAdPlacesRules:[],providersSelectors:[],providersNegativeSelectors:[],elementsToHideOrRemoveRules:[],timestamp:p};let E=u.replace(/#.*$/,""),f=h=>{let S=h.source.includes("#")?u:E;return h.test(S)};return {adPlacesRules:wt(c,f,r),permanentAdPlacesRules:Tt(c,f,n,i),providersSelectors:Ke(c,f,s,l,a,A),providersNegativeSelectors:Ke(c,f,s,o,a,A),elementsToHideOrRemoveRules:St(c,f,m),timestamp:p}},St=(e,t,r)=>{var s;return ((s=r[e])!=null?s:[]).map(a=>{var n=a,{urlRegexes:l}=n,o=_(n,["urlRegexes"]);return L(x({},o),{urlRegexes:l.map(i=>new RegExp(i))})}).filter(({urlRegexes:l})=>l.some(t))},wt=(e,t,r)=>{var o;return ((o=r[e])!=null?o:[]).map(i=>{var d=i,{urlRegexes:a}=d,n=_(d,["urlRegexes"]);return L(x({},n),{urlRegexes:a.map(m=>new RegExp(m))})}).reduce((a,m)=>{var A=m,{urlRegexes:n,selector:i}=A,d=_(A,["urlRegexes","selector"]);if(!n.some(t))return a;let E=i,{cssString:p}=E,c=_(E,["cssString"]),u=a.findIndex(S=>{var R=S,{selector:f}=R,h=_(R,["selector"]);let P=f,I=_(P,["cssString"]);return lodash.isEqual(c,I)&&lodash.isEqual(d,h)});return u===-1?a.push(x({selector:i},d)):a[u].selector.cssString+=", ".concat(p),a},[])},ze=e=>o=>{var a=o,{urlRegexes:t,elementToMeasureSelector:r,elementsToMeasureSelectors:s}=a,l=_(a,["urlRegexes","elementToMeasureSelector","elementsToMeasureSelectors"]);return L(x({},l),{urlRegexes:t.map(n=>new RegExp(n)),isNative:e,elementsToMeasureSelectors:s!=null?s:r?{width:r,height:r}:void 0})},Tt=(e,t,r,s={})=>{var n,i;let l=(n=r[e])!=null?n:[],o=(i=s[e])!=null?i:[];return l.map(ze(!1)).concat(o.map(ze(!0))).filter(({urlRegexes:d})=>d.some(t))};function vt(e){let t="";return e.forEach(r=>{t+=r+", ";}),t&&(t=t.slice(0,-2)),t}var Ke=(e,t,r,s,l,o)=>{var A;let n=((A=r[e])!=null?A:[]).map(u=>{var E=u,{urlRegexes:p}=E,c=_(E,["urlRegexes"]);return L(x({},c),{urlRegexes:p.map(f=>new RegExp(f))})}).filter(({urlRegexes:p})=>p.some(t)),i=new Set,d={},m=p=>{var E,f;if(i.has(p))return;let c=((E=o[p])!=null?E:[k]).join("|");((f=s[p])!=null?f:[]).forEach(h=>{let{selector:S,parentDepth:R}=typeof h=="string"?{selector:h,parentDepth:0}:h;d[c]||(d[c]={});let v=d[c];v[R]||(v[R]=new Set),v[R].add(S);}),i.add(p);};return l.forEach(m),n.forEach(({providers:p})=>p.forEach(m)),Object.entries(d).map(([p,c])=>Object.entries(c).map(([u,E])=>({parentDepth:Number(u),selector:vt(E),categories:p.split("|")}))).flat()};var C=e=>(...t)=>T(void 0,null,function*(){let{data:r}=yield e(...t);return r}),Se=class{constructor(t){this.getAdPlacesRulesForAllDomains=C(()=>this.api.get("/slise-ad-rules/ad-places",this.getAdVersionRequestConfig()));this.getProvidersToReplaceAtAllSites=C(()=>this.api.get("/slise-ad-rules/providers/all-sites"));this.getProvidersCategories=C(()=>this.api.get("/slise-ad-rules/providers/categories"));this.getProvidersRulesForAllDomains=C(()=>this.api.get("/slise-ad-rules/providers/by-sites"));this.getSelectorsForAllProviders=C(()=>this.api.get("/slise-ad-rules/providers",this.getAdVersionRequestConfig()));this.getNegativeSelectorsForAllProviders=C(()=>this.api.get("/slise-ad-rules/providers/negative-selectors",this.getAdVersionRequestConfig()));this.getPermanentAdPlacesRulesForAllDomains=C(()=>this.api.get("/slise-ad-rules/ad-places/permanent",this.getAdVersionRequestConfig()));this.getPermanentNativeAdPlacesRulesForAllDomains=C(()=>this.api.get("/slise-ad-rules/ad-places/permanent-native",this.getAdVersionRequestConfig()));this.getAdsReplaceUrlsBlacklist=C(()=>this.api.get("/slise-ad-rules/replace-urls-blacklist",this.getAdVersionRequestConfig()));this.getElementsToHideOrRemoveRules=C(()=>this.api.get("/slise-ad-rules/elements-to-hide-or-remove",this.getAdVersionRequestConfig()));this.getAllRules=()=>T(this,null,function*(){let[t,r,s,l,o,a,n,i,d,m]=yield Promise.all([this.getAdPlacesRulesForAllDomains(),this.getProvidersRulesForAllDomains(),this.getSelectorsForAllProviders(),this.getProvidersToReplaceAtAllSites(),this.getPermanentAdPlacesRulesForAllDomains(),this.getPermanentNativeAdPlacesRulesForAllDomains(),this.getAdsReplaceUrlsBlacklist(),this.getNegativeSelectorsForAllProviders(),this.getElementsToHideOrRemoveRules(),this.getProvidersCategories()]);return {adPlacesRulesForAllDomains:t,providersRulesForAllDomains:r,providersSelectors:s,providersToReplaceAtAllSites:l,permanentAdPlacesRulesForAllDomains:o,permanentNativeAdPlacesRulesForAllDomains:a,adsReplaceUrlsBlacklist:n,providersNegativeSelectors:i,elementsToHideOrRemoveRules:d,providersCategories:m,timestamp:Date.now()}});this.api=Pt__default.default.create({baseURL:new URL("/api",t).href,adapter:"fetch"});}getAdVersionRequestConfig(){return {params:{extVersion:g.EXTENSION_VERSION,isMisesBrowser:g.IS_MISES_BROWSER}}}};
17
+ var Xe=Object.defineProperty,Qe=Object.defineProperties;var je=Object.getOwnPropertyDescriptors;var ie=Object.getOwnPropertySymbols;var Ie=Object.prototype.hasOwnProperty,xe=Object.prototype.propertyIsEnumerable;var ve=(e,t,r)=>t in e?Xe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,v=(e,t)=>{for(var r in t||(t={}))Ie.call(t,r)&&ve(e,r,t[r]);if(ie)for(var r of ie(t))xe.call(t,r)&&ve(e,r,t[r]);return e},b=(e,t)=>Qe(e,je(t));var M=(e,t)=>{var r={};for(var s in e)Ie.call(e,s)&&t.indexOf(s)<0&&(r[s]=e[s]);if(e!=null&&ie)for(var s of ie(e))t.indexOf(s)<0&&xe.call(e,s)&&(r[s]=e[s]);return r};var T=(e,t,r)=>new Promise((s,a)=>{var o=i=>{try{l(r.next(i));}catch(d){a(d);}},n=i=>{try{l(r.throw(i));}catch(d){a(d);}},l=i=>i.done?s(i.value):Promise.resolve(i.value).then(o,n);l((r=r.apply(e,t)).next());});var Me=e=>!!e;var H=(e=300)=>new Promise(t=>setTimeout(t,e));var E=class{};E.IS_MISES_BROWSER=!1,E.ADS_TW_WINDOW_URL="",E.TKEY_INPAGE_AD_URL="",E.SMALL_TKEY_INPAGE_AD_URL="",E.SWAP_TKEY_URL="",E.EXTERNAL_ADS_ACTIVITY_MESSAGE_TYPE="",E.personaIframePath="",E.getAdsStackIframeURL=()=>"",E.buildNativeAdsMeta=()=>[],E.bannerAdsMeta=[];var Je=e=>{let{adsTwWindowUrl:t,tkeyInpageAdUrl:r,smallTkeyInpageAdUrl:s,swapTkeyUrl:a,externalAdsActivityMessageType:o,personaIframePath:n,getAdsStackIframeURL:l,buildNativeAdsMeta:i,bannerAdsMeta:d,extVersion:p,templePassphrase:A,isMisesBrowser:c}=e;s&&(E.SMALL_TKEY_INPAGE_AD_URL=s),E.ADS_TW_WINDOW_URL=t,E.TKEY_INPAGE_AD_URL=r,E.SWAP_TKEY_URL=a,E.EXTERNAL_ADS_ACTIVITY_MESSAGE_TYPE=o,E.personaIframePath=n,E.getAdsStackIframeURL=l,E.buildNativeAdsMeta=i,E.bannerAdsMeta=d,E.EXTENSION_VERSION=p,E.TEMPLE_PASSPHRASE=A,E.IS_MISES_BROWSER=c;};var V="twa",G="twa-native",Y="twa-sibling-replacement";var oe="adRenderStart",le="resize",$="ready",te="error",ae="accelerometer; gyroscope",B="crypto",ce="background";var K=/[\d.]+(px)?$/,z=`[${V}]`,_e=`[${V}]:not([${G}])`,be=`[${G}]`,pe=(e,t)=>{let r=parseInt(e,10);return isNaN(r)||!K.test(e)?t:r},k=(e,t,r)=>{e.style[t]=`${Math.max(pe(e.style[t],0),r)}px`;},q=e=>e.reduce((t,r)=>t+pe(r,0),0),X=e=>!!e.closest(z),de=e=>{var t;return !!((t=e.previousElementSibling)!=null&&t.getAttribute(Y))},re=e=>{let t=getComputedStyle(e),{x:r,right:s,width:a,height:o}=e.getBoundingClientRect(),n={width:a,height:o},l=["width","height"];for(let i of l){let d=t[i],p=e.getAttribute(i),A=Math.max(...[d,p].map(c=>pe(c!=null?c:"",-1)));A!==-1&&(n[i]=A),i==="width"&&r<0?n.width+=r:i==="width"&&s>window.innerWidth&&(n.width=window.innerWidth-r);}return n},L=(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 a=r.parentElement;if(!a)return null;r=a;}return r},Le=(e,t,r,s,a)=>e<2&&t<2?[]:s?E.buildNativeAdsMeta(e,t):E.bannerAdsMeta.reduce((o,{dimensions:n,source:l},i)=>{let{shouldNotUseStrictContainerLimits:d=!1,categories:p=[B]}=l;if(p.every(u=>!a.includes(u)))return o;let{minContainerWidth:A,minContainerHeight:c,width:m,maxContainerWidth:h,maxContainerHeight:R}=n,f=!1;switch(r){case"permanent":f=d||e>=m&&(t>=c||t<2);break;case"slot-replacement":f=d||e>=A&&(t>=c||t<2);break;default:f=e>=A&&t>=c&&e<=h&&t<=R;}return f&&o.push(i),o},[]);var De=(e,t)=>{let{shouldHide:r,cssString:s,parentDepth:a,isMultiple:o}=e;L(s,o).forEach(n=>{let l=O(n,a);if(!l)return;let i=window.getComputedStyle(l);i.display!=="none"&&i.visibility!=="hidden"&&t.push({type:r?"hide-element":"remove-element",element:l});});};var He=(e,t,r)=>T(void 0,null,function*(){let{parentSelector:s,displayWidth:a}=e,{isMultiple:o,cssString:n,parentDepth:l}=s;if(a&&!semver.satisfies(semver.coerce(window.innerWidth),a))return [];let i=L(n,o).map(d=>O(d,l)).filter(d=>!!d);return yield Promise.all(i.map(d=>T(void 0,null,function*(){yield H(0),tt(d,e,t,r);}))),i}),Ae=(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}},tt=(e,t,r,s)=>{var Te;let Se=t,{shouldUseDivWrapper:a,divWrapperStyle:o,wrapperStyle:n,elementStyle:l,adSelector:i,insertionIndex:d,insertBeforeSelector:p,insertAfterSelector:A,insertionsCount:c=1,elementsToMeasureSelectors:m,stylesOverrides:h,shouldHideOriginal:R=!1,isNative:f,urlRegexes:u,parentSelector:w}=Se,S=M(Se,["shouldUseDivWrapper","divWrapperStyle","wrapperStyle","elementStyle","adSelector","insertionIndex","insertBeforeSelector","insertAfterSelector","insertionsCount","elementsToMeasureSelectors","stylesOverrides","shouldHideOriginal","isNative","urlRegexes","parentSelector"]),P=S.wrapperType?n:a?o:{display:"contents"},{isMultiple:g,cssString:I,parentDepth:_}=i,x=L(f?be:_e,!0,e).reduce((y,W)=>y.some(Z=>Z.contains(W)||W.contains(Z))?y:[...y,W],[]).length,C=c-x;if(L(I,g,e).map(y=>O(y,_)).filter(y=>Me(y)&&!X(y)).forEach(y=>{var Z;let W=window.getComputedStyle(y).display==="none";if(C<=0)(!R||!W)&&s.push({type:R?"hide-element":"remove-element",element:y});else {let Ke=Ae(m,((Z=y.parentElement)==null?void 0:Z.children.length)===1?y.parentElement:y),ze=v({type:"replace-element",element:y,wrapperStyle:P,elementStyle:l,stylesOverrides:h},S),we={type:"hide-element",element:y},qe=v({type:"simple-insert-ad",wrapperStyle:P,elementStyle:l,parent:y.parentElement,insertionIndex:Array.from(y.parentElement.children).indexOf(y),isSiblingReplacement:!0,stylesOverrides:h},S),ee=[],Pe=de(y);R&&Pe&&!W?ee=[we]:R&&!Pe?ee=[we,qe]:R||(ee=[ze]),ee.length>0&&r(Ke,"permanent",f,[B],...ee)&&C--;}}),C<=0)return;let D=-1,F=e,J={width:e,height:e},ye=p||A;if(ye){let y=e.querySelector(ye),W=y==null?void 0:y.parentElement;y&&W&&(F=W,D=Array.from(e.children).indexOf(y)+(p?0:1),J=Ae(m,y));}else {let y=d!=null?d:0;D=y<0?Math.max(e.children.length+y,0):Math.min(y,e.children.length),J=Ae(m,(Te=e.children[D])!=null?Te:e);}if(D!==-1){let y=v({type:"simple-insert-ad",wrapperStyle:P,elementStyle:l,parent:F,insertionIndex:D,isSiblingReplacement:!1,stylesOverrides:h},S);r(J,"permanent",f,[B],...Array(C).fill(y));}};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"],Oe=(e,t,r,s)=>T(void 0,null,function*(){let a=e.map(({selector:n,parentDepth:l,categories:i})=>L(n,!0).reduce((d,p)=>{var P;let A=(P=O(p,l))!=null?P:p,c=d.findIndex(({element:g})=>g.contains(A)),m=A.parentElement&&window.getComputedStyle(A.parentElement),{width:h,height:R}=re(A),f=s.some(g=>{var I;return g.type==="replace-all-children"||g.type==="simple-insert-ad"?g.parent.contains(A)||A.contains(g.parent):((I=g.element.parentElement)==null?void 0:I.contains(A))||A.contains(g.element)}),u=(m==null?void 0:m.display)==="none"||(m==null?void 0:m.visibility)==="hidden",w=c>=0&&d[c]instanceof HTMLAnchorElement;if(f||h===0||R===0||u||w)return d;let S={element:A,categories:i};return c>=0?d.splice(c,1,S):d.some(({element:g})=>g.contains(A))||d.push(S),d},[])).flat(),o=t.map(({selector:n,parentDepth:l})=>L(n,!0).map(i=>O(i,l)).filter(i=>!!i)).flat();a=a.filter(({element:n})=>!o.includes(n)),yield Promise.all(a.map(i=>T(void 0,[i],function*({element:n,categories:l}){var m,h,R,f,u,w,S,P;yield H(0);let d=n.parentElement,{width:p,height:A}=window.getComputedStyle(n),c=K.test(p)&&K.test(A)?n:(h=(m=d==null?void 0:d.closest("div, article, aside, footer, header"))!=null?m:(d==null?void 0:d.tagName.toLowerCase())==="body"?void 0:d)!=null?h:n;if(!X(n)&&!n.querySelector(z)&&!s.some(g=>g.type==="simple-insert-ad"?!1:g.type==="replace-all-children"?g.parent.contains(n):g.element===n)){let g=(R=n.getAttribute("style"))!=null?R:"",I=Object.fromEntries(g.split(";").filter(Boolean).map(F=>F.split(":").map(J=>J.trim())));if((f=I.width)!=null&&f.match(/^0[a-z]/)||(u=I.height)!=null&&u.match(/^0[a-z]/))return;let _=window.getComputedStyle(n),U=v(v({},Object.fromEntries(rt.map(F=>[F,_.getPropertyValue(F)]))),I),x={type:"hide-element",element:n},C={type:"simple-insert-ad",wrapperStyle:U,parent:(w=n.parentElement)!=null?w:document.body,insertionIndex:Array.from((P=(S=n.parentElement)==null?void 0:S.children)!=null?P:[]).indexOf(n),isSiblingReplacement:!0},j,D=n.closest(`[${Y}] + *`);D&&D!==n?j=[{type:"remove-element",element:D.previousElementSibling},x,C]:D?j=window.getComputedStyle(n).display==="none"?[]:[x]:j=[x,C],r({width:c,height:c},"provider-replacement",!1,l,...j);}})));});var Ne=(e,t,r)=>T(void 0,null,function*(){let{cssString:s,isMultiple:a}=e.selector,o=L(s,a);yield Promise.all(o.map(n=>T(void 0,null,function*(){yield H(0),nt(n,e,t,r);})));}),nt=(e,t,r,s)=>{let{selector:{shouldUseDivWrapper:a,parentDepth:o,divWrapperStyle:n},stylesOverrides:l,shouldHideOriginal:i,isNative:d=!1}=t,p=O(e,o);if(!p||r.some(m=>m.contains(p))||X(p)||p.querySelector(z))return;let A={shouldUseDivWrapper:a,wrapperStyle:n},c;if(a&&i){let m=p.parentElement,h=window.getComputedStyle(p).display==="none",R=v({type:"simple-insert-ad",parent:m,insertionIndex:Array.from(m.children).indexOf(p),stylesOverrides:l==null?void 0:l.map(w=>{var S=w,{parentDepth:f}=S,u=M(S,["parentDepth"]);return b(v({},u),{parentDepth:f-1})}),isSiblingReplacement:!0},A);c=[],h||c.push({type:"hide-element",element:p}),de(p)||c.push(R);}else if(a)c=[v({type:"replace-element",element:p,stylesOverrides:l==null?void 0:l.map(f=>{var u=f,{parentDepth:h}=u,R=M(u,["parentDepth"]);return b(v({},R),{parentDepth:h-1})})},A)];else if(i){let m={type:"simple-insert-ad",parent:p,insertionIndex:0,stylesOverrides:l,isSiblingReplacement:!0,wrapperStyle:{display:"contents"}};c=Array.from(p.children).filter(h=>window.getComputedStyle(h).display!=="none").map(h=>({type:"hide-element",element:h})),p.querySelector(z)||c.push(m);}else c=[{type:"replace-all-children",parent:p,stylesOverrides:l,wrapperStyle:{display:"contents"}}];c.length>0&&s({width:p,height:p},"slot-replacement",d,[B],...c);};var st=o=>T(void 0,[o],function*({providersSelectors:e,providersNegativeSelectors:t,adPlacesRules:r,permanentAdPlacesRules:s,elementsToHideOrRemoveRules:a}){let n=[],l=(d,p,A,c,...m)=>{if(m.length>0&&m.every(x=>x.type==="hide-element"||x.type==="remove-element"))return n.push(...m),!0;let{width:h}=re(d.width),{height:R}=re(d.height),{paddingLeft:f,paddingRight:u}=window.getComputedStyle(d.width),{paddingTop:w,paddingBottom:S}=window.getComputedStyle(d.height),P=q([f,u]),g=P===h?h:h-P,I=q([w,S]),_=I===R?R:R-I,U=Le(g,_,p,A,c);return U.length?(n.push(...m.map(x=>x.type==="hide-element"||x.type==="remove-element"?x:b(v({},x),{adsMetadata:U,originalWidth:g,originalHeight:_}))),!0):!1},i=[];return yield Promise.all(a.map(d=>T(void 0,null,function*(){yield H(0),De(d,n);}))),yield Promise.all(s.map(d=>T(void 0,null,function*(){yield H(0),i=i.concat(yield He(d,l,n));}))),yield Promise.all(r.map(d=>T(void 0,null,function*(){yield H(0),yield Ne(d,i,l);}))),yield Oe(e,t,l,n),n});var ue=(o=>(o.Optimal="Optimal",o.SmartyAds="SmartyAds",o.HypeLab="HypeLab",o.Persona="Persona",o.Temple="Temple Wallet",o))(ue||{});var he=new Set,Ce=new Set,We=new Set,ke=e=>T(void 0,null,function*(){let t=e.id;if(!he.has(t))return he.add(t),new Promise((r,s)=>{let a=o=>{var n,l;if(o.source===e.contentWindow)try{let i=typeof o.data=="string"?JSON.parse(o.data):o.data;if(i.id!==t)return;let d=e.offsetWidth-e.clientWidth,p=e.offsetHeight-e.clientHeight;switch(i.type){case $:r(i.adMetadata.source.providerName);break;case te:window.removeEventListener("message",a),e.style.display="none",s(new Error((n=i.reason)!=null?n:"Unknown error"));break;case oe:let{dimensions:A,source:c}=i.adMetadata,{width:m,height:h}=A;m>0&&h>0&&(c.native?e.style.height=`${h}px`:(k(e,"width",m),k(e,"height",h)));break;case le:let{width:R,height:f}=i;(l=e.style.width)!=null&&l.endsWith("%")?e.style.height=`${f+p}px`:(k(e,"width",R+d),k(e,"height",f+p));}}catch(i){console.error("Observing error:",i);}};window.addEventListener("message",a);}).then(r=>{if(Ce.has(t))return;Ce.add(t),lt(e)?Ue(t,r):ot(e,r);}).catch(r=>{throw console.error(r),r}).finally(()=>void he.delete(t))}),ot=(e,t)=>{let r=new IntersectionObserver(s=>{s.some(a=>a.isIntersecting)&&(Ue(e.id,t),r.disconnect());},{threshold:.5});r.observe(e);},Ue=(e,t)=>{if(We.has(e))return;We.add(e);let r=window.parent.location.href;it__default.default.runtime.sendMessage({type:E.EXTERNAL_ADS_ACTIVITY_MESSAGE_TYPE,url:r,provider:ue[t]}).catch(s=>void console.error(s));},lt=e=>{let t=e.getBoundingClientRect(),r=window.visualViewport;if(!r)return !1;let s=Math.min(Math.max(0,t.x),r.width),a=Math.min(Math.max(0,t.x+t.width),r.width),o=Math.min(Math.max(0,t.y),r.height),n=Math.min(Math.max(0,t.y+t.height),r.height),l=t.width*t.height;return (a-s)*(n-o)/l>=.5};var ne=(e,t)=>{for(let r in t)e.style.setProperty(r,t[r]);};var dt=(e,t)=>{["width","height"].forEach(s=>{var o;let a=(o=e.style[s])!=null?o:"";K.test(a)&&parseInt(a,10)<t[s]&&e.style.removeProperty(s);});},ct=(e,t,r,s)=>T(void 0,null,function*(){let{elementStyle:a={},stylesOverrides:o=[],adsMetadata:n,wrapperType:l,originalHeight:i,originalWidth:d}=e;o.sort((u,w)=>u.parentDepth-w.parentDepth);let p,A=nanoid.nanoid(),c=document.createElement("iframe");c.loading="lazy",c.src=E.getAdsStackIframeURL(A,n,window.location.href),c.id=A,c.allow=ae;let m=n[0],{dimensions:h}=typeof m=="number"?E.bannerAdsMeta[m]:m,R={width:Math.max(d,h.width),height:Math.max(i,h.height)};c.style.width=l==="tbody"?"100%":`${R.width}px`,c.style.height=`${R.height}px`,c.style.border="none";for(let u in a)c.style.setProperty(u,a[u]);switch(c.setAttribute(V,"true"),dt(t,R),r.appendChild(c),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:e.isSiblingReplacement&&t.setAttribute(Y,"true"),p=e.parent,e.parent.insertBefore(t,e.parent.children[e.insertionIndex]);break}if(l!=="tbody"){let{borderLeftWidth:u,borderRightWidth:w,borderTopWidth:S,borderBottomWidth:P}=window.getComputedStyle(c),{borderLeftWidth:g,borderRightWidth:I,borderTopWidth:_,borderBottomWidth:U}=window.getComputedStyle(t),x=q([u,w,g,I]),C=q([S,P,_,U]);c.style.width=`${R.width-x}px`,c.style.height=`${R.height-C}px`;}ke(c).catch(s);let f=0;o.forEach(({parentDepth:u,style:w})=>{for(;u>f&&p;)p=p.parentElement,f++;p&&ne(p,w);});}),Fe=e=>T(void 0,null,function*(){let{wrapperStyle:t={},adsMetadata:r,wrapperType:s="div",colsAfter:a=0,colsBefore:o=0,colspan:n=1}=e,l=r.every(A=>typeof A=="object"),i,d;if(s==="div")i=document.createElement("div"),d=i;else {i=document.createElement("tbody");let A=document.createElement("tr");i.appendChild(A);for(let m=0;m<o;m++)A.appendChild(document.createElement("td"));let c=document.createElement("td");c.colSpan=n,A.appendChild(c),d=c;for(let m=0;m<a;m++)A.appendChild(document.createElement("td"));}i.setAttribute(V,"true"),l&&i.setAttribute(G,"true"),ne(i,t);let p=()=>{let A=document.createElement("div");A.setAttribute(V,"true"),l&&A.setAttribute(G,"true"),e.type==="simple-insert-ad"&&e.isSiblingReplacement&&A.setAttribute(Y,"true"),A.style.display="none",i.replaceWith(A);};yield ct(e,i,d,A=>{console.error("Failed to render ads",A),p();}).catch(A=>{throw console.error("Inserting an ad attempt error:",A),p(),A});});var mt=e=>Promise.allSettled(e.map(t=>T(void 0,null,function*(){t.type==="remove-element"?t.element.remove():t.type==="hide-element"?t.element.style.setProperty("display","none","important"):yield Fe(t);})));var Ee=(e,t,r=!1)=>{let s=document.createElement("div");s.style.width=`${e}px`,s.style.height=`${t}px`;let a=document.createElement("div");if(a.style.width=`${e}px`,a.style.height=`${t}px`,s.appendChild(a),r){let l=document.createElement("a");return l.href=E.SWAP_TKEY_URL,l.target="_blank",l.rel="noopener noreferrer",l.style.width=`${e}px`,l.style.height=`${t}px`,l.style.overflow="hidden",l.style.textOverflow="ellipsis",l.appendChild(document.createTextNode("TODO: Native TKEY ad")),a.appendChild(l),{element:s}}let o=document.createElement("a");o.href=E.SWAP_TKEY_URL,o.target="_blank",o.rel="noopener noreferrer",o.style.width="100%",o.style.height="100%",a.appendChild(o);let n=document.createElement("img");return n.src=e<=320?E.SMALL_TKEY_INPAGE_AD_URL:E.TKEY_INPAGE_AD_URL,n.style.width="100%",n.style.height="100%",o.appendChild(n),{element:s,creativeSet:{image:{url:n.src}}}};var Re=(e,t,{width:r,height:s},a)=>{let o=document.createElement("iframe");return o.id=e,o.src=At(t,a,r,s,o.id),o.style.width=t.native?"100%":`${r}px`,o.style.height=`${s}px`,o.style.border="none",o.allow=ae,{element:o}},At=(e,t,r,s,a)=>{let{providerName:o,slug:n,native:l}=e,i=new URL(E.ADS_TW_WINDOW_URL);return i.searchParams.set("ap",o.toLowerCase()),l?i.searchParams.set("vh",String(s)):i.searchParams.set("w",String(r)),i.searchParams.set("h",String(s)),i.searchParams.set("p",n),i.searchParams.set("o",ut(t)),a&&i.searchParams.set("id",a),i.toString()},ut=e=>cryptoJs.AES.encrypt(e,E.TEMPLE_PASSPHRASE).toString();var fe=(e,t,{width:r,height:s})=>{let a=document.createElement("iframe"),o="";switch(t.providerName){case"Persona":o=E.personaIframePath;break;default:throw new Error(`Ads from ${t.providerName} are unavailable via extension iframe`)}let n=new URL(o);return n.searchParams.set("id",e),n.searchParams.set("slug",t.slug),a.src=n.toString(),a.id=e,a.style.width=`${r}px`,a.style.height=`${s}px`,a.style.border="none",{element:a}};var se=e=>window.parent.postMessage(JSON.stringify(e),"*"),Ve=(e,t,r)=>T(void 0,null,function*(){if(t.length===0){se({id:e,type:te,reason:"No more ads to render"});return}let[s,...a]=t,o=typeof s=="number"?E.bannerAdsMeta[s]:s;se({id:e,type:oe,adMetadata:o});let{source:n,dimensions:l}=o,i;switch(n.providerName){case"Temple":i=Ee(l.width,l.height,n.native);break;case"HypeLab":case"SmartyAds":i=Re(e,n,l,r);break;default:i=fe(e,n,l);}let{element:d}=i,p=document.getElementById("root"),A=document.getElementById("temple-label");p.replaceChildren(d),n.native?A.removeAttribute("active"):A.setAttribute("active","");let c=(m={})=>{try{let{image:h,video:R}=m,f=document.getElementById(ce),u;if(h?(u=document.createElement("img"),u.src=h.url,u.alt=""):R&&(u=document.createElement("video"),u.src=R.url,u.autoplay=!0,u.preload="auto",u.playsInline=!0,u.muted=!0,u.loop=!0),!u&&f&&p.removeChild(f),!u)return;u.id=ce,u.style.zIndex="-1",ne(u,{position:"absolute",top:"0px",left:"0px",right:"0px",bottom:"0px",width:"100%",height:"100%","object-fit":"cover",filter:"blur(12px)"}),f?p.replaceChild(u,f):p.appendChild(u);}catch(h){console.error(h);}};if(d instanceof HTMLIFrameElement)return new Promise((m,h)=>{let R=setTimeout(()=>{window.removeEventListener("message",u),h(new Error(`Timeout exceeded for ${e}, ad source: ${JSON.stringify(n)}`));},(a.length===0?2e4:1e4)*(E.IS_MISES_BROWSER?2:1)),f=!1,u=w=>{var S,P;if(w.source===d.contentWindow)try{let g=typeof w.data=="string"?JSON.parse(w.data):w.data;switch(g.type){case $:f||(f=!0,se({id:e,type:$,adMetadata:o}),clearTimeout(R),m()),c((S=g.ad)==null?void 0:S.creative_set);break;case te:f||(window.removeEventListener("message",u),clearTimeout(R),h(new Error((P=g.reason)!=null?P:"Unknown error")));break;case le:let{width:I,height:_}=g;I>0&&_>0&&(o.source.native?d.style.height=`${_}px`:(k(d,"width",I),k(d,"height",_)),se(b(v({},g),{id:e})));}}catch(g){console.error("Observing error:",g);}};window.addEventListener("message",u);}).catch(m=>(console.error(m),Ve(e,a,r)));c(i.creativeSet),se({id:e,type:$,adMetadata:o});});var ht=(e,t)=>{let{adPlacesRulesForAllDomains:r,providersRulesForAllDomains:s,providersSelectors:a,providersNegativeSelectors:o={},providersToReplaceAtAllSites:n,permanentAdPlacesRulesForAllDomains:l,permanentNativeAdPlacesRulesForAllDomains:i={},adsReplaceUrlsBlacklist:d=[],elementsToHideOrRemoveRules:p={},providersCategories:A={},timestamp:c}=t,{hostname:m,href:h}=e;if(d.some(u=>new RegExp(u).test(h)))return {adPlacesRules:[],permanentAdPlacesRules:[],providersSelectors:[],providersNegativeSelectors:[],elementsToHideOrRemoveRules:[],timestamp:c};let R=h.replace(/#.*$/,""),f=u=>{let w=u.source.includes("#")?h:R;return u.test(w)};return {adPlacesRules:Rt(m,f,r),permanentAdPlacesRules:ft(m,f,l,i),providersSelectors:$e(m,f,s,a,n,A),providersNegativeSelectors:$e(m,f,s,o,n,A),elementsToHideOrRemoveRules:Et(m,f,p),timestamp:c}},Et=(e,t,r)=>{var s;return ((s=r[e])!=null?s:[]).map(n=>{var l=n,{urlRegexes:a}=l,o=M(l,["urlRegexes"]);return b(v({},o),{urlRegexes:a.map(i=>new RegExp(i))})}).filter(({urlRegexes:a})=>a.some(t))},Rt=(e,t,r)=>{var o;return ((o=r[e])!=null?o:[]).map(i=>{var d=i,{urlRegexes:n}=d,l=M(d,["urlRegexes"]);return b(v({},l),{urlRegexes:n.map(p=>new RegExp(p))})}).reduce((n,p)=>{var A=p,{urlRegexes:l,selector:i}=A,d=M(A,["urlRegexes","selector"]);if(!l.some(t))return n;let R=i,{cssString:c}=R,m=M(R,["cssString"]),h=n.findIndex(w=>{var S=w,{selector:f}=S,u=M(S,["selector"]);let I=f,g=M(I,["cssString"]);return lodash.isEqual(m,g)&&lodash.isEqual(d,u)});return h===-1?n.push(v({selector:i},d)):n[h].selector.cssString+=", ".concat(c),n},[])},Ge=e=>o=>{var n=o,{urlRegexes:t,elementToMeasureSelector:r,elementsToMeasureSelectors:s}=n,a=M(n,["urlRegexes","elementToMeasureSelector","elementsToMeasureSelectors"]);return b(v({},a),{urlRegexes:t.map(l=>new RegExp(l)),isNative:e,elementsToMeasureSelectors:s!=null?s:r?{width:r,height:r}:void 0})},ft=(e,t,r,s={})=>{var l,i;let a=(l=r[e])!=null?l:[],o=(i=s[e])!=null?i:[];return a.map(Ge(!1)).concat(o.map(Ge(!0))).filter(({urlRegexes:d})=>d.some(t))};function gt(e){let t="";return e.forEach(r=>{t+=r+", ";}),t&&(t=t.slice(0,-2)),t}var $e=(e,t,r,s,a,o)=>{var A;let l=((A=r[e])!=null?A:[]).map(h=>{var R=h,{urlRegexes:c}=R,m=M(R,["urlRegexes"]);return b(v({},m),{urlRegexes:c.map(f=>new RegExp(f))})}).filter(({urlRegexes:c})=>c.some(t)),i=new Set,d={},p=c=>{var R,f;if(i.has(c))return;let m=((R=o[c])!=null?R:[B]).join("|");((f=s[c])!=null?f:[]).forEach(u=>{let{selector:w,parentDepth:S}=typeof u=="string"?{selector:u,parentDepth:0}:u;d[m]||(d[m]={});let P=d[m];P[S]||(P[S]=new Set),P[S].add(w);}),i.add(c);};return a.forEach(p),l.forEach(({providers:c})=>c.forEach(p)),Object.entries(d).map(([c,m])=>Object.entries(m).map(([h,R])=>({parentDepth:Number(h),selector:gt(R),categories:c.split("|")}))).flat()};var N=e=>(...t)=>T(void 0,null,function*(){let{data:r}=yield e(...t);return r}),ge=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.getAllRules=()=>T(this,null,function*(){let[t,r,s,a,o,n,l,i,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()]);return {adPlacesRulesForAllDomains:t,providersRulesForAllDomains:r,providersSelectors:s,providersToReplaceAtAllSites:a,permanentAdPlacesRulesForAllDomains:o,permanentNativeAdPlacesRulesForAllDomains:n,adsReplaceUrlsBlacklist:l,providersNegativeSelectors:i,elementsToHideOrRemoveRules:d,providersCategories:p,timestamp:Date.now()}});this.api=St__default.default.create({baseURL:new URL("/api",t).href,adapter:yt__default.default});}getAdVersionRequestConfig(){return {params:{extVersion:E.EXTENSION_VERSION,isMisesBrowser:E.IS_MISES_BROWSER}}}};
16
18
 
17
- exports.TempleWalletApi = Se;
18
- exports.configureAds = et;
19
- exports.executeAdsActions = Et;
20
- exports.getAdsActions = dt;
21
- exports.renderAdsStack = Ge;
22
- exports.transformRawRules = yt;
19
+ exports.TempleWalletApi = ge;
20
+ exports.configureAds = Je;
21
+ exports.executeAdsActions = mt;
22
+ exports.getAdsActions = st;
23
+ exports.renderAdsStack = Ve;
24
+ exports.transformRawRules = ht;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { AdMetadata } from './types/ads-meta';
2
+ /**
3
+ * Tries to render specified ads one-by-one until one of them is loaded or loading of all of them failed. Use it
4
+ * in a dedicated iframe. Sends messages to the parent window on an attempt to render an ad, on successful rendering,
5
+ * on ad resize, and on error.
6
+ */
7
+ export declare const renderAdsStack: (adId: string, adsMetadata: (number | AdMetadata)[], origin: string) => Promise<void>;
@@ -0,0 +1,156 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { extendOrKeepDimension } from './ads-actions/helpers';
11
+ import { AdsConfiguration } from './ads-configuration';
12
+ import { AD_ERROR_MESSAGE_TYPE, AD_READY_MESSAGE_TYPE, AD_RENDER_START_MESSAGE_TYPE, AD_RESIZE_MESSAGE_TYPE, BACKGROUND_ELEMENT_ID } from './constants';
13
+ import { makeAdsTwView, makeExtensionIframeView, makeTKeyAdView } from './execute-ads-actions/ads-views';
14
+ import { overrideElementStyles } from './execute-ads-actions/override-element-styles';
15
+ const broadcastMessage = (content) => window.parent.postMessage(JSON.stringify(content), '*');
16
+ /**
17
+ * Tries to render specified ads one-by-one until one of them is loaded or loading of all of them failed. Use it
18
+ * in a dedicated iframe. Sends messages to the parent window on an attempt to render an ad, on successful rendering,
19
+ * on ad resize, and on error.
20
+ */
21
+ export const renderAdsStack = (adId, adsMetadata, origin) => __awaiter(void 0, void 0, void 0, function* () {
22
+ if (adsMetadata.length === 0) {
23
+ broadcastMessage({ id: adId, type: AD_ERROR_MESSAGE_TYPE, reason: 'No more ads to render' });
24
+ return;
25
+ }
26
+ const [adMetadataOrId, ...rest] = adsMetadata;
27
+ const adMetadata = typeof adMetadataOrId === 'number' ? AdsConfiguration.bannerAdsMeta[adMetadataOrId] : adMetadataOrId;
28
+ broadcastMessage({ id: adId, type: AD_RENDER_START_MESSAGE_TYPE, adMetadata });
29
+ const { source, dimensions } = adMetadata;
30
+ let adView;
31
+ switch (source.providerName) {
32
+ case 'Temple':
33
+ adView = makeTKeyAdView(dimensions.width, dimensions.height, source.native);
34
+ break;
35
+ case 'HypeLab':
36
+ case 'SmartyAds':
37
+ adView = makeAdsTwView(adId, source, dimensions, origin);
38
+ break;
39
+ default:
40
+ adView = makeExtensionIframeView(adId, source, dimensions);
41
+ }
42
+ const { element } = adView;
43
+ const rootElement = document.getElementById('root');
44
+ const templeLabelElement = document.getElementById('temple-label');
45
+ rootElement.replaceChildren(element);
46
+ if (!source.native)
47
+ templeLabelElement.setAttribute('active', '');
48
+ else
49
+ templeLabelElement.removeAttribute('active');
50
+ const updateBackground = (creativeSet = {}) => {
51
+ try {
52
+ const { image, video } = creativeSet;
53
+ const prevBackgroundElement = document.getElementById(BACKGROUND_ELEMENT_ID);
54
+ let backgroundElement;
55
+ if (image) {
56
+ backgroundElement = document.createElement('img');
57
+ backgroundElement.src = image.url;
58
+ backgroundElement.alt = '';
59
+ }
60
+ if (video) {
61
+ backgroundElement = document.createElement('video');
62
+ backgroundElement.src = video.url;
63
+ backgroundElement.autoplay = true;
64
+ backgroundElement.preload = 'auto';
65
+ backgroundElement.playsInline = true;
66
+ backgroundElement.muted = true;
67
+ backgroundElement.loop = true;
68
+ }
69
+ if (!backgroundElement && prevBackgroundElement) {
70
+ rootElement.removeChild(prevBackgroundElement);
71
+ }
72
+ if (!backgroundElement)
73
+ return;
74
+ backgroundElement.id = BACKGROUND_ELEMENT_ID;
75
+ backgroundElement.style.zIndex = '-1';
76
+ overrideElementStyles(backgroundElement, {
77
+ position: 'absolute',
78
+ top: '0px',
79
+ left: '0px',
80
+ right: '0px',
81
+ bottom: '0px',
82
+ width: '100%',
83
+ height: '100%',
84
+ 'object-fit': 'cover',
85
+ filter: 'blur(12px)'
86
+ });
87
+ if (prevBackgroundElement) {
88
+ rootElement.replaceChild(backgroundElement, prevBackgroundElement);
89
+ }
90
+ else {
91
+ rootElement.appendChild(backgroundElement);
92
+ }
93
+ }
94
+ catch (e) {
95
+ console.error(e);
96
+ }
97
+ };
98
+ if (element instanceof HTMLIFrameElement) {
99
+ return new Promise((resolve, reject) => {
100
+ const responseTimeout = setTimeout(() => {
101
+ window.removeEventListener('message', messageListener);
102
+ reject(new Error(`Timeout exceeded for ${adId}, ad source: ${JSON.stringify(source)}`));
103
+ }, (rest.length === 0 ? 20000 : 10000) * (AdsConfiguration.IS_MISES_BROWSER ? 2 : 1));
104
+ let wasReady = false;
105
+ const messageListener = (event) => {
106
+ var _a, _b;
107
+ if (event.source !== element.contentWindow) {
108
+ return;
109
+ }
110
+ try {
111
+ const data = typeof event.data === 'string' ? JSON.parse(event.data) : event.data;
112
+ switch (data.type) {
113
+ case AD_READY_MESSAGE_TYPE:
114
+ if (!wasReady) {
115
+ wasReady = true;
116
+ broadcastMessage({ id: adId, type: AD_READY_MESSAGE_TYPE, adMetadata });
117
+ clearTimeout(responseTimeout);
118
+ resolve();
119
+ }
120
+ updateBackground((_a = data.ad) === null || _a === void 0 ? void 0 : _a.creative_set);
121
+ break;
122
+ case AD_ERROR_MESSAGE_TYPE:
123
+ if (!wasReady) {
124
+ window.removeEventListener('message', messageListener);
125
+ clearTimeout(responseTimeout);
126
+ reject(new Error((_b = data.reason) !== null && _b !== void 0 ? _b : 'Unknown error'));
127
+ }
128
+ break;
129
+ case AD_RESIZE_MESSAGE_TYPE:
130
+ const { width, height } = data;
131
+ if (width > 0 && height > 0) {
132
+ if (adMetadata.source.native) {
133
+ element.style.height = `${height}px`;
134
+ }
135
+ else {
136
+ extendOrKeepDimension(element, 'width', width);
137
+ extendOrKeepDimension(element, 'height', height);
138
+ }
139
+ broadcastMessage(Object.assign(Object.assign({}, data), { id: adId }));
140
+ }
141
+ }
142
+ }
143
+ catch (error) {
144
+ console.error('Observing error:', error);
145
+ }
146
+ };
147
+ window.addEventListener('message', messageListener);
148
+ }).catch(e => {
149
+ console.error(e);
150
+ return renderAdsStack(adId, rest, origin);
151
+ });
152
+ }
153
+ updateBackground(adView.creativeSet);
154
+ broadcastMessage({ id: adId, type: AD_READY_MESSAGE_TYPE, adMetadata });
155
+ });
156
+ //# sourceMappingURL=render-ads-stack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render-ads-stack.js","sourceRoot":"","sources":["../src/render-ads-stack.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,4BAA4B,EAC5B,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACzG,OAAO,EAAE,qBAAqB,EAAE,MAAM,+CAA+C,CAAC;AAItF,MAAM,gBAAgB,GAAG,CAAC,OAAgB,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC;AAEvG;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,IAAY,EACZ,WAAoC,EACpC,MAAc,EACC,EAAE;IACjB,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,gBAAgB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,qBAAqB,EAAE,MAAM,EAAE,uBAAuB,EAAE,CAAC,CAAC;QAE7F,OAAO;IACT,CAAC;IAED,MAAM,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,GAAG,WAAW,CAAC;IAC9C,MAAM,UAAU,GACd,OAAO,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;IACvG,gBAAgB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,4BAA4B,EAAE,UAAU,EAAE,CAAC,CAAC;IAE/E,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC;IAC1C,IAAI,MAAc,CAAC;IACnB,QAAQ,MAAM,CAAC,YAAY,EAAE,CAAC;QAC5B,KAAK,QAAQ;YACX,MAAM,GAAG,cAAc,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YAC5E,MAAM;QACR,KAAK,SAAS,CAAC;QACf,KAAK,WAAW;YACd,MAAM,GAAG,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;YACzD,MAAM;QACR;YACE,MAAM,GAAG,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IAC3B,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAE,CAAC;IACrD,MAAM,kBAAkB,GAAG,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAE,CAAC;IACpE,WAAW,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IAErC,IAAI,CAAC,MAAM,CAAC,MAAM;QAAE,kBAAkB,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;;QAC7D,kBAAkB,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IAElD,MAAM,gBAAgB,GAAG,CAAC,cAA2B,EAAE,EAAE,EAAE;QACzD,IAAI,CAAC;YACH,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC;YACrC,MAAM,qBAAqB,GAAG,QAAQ,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC;YAC7E,IAAI,iBAAkE,CAAC;YACvE,IAAI,KAAK,EAAE,CAAC;gBACV,iBAAiB,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBAClD,iBAAiB,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;gBAClC,iBAAiB,CAAC,GAAG,GAAG,EAAE,CAAC;YAC7B,CAAC;YACD,IAAI,KAAK,EAAE,CAAC;gBACV,iBAAiB,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;gBACpD,iBAAiB,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;gBAClC,iBAAiB,CAAC,QAAQ,GAAG,IAAI,CAAC;gBAClC,iBAAiB,CAAC,OAAO,GAAG,MAAM,CAAC;gBACnC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC;gBACrC,iBAAiB,CAAC,KAAK,GAAG,IAAI,CAAC;gBAC/B,iBAAiB,CAAC,IAAI,GAAG,IAAI,CAAC;YAChC,CAAC;YAED,IAAI,CAAC,iBAAiB,IAAI,qBAAqB,EAAE,CAAC;gBAChD,WAAW,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;YACjD,CAAC;YAED,IAAI,CAAC,iBAAiB;gBAAE,OAAO;YAE/B,iBAAiB,CAAC,EAAE,GAAG,qBAAqB,CAAC;YAC7C,iBAAiB,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;YACtC,qBAAqB,CAAC,iBAAiB,EAAE;gBACvC,QAAQ,EAAE,UAAU;gBACpB,GAAG,EAAE,KAAK;gBACV,IAAI,EAAE,KAAK;gBACX,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,KAAK;gBACb,KAAK,EAAE,MAAM;gBACb,MAAM,EAAE,MAAM;gBACd,YAAY,EAAE,OAAO;gBACrB,MAAM,EAAE,YAAY;aACrB,CAAC,CAAC;YACH,IAAI,qBAAqB,EAAE,CAAC;gBAC1B,WAAW,CAAC,YAAY,CAAC,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;YACrE,CAAC;iBAAM,CAAC;gBACN,WAAW,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,OAAO,YAAY,iBAAiB,EAAE,CAAC;QACzC,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,MAAM,eAAe,GAAG,UAAU,CAChC,GAAG,EAAE;gBACH,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;gBACvD,MAAM,CAAC,IAAI,KAAK,CAAC,wBAAwB,IAAI,gBAAgB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1F,CAAC,EACD,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAM,CAAC,CAAC,CAAC,KAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACpF,CAAC;YAEF,IAAI,QAAQ,GAAG,KAAK,CAAC;YACrB,MAAM,eAAe,GAAG,CAAC,KAAwB,EAAE,EAAE;;gBACnD,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO,CAAC,aAAa,EAAE,CAAC;oBAC3C,OAAO;gBACT,CAAC;gBAED,IAAI,CAAC;oBACH,MAAM,IAAI,GAAG,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;oBAElF,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;wBAClB,KAAK,qBAAqB;4BACxB,IAAI,CAAC,QAAQ,EAAE,CAAC;gCACd,QAAQ,GAAG,IAAI,CAAC;gCAChB,gBAAgB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,qBAAqB,EAAE,UAAU,EAAE,CAAC,CAAC;gCACxE,YAAY,CAAC,eAAe,CAAC,CAAC;gCAC9B,OAAO,EAAE,CAAC;4BACZ,CAAC;4BACD,gBAAgB,CAAC,MAAA,IAAI,CAAC,EAAE,0CAAE,YAAY,CAAC,CAAC;4BACxC,MAAM;wBACR,KAAK,qBAAqB;4BACxB,IAAI,CAAC,QAAQ,EAAE,CAAC;gCACd,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;gCACvD,YAAY,CAAC,eAAe,CAAC,CAAC;gCAC9B,MAAM,CAAC,IAAI,KAAK,CAAC,MAAA,IAAI,CAAC,MAAM,mCAAI,eAAe,CAAC,CAAC,CAAC;4BACpD,CAAC;4BACD,MAAM;wBACR,KAAK,sBAAsB;4BACzB,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;4BAC/B,IAAI,KAAK,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;gCAC5B,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;oCAC7B,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC;gCACvC,CAAC;qCAAM,CAAC;oCACN,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;oCAC/C,qBAAqB,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;gCACnD,CAAC;gCACD,gBAAgB,iCAAM,IAAI,KAAE,EAAE,EAAE,IAAI,IAAG,CAAC;4BAC1C,CAAC;oBACL,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;gBAC3C,CAAC;YACH,CAAC,CAAC;YAEF,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;YACX,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAEjB,OAAO,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gBAAgB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACrC,gBAAgB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,qBAAqB,EAAE,UAAU,EAAE,CAAC,CAAC;AAC1E,CAAC,CAAA,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { RawAllAdsRules, RawAdPlacesRule, RawAdProvidersRule, RawPermanentAdPlacesRule, RawElementsToHideOrRemoveEntry } from 'src/types/temple-wallet-api';
2
+ export declare class TempleWalletApi {
3
+ private api;
4
+ constructor(baseUrl: string);
5
+ private getAdVersionRequestConfig;
6
+ getAdPlacesRulesForAllDomains: () => Promise<Record<string, RawAdPlacesRule[]>>;
7
+ getProvidersToReplaceAtAllSites: () => Promise<string[]>;
8
+ getProvidersCategories: () => Promise<Record<string, string[]>>;
9
+ getProvidersRulesForAllDomains: () => Promise<Record<string, RawAdProvidersRule[]>>;
10
+ getSelectorsForAllProviders: () => Promise<Record<string, (string | {
11
+ selector: string;
12
+ parentDepth: number;
13
+ })[]>>;
14
+ getNegativeSelectorsForAllProviders: () => Promise<Record<string, (string | {
15
+ selector: string;
16
+ parentDepth: number;
17
+ })[]>>;
18
+ getPermanentAdPlacesRulesForAllDomains: () => Promise<Record<string, RawPermanentAdPlacesRule[]>>;
19
+ getPermanentNativeAdPlacesRulesForAllDomains: () => Promise<Record<string, RawPermanentAdPlacesRule[]>>;
20
+ getAdsReplaceUrlsBlacklist: () => Promise<string[]>;
21
+ getElementsToHideOrRemoveRules: () => Promise<Record<string, RawElementsToHideOrRemoveEntry[]>>;
22
+ getAllRules: () => Promise<RawAllAdsRules>;
23
+ }
@@ -0,0 +1,67 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import axiosFetchAdapter from '@vespaiach/axios-fetch-adapter';
11
+ import axios from 'axios';
12
+ import { AdsConfiguration } from './ads-configuration';
13
+ const withFetchDataExtraction = (fetchFn) => (...args) => __awaiter(void 0, void 0, void 0, function* () {
14
+ const { data } = yield fetchFn(...args);
15
+ return data;
16
+ });
17
+ export class TempleWalletApi {
18
+ constructor(baseUrl) {
19
+ this.getAdPlacesRulesForAllDomains = withFetchDataExtraction(() => this.api.get('/slise-ad-rules/ad-places', this.getAdVersionRequestConfig()));
20
+ this.getProvidersToReplaceAtAllSites = withFetchDataExtraction(() => this.api.get('/slise-ad-rules/providers/all-sites'));
21
+ this.getProvidersCategories = withFetchDataExtraction(() => this.api.get('/slise-ad-rules/providers/categories'));
22
+ this.getProvidersRulesForAllDomains = withFetchDataExtraction(() => this.api.get('/slise-ad-rules/providers/by-sites'));
23
+ this.getSelectorsForAllProviders = withFetchDataExtraction(() => this.api.get('/slise-ad-rules/providers', this.getAdVersionRequestConfig()));
24
+ this.getNegativeSelectorsForAllProviders = withFetchDataExtraction(() => this.api.get('/slise-ad-rules/providers/negative-selectors', this.getAdVersionRequestConfig()));
25
+ this.getPermanentAdPlacesRulesForAllDomains = withFetchDataExtraction(() => this.api.get('/slise-ad-rules/ad-places/permanent', this.getAdVersionRequestConfig()));
26
+ this.getPermanentNativeAdPlacesRulesForAllDomains = withFetchDataExtraction(() => this.api.get('/slise-ad-rules/ad-places/permanent-native', this.getAdVersionRequestConfig()));
27
+ this.getAdsReplaceUrlsBlacklist = withFetchDataExtraction(() => this.api.get('/slise-ad-rules/replace-urls-blacklist', this.getAdVersionRequestConfig()));
28
+ this.getElementsToHideOrRemoveRules = withFetchDataExtraction(() => this.api.get('/slise-ad-rules/elements-to-hide-or-remove', this.getAdVersionRequestConfig()));
29
+ this.getAllRules = () => __awaiter(this, void 0, void 0, function* () {
30
+ const [adPlacesRulesForAllDomains, providersRulesForAllDomains, providersSelectors, providersToReplaceAtAllSites, permanentAdPlacesRulesForAllDomains, permanentNativeAdPlacesRulesForAllDomains, adsReplaceUrlsBlacklist, providersNegativeSelectors, elementsToHideOrRemoveRules, providersCategories] = yield Promise.all([
31
+ this.getAdPlacesRulesForAllDomains(),
32
+ this.getProvidersRulesForAllDomains(),
33
+ this.getSelectorsForAllProviders(),
34
+ this.getProvidersToReplaceAtAllSites(),
35
+ this.getPermanentAdPlacesRulesForAllDomains(),
36
+ this.getPermanentNativeAdPlacesRulesForAllDomains(),
37
+ this.getAdsReplaceUrlsBlacklist(),
38
+ this.getNegativeSelectorsForAllProviders(),
39
+ this.getElementsToHideOrRemoveRules(),
40
+ this.getProvidersCategories()
41
+ ]);
42
+ return {
43
+ adPlacesRulesForAllDomains,
44
+ providersRulesForAllDomains,
45
+ providersSelectors,
46
+ providersToReplaceAtAllSites,
47
+ permanentAdPlacesRulesForAllDomains,
48
+ permanentNativeAdPlacesRulesForAllDomains,
49
+ adsReplaceUrlsBlacklist,
50
+ providersNegativeSelectors,
51
+ elementsToHideOrRemoveRules,
52
+ providersCategories,
53
+ timestamp: Date.now()
54
+ };
55
+ });
56
+ this.api = axios.create({
57
+ baseURL: new URL('/api', baseUrl).href,
58
+ adapter: axiosFetchAdapter
59
+ });
60
+ }
61
+ getAdVersionRequestConfig() {
62
+ return {
63
+ params: { extVersion: AdsConfiguration.EXTENSION_VERSION, isMisesBrowser: AdsConfiguration.IS_MISES_BROWSER }
64
+ };
65
+ }
66
+ }
67
+ //# sourceMappingURL=temple-wallet-api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"temple-wallet-api.js","sourceRoot":"","sources":["../src/temple-wallet-api.ts"],"names":[],"mappings":"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"}