@tryheliumai/paywall-sdk-react-native 0.1.1 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/index.js +6 -5
- package/lib/commonjs/index.js.map +1 -2
- package/lib/commonjs/native-interface.js +17 -2
- package/lib/commonjs/native-interface.js.map +1 -1
- package/lib/module/index.js +2 -2
- package/lib/module/index.js.map +1 -2
- package/lib/module/native-interface.js +17 -2
- package/lib/module/native-interface.js.map +1 -1
- package/lib/typescript/commonjs/src/native-interface.d.ts +1 -1
- package/lib/typescript/commonjs/src/native-interface.d.ts.map +1 -1
- package/lib/typescript/module/src/native-interface.d.ts +1 -1
- package/lib/typescript/module/src/native-interface.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/native-interface.tsx +17 -2
- package/src/index.tsx +0 -2
package/lib/commonjs/index.js
CHANGED
|
@@ -3,6 +3,12 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
Object.defineProperty(exports, "HELIUM_CTA_NAMES", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _nativeInterface.HELIUM_CTA_NAMES;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
6
12
|
Object.defineProperty(exports, "HeliumProvider", {
|
|
7
13
|
enumerable: true,
|
|
8
14
|
get: function () {
|
|
@@ -34,9 +40,4 @@ Object.defineProperty(exports, "presentUpsell", {
|
|
|
34
40
|
}
|
|
35
41
|
});
|
|
36
42
|
var _nativeInterface = require("./native-interface.js");
|
|
37
|
-
//# sourceMappingURL=index.js.mapn () {
|
|
38
|
-
return _nativeInterface.presentUpsell;
|
|
39
|
-
}
|
|
40
|
-
});
|
|
41
|
-
var _nativeInterface = require("./native-interface.js");
|
|
42
43
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_nativeInterface","require"],"sourceRoot":"../../src","sources":["index.
|
|
2
|
-
:[]}
|
|
1
|
+
{"version":3,"names":["_nativeInterface","require"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,gBAAA,GAAAC,OAAA","ignoreList":[]}
|
|
@@ -14,6 +14,18 @@ const {
|
|
|
14
14
|
} = _reactNative.NativeModules;
|
|
15
15
|
const heliumEventEmitter = new _reactNative.NativeEventEmitter(HeliumBridge);
|
|
16
16
|
let isProviderMounted = false;
|
|
17
|
+
// Add a promise to track when the provider is mounted
|
|
18
|
+
let providerMountedPromise;
|
|
19
|
+
let resolveProviderMounted;
|
|
20
|
+
|
|
21
|
+
// Initialize the promise
|
|
22
|
+
providerMountedPromise = new Promise(resolve => {
|
|
23
|
+
resolveProviderMounted = resolve;
|
|
24
|
+
// If provider is already mounted, resolve immediately
|
|
25
|
+
if (isProviderMounted) {
|
|
26
|
+
resolve();
|
|
27
|
+
}
|
|
28
|
+
});
|
|
17
29
|
|
|
18
30
|
// Move NativeHeliumUpsellView to a singleton pattern
|
|
19
31
|
let NativeHeliumUpsellView = null;
|
|
@@ -33,6 +45,8 @@ const HeliumProvider = ({
|
|
|
33
45
|
}) => {
|
|
34
46
|
(0, _react.useEffect)(() => {
|
|
35
47
|
isProviderMounted = true;
|
|
48
|
+
// Resolve the promise when the provider is mounted
|
|
49
|
+
resolveProviderMounted();
|
|
36
50
|
return () => {
|
|
37
51
|
isProviderMounted = false;
|
|
38
52
|
};
|
|
@@ -51,9 +65,10 @@ const HeliumProvider = ({
|
|
|
51
65
|
|
|
52
66
|
// Update initialize to accept config
|
|
53
67
|
exports.HeliumProvider = HeliumProvider;
|
|
54
|
-
const initialize = (heliumCallbacks, config = {}) => {
|
|
68
|
+
const initialize = async (heliumCallbacks, config = {}) => {
|
|
69
|
+
// Wait for the provider to be mounted if it's not already
|
|
55
70
|
if (!isProviderMounted) {
|
|
56
|
-
|
|
71
|
+
await providerMountedPromise;
|
|
57
72
|
}
|
|
58
73
|
const viewTag = (0, _reactNative.findNodeHandle)(fallbackRef.current);
|
|
59
74
|
if (!viewTag) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_react","_interopRequireWildcard","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","HeliumBridge","NativeModules","heliumEventEmitter","NativeEventEmitter","isProviderMounted","NativeHeliumUpsellView","getNativeHeliumUpsellView","requireNativeComponent","fallbackRef","createRef","HeliumProvider","children","fallbackView","FallbackView","useEffect","jsxs","Fragment","jsx","View","ref","collapsable","style","display","exports","initialize","heliumCallbacks","config","
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_react","_interopRequireWildcard","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","HeliumBridge","NativeModules","heliumEventEmitter","NativeEventEmitter","isProviderMounted","providerMountedPromise","resolveProviderMounted","Promise","resolve","NativeHeliumUpsellView","getNativeHeliumUpsellView","requireNativeComponent","fallbackRef","createRef","HeliumProvider","children","fallbackView","FallbackView","useEffect","jsxs","Fragment","jsx","View","ref","collapsable","style","display","exports","initialize","heliumCallbacks","config","viewTag","findNodeHandle","current","Error","addListener","event","status","makePurchase","productId","handlePurchaseResponse","transactionId","success","restorePurchases","handleRestoreResponse","type","paywallTemplateName","setNativeProps","onHeliumPaywallEvent","apiKey","fallbackPaywall","triggers","customUserId","customAPIEndpoint","customUserTraits","presentUpsell","triggerName","hideUpsell","UpsellView","trigger","NativeView","flex","HELIUM_CTA_NAMES","SCHEDULE_CALL","SUBSCRIBE_BUTTON"],"sourceRoot":"../../src","sources":["native-interface.tsx"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,uBAAA,CAAAF,OAAA;AAAoD,IAAAG,WAAA,GAAAH,OAAA;AAAA,SAAAI,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAH,wBAAAG,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAGpD,MAAM;EAAEW;AAAa,CAAC,GAAGC,0BAAa;AACtC,MAAMC,kBAAkB,GAAG,IAAIC,+BAAkB,CAACH,YAAY,CAAC;AAE/D,IAAII,iBAAiB,GAAG,KAAK;AAC7B;AACA,IAAIC,sBAAqC;AACzC,IAAIC,sBAAkC;;AAEtC;AACAD,sBAAsB,GAAG,IAAIE,OAAO,CAAQC,OAAO,IAAK;EACtDF,sBAAsB,GAAGE,OAAO;EAChC;EACA,IAAIJ,iBAAiB,EAAE;IACrBI,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC;;AAEF;AACA,IAAIC,sBAA2B,GAAG,IAAI;AACtC,MAAMC,yBAAyB,GAAGA,CAAA,KAAM;EACtC,IAAI,CAACD,sBAAsB,EAAE;IAC3BA,sBAAsB,GAAG,IAAAE,mCAAsB,EAAwB,kBAAkB,CAAC;EAC5F;EACA,OAAOF,sBAAsB;AAC/B,CAAC;AAOD;AACA,MAAMG,WAAW,gBAAG,IAAAC,gBAAS,EAAO,CAAC;;AAErC;AACO,MAAMC,cAAc,GAAGA,CAAC;EAAEC,QAAQ;EAAEC,YAAY,EAAEC;AAAkC,CAAC,KAAK;EAE/F,IAAAC,gBAAS,EAAC,MAAM;IACdd,iBAAiB,GAAG,IAAI;IACxB;IACAE,sBAAsB,CAAC,CAAC;IACxB,OAAO,MAAM;MACXF,iBAAiB,GAAG,KAAK;IAC3B,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,oBACE,IAAAzB,WAAA,CAAAwC,IAAA,EAAAxC,WAAA,CAAAyC,QAAA;IAAAL,QAAA,gBACE,IAAApC,WAAA,CAAA0C,GAAA,EAAC9C,YAAA,CAAA+C,IAAI;MACHC,GAAG,EAAEX,WAAY;MACjBY,WAAW,EAAE,KAAM;MACnBC,KAAK,EAAE;QACLC,OAAO,EAAE,MAAM,CAAC;MAClB,CAAE;MAAAX,QAAA,eAEF,IAAApC,WAAA,CAAA0C,GAAA,EAACJ,YAAY,IAAE;IAAC,CACZ,CAAC,EACNF,QAAQ;EAAA,CACT,CAAC;AAEP,CAAC;;AAED;AAAAY,OAAA,CAAAb,cAAA,GAAAA,cAAA;AACO,MAAMc,UAAU,GAAG,MAAAA,CAAOC,eAAgC,EAAEC,MAA6B,GAAG,CAAC,CAAC,KAAK;EACxG;EACA,IAAI,CAAC1B,iBAAiB,EAAE;IACtB,MAAMC,sBAAsB;EAC9B;EAEA,MAAM0B,OAAO,GAAG,IAAAC,2BAAc,EAACpB,WAAW,CAACqB,OAAO,CAAC;EACnD,IAAI,CAACF,OAAO,EAAE;IACZ,MAAM,IAAIG,KAAK,CAAC,kGAAkG,CAAC;EACrH;;EAEA;EACAhC,kBAAkB,CAACiC,WAAW,CAC5B,sBAAsB,EACtB,MAAOC,KAAmD,IAAK;IAC7D,MAAMC,MAAM,GAAG,MAAMR,eAAe,CAACS,YAAY,CAACF,KAAK,CAACG,SAAS,CAAC;IAClEvC,YAAY,CAACwC,sBAAsB,CAAC;MAClCC,aAAa,EAAEL,KAAK,CAACK,aAAa;MAClCJ,MAAM,EAAEA;IACV,CAAC,CAAC;EACJ,CACF,CAAC;;EAED;EACAnC,kBAAkB,CAACiC,WAAW,CAC5B,0BAA0B,EAC1B,MAAOC,KAAgC,IAAK;IAC1C,MAAMM,OAAO,GAAG,MAAMb,eAAe,CAACc,gBAAgB,CAAC,CAAC;IACxD3C,YAAY,CAAC4C,qBAAqB,CAAC;MACjCH,aAAa,EAAEL,KAAK,CAACK,aAAa;MAClCJ,MAAM,EAAEK,OAAO,GAAG,UAAU,GAAG;IACjC,CAAC,CAAC;EACJ,CACF,CAAC;;EAED;EACAxC,kBAAkB,CAACiC,WAAW,CAC5B,sBAAsB,EACrBC,KAAU,IAAK;IAEd,IAAIA,KAAK,CAACS,IAAI,KAAK,aAAa,IAAIT,KAAK,CAACU,mBAAmB,KAAK,UAAU,EAAE;MAC5E;MACA,IAAIlC,WAAW,CAACqB,OAAO,EAAE;QACvBrB,WAAW,CAACqB,OAAO,CAACc,cAAc,CAAC;UACjCtB,KAAK,EAAE;YAAEC,OAAO,EAAE;UAAO;QAC3B,CAAC,CAAC;MACJ;IACF,CAAC,MAAM,IAAIU,KAAK,CAACS,IAAI,KAAK,cAAc,IAAIT,KAAK,CAACU,mBAAmB,KAAK,UAAU,EAAE;MACpF;MACA,IAAIlC,WAAW,CAACqB,OAAO,EAAE;QACvBrB,WAAW,CAACqB,OAAO,CAACc,cAAc,CAAC;UACjCtB,KAAK,EAAE;YAAEC,OAAO,EAAE;UAAO;QAC3B,CAAC,CAAC;MACJ;IACF;IACAG,eAAe,CAACmB,oBAAoB,CAACZ,KAAK,CAAC;EAC7C,CACF,CAAC;;EAED;EACApC,YAAY,CAAC4B,UAAU,CACrB;IACEqB,MAAM,EAAEnB,MAAM,CAACmB,MAAM;IACrBC,eAAe,EAAEnB,OAAO;IACxBoB,QAAQ,EAAErB,MAAM,CAACqB,QAAQ,IAAI,EAAE;IAC/BC,YAAY,EAAEtB,MAAM,CAACsB,YAAY,IAAI,IAAI;IACzCC,iBAAiB,EAAEvB,MAAM,CAACuB,iBAAiB,IAAI,IAAI;IACnDC,gBAAgB,EAAExB,MAAM,CAACwB,gBAAgB,IAAI;MAC3C,kBAAkB,EAAE;IACtB;EACF,CAAC,EACD,CAAC,CACH,CAAC;AACH,CAAC;;AAED;AAAA3B,OAAA,CAAAC,UAAA,GAAAA,UAAA;AACO,MAAM2B,aAAa,GAAIC,WAAmB,IAAK;EACpDxD,YAAY,CAACuD,aAAa,CAACC,WAAW,CAAC;AACzC,CAAC;AAAC7B,OAAA,CAAA4B,aAAA,GAAAA,aAAA;AAEK,MAAME,UAAU,GAAGA,CAAA,KAAM;EAC9BzD,YAAY,CAACyD,UAAU,CAAC,CAAC;AAC3B,CAAC;;AAED;AAAA9B,OAAA,CAAA8B,UAAA,GAAAA,UAAA;AACO,MAAMC,UAA2C,GAAGA,CAAC;EAAEC,OAAO;EAAElC;AAAM,CAAC,KAAK;EACjF,MAAMmC,UAAU,GAAGlD,yBAAyB,CAAC,CAAC;EAC9C,oBACE,IAAA/B,WAAA,CAAA0C,GAAA,EAACuC,UAAU;IACTD,OAAO,EAAEA,OAAQ;IACjBlC,KAAK,EAAE,CAAC;MAAEoC,IAAI,EAAE;IAAE,CAAC,EAAEpC,KAAK;EAAE,CAC7B,CAAC;AAEN,CAAC;AAACE,OAAA,CAAA+B,UAAA,GAAAA,UAAA;AAEK,MAAMI,gBAAgB,GAAAnC,OAAA,CAAAmC,gBAAA,GAAG;EAC9BC,aAAa,EAAE,eAAe;EAC9BC,gBAAgB,EAAE;AACpB,CAAC","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
export { HeliumProvider, initialize, presentUpsell, hideUpsell, UpsellView } from "./native-interface.js";
|
|
4
|
-
//# sourceMappingURL=index.js.
|
|
3
|
+
export { HeliumProvider, initialize, presentUpsell, hideUpsell, UpsellView, HELIUM_CTA_NAMES } from "./native-interface.js";
|
|
4
|
+
//# sourceMappingURL=index.js.map
|
package/lib/module/index.js.map
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
{"version":3,"names":["HeliumProvider","initialize","presentUpsell","hideUpsell","UpsellView"],"sourceRoot":"../../src","sources":["index.
|
|
2
|
-
,QAAQ,uBAAoB","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["HeliumProvider","initialize","presentUpsell","hideUpsell","UpsellView","HELIUM_CTA_NAMES"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,SAASA,cAAc,EAAEC,UAAU,EAAEC,aAAa,EAAEC,UAAU,EAAEC,UAAU,EAAEC,gBAAgB,QAAQ,uBAAoB","ignoreList":[]}
|
|
@@ -8,6 +8,18 @@ const {
|
|
|
8
8
|
} = NativeModules;
|
|
9
9
|
const heliumEventEmitter = new NativeEventEmitter(HeliumBridge);
|
|
10
10
|
let isProviderMounted = false;
|
|
11
|
+
// Add a promise to track when the provider is mounted
|
|
12
|
+
let providerMountedPromise;
|
|
13
|
+
let resolveProviderMounted;
|
|
14
|
+
|
|
15
|
+
// Initialize the promise
|
|
16
|
+
providerMountedPromise = new Promise(resolve => {
|
|
17
|
+
resolveProviderMounted = resolve;
|
|
18
|
+
// If provider is already mounted, resolve immediately
|
|
19
|
+
if (isProviderMounted) {
|
|
20
|
+
resolve();
|
|
21
|
+
}
|
|
22
|
+
});
|
|
11
23
|
|
|
12
24
|
// Move NativeHeliumUpsellView to a singleton pattern
|
|
13
25
|
let NativeHeliumUpsellView = null;
|
|
@@ -27,6 +39,8 @@ export const HeliumProvider = ({
|
|
|
27
39
|
}) => {
|
|
28
40
|
useEffect(() => {
|
|
29
41
|
isProviderMounted = true;
|
|
42
|
+
// Resolve the promise when the provider is mounted
|
|
43
|
+
resolveProviderMounted();
|
|
30
44
|
return () => {
|
|
31
45
|
isProviderMounted = false;
|
|
32
46
|
};
|
|
@@ -44,9 +58,10 @@ export const HeliumProvider = ({
|
|
|
44
58
|
};
|
|
45
59
|
|
|
46
60
|
// Update initialize to accept config
|
|
47
|
-
export const initialize = (heliumCallbacks, config = {}) => {
|
|
61
|
+
export const initialize = async (heliumCallbacks, config = {}) => {
|
|
62
|
+
// Wait for the provider to be mounted if it's not already
|
|
48
63
|
if (!isProviderMounted) {
|
|
49
|
-
|
|
64
|
+
await providerMountedPromise;
|
|
50
65
|
}
|
|
51
66
|
const viewTag = findNodeHandle(fallbackRef.current);
|
|
52
67
|
if (!viewTag) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["findNodeHandle","NativeModules","View","NativeEventEmitter","requireNativeComponent","React","createRef","useEffect","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","HeliumBridge","heliumEventEmitter","isProviderMounted","NativeHeliumUpsellView","getNativeHeliumUpsellView","fallbackRef","HeliumProvider","children","fallbackView","FallbackView","ref","collapsable","style","display","initialize","heliumCallbacks","config","
|
|
1
|
+
{"version":3,"names":["findNodeHandle","NativeModules","View","NativeEventEmitter","requireNativeComponent","React","createRef","useEffect","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","HeliumBridge","heliumEventEmitter","isProviderMounted","providerMountedPromise","resolveProviderMounted","Promise","resolve","NativeHeliumUpsellView","getNativeHeliumUpsellView","fallbackRef","HeliumProvider","children","fallbackView","FallbackView","ref","collapsable","style","display","initialize","heliumCallbacks","config","viewTag","current","Error","addListener","event","status","makePurchase","productId","handlePurchaseResponse","transactionId","success","restorePurchases","handleRestoreResponse","type","paywallTemplateName","setNativeProps","onHeliumPaywallEvent","apiKey","fallbackPaywall","triggers","customUserId","customAPIEndpoint","customUserTraits","presentUpsell","triggerName","hideUpsell","UpsellView","trigger","NativeView","flex","HELIUM_CTA_NAMES","SCHEDULE_CALL","SUBSCRIBE_BUTTON"],"sourceRoot":"../../src","sources":["native-interface.tsx"],"mappings":";;AAAA,SAASA,cAAc,EAAEC,aAAa,EAAEC,IAAI,EAAEC,kBAAkB,EAAEC,sBAAsB,QAAQ,cAAc;AAC9G,OAAOC,KAAK,IAAIC,SAAS,EAAEC,SAAS,QAAQ,OAAO;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAAC,SAAA,EAAAC,IAAA,IAAAC,KAAA;AAGpD,MAAM;EAAEC;AAAa,CAAC,GAAGb,aAAa;AACtC,MAAMc,kBAAkB,GAAG,IAAIZ,kBAAkB,CAACW,YAAY,CAAC;AAE/D,IAAIE,iBAAiB,GAAG,KAAK;AAC7B;AACA,IAAIC,sBAAqC;AACzC,IAAIC,sBAAkC;;AAEtC;AACAD,sBAAsB,GAAG,IAAIE,OAAO,CAAQC,OAAO,IAAK;EACtDF,sBAAsB,GAAGE,OAAO;EAChC;EACA,IAAIJ,iBAAiB,EAAE;IACrBI,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC;;AAEF;AACA,IAAIC,sBAA2B,GAAG,IAAI;AACtC,MAAMC,yBAAyB,GAAGA,CAAA,KAAM;EACtC,IAAI,CAACD,sBAAsB,EAAE;IAC3BA,sBAAsB,GAAGjB,sBAAsB,CAAwB,kBAAkB,CAAC;EAC5F;EACA,OAAOiB,sBAAsB;AAC/B,CAAC;AAOD;AACA,MAAME,WAAW,gBAAGjB,SAAS,CAAO,CAAC;;AAErC;AACA,OAAO,MAAMkB,cAAc,GAAGA,CAAC;EAAEC,QAAQ;EAAEC,YAAY,EAAEC;AAAkC,CAAC,KAAK;EAE/FpB,SAAS,CAAC,MAAM;IACdS,iBAAiB,GAAG,IAAI;IACxB;IACAE,sBAAsB,CAAC,CAAC;IACxB,OAAO,MAAM;MACXF,iBAAiB,GAAG,KAAK;IAC3B,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,oBACEH,KAAA,CAAAF,SAAA;IAAAc,QAAA,gBACEhB,IAAA,CAACP,IAAI;MACH0B,GAAG,EAAEL,WAAY;MACjBM,WAAW,EAAE,KAAM;MACnBC,KAAK,EAAE;QACLC,OAAO,EAAE,MAAM,CAAC;MAClB,CAAE;MAAAN,QAAA,eAEFhB,IAAA,CAACkB,YAAY,IAAE;IAAC,CACZ,CAAC,EACNF,QAAQ;EAAA,CACT,CAAC;AAEP,CAAC;;AAED;AACA,OAAO,MAAMO,UAAU,GAAG,MAAAA,CAAOC,eAAgC,EAAEC,MAA6B,GAAG,CAAC,CAAC,KAAK;EACxG;EACA,IAAI,CAAClB,iBAAiB,EAAE;IACtB,MAAMC,sBAAsB;EAC9B;EAEA,MAAMkB,OAAO,GAAGnC,cAAc,CAACuB,WAAW,CAACa,OAAO,CAAC;EACnD,IAAI,CAACD,OAAO,EAAE;IACZ,MAAM,IAAIE,KAAK,CAAC,kGAAkG,CAAC;EACrH;;EAEA;EACAtB,kBAAkB,CAACuB,WAAW,CAC5B,sBAAsB,EACtB,MAAOC,KAAmD,IAAK;IAC7D,MAAMC,MAAM,GAAG,MAAMP,eAAe,CAACQ,YAAY,CAACF,KAAK,CAACG,SAAS,CAAC;IAClE5B,YAAY,CAAC6B,sBAAsB,CAAC;MAClCC,aAAa,EAAEL,KAAK,CAACK,aAAa;MAClCJ,MAAM,EAAEA;IACV,CAAC,CAAC;EACJ,CACF,CAAC;;EAED;EACAzB,kBAAkB,CAACuB,WAAW,CAC5B,0BAA0B,EAC1B,MAAOC,KAAgC,IAAK;IAC1C,MAAMM,OAAO,GAAG,MAAMZ,eAAe,CAACa,gBAAgB,CAAC,CAAC;IACxDhC,YAAY,CAACiC,qBAAqB,CAAC;MACjCH,aAAa,EAAEL,KAAK,CAACK,aAAa;MAClCJ,MAAM,EAAEK,OAAO,GAAG,UAAU,GAAG;IACjC,CAAC,CAAC;EACJ,CACF,CAAC;;EAED;EACA9B,kBAAkB,CAACuB,WAAW,CAC5B,sBAAsB,EACrBC,KAAU,IAAK;IAEd,IAAIA,KAAK,CAACS,IAAI,KAAK,aAAa,IAAIT,KAAK,CAACU,mBAAmB,KAAK,UAAU,EAAE;MAC5E;MACA,IAAI1B,WAAW,CAACa,OAAO,EAAE;QACvBb,WAAW,CAACa,OAAO,CAACc,cAAc,CAAC;UACjCpB,KAAK,EAAE;YAAEC,OAAO,EAAE;UAAO;QAC3B,CAAC,CAAC;MACJ;IACF,CAAC,MAAM,IAAIQ,KAAK,CAACS,IAAI,KAAK,cAAc,IAAIT,KAAK,CAACU,mBAAmB,KAAK,UAAU,EAAE;MACpF;MACA,IAAI1B,WAAW,CAACa,OAAO,EAAE;QACvBb,WAAW,CAACa,OAAO,CAACc,cAAc,CAAC;UACjCpB,KAAK,EAAE;YAAEC,OAAO,EAAE;UAAO;QAC3B,CAAC,CAAC;MACJ;IACF;IACAE,eAAe,CAACkB,oBAAoB,CAACZ,KAAK,CAAC;EAC7C,CACF,CAAC;;EAED;EACAzB,YAAY,CAACkB,UAAU,CACrB;IACEoB,MAAM,EAAElB,MAAM,CAACkB,MAAM;IACrBC,eAAe,EAAElB,OAAO;IACxBmB,QAAQ,EAAEpB,MAAM,CAACoB,QAAQ,IAAI,EAAE;IAC/BC,YAAY,EAAErB,MAAM,CAACqB,YAAY,IAAI,IAAI;IACzCC,iBAAiB,EAAEtB,MAAM,CAACsB,iBAAiB,IAAI,IAAI;IACnDC,gBAAgB,EAAEvB,MAAM,CAACuB,gBAAgB,IAAI;MAC3C,kBAAkB,EAAE;IACtB;EACF,CAAC,EACD,CAAC,CACH,CAAC;AACH,CAAC;;AAED;AACA,OAAO,MAAMC,aAAa,GAAIC,WAAmB,IAAK;EACpD7C,YAAY,CAAC4C,aAAa,CAACC,WAAW,CAAC;AACzC,CAAC;AAED,OAAO,MAAMC,UAAU,GAAGA,CAAA,KAAM;EAC9B9C,YAAY,CAAC8C,UAAU,CAAC,CAAC;AAC3B,CAAC;;AAED;AACA,OAAO,MAAMC,UAA2C,GAAGA,CAAC;EAAEC,OAAO;EAAEhC;AAAM,CAAC,KAAK;EACjF,MAAMiC,UAAU,GAAGzC,yBAAyB,CAAC,CAAC;EAC9C,oBACEb,IAAA,CAACsD,UAAU;IACTD,OAAO,EAAEA,OAAQ;IACjBhC,KAAK,EAAE,CAAC;MAAEkC,IAAI,EAAE;IAAE,CAAC,EAAElC,KAAK;EAAE,CAC7B,CAAC;AAEN,CAAC;AAED,OAAO,MAAMmC,gBAAgB,GAAG;EAC9BC,aAAa,EAAE,eAAe;EAC9BC,gBAAgB,EAAE;AACpB,CAAC","ignoreList":[]}
|
|
@@ -5,7 +5,7 @@ interface HeliumProviderProps {
|
|
|
5
5
|
fallbackView: React.ComponentType;
|
|
6
6
|
}
|
|
7
7
|
export declare const HeliumProvider: ({ children, fallbackView: FallbackView }: HeliumProviderProps) => import("react/jsx-runtime").JSX.Element;
|
|
8
|
-
export declare const initialize: (heliumCallbacks: HeliumCallbacks, config?: Partial<HeliumConfig>) => void
|
|
8
|
+
export declare const initialize: (heliumCallbacks: HeliumCallbacks, config?: Partial<HeliumConfig>) => Promise<void>;
|
|
9
9
|
export declare const presentUpsell: (triggerName: string) => void;
|
|
10
10
|
export declare const hideUpsell: () => void;
|
|
11
11
|
export declare const UpsellView: React.FC<HeliumUpsellViewProps>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native-interface.d.ts","sourceRoot":"","sources":["../../../../src/native-interface.tsx"],"names":[],"mappings":"AACA,OAAO,KAA+B,MAAM,OAAO,CAAC;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"native-interface.d.ts","sourceRoot":"","sources":["../../../../src/native-interface.tsx"],"names":[],"mappings":"AACA,OAAO,KAA+B,MAAM,OAAO,CAAC;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AA4BpF,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,YAAY,EAAE,KAAK,CAAC,aAAa,CAAC;CACnC;AAMD,eAAO,MAAM,cAAc,6CAA8C,mBAAmB,4CAyB3F,CAAC;AAGF,eAAO,MAAM,UAAU,oBAA2B,eAAe,WAAU,OAAO,CAAC,YAAY,CAAC,kBAyE/F,CAAC;AAGF,eAAO,MAAM,aAAa,gBAAiB,MAAM,SAEhD,CAAC;AAEF,eAAO,MAAM,UAAU,YAEtB,CAAC;AAGF,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAQtD,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;CAG5B,CAAA"}
|
|
@@ -5,7 +5,7 @@ interface HeliumProviderProps {
|
|
|
5
5
|
fallbackView: React.ComponentType;
|
|
6
6
|
}
|
|
7
7
|
export declare const HeliumProvider: ({ children, fallbackView: FallbackView }: HeliumProviderProps) => import("react/jsx-runtime").JSX.Element;
|
|
8
|
-
export declare const initialize: (heliumCallbacks: HeliumCallbacks, config?: Partial<HeliumConfig>) => void
|
|
8
|
+
export declare const initialize: (heliumCallbacks: HeliumCallbacks, config?: Partial<HeliumConfig>) => Promise<void>;
|
|
9
9
|
export declare const presentUpsell: (triggerName: string) => void;
|
|
10
10
|
export declare const hideUpsell: () => void;
|
|
11
11
|
export declare const UpsellView: React.FC<HeliumUpsellViewProps>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native-interface.d.ts","sourceRoot":"","sources":["../../../../src/native-interface.tsx"],"names":[],"mappings":"AACA,OAAO,KAA+B,MAAM,OAAO,CAAC;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"native-interface.d.ts","sourceRoot":"","sources":["../../../../src/native-interface.tsx"],"names":[],"mappings":"AACA,OAAO,KAA+B,MAAM,OAAO,CAAC;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AA4BpF,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,YAAY,EAAE,KAAK,CAAC,aAAa,CAAC;CACnC;AAMD,eAAO,MAAM,cAAc,6CAA8C,mBAAmB,4CAyB3F,CAAC;AAGF,eAAO,MAAM,UAAU,oBAA2B,eAAe,WAAU,OAAO,CAAC,YAAY,CAAC,kBAyE/F,CAAC;AAGF,eAAO,MAAM,aAAa,gBAAiB,MAAM,SAEhD,CAAC;AAEF,eAAO,MAAM,UAAU,YAEtB,CAAC;AAGF,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAQtD,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;CAG5B,CAAA"}
|
package/package.json
CHANGED
package/src/native-interface.tsx
CHANGED
|
@@ -6,6 +6,18 @@ const { HeliumBridge } = NativeModules;
|
|
|
6
6
|
const heliumEventEmitter = new NativeEventEmitter(HeliumBridge);
|
|
7
7
|
|
|
8
8
|
let isProviderMounted = false;
|
|
9
|
+
// Add a promise to track when the provider is mounted
|
|
10
|
+
let providerMountedPromise: Promise<void>;
|
|
11
|
+
let resolveProviderMounted: () => void;
|
|
12
|
+
|
|
13
|
+
// Initialize the promise
|
|
14
|
+
providerMountedPromise = new Promise<void>((resolve) => {
|
|
15
|
+
resolveProviderMounted = resolve;
|
|
16
|
+
// If provider is already mounted, resolve immediately
|
|
17
|
+
if (isProviderMounted) {
|
|
18
|
+
resolve();
|
|
19
|
+
}
|
|
20
|
+
});
|
|
9
21
|
|
|
10
22
|
// Move NativeHeliumUpsellView to a singleton pattern
|
|
11
23
|
let NativeHeliumUpsellView: any = null;
|
|
@@ -29,6 +41,8 @@ export const HeliumProvider = ({ children, fallbackView: FallbackView }: HeliumP
|
|
|
29
41
|
|
|
30
42
|
useEffect(() => {
|
|
31
43
|
isProviderMounted = true;
|
|
44
|
+
// Resolve the promise when the provider is mounted
|
|
45
|
+
resolveProviderMounted();
|
|
32
46
|
return () => {
|
|
33
47
|
isProviderMounted = false;
|
|
34
48
|
};
|
|
@@ -51,9 +65,10 @@ export const HeliumProvider = ({ children, fallbackView: FallbackView }: HeliumP
|
|
|
51
65
|
};
|
|
52
66
|
|
|
53
67
|
// Update initialize to accept config
|
|
54
|
-
export const initialize = (heliumCallbacks: HeliumCallbacks, config: Partial<HeliumConfig> = {}) => {
|
|
68
|
+
export const initialize = async (heliumCallbacks: HeliumCallbacks, config: Partial<HeliumConfig> = {}) => {
|
|
69
|
+
// Wait for the provider to be mounted if it's not already
|
|
55
70
|
if (!isProviderMounted) {
|
|
56
|
-
|
|
71
|
+
await providerMountedPromise;
|
|
57
72
|
}
|
|
58
73
|
|
|
59
74
|
const viewTag = findNodeHandle(fallbackRef.current);
|
package/src/index.tsx
DELETED