@temple-wallet/extension-ads 8.1.0 → 9.0.0-dev.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.
Files changed (102) hide show
  1. package/dist/index.d.ts +9 -3
  2. package/dist/index.js +12 -14
  3. package/dist/referrals/index.d.ts +33 -0
  4. package/dist/referrals/index.js +18 -0
  5. package/package.json +7 -5
  6. package/src/ads-actions/helpers.ts +36 -2
  7. package/src/ads-actions/process-permanent-rule.ts +8 -3
  8. package/src/ads-actions/process-providers-ads.ts +29 -2
  9. package/src/ads-actions/process-rule.ts +4 -0
  10. package/src/ads-configuration.ts +17 -2
  11. package/src/execute-ads-actions/observing.ts +3 -1
  12. package/src/execute-ads-actions/process-insert-ad-action.ts +26 -5
  13. package/src/referrals/index.ts +5 -0
  14. package/src/referrals/replace.ts +129 -0
  15. package/src/referrals/takeads.ts +44 -0
  16. package/src/referrals/utils.ts +14 -0
  17. package/src/render-ads-stack.ts +218 -102
  18. package/src/temple-wallet-api.ts +10 -4
  19. package/src/transform-raw-rules.ts +6 -2
  20. package/src/types/ads-actions.ts +2 -0
  21. package/src/types/ads-rules.ts +1 -0
  22. package/src/types/temple-wallet-api.ts +1 -0
  23. package/src/utils.ts +4 -0
  24. package/dist/ads-actions/helpers.d.ts +0 -17
  25. package/dist/ads-actions/helpers.js +0 -96
  26. package/dist/ads-actions/helpers.js.map +0 -1
  27. package/dist/ads-actions/index.d.ts +0 -3
  28. package/dist/ads-actions/index.js +0 -63
  29. package/dist/ads-actions/index.js.map +0 -1
  30. package/dist/ads-actions/process-elements-to-hide-or-remove-rule.d.ts +0 -3
  31. package/dist/ads-actions/process-elements-to-hide-or-remove-rule.js +0 -19
  32. package/dist/ads-actions/process-elements-to-hide-or-remove-rule.js.map +0 -1
  33. package/dist/ads-actions/process-permanent-rule.d.ts +0 -3
  34. package/dist/ads-actions/process-permanent-rule.js +0 -143
  35. package/dist/ads-actions/process-permanent-rule.js.map +0 -1
  36. package/dist/ads-actions/process-providers-ads.d.ts +0 -3
  37. package/dist/ads-actions/process-providers-ads.js +0 -137
  38. package/dist/ads-actions/process-providers-ads.js.map +0 -1
  39. package/dist/ads-actions/process-rule.d.ts +0 -3
  40. package/dist/ads-actions/process-rule.js +0 -98
  41. package/dist/ads-actions/process-rule.js.map +0 -1
  42. package/dist/ads-configuration.d.ts +0 -31
  43. package/dist/ads-configuration.js +0 -30
  44. package/dist/ads-configuration.js.map +0 -1
  45. package/dist/constants.d.ts +0 -11
  46. package/dist/constants.js +0 -12
  47. package/dist/constants.js.map +0 -1
  48. package/dist/execute-ads-actions/ads-views/index.d.ts +0 -3
  49. package/dist/execute-ads-actions/ads-views/index.js +0 -4
  50. package/dist/execute-ads-actions/ads-views/index.js.map +0 -1
  51. package/dist/execute-ads-actions/ads-views/make-ads-tw-view.d.ts +0 -3
  52. package/dist/execute-ads-actions/ads-views/make-ads-tw-view.js +0 -40
  53. package/dist/execute-ads-actions/ads-views/make-ads-tw-view.js.map +0 -1
  54. package/dist/execute-ads-actions/ads-views/make-extension-iframe-view.d.ts +0 -3
  55. package/dist/execute-ads-actions/ads-views/make-extension-iframe-view.js +0 -22
  56. package/dist/execute-ads-actions/ads-views/make-extension-iframe-view.js.map +0 -1
  57. package/dist/execute-ads-actions/ads-views/make-tkey-ad.d.ts +0 -3
  58. package/dist/execute-ads-actions/ads-views/make-tkey-ad.js +0 -38
  59. package/dist/execute-ads-actions/ads-views/make-tkey-ad.js.map +0 -1
  60. package/dist/execute-ads-actions/index.d.ts +0 -2
  61. package/dist/execute-ads-actions/index.js +0 -23
  62. package/dist/execute-ads-actions/index.js.map +0 -1
  63. package/dist/execute-ads-actions/observing.d.ts +0 -1
  64. package/dist/execute-ads-actions/observing.js +0 -129
  65. package/dist/execute-ads-actions/observing.js.map +0 -1
  66. package/dist/execute-ads-actions/override-element-styles.d.ts +0 -2
  67. package/dist/execute-ads-actions/override-element-styles.js +0 -6
  68. package/dist/execute-ads-actions/override-element-styles.js.map +0 -1
  69. package/dist/execute-ads-actions/process-insert-ad-action.d.ts +0 -2
  70. package/dist/execute-ads-actions/process-insert-ad-action.js +0 -153
  71. package/dist/execute-ads-actions/process-insert-ad-action.js.map +0 -1
  72. package/dist/index.js.map +0 -1
  73. package/dist/render-ads-stack.d.ts +0 -7
  74. package/dist/render-ads-stack.js +0 -156
  75. package/dist/render-ads-stack.js.map +0 -1
  76. package/dist/temple-wallet-api.d.ts +0 -23
  77. package/dist/temple-wallet-api.js +0 -67
  78. package/dist/temple-wallet-api.js.map +0 -1
  79. package/dist/transform-raw-rules.d.ts +0 -3
  80. package/dist/transform-raw-rules.js +0 -137
  81. package/dist/transform-raw-rules.js.map +0 -1
  82. package/dist/types/ad-view.d.ts +0 -7
  83. package/dist/types/ad-view.js +0 -2
  84. package/dist/types/ad-view.js.map +0 -1
  85. package/dist/types/ads-actions.d.ts +0 -56
  86. package/dist/types/ads-actions.js +0 -15
  87. package/dist/types/ads-actions.js.map +0 -1
  88. package/dist/types/ads-meta.d.ts +0 -19
  89. package/dist/types/ads-meta.js +0 -2
  90. package/dist/types/ads-meta.js.map +0 -1
  91. package/dist/types/ads-provider.d.ts +0 -8
  92. package/dist/types/ads-provider.js +0 -9
  93. package/dist/types/ads-provider.js.map +0 -1
  94. package/dist/types/ads-rules.d.ts +0 -26
  95. package/dist/types/ads-rules.js +0 -2
  96. package/dist/types/ads-rules.js.map +0 -1
  97. package/dist/types/temple-wallet-api.d.ts +0 -78
  98. package/dist/types/temple-wallet-api.js +0 -2
  99. package/dist/types/temple-wallet-api.js.map +0 -1
  100. package/dist/utils.d.ts +0 -6
  101. package/dist/utils.js +0 -4
  102. package/dist/utils.js.map +0 -1
@@ -1,56 +0,0 @@
1
- import { StringRecord } from 'src/utils';
2
- import { AdMetadata } from './ads-meta';
3
- import type { AdStylesOverrides, RawPermanentAdPlacesRule } from './temple-wallet-api';
4
- export declare enum AdActionType {
5
- ReplaceAllChildren = "replace-all-children",
6
- ReplaceElement = "replace-element",
7
- SimpleInsertAd = "simple-insert-ad",
8
- RemoveElement = "remove-element",
9
- HideElement = "hide-element"
10
- }
11
- export declare enum AdType {
12
- Permanent = "permanent",
13
- SlotReplacement = "slot-replacement",
14
- ProviderReplacement = "provider-replacement"
15
- }
16
- interface AdActionBase {
17
- type: AdActionType;
18
- }
19
- interface InsertAdActionProps extends Pick<RawPermanentAdPlacesRule, 'wrapperStyle' | 'wrapperType' | 'colsAfter' | 'colsBefore' | 'colspan'> {
20
- /** A value of 'number' type stands for the value with respective index in `BANNER_ADS_META`. It is done to shorten
21
- * ads stack Iframe URL search parameters.
22
- */
23
- adsMetadata: (number | AdMetadata)[];
24
- elementStyle?: StringRecord<string>;
25
- stylesOverrides?: AdStylesOverrides[];
26
- originalWidth: number;
27
- originalHeight: number;
28
- }
29
- export interface ReplaceAllChildrenWithAdAction extends AdActionBase, InsertAdActionProps {
30
- type: AdActionType.ReplaceAllChildren;
31
- parent: HTMLElement;
32
- }
33
- export interface ReplaceElementWithAdAction extends AdActionBase, InsertAdActionProps {
34
- type: AdActionType.ReplaceElement;
35
- element: HTMLElement;
36
- }
37
- export interface SimpleInsertAdAction extends AdActionBase, InsertAdActionProps {
38
- type: AdActionType.SimpleInsertAd;
39
- parent: HTMLElement;
40
- insertionIndex: number;
41
- isSiblingReplacement: boolean;
42
- }
43
- export interface RemoveElementAction extends AdActionBase {
44
- type: AdActionType.RemoveElement;
45
- element: HTMLElement;
46
- }
47
- export interface HideElementAction extends AdActionBase {
48
- type: AdActionType.HideElement;
49
- element: HTMLElement;
50
- }
51
- export type InsertAdAction = ReplaceAllChildrenWithAdAction | ReplaceElementWithAdAction | SimpleInsertAdAction;
52
- export type OmitAdInAction<T extends InsertAdActionProps> = Omit<T, 'adsMetadata' | 'originalWidth' | 'originalHeight'>;
53
- export type InsertAdActionWithoutMeta = OmitAdInAction<ReplaceAllChildrenWithAdAction> | OmitAdInAction<ReplaceElementWithAdAction> | OmitAdInAction<SimpleInsertAdAction>;
54
- export type AdAction = InsertAdAction | RemoveElementAction | HideElementAction;
55
- export type AddActionsIfAdResolutionAvailable = (elementsToMeasure: Record<'width' | 'height', HTMLElement>, adType: AdType, adIsNative: boolean, expectedCategories: string[], ...actionsBases: (InsertAdActionWithoutMeta | HideElementAction | RemoveElementAction)[]) => boolean;
56
- export {};
@@ -1,15 +0,0 @@
1
- export var AdActionType;
2
- (function (AdActionType) {
3
- AdActionType["ReplaceAllChildren"] = "replace-all-children";
4
- AdActionType["ReplaceElement"] = "replace-element";
5
- AdActionType["SimpleInsertAd"] = "simple-insert-ad";
6
- AdActionType["RemoveElement"] = "remove-element";
7
- AdActionType["HideElement"] = "hide-element";
8
- })(AdActionType || (AdActionType = {}));
9
- export var AdType;
10
- (function (AdType) {
11
- AdType["Permanent"] = "permanent";
12
- AdType["SlotReplacement"] = "slot-replacement";
13
- AdType["ProviderReplacement"] = "provider-replacement";
14
- })(AdType || (AdType = {}));
15
- //# sourceMappingURL=ads-actions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ads-actions.js","sourceRoot":"","sources":["../../src/types/ads-actions.ts"],"names":[],"mappings":"AAKA,MAAM,CAAN,IAAY,YAMX;AAND,WAAY,YAAY;IACtB,2DAA2C,CAAA;IAC3C,kDAAkC,CAAA;IAClC,mDAAmC,CAAA;IACnC,gDAAgC,CAAA;IAChC,4CAA4B,CAAA;AAC9B,CAAC,EANW,YAAY,KAAZ,YAAY,QAMvB;AAED,MAAM,CAAN,IAAY,MAIX;AAJD,WAAY,MAAM;IAChB,iCAAuB,CAAA;IACvB,8CAAoC,CAAA;IACpC,sDAA4C,CAAA;AAC9C,CAAC,EAJW,MAAM,KAAN,MAAM,QAIjB"}
@@ -1,19 +0,0 @@
1
- export interface AdSource {
2
- shouldNotUseStrictContainerLimits?: boolean;
3
- providerName: 'Temple' | 'Persona' | 'HypeLab' | 'SmartyAds';
4
- native?: boolean;
5
- slug: string;
6
- categories?: string[];
7
- }
8
- export interface AdDimensions {
9
- width: number;
10
- height: number;
11
- minContainerWidth: number;
12
- minContainerHeight: number;
13
- maxContainerWidth: number;
14
- maxContainerHeight: number;
15
- }
16
- export interface AdMetadata {
17
- source: AdSource;
18
- dimensions: AdDimensions;
19
- }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=ads-meta.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ads-meta.js","sourceRoot":"","sources":["../../src/types/ads-meta.ts"],"names":[],"mappings":""}
@@ -1,8 +0,0 @@
1
- export declare enum AdsProviderTitle {
2
- Optimal = "Optimal",
3
- SmartyAds = "SmartyAds",
4
- HypeLab = "HypeLab",
5
- Persona = "Persona",
6
- Temple = "Temple Wallet"
7
- }
8
- export type AdsProviderName = keyof typeof AdsProviderTitle;
@@ -1,9 +0,0 @@
1
- export var AdsProviderTitle;
2
- (function (AdsProviderTitle) {
3
- AdsProviderTitle["Optimal"] = "Optimal";
4
- AdsProviderTitle["SmartyAds"] = "SmartyAds";
5
- AdsProviderTitle["HypeLab"] = "HypeLab";
6
- AdsProviderTitle["Persona"] = "Persona";
7
- AdsProviderTitle["Temple"] = "Temple Wallet";
8
- })(AdsProviderTitle || (AdsProviderTitle = {}));
9
- //# sourceMappingURL=ads-provider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ads-provider.js","sourceRoot":"","sources":["../../src/types/ads-provider.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,gBAMX;AAND,WAAY,gBAAgB;IAC1B,uCAAmB,CAAA;IACnB,2CAAuB,CAAA;IACvB,uCAAmB,CAAA;IACnB,uCAAmB,CAAA;IACnB,4CAAwB,CAAA;AAC1B,CAAC,EANW,gBAAgB,KAAhB,gBAAgB,QAM3B"}
@@ -1,26 +0,0 @@
1
- import { RawAdPlacesRule, RawElementsToHideOrRemoveEntry, RawPermanentAdPlacesRule } from './temple-wallet-api';
2
- export interface AdPlacesRule extends Omit<RawAdPlacesRule, 'urlRegexes'> {
3
- urlRegexes: RegExp[];
4
- }
5
- export interface PermanentAdPlacesRule extends Omit<RawPermanentAdPlacesRule, 'urlRegexes' | 'elementToMeasureSelector'> {
6
- urlRegexes: RegExp[];
7
- isNative: boolean;
8
- }
9
- export interface ElementsToHideOrRemoveRule extends Omit<RawElementsToHideOrRemoveEntry, 'urlRegexes'> {
10
- urlRegexes: RegExp[];
11
- }
12
- export interface AdsRules {
13
- adPlacesRules: Array<Omit<AdPlacesRule, 'urlRegexes'>>;
14
- permanentAdPlacesRules: PermanentAdPlacesRule[];
15
- providersSelectors: Array<{
16
- selector: string;
17
- parentDepth: number;
18
- categories: string[];
19
- }>;
20
- providersNegativeSelectors: Array<{
21
- selector: string;
22
- parentDepth: number;
23
- }>;
24
- elementsToHideOrRemoveRules: ElementsToHideOrRemoveRule[];
25
- timestamp: number;
26
- }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=ads-rules.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ads-rules.js","sourceRoot":"","sources":["../../src/types/ads-rules.ts"],"names":[],"mappings":""}
@@ -1,78 +0,0 @@
1
- export interface AdStylesOverrides {
2
- parentDepth: number;
3
- style: Record<string, string>;
4
- }
5
- export interface RawAdPlacesRule {
6
- urlRegexes: string[];
7
- selector: {
8
- isMultiple: boolean;
9
- cssString: string;
10
- parentDepth: number;
11
- shouldUseDivWrapper: boolean;
12
- divWrapperStyle?: Record<string, string>;
13
- };
14
- stylesOverrides?: AdStylesOverrides[];
15
- shouldHideOriginal?: boolean;
16
- isNative?: boolean;
17
- }
18
- export type ElementsToMeasure = Record<'width' | 'height', string>;
19
- export interface RawPermanentAdPlacesRule {
20
- urlRegexes: string[];
21
- adSelector: {
22
- isMultiple: boolean;
23
- cssString: string;
24
- parentDepth: number;
25
- };
26
- parentSelector: {
27
- isMultiple: boolean;
28
- cssString: string;
29
- parentDepth: number;
30
- };
31
- insertionIndex?: number;
32
- insertBeforeSelector?: string;
33
- insertAfterSelector?: string;
34
- insertionsCount?: number;
35
- shouldUseDivWrapper?: boolean;
36
- wrapperType?: 'div' | 'tbody';
37
- colsBefore?: number;
38
- colspan?: number;
39
- colsAfter?: number;
40
- divWrapperStyle?: Record<string, string>;
41
- wrapperStyle?: Record<string, string>;
42
- elementStyle?: Record<string, string>;
43
- elementToMeasureSelector?: string;
44
- elementsToMeasureSelectors?: ElementsToMeasure;
45
- stylesOverrides?: AdStylesOverrides[];
46
- shouldHideOriginal?: boolean;
47
- displayWidth?: string;
48
- }
49
- export interface RawAdProvidersRule {
50
- urlRegexes: string[];
51
- providers: string[];
52
- }
53
- export interface RawElementsToHideOrRemoveEntry {
54
- cssString: string;
55
- parentDepth: number;
56
- isMultiple: boolean;
57
- urlRegexes: string[];
58
- shouldHide: boolean;
59
- }
60
- export interface RawAllAdsRules {
61
- adPlacesRulesForAllDomains: Record<string, RawAdPlacesRule[]>;
62
- providersCategories: Record<string, string[]>;
63
- providersRulesForAllDomains: Record<string, RawAdProvidersRule[]>;
64
- providersSelectors: Record<string, (string | {
65
- selector: string;
66
- parentDepth: number;
67
- })[]>;
68
- providersNegativeSelectors: Record<string, (string | {
69
- selector: string;
70
- parentDepth: number;
71
- })[]>;
72
- providersToReplaceAtAllSites: string[];
73
- permanentAdPlacesRulesForAllDomains: Record<string, RawPermanentAdPlacesRule[]>;
74
- permanentNativeAdPlacesRulesForAllDomains: Record<string, RawPermanentAdPlacesRule[]>;
75
- adsReplaceUrlsBlacklist: string[];
76
- elementsToHideOrRemoveRules: Record<string, RawElementsToHideOrRemoveEntry[]>;
77
- timestamp: number;
78
- }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=temple-wallet-api.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"temple-wallet-api.js","sourceRoot":"","sources":["../../src/types/temple-wallet-api.ts"],"names":[],"mappings":""}
package/dist/utils.d.ts DELETED
@@ -1,6 +0,0 @@
1
- /** From lodash */
2
- type Truthy<T> = T extends null | undefined | void | false | '' | 0 | 0n ? never : T;
3
- export declare const isTruthy: <T>(value: T) => value is Truthy<T>;
4
- export declare const delay: (ms?: number) => Promise<unknown>;
5
- export type StringRecord<T = string> = Record<string, T>;
6
- export {};
package/dist/utils.js DELETED
@@ -1,4 +0,0 @@
1
- export const isTruthy = (value) => Boolean(value);
2
- const DEFAULT_DELAY = 300;
3
- export const delay = (ms = DEFAULT_DELAY) => new Promise(res => setTimeout(res, ms));
4
- //# sourceMappingURL=utils.js.map
package/dist/utils.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAI,KAAQ,EAAsB,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAE5E,MAAM,aAAa,GAAG,GAAG,CAAC;AAE1B,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,EAAE,GAAG,aAAa,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC"}