teads-react-native 6.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (175) hide show
  1. package/LICENSE +20 -0
  2. package/README.md +93 -0
  3. package/android/bin/build/generated/source/buildConfig/debug/com/outbrainreactnative/BuildConfig.class +0 -0
  4. package/android/bin/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/AndroidManifest.xml +7 -0
  5. package/android/bin/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/output-metadata.json +18 -0
  6. package/android/bin/build/intermediates/aar_metadata/debug/aar-metadata.properties +6 -0
  7. package/android/bin/build/intermediates/annotation_processor_list/debug/annotationProcessors.json +1 -0
  8. package/android/bin/build/intermediates/compile_library_classes_jar/debug/classes.jar +0 -0
  9. package/android/bin/build/intermediates/compile_r_class_jar/debug/R.jar +0 -0
  10. package/android/bin/build/intermediates/compile_symbol_list/debug/R.txt +0 -0
  11. package/android/bin/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +1 -0
  12. package/android/bin/build/intermediates/incremental/debug/packageDebugResources/merger.xml +2 -0
  13. package/android/bin/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +2 -0
  14. package/android/bin/build/intermediates/incremental/mergeDebugShaders/merger.xml +2 -0
  15. package/android/bin/build/intermediates/incremental/packageDebugAssets/merger.xml +2 -0
  16. package/android/bin/build/intermediates/local_only_symbol_list/debug/R-def.txt +2 -0
  17. package/android/bin/build/intermediates/manifest_merge_blame_file/debug/manifest-merger-blame-debug-report.txt +7 -0
  18. package/android/bin/build/intermediates/merged_manifest/debug/AndroidManifest.xml +7 -0
  19. package/android/bin/build/intermediates/navigation_json/debug/navigation.json +1 -0
  20. package/android/bin/build/intermediates/runtime_library_classes_jar/debug/classes.jar +0 -0
  21. package/android/bin/build/intermediates/symbol_list_with_package_name/debug/package-aware-r.txt +1 -0
  22. package/android/bin/build/outputs/logs/manifest-merger-debug-report.txt +16 -0
  23. package/android/bin/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
  24. package/android/bin/build.gradle +101 -0
  25. package/android/bin/gradle/wrapper/gradle-wrapper.jar +0 -0
  26. package/android/bin/gradle/wrapper/gradle-wrapper.properties +7 -0
  27. package/android/bin/gradle.properties +5 -0
  28. package/android/bin/gradlew +249 -0
  29. package/android/bin/gradlew.bat +92 -0
  30. package/android/bin/src/main/AndroidManifest.xml +3 -0
  31. package/android/bin/src/main/AndroidManifestNew.xml +2 -0
  32. package/android/bin/src/main/java/com/outbrainreactnative/OutbrainNativePackage.class +0 -0
  33. package/android/bin/src/main/java/com/outbrainreactnative/SFWebViewWidgetManager.class +0 -0
  34. package/android/bin/src/main/java/com/outbrainreactnative/SFWebViewWidgetWrapper.class +0 -0
  35. package/android/bin/src/main/java/com/outbrainreactnative/Utils.class +0 -0
  36. package/android/build.gradle +129 -0
  37. package/android/generated/java/com/facebook/react/viewmanagers/TeadsAdPlacementFeedManagerDelegate.java +62 -0
  38. package/android/generated/java/com/facebook/react/viewmanagers/TeadsAdPlacementFeedManagerInterface.java +28 -0
  39. package/android/generated/java/com/facebook/react/viewmanagers/TeadsAdPlacementMediaManagerDelegate.java +44 -0
  40. package/android/generated/java/com/facebook/react/viewmanagers/TeadsAdPlacementMediaManagerInterface.java +22 -0
  41. package/android/generated/jni/CMakeLists.txt +36 -0
  42. package/android/generated/jni/RNTeadsReactNativeViewSpec-generated.cpp +22 -0
  43. package/android/generated/jni/RNTeadsReactNativeViewSpec.h +24 -0
  44. package/android/generated/jni/react/renderer/components/RNTeadsReactNativeViewSpec/ComponentDescriptors.cpp +23 -0
  45. package/android/generated/jni/react/renderer/components/RNTeadsReactNativeViewSpec/ComponentDescriptors.h +25 -0
  46. package/android/generated/jni/react/renderer/components/RNTeadsReactNativeViewSpec/EventEmitters.cpp +17 -0
  47. package/android/generated/jni/react/renderer/components/RNTeadsReactNativeViewSpec/EventEmitters.h +30 -0
  48. package/android/generated/jni/react/renderer/components/RNTeadsReactNativeViewSpec/Props.cpp +46 -0
  49. package/android/generated/jni/react/renderer/components/RNTeadsReactNativeViewSpec/Props.h +51 -0
  50. package/android/generated/jni/react/renderer/components/RNTeadsReactNativeViewSpec/RNTeadsReactNativeViewSpecJSI-generated.cpp +17 -0
  51. package/android/generated/jni/react/renderer/components/RNTeadsReactNativeViewSpec/RNTeadsReactNativeViewSpecJSI.h +19 -0
  52. package/android/generated/jni/react/renderer/components/RNTeadsReactNativeViewSpec/ShadowNodes.cpp +18 -0
  53. package/android/generated/jni/react/renderer/components/RNTeadsReactNativeViewSpec/ShadowNodes.h +43 -0
  54. package/android/generated/jni/react/renderer/components/RNTeadsReactNativeViewSpec/States.cpp +16 -0
  55. package/android/generated/jni/react/renderer/components/RNTeadsReactNativeViewSpec/States.h +41 -0
  56. package/android/gradle.properties +5 -0
  57. package/android/src/main/AndroidManifest.xml +3 -0
  58. package/android/src/main/AndroidManifestNew.xml +2 -0
  59. package/android/src/main/java/tv/teads/reactnative/SFWidgetContainer.java +19 -0
  60. package/android/src/main/java/tv/teads/reactnative/TeadsAdPlacementFeedManager.java +109 -0
  61. package/android/src/main/java/tv/teads/reactnative/TeadsFeedPackage.java +53 -0
  62. package/android/src/main/java/tv/teads/reactnative/TeadsMediaPlacementManager.java +76 -0
  63. package/android/src/main/java/tv/teads/reactnative/TeadsPlacementContainer.java +327 -0
  64. package/android/src/main/java/tv/teads/reactnative/Utils.java +65 -0
  65. package/ios/RCTTeadsAdPlacementFeed.h +22 -0
  66. package/ios/RCTTeadsAdPlacementFeed.mm +114 -0
  67. package/ios/RCTTeadsAdPlacementMedia.h +23 -0
  68. package/ios/RCTTeadsAdPlacementMedia.mm +91 -0
  69. package/ios/TeadsAdContainer.swift +212 -0
  70. package/ios/TeadsEventModule.h +16 -0
  71. package/ios/TeadsEventModule.mm +52 -0
  72. package/ios/TeadsReactNative.h +8 -0
  73. package/ios/generated/RNTeadsReactNativeViewSpec/ComponentDescriptors.cpp +23 -0
  74. package/ios/generated/RNTeadsReactNativeViewSpec/ComponentDescriptors.h +25 -0
  75. package/ios/generated/RNTeadsReactNativeViewSpec/EventEmitters.cpp +17 -0
  76. package/ios/generated/RNTeadsReactNativeViewSpec/EventEmitters.h +30 -0
  77. package/ios/generated/RNTeadsReactNativeViewSpec/Props.cpp +46 -0
  78. package/ios/generated/RNTeadsReactNativeViewSpec/Props.h +51 -0
  79. package/ios/generated/RNTeadsReactNativeViewSpec/RCTComponentViewHelpers.h +24 -0
  80. package/ios/generated/RNTeadsReactNativeViewSpec/RNTeadsReactNativeViewSpec-generated.mm +16 -0
  81. package/ios/generated/RNTeadsReactNativeViewSpec/RNTeadsReactNativeViewSpec.h +38 -0
  82. package/ios/generated/RNTeadsReactNativeViewSpec/ShadowNodes.cpp +18 -0
  83. package/ios/generated/RNTeadsReactNativeViewSpec/ShadowNodes.h +43 -0
  84. package/ios/generated/RNTeadsReactNativeViewSpec/States.cpp +16 -0
  85. package/ios/generated/RNTeadsReactNativeViewSpec/States.h +41 -0
  86. package/ios/generated/RNTeadsReactNativeViewSpecJSI-generated.cpp +17 -0
  87. package/ios/generated/RNTeadsReactNativeViewSpecJSI.h +19 -0
  88. package/lib/commonjs/DefaultTeadsWidgetHandler.js +21 -0
  89. package/lib/commonjs/DefaultTeadsWidgetHandler.js.map +1 -0
  90. package/lib/commonjs/TeadsAdPlacementFeed.js +131 -0
  91. package/lib/commonjs/TeadsAdPlacementFeed.js.map +1 -0
  92. package/lib/commonjs/TeadsAdPlacementMedia.js +115 -0
  93. package/lib/commonjs/TeadsAdPlacementMedia.js.map +1 -0
  94. package/lib/commonjs/TeadsInAppBrowser.js +48 -0
  95. package/lib/commonjs/TeadsInAppBrowser.js.map +1 -0
  96. package/lib/commonjs/TeadsMediaNativeComponent.ts +15 -0
  97. package/lib/commonjs/WebViewNativeComponent.ts +21 -0
  98. package/lib/commonjs/constants.js +9 -0
  99. package/lib/commonjs/constants.js.map +1 -0
  100. package/lib/commonjs/index.js +20 -0
  101. package/lib/commonjs/index.js.map +1 -0
  102. package/lib/commonjs/package.json +1 -0
  103. package/lib/commonjs/types.d.js +2 -0
  104. package/lib/commonjs/types.d.js.map +1 -0
  105. package/lib/commonjs/version.js +8 -0
  106. package/lib/commonjs/version.js.map +1 -0
  107. package/lib/module/DefaultTeadsWidgetHandler.js +17 -0
  108. package/lib/module/DefaultTeadsWidgetHandler.js.map +1 -0
  109. package/lib/module/TeadsAdPlacementFeed.js +126 -0
  110. package/lib/module/TeadsAdPlacementFeed.js.map +1 -0
  111. package/lib/module/TeadsAdPlacementMedia.js +110 -0
  112. package/lib/module/TeadsAdPlacementMedia.js.map +1 -0
  113. package/lib/module/TeadsInAppBrowser.js +44 -0
  114. package/lib/module/TeadsInAppBrowser.js.map +1 -0
  115. package/lib/module/TeadsMediaNativeComponent.ts +15 -0
  116. package/lib/module/WebViewNativeComponent.ts +21 -0
  117. package/lib/module/constants.js +5 -0
  118. package/lib/module/constants.js.map +1 -0
  119. package/lib/module/index.js +5 -0
  120. package/lib/module/index.js.map +1 -0
  121. package/lib/module/package.json +1 -0
  122. package/lib/module/types.d.js +2 -0
  123. package/lib/module/types.d.js.map +1 -0
  124. package/lib/module/version.js +4 -0
  125. package/lib/module/version.js.map +1 -0
  126. package/lib/typescript/commonjs/package.json +1 -0
  127. package/lib/typescript/commonjs/src/DefaultTeadsWidgetHandler.d.ts +4 -0
  128. package/lib/typescript/commonjs/src/DefaultTeadsWidgetHandler.d.ts.map +1 -0
  129. package/lib/typescript/commonjs/src/TeadsAdPlacementFeed.d.ts +3 -0
  130. package/lib/typescript/commonjs/src/TeadsAdPlacementFeed.d.ts.map +1 -0
  131. package/lib/typescript/commonjs/src/TeadsAdPlacementMedia.d.ts +3 -0
  132. package/lib/typescript/commonjs/src/TeadsAdPlacementMedia.d.ts.map +1 -0
  133. package/lib/typescript/commonjs/src/TeadsInAppBrowser.d.ts +4 -0
  134. package/lib/typescript/commonjs/src/TeadsInAppBrowser.d.ts.map +1 -0
  135. package/lib/typescript/commonjs/src/TeadsMediaNativeComponent.d.ts +12 -0
  136. package/lib/typescript/commonjs/src/TeadsMediaNativeComponent.d.ts.map +1 -0
  137. package/lib/typescript/commonjs/src/WebViewNativeComponent.d.ts +18 -0
  138. package/lib/typescript/commonjs/src/WebViewNativeComponent.d.ts.map +1 -0
  139. package/lib/typescript/commonjs/src/constants.d.ts +3 -0
  140. package/lib/typescript/commonjs/src/constants.d.ts.map +1 -0
  141. package/lib/typescript/commonjs/src/index.d.ts +4 -0
  142. package/lib/typescript/commonjs/src/index.d.ts.map +1 -0
  143. package/lib/typescript/commonjs/src/version.d.ts +2 -0
  144. package/lib/typescript/commonjs/src/version.d.ts.map +1 -0
  145. package/lib/typescript/module/package.json +1 -0
  146. package/lib/typescript/module/src/DefaultTeadsWidgetHandler.d.ts +4 -0
  147. package/lib/typescript/module/src/DefaultTeadsWidgetHandler.d.ts.map +1 -0
  148. package/lib/typescript/module/src/TeadsAdPlacementFeed.d.ts +3 -0
  149. package/lib/typescript/module/src/TeadsAdPlacementFeed.d.ts.map +1 -0
  150. package/lib/typescript/module/src/TeadsAdPlacementMedia.d.ts +3 -0
  151. package/lib/typescript/module/src/TeadsAdPlacementMedia.d.ts.map +1 -0
  152. package/lib/typescript/module/src/TeadsInAppBrowser.d.ts +4 -0
  153. package/lib/typescript/module/src/TeadsInAppBrowser.d.ts.map +1 -0
  154. package/lib/typescript/module/src/TeadsMediaNativeComponent.d.ts +12 -0
  155. package/lib/typescript/module/src/TeadsMediaNativeComponent.d.ts.map +1 -0
  156. package/lib/typescript/module/src/WebViewNativeComponent.d.ts +18 -0
  157. package/lib/typescript/module/src/WebViewNativeComponent.d.ts.map +1 -0
  158. package/lib/typescript/module/src/constants.d.ts +3 -0
  159. package/lib/typescript/module/src/constants.d.ts.map +1 -0
  160. package/lib/typescript/module/src/index.d.ts +4 -0
  161. package/lib/typescript/module/src/index.d.ts.map +1 -0
  162. package/lib/typescript/module/src/version.d.ts +2 -0
  163. package/lib/typescript/module/src/version.d.ts.map +1 -0
  164. package/package.json +227 -0
  165. package/src/DefaultTeadsWidgetHandler.ts +17 -0
  166. package/src/TeadsAdPlacementFeed.tsx +142 -0
  167. package/src/TeadsAdPlacementMedia.tsx +127 -0
  168. package/src/TeadsInAppBrowser.ts +42 -0
  169. package/src/TeadsMediaNativeComponent.ts +15 -0
  170. package/src/WebViewNativeComponent.ts +21 -0
  171. package/src/constants.ts +11 -0
  172. package/src/index.tsx +9 -0
  173. package/src/types.d.ts +32 -0
  174. package/src/version.ts +1 -0
  175. package/teads-react-native.podspec +42 -0
@@ -0,0 +1,41 @@
1
+ /**
2
+ * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
3
+ *
4
+ * Do not edit this file as changes may cause incorrect behavior and will be lost
5
+ * once the code is regenerated.
6
+ *
7
+ * @generated by codegen project: GenerateStateH.js
8
+ */
9
+ #pragma once
10
+
11
+ #ifdef ANDROID
12
+ #include <folly/dynamic.h>
13
+ #endif
14
+
15
+ namespace facebook::react {
16
+
17
+ class TeadsAdPlacementMediaState {
18
+ public:
19
+ TeadsAdPlacementMediaState() = default;
20
+
21
+ #ifdef ANDROID
22
+ TeadsAdPlacementMediaState(TeadsAdPlacementMediaState const &previousState, folly::dynamic data){};
23
+ folly::dynamic getDynamic() const {
24
+ return {};
25
+ };
26
+ #endif
27
+ };
28
+
29
+ class TeadsAdPlacementFeedState {
30
+ public:
31
+ TeadsAdPlacementFeedState() = default;
32
+
33
+ #ifdef ANDROID
34
+ TeadsAdPlacementFeedState(TeadsAdPlacementFeedState const &previousState, folly::dynamic data){};
35
+ folly::dynamic getDynamic() const {
36
+ return {};
37
+ };
38
+ #endif
39
+ };
40
+
41
+ } // namespace facebook::react
@@ -0,0 +1,17 @@
1
+ /**
2
+ * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
3
+ *
4
+ * Do not edit this file as changes may cause incorrect behavior and will be lost
5
+ * once the code is regenerated.
6
+ *
7
+ * @generated by codegen project: GenerateModuleCpp.js
8
+ */
9
+
10
+ #include "RNTeadsReactNativeViewSpecJSI.h"
11
+
12
+ namespace facebook::react {
13
+
14
+
15
+
16
+
17
+ } // namespace facebook::react
@@ -0,0 +1,19 @@
1
+ /**
2
+ * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
3
+ *
4
+ * Do not edit this file as changes may cause incorrect behavior and will be lost
5
+ * once the code is regenerated.
6
+ *
7
+ * @generated by codegen project: GenerateModuleH.js
8
+ */
9
+
10
+ #pragma once
11
+
12
+ #include <ReactCommon/TurboModule.h>
13
+ #include <react/bridging/Bridging.h>
14
+
15
+ namespace facebook::react {
16
+
17
+
18
+
19
+ } // namespace facebook::react
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _TeadsInAppBrowser = require("./TeadsInAppBrowser.js");
8
+ const DefaultHandler = {
9
+ onHeightChange: _newHeight => {},
10
+ onRecClick: url => {
11
+ console.log('onRecClick', url);
12
+ // no need to open - SDK will open outside of the app
13
+ },
14
+ onOrganicClick: url => {
15
+ console.log('onOrganicClick', url);
16
+ _TeadsInAppBrowser.TeadsInAppBrowser.open(url);
17
+ },
18
+ onWidgetEvent: (_eventName, _data) => {}
19
+ };
20
+ var _default = exports.default = DefaultHandler;
21
+ //# sourceMappingURL=DefaultTeadsWidgetHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_TeadsInAppBrowser","require","DefaultHandler","onHeightChange","_newHeight","onRecClick","url","console","log","onOrganicClick","TeadsInAppBrowser","open","onWidgetEvent","_eventName","_data","_default","exports","default"],"sourceRoot":"../../src","sources":["DefaultTeadsWidgetHandler.ts"],"mappings":";;;;;;AACA,IAAAA,kBAAA,GAAAC,OAAA;AAEA,MAAMC,cAAuC,GAAG;EAC9CC,cAAc,EAAGC,UAAU,IAAK,CAAC,CAAC;EAClCC,UAAU,EAAGC,GAAG,IAAK;IACnBC,OAAO,CAACC,GAAG,CAAC,YAAY,EAAEF,GAAG,CAAC;IAC9B;EACF,CAAC;EACDG,cAAc,EAAGH,GAAG,IAAK;IACvBC,OAAO,CAACC,GAAG,CAAC,gBAAgB,EAAEF,GAAG,CAAC;IAClCI,oCAAiB,CAACC,IAAI,CAACL,GAAG,CAAC;EAC7B,CAAC;EACDM,aAAa,EAAEA,CAACC,UAAU,EAAEC,KAAK,KAAK,CAAC;AACzC,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEaf,cAAc","ignoreList":[]}
@@ -0,0 +1,131 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.TeadsAdPlacementFeed = TeadsAdPlacementFeed;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _DefaultTeadsWidgetHandler = _interopRequireDefault(require("./DefaultTeadsWidgetHandler.js"));
10
+ var _version = require("./version.js");
11
+ var _WebViewNativeComponent = _interopRequireDefault(require("./WebViewNativeComponent"));
12
+ var _constants = require("./constants.js");
13
+ var _jsxRuntime = require("react/jsx-runtime");
14
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
+ class TeadsWidgetCls extends _react.default.Component {
16
+ static defaultProps = {
17
+ darkMode: false
18
+ };
19
+ listeners = [];
20
+ _isMounted = false;
21
+ state = {
22
+ height: 0
23
+ };
24
+ constructor(props) {
25
+ super(props);
26
+ _constants.requiredPropsNames.forEach(propName => {
27
+ if (props[propName] === undefined || props[propName] === null) {
28
+ throw new Error(`Missing required prop: ${propName}`);
29
+ }
30
+ });
31
+ this.widgetRandomId = Math.floor(Math.random() * 1000000); // random ID to identify the widget instance
32
+ this.handler = props.handler === undefined ? _DefaultTeadsWidgetHandler.default : props.handler;
33
+ this.eventEmitter = new _reactNative.NativeEventEmitter(_reactNative.NativeModules.TeadsEventModule);
34
+ this.handleHeightChange = this.handleHeightChange.bind(this);
35
+ this.handleRecClick = this.handleRecClick.bind(this);
36
+ this.handleOrganicClick = this.handleOrganicClick.bind(this);
37
+ this.handleWidgetEvent = this.handleWidgetEvent.bind(this);
38
+ }
39
+ componentDidMount() {
40
+ this._isMounted = true;
41
+ this.setupEventListeners();
42
+ }
43
+ componentWillUnmount() {
44
+ this._isMounted = false;
45
+ this.listeners.forEach(listener => listener.remove());
46
+ this.listeners = [];
47
+ }
48
+ setupEventListeners() {
49
+ const events = [{
50
+ name: 'didChangeHeight',
51
+ handler: this.handleHeightChange
52
+ }, {
53
+ name: 'onRecClick',
54
+ handler: this.handleRecClick
55
+ }, {
56
+ name: 'onOrganicClick',
57
+ handler: this.handleOrganicClick
58
+ }, {
59
+ name: 'onWidgetEvent',
60
+ handler: this.handleWidgetEvent
61
+ }];
62
+ events.forEach(event => {
63
+ const listener = this.eventEmitter.addListener(event.name, event.handler);
64
+ this.listeners.push(listener);
65
+ });
66
+ }
67
+ handleHeightChange(event) {
68
+ if (event.widgetRandomId !== this.widgetRandomId) {
69
+ return;
70
+ }
71
+ // Guard against setState on unmounted component
72
+ if (!this._isMounted) {
73
+ return;
74
+ }
75
+ console.log(`${this.props.widgetId}; onHeightChange: ${event.height} - was: ${this.state.height}`);
76
+ if (event.height != this.state.height) {
77
+ this.setState({
78
+ height: event.height
79
+ });
80
+ console.log(`${this.props.widgetId}; onHeightChange: ${event.height}`);
81
+ this.handler.onHeightChange?.(event.height);
82
+ }
83
+ }
84
+ handleRecClick(event) {
85
+ if (event.widgetRandomId !== this.widgetRandomId || !this._isMounted) {
86
+ return;
87
+ }
88
+ console.log(`${this.props.widgetId}; onRecClick`);
89
+ this.handler.onRecClick?.(event.url);
90
+ }
91
+ handleOrganicClick(event) {
92
+ if (event.widgetRandomId !== this.widgetRandomId || !this._isMounted) {
93
+ return;
94
+ }
95
+ console.log(`${this.props.widgetId}; onOrganicClick`);
96
+ this.handler.onOrganicClick?.(event.url);
97
+ }
98
+ handleWidgetEvent(event) {
99
+ if (event.widgetRandomId !== this.widgetRandomId || !this._isMounted) {
100
+ return;
101
+ }
102
+ console.log(`${this.props.widgetId}; onWidgetEvent: ${event.eventName}`);
103
+ this.handler.onWidgetEvent?.(event.eventName, event.additionalData);
104
+ }
105
+ render() {
106
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_WebViewNativeComponent.default, {
107
+ style: {
108
+ height: this.state.height
109
+ },
110
+ widgetId: this.props.widgetId,
111
+ widgetRandomId: this.widgetRandomId,
112
+ widgetIndex: this.props.widgetIndex,
113
+ url: this.props.articleUrl,
114
+ installationKey: this.props.partnerKey,
115
+ packageVersion: _version.packageVersion,
116
+ extId: this.props.extId,
117
+ extSecondaryId: this.props.extSecondaryId,
118
+ userId: this.props.userId,
119
+ pubImpId: this.props.pubImpId,
120
+ darkMode: this.props.darkMode
121
+ });
122
+ }
123
+ }
124
+
125
+ // This is a workaround to be able to export the class-based component
126
+ function TeadsAdPlacementFeed(props) {
127
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(TeadsWidgetCls, {
128
+ ...props
129
+ });
130
+ }
131
+ //# sourceMappingURL=TeadsAdPlacementFeed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_DefaultTeadsWidgetHandler","_version","_WebViewNativeComponent","_constants","_jsxRuntime","e","__esModule","default","TeadsWidgetCls","React","Component","defaultProps","darkMode","listeners","_isMounted","state","height","constructor","props","requiredPropsNames","forEach","propName","undefined","Error","widgetRandomId","Math","floor","random","handler","DefaultHandler","eventEmitter","NativeEventEmitter","NativeModules","TeadsEventModule","handleHeightChange","bind","handleRecClick","handleOrganicClick","handleWidgetEvent","componentDidMount","setupEventListeners","componentWillUnmount","listener","remove","events","name","event","addListener","push","console","log","widgetId","setState","onHeightChange","onRecClick","url","onOrganicClick","eventName","onWidgetEvent","additionalData","render","jsx","style","widgetIndex","articleUrl","installationKey","partnerKey","packageVersion","extId","extSecondaryId","userId","pubImpId","TeadsAdPlacementFeed"],"sourceRoot":"../../src","sources":["TeadsAdPlacementFeed.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.TeadsAdPlacementMedia = TeadsAdPlacementMedia;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _DefaultTeadsWidgetHandler = _interopRequireDefault(require("./DefaultTeadsWidgetHandler.js"));
10
+ var _version = require("./version.js");
11
+ var _TeadsMediaNativeComponent = _interopRequireDefault(require("./TeadsMediaNativeComponent"));
12
+ var _constants = require("./constants.js");
13
+ var _jsxRuntime = require("react/jsx-runtime");
14
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
+ class TeadsAdPlacementMediaCls extends _react.default.Component {
16
+ static defaultProps = {
17
+ darkMode: false
18
+ };
19
+ listeners = [];
20
+ _isMounted = false;
21
+ state = {
22
+ height: 0
23
+ };
24
+ constructor(props) {
25
+ super(props);
26
+ _constants.teadsRequiredPropsNames.forEach(propName => {
27
+ if (props[propName] === undefined || props[propName] === null) {
28
+ throw new Error(`Missing required prop: ${propName}`);
29
+ }
30
+ });
31
+ this.widgetRandomId = Math.floor(Math.random() * 1000000); // random ID to identify the widget instance
32
+ this.handler = props.handler === undefined ? _DefaultTeadsWidgetHandler.default : props.handler;
33
+ this.eventEmitter = new _reactNative.NativeEventEmitter(_reactNative.NativeModules.TeadsEventModule);
34
+ this.handleHeightChange = this.handleHeightChange.bind(this);
35
+ this.handleRecClick = this.handleRecClick.bind(this);
36
+ this.handleWidgetEvent = this.handleWidgetEvent.bind(this);
37
+ }
38
+ componentDidMount() {
39
+ this._isMounted = true;
40
+ this.setupEventListeners();
41
+ }
42
+ componentWillUnmount() {
43
+ this._isMounted = false;
44
+ this.listeners.forEach(listener => listener.remove());
45
+ this.listeners = [];
46
+ }
47
+ setupEventListeners() {
48
+ const events = [{
49
+ name: 'didChangeHeight',
50
+ handler: this.handleHeightChange
51
+ }, {
52
+ name: 'onRecClick',
53
+ handler: this.handleRecClick
54
+ }, {
55
+ name: 'onWidgetEvent',
56
+ handler: this.handleWidgetEvent
57
+ }];
58
+ events.forEach(event => {
59
+ const listener = this.eventEmitter.addListener(event.name, event.handler);
60
+ this.listeners.push(listener);
61
+ });
62
+ }
63
+ handleHeightChange(event) {
64
+ if (event.widgetRandomId !== this.widgetRandomId) {
65
+ return;
66
+ }
67
+ // Guard against setState on unmounted component
68
+ if (!this._isMounted) {
69
+ return;
70
+ }
71
+ if (event.height !== this.state.height) {
72
+ this.setState({
73
+ height: event.height
74
+ });
75
+ console.log(`TeadsAdPlacementMediaCls: pid: ${this.props.pid}; onHeightChange: ${event.height}`);
76
+ this.handler.onHeightChange?.(event.height);
77
+ } else {
78
+ console.log(`TeadsAdPlacementMediaCls: pid: ${this.props.pid}; onHeightChange: ${event.height} (no change)`);
79
+ }
80
+ }
81
+ handleRecClick(event) {
82
+ if (event.widgetRandomId !== this.widgetRandomId || !this._isMounted) {
83
+ return;
84
+ }
85
+ console.log(`TeadsWidget: pid: ${this.props.pid}; onRecClick`);
86
+ this.handler.onRecClick?.(event.url);
87
+ }
88
+ handleWidgetEvent(event) {
89
+ if (event.widgetRandomId !== this.widgetRandomId || !this._isMounted) {
90
+ return;
91
+ }
92
+ console.log(`TeadsWidget: pid: ${this.props.pid}; onWidgetEvent: ${event.eventName}`);
93
+ this.handler.onWidgetEvent?.(event.eventName, event.additionalData);
94
+ }
95
+ render() {
96
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_TeadsMediaNativeComponent.default, {
97
+ style: {
98
+ height: this.state.height
99
+ },
100
+ widgetRandomId: this.widgetRandomId,
101
+ url: this.props.url,
102
+ pid: this.props.pid,
103
+ packageVersion: _version.packageVersion,
104
+ installationKey: this.props.installationKey
105
+ });
106
+ }
107
+ }
108
+
109
+ // This is a workaround to be able to export the class-based component
110
+ function TeadsAdPlacementMedia(props) {
111
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(TeadsAdPlacementMediaCls, {
112
+ ...props
113
+ });
114
+ }
115
+ //# sourceMappingURL=TeadsAdPlacementMedia.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_DefaultTeadsWidgetHandler","_version","_TeadsMediaNativeComponent","_constants","_jsxRuntime","e","__esModule","default","TeadsAdPlacementMediaCls","React","Component","defaultProps","darkMode","listeners","_isMounted","state","height","constructor","props","teadsRequiredPropsNames","forEach","propName","undefined","Error","widgetRandomId","Math","floor","random","handler","DefaultHandler","eventEmitter","NativeEventEmitter","NativeModules","TeadsEventModule","handleHeightChange","bind","handleRecClick","handleWidgetEvent","componentDidMount","setupEventListeners","componentWillUnmount","listener","remove","events","name","event","addListener","push","setState","console","log","pid","onHeightChange","onRecClick","url","eventName","onWidgetEvent","additionalData","render","jsx","style","packageVersion","installationKey","TeadsAdPlacementMedia"],"sourceRoot":"../../src","sources":["TeadsAdPlacementMedia.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.TeadsInAppBrowser = void 0;
7
+ var _reactNative = require("react-native");
8
+ var _reactNativeInappbrowserReborn = require("react-native-inappbrowser-reborn");
9
+ const TeadsInAppBrowser = exports.TeadsInAppBrowser = Object.freeze({
10
+ open: async function (url) {
11
+ try {
12
+ if (_reactNativeInappbrowserReborn.InAppBrowser?.isAvailable && (await _reactNativeInappbrowserReborn.InAppBrowser.isAvailable())) {
13
+ await _reactNativeInappbrowserReborn.InAppBrowser.open(url, {
14
+ // iOS Properties
15
+ readerMode: false,
16
+ animated: true,
17
+ modalPresentationStyle: 'fullScreen',
18
+ modalTransitionStyle: 'coverVertical',
19
+ modalEnabled: true,
20
+ enableBarCollapsing: false,
21
+ // Android Properties
22
+ showTitle: true,
23
+ enableUrlBarHiding: true,
24
+ enableDefaultShare: true,
25
+ forceCloseOnRedirection: false,
26
+ // Specify full animation resource identifier(package:anim/name)
27
+ // or only resource name(in case of animation bundled with app).
28
+ animations: {
29
+ startEnter: 'slide_in_right',
30
+ startExit: 'slide_out_left',
31
+ endEnter: 'slide_in_left',
32
+ endExit: 'slide_out_right'
33
+ },
34
+ headers: {
35
+ 'my-custom-header': 'my custom header value'
36
+ }
37
+ });
38
+ } else {
39
+ await _reactNative.Linking.openURL(url);
40
+ }
41
+ } catch (error) {
42
+ console.log('Error opening URL:', error);
43
+ // Fallback to Linking.openURL if InAppBrowser fails
44
+ await _reactNative.Linking.openURL(url);
45
+ }
46
+ }
47
+ });
48
+ //# sourceMappingURL=TeadsInAppBrowser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","_reactNativeInappbrowserReborn","TeadsInAppBrowser","exports","Object","freeze","open","url","InAppBrowser","isAvailable","readerMode","animated","modalPresentationStyle","modalTransitionStyle","modalEnabled","enableBarCollapsing","showTitle","enableUrlBarHiding","enableDefaultShare","forceCloseOnRedirection","animations","startEnter","startExit","endEnter","endExit","headers","Linking","openURL","error","console","log"],"sourceRoot":"../../src","sources":["TeadsInAppBrowser.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,8BAAA,GAAAD,OAAA;AAEO,MAAME,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,GAAGE,MAAM,CAACC,MAAM,CAAC;EAC7CC,IAAI,EAAE,eAAAA,CAAgBC,GAAW,EAAE;IACjC,IAAI;MACF,IAAIC,2CAAY,EAAEC,WAAW,KAAK,MAAMD,2CAAY,CAACC,WAAW,CAAC,CAAC,CAAC,EAAE;QACnE,MAAMD,2CAAY,CAACF,IAAI,CAACC,GAAG,EAAE;UAC3B;UACAG,UAAU,EAAE,KAAK;UACjBC,QAAQ,EAAE,IAAI;UACdC,sBAAsB,EAAE,YAAY;UACpCC,oBAAoB,EAAE,eAAe;UACrCC,YAAY,EAAE,IAAI;UAClBC,mBAAmB,EAAE,KAAK;UAC1B;UACAC,SAAS,EAAE,IAAI;UACfC,kBAAkB,EAAE,IAAI;UACxBC,kBAAkB,EAAE,IAAI;UACxBC,uBAAuB,EAAE,KAAK;UAC9B;UACA;UACAC,UAAU,EAAE;YACVC,UAAU,EAAE,gBAAgB;YAC5BC,SAAS,EAAE,gBAAgB;YAC3BC,QAAQ,EAAE,eAAe;YACzBC,OAAO,EAAE;UACX,CAAC;UACDC,OAAO,EAAE;YACP,kBAAkB,EAAE;UACtB;QACF,CAAC,CAAC;MACJ,CAAC,MAAM;QACL,MAAMC,oBAAO,CAACC,OAAO,CAACpB,GAAG,CAAC;MAC5B;IACF,CAAC,CAAC,OAAOqB,KAAK,EAAE;MACdC,OAAO,CAACC,GAAG,CAAC,oBAAoB,EAAEF,KAAK,CAAC;MACxC;MACA,MAAMF,oBAAO,CAACC,OAAO,CAACpB,GAAG,CAAC;IAC5B;EACF;AACF,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,15 @@
1
+ import type { HostComponent, ViewProps } from 'react-native';
2
+ import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';
3
+ import type { Int32 } from 'react-native/Libraries/Types/CodegenTypes';
4
+
5
+ export interface NativeProps extends ViewProps {
6
+ pid: string;
7
+ widgetRandomId: Int32;
8
+ url: string;
9
+ packageVersion: string;
10
+ installationKey?: string;
11
+ }
12
+
13
+ export default codegenNativeComponent<NativeProps>(
14
+ 'TeadsAdPlacementMedia'
15
+ ) as HostComponent<NativeProps>;
@@ -0,0 +1,21 @@
1
+ import type { HostComponent, ViewProps } from 'react-native';
2
+ import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';
3
+ import type { Int32 } from 'react-native/Libraries/Types/CodegenTypes';
4
+
5
+ export interface NativeProps extends ViewProps {
6
+ widgetId: string;
7
+ widgetRandomId: Int32;
8
+ widgetIndex: Int32;
9
+ url: string;
10
+ installationKey: string;
11
+ packageVersion: string;
12
+ extId?: string;
13
+ extSecondaryId?: string;
14
+ userId?: string;
15
+ pubImpId?: string;
16
+ darkMode?: boolean;
17
+ }
18
+
19
+ export default codegenNativeComponent<NativeProps>(
20
+ 'TeadsAdPlacementFeed'
21
+ ) as HostComponent<NativeProps>;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.teadsRequiredPropsNames = exports.requiredPropsNames = void 0;
7
+ const requiredPropsNames = exports.requiredPropsNames = ['widgetId', 'widgetIndex', 'articleUrl', 'partnerKey'];
8
+ const teadsRequiredPropsNames = exports.teadsRequiredPropsNames = ['pid', 'url'];
9
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["requiredPropsNames","exports","teadsRequiredPropsNames"],"sourceRoot":"../../src","sources":["constants.ts"],"mappings":";;;;;;AAAO,MAAMA,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,GAAG,CAChC,UAAU,EACV,aAAa,EACb,YAAY,EACZ,YAAY,CACJ;AAEH,MAAME,uBAAuB,GAAAD,OAAA,CAAAC,uBAAA,GAAG,CACrC,KAAK,EACL,KAAK,CACG","ignoreList":[]}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "TeadsAdPlacementFeed", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _TeadsAdPlacementFeed.TeadsAdPlacementFeed;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "TeadsAdPlacementMedia", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _TeadsAdPlacementMedia.TeadsAdPlacementMedia;
16
+ }
17
+ });
18
+ var _TeadsAdPlacementFeed = require("./TeadsAdPlacementFeed.js");
19
+ var _TeadsAdPlacementMedia = require("./TeadsAdPlacementMedia.js");
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_TeadsAdPlacementFeed","require","_TeadsAdPlacementMedia"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;;;;;;AAAA,IAAAA,qBAAA,GAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAD,OAAA","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"type":"commonjs"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=types.d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../src","sources":["types.d.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.packageVersion = void 0;
7
+ const packageVersion = exports.packageVersion = '6.0.2';
8
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["packageVersion","exports"],"sourceRoot":"../../src","sources":["version.ts"],"mappings":";;;;;;AAAO,MAAMA,cAAc,GAAAC,OAAA,CAAAD,cAAA,GAAG,OAAO","ignoreList":[]}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ import { TeadsInAppBrowser } from "./TeadsInAppBrowser.js";
4
+ const DefaultHandler = {
5
+ onHeightChange: _newHeight => {},
6
+ onRecClick: url => {
7
+ console.log('onRecClick', url);
8
+ // no need to open - SDK will open outside of the app
9
+ },
10
+ onOrganicClick: url => {
11
+ console.log('onOrganicClick', url);
12
+ TeadsInAppBrowser.open(url);
13
+ },
14
+ onWidgetEvent: (_eventName, _data) => {}
15
+ };
16
+ export default DefaultHandler;
17
+ //# sourceMappingURL=DefaultTeadsWidgetHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["TeadsInAppBrowser","DefaultHandler","onHeightChange","_newHeight","onRecClick","url","console","log","onOrganicClick","open","onWidgetEvent","_eventName","_data"],"sourceRoot":"../../src","sources":["DefaultTeadsWidgetHandler.ts"],"mappings":";;AACA,SAASA,iBAAiB,QAAQ,wBAAqB;AAEvD,MAAMC,cAAuC,GAAG;EAC9CC,cAAc,EAAGC,UAAU,IAAK,CAAC,CAAC;EAClCC,UAAU,EAAGC,GAAG,IAAK;IACnBC,OAAO,CAACC,GAAG,CAAC,YAAY,EAAEF,GAAG,CAAC;IAC9B;EACF,CAAC;EACDG,cAAc,EAAGH,GAAG,IAAK;IACvBC,OAAO,CAACC,GAAG,CAAC,gBAAgB,EAAEF,GAAG,CAAC;IAClCL,iBAAiB,CAACS,IAAI,CAACJ,GAAG,CAAC;EAC7B,CAAC;EACDK,aAAa,EAAEA,CAACC,UAAU,EAAEC,KAAK,KAAK,CAAC;AACzC,CAAC;AAED,eAAeX,cAAc","ignoreList":[]}