react-native-purchases-ui 8.0.0-beta.1 → 8.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (29) hide show
  1. package/RNPaywalls.podspec +2 -2
  2. package/android/build.gradle +2 -2
  3. package/android/src/main/java/com/revenuecat/purchases/react/ui/BasePaywallViewManager.kt +79 -58
  4. package/android/src/main/java/com/revenuecat/purchases/react/ui/FontAssetManager.kt +60 -16
  5. package/android/src/main/java/com/revenuecat/purchases/react/ui/{PaywallEvent.kt → PaywallEventName.kt} +6 -3
  6. package/android/src/main/java/com/revenuecat/purchases/react/ui/PaywallFooterViewManager.kt +20 -9
  7. package/android/src/main/java/com/revenuecat/purchases/react/ui/PaywallViewManager.kt +9 -3
  8. package/android/src/main/java/com/revenuecat/purchases/react/ui/RNPaywallsModule.kt +14 -2
  9. package/android/src/main/java/com/revenuecat/purchases/react/ui/ViewExtensions.kt +7 -0
  10. package/android/src/main/java/com/revenuecat/purchases/react/ui/events/OnDismissEvent.kt +13 -0
  11. package/android/src/main/java/com/revenuecat/purchases/react/ui/events/OnMeasureEvent.kt +17 -0
  12. package/android/src/main/java/com/revenuecat/purchases/react/ui/events/OnPurchaseCancelledEvent.kt +13 -0
  13. package/android/src/main/java/com/revenuecat/purchases/react/ui/events/OnPurchaseCompletedEvent.kt +18 -0
  14. package/android/src/main/java/com/revenuecat/purchases/react/ui/events/OnPurchaseErrorEvent.kt +14 -0
  15. package/android/src/main/java/com/revenuecat/purchases/react/ui/events/OnPurchaseStartedEvent.kt +16 -0
  16. package/android/src/main/java/com/revenuecat/purchases/react/ui/events/OnRestoreCompletedEvent.kt +14 -0
  17. package/android/src/main/java/com/revenuecat/purchases/react/ui/events/OnRestoreErrorEvent.kt +14 -0
  18. package/android/src/main/java/com/revenuecat/purchases/react/ui/events/OnRestoreStartedEvent.kt +13 -0
  19. package/android/src/main/java/com/revenuecat/purchases/react/ui/events/PaywallEvent.kt +34 -0
  20. package/ios/PaywallViewWrapper.m +24 -1
  21. package/ios/RNPaywalls.m +21 -18
  22. package/lib/commonjs/index.js +19 -9
  23. package/lib/commonjs/index.js.map +1 -1
  24. package/lib/module/index.js +18 -8
  25. package/lib/module/index.js.map +1 -1
  26. package/lib/typescript/src/index.d.ts +14 -2
  27. package/lib/typescript/src/index.d.ts.map +1 -1
  28. package/package.json +13 -12
  29. package/src/index.tsx +39 -7
@@ -0,0 +1,14 @@
1
+ package com.revenuecat.purchases.react.ui.events
2
+
3
+ import com.revenuecat.purchases.react.ui.PaywallEventKey
4
+ import com.revenuecat.purchases.react.ui.PaywallEventName
5
+
6
+ internal class OnRestoreErrorEvent(
7
+ surfaceId: Int,
8
+ viewTag: Int,
9
+ private val error: Map<String, Any?>
10
+ ) : PaywallEvent<OnRestoreErrorEvent>(surfaceId, viewTag) {
11
+ override fun getPaywallEventName() = PaywallEventName.ON_RESTORE_ERROR
12
+
13
+ override fun getPayload() = mapOf(PaywallEventKey.ERROR to error)
14
+ }
@@ -0,0 +1,13 @@
1
+ package com.revenuecat.purchases.react.ui.events
2
+
3
+ import com.revenuecat.purchases.react.ui.PaywallEventKey
4
+ import com.revenuecat.purchases.react.ui.PaywallEventName
5
+
6
+ internal class OnRestoreStartedEvent(
7
+ surfaceId: Int,
8
+ viewTag: Int,
9
+ ) : PaywallEvent<OnRestoreStartedEvent>(surfaceId, viewTag) {
10
+ override fun getPaywallEventName() = PaywallEventName.ON_RESTORE_STARTED
11
+
12
+ override fun getPayload(): Map<PaywallEventKey, Map<String, Any?>> = emptyMap()
13
+ }
@@ -0,0 +1,34 @@
1
+ package com.revenuecat.purchases.react.ui.events
2
+
3
+ import com.facebook.react.bridge.WritableMap
4
+ import com.facebook.react.bridge.WritableNativeMap
5
+ import com.facebook.react.uimanager.events.Event
6
+ import com.revenuecat.purchases.react.ui.PaywallEventKey
7
+ import com.revenuecat.purchases.react.ui.PaywallEventName
8
+ import com.revenuecat.purchases.react.ui.RNPurchasesConverters
9
+
10
+ internal abstract class PaywallEvent<T>(
11
+ surfaceId: Int,
12
+ viewTag: Int,
13
+ ) : Event<PaywallEvent<T>>(surfaceId, viewTag) {
14
+
15
+ abstract fun getPaywallEventName(): PaywallEventName
16
+
17
+ abstract fun getPayload(): Map<PaywallEventKey, Map<String, Any?>>
18
+
19
+ override fun getEventName(): String {
20
+ return getPaywallEventName().eventName
21
+ }
22
+
23
+ override fun getEventData(): WritableMap {
24
+ val convertedPayload = getPayload().let { payload ->
25
+ WritableNativeMap().apply {
26
+ payload.forEach { (key, value) ->
27
+ putMap(key.key, RNPurchasesConverters.convertMapToWriteableMap(value))
28
+ }
29
+ }
30
+ }
31
+
32
+ return convertedPayload
33
+ }
34
+ }
@@ -7,6 +7,7 @@
7
7
 
8
8
  #import "PaywallViewWrapper.h"
9
9
  #import "UIView+Extensions.h"
10
+ #import "UIView+React.h"
10
11
 
11
12
  @import PurchasesHybridCommonUI;
12
13
  @import RevenueCatUI;
@@ -36,9 +37,20 @@ API_AVAILABLE(ios(15.0))
36
37
  return self;
37
38
  }
38
39
 
40
+
41
+ - (void)reactSetFrame:(CGRect)frame
42
+ {
43
+ NSLog(@"RNPaywalls - reactSetFrame: %@", NSStringFromCGRect(frame));
44
+
45
+ [super reactSetFrame: frame];
46
+ }
47
+
39
48
  - (void)layoutSubviews {
40
49
  [super layoutSubviews];
41
50
 
51
+ CGSize size = self.bounds.size;
52
+ NSLog(@"RNPaywalls - Size on layoutSubviews: %@", NSStringFromCGSize(size));
53
+
42
54
  // Need to wait for this view to be in the hierarchy to look for the parent UIVC.
43
55
  // This is required to add a SwiftUI `UIHostingController` to the hierarchy in a way that allows
44
56
  // UIKit to read properties from the environment, like traits and safe area.
@@ -50,6 +62,7 @@ API_AVAILABLE(ios(15.0))
50
62
  [self addSubview:self.paywallViewController.view];
51
63
  [self.paywallViewController didMoveToParentViewController:parentController];
52
64
 
65
+ NSLog(@"RNPaywalls - Activating constraints");
53
66
  [NSLayoutConstraint activateConstraints:@[
54
67
  [self.paywallViewController.view.topAnchor constraintEqualToAnchor:self.topAnchor],
55
68
  [self.paywallViewController.view.bottomAnchor constraintEqualToAnchor:self.bottomAnchor],
@@ -76,6 +89,12 @@ API_AVAILABLE(ios(15.0))
76
89
  if (fontFamily && [fontFamily isKindOfClass:[NSString class]] && fontFamily.length > 0) {
77
90
  [self.paywallViewController updateFontWithFontName:fontFamily];
78
91
  }
92
+
93
+ NSNumber *displayCloseButtonValue = options[@"displayCloseButton"];
94
+ BOOL displayCloseButton = [displayCloseButtonValue isKindOfClass:[NSNumber class]] ? [displayCloseButtonValue boolValue] : NO;
95
+ if (displayCloseButton) {
96
+ [self.paywallViewController updateWithDisplayCloseButton:displayCloseButton];
97
+ }
79
98
  } else {
80
99
  NSLog(@"Error: attempted to present paywalls on unsupported iOS version.");
81
100
  }
@@ -126,8 +145,12 @@ didFailRestoringWithErrorDictionary:(NSDictionary *)errorDictionary API_AVAILABL
126
145
  });
127
146
  }
128
147
 
129
- - (void)paywallViewControllerWasDismissed:(RCPaywallViewController *)controller API_AVAILABLE(ios(15.0)) {
148
+ - (void)paywallViewControllerRequestedDismissal:(RCPaywallViewController *)controller API_AVAILABLE(ios(15.0)) {
130
149
  self.onDismiss(nil);
131
150
  }
132
151
 
152
+ - (void)paywallViewController:(RCPaywallViewController *)controller didChangeSizeTo:(CGSize)size API_AVAILABLE(ios(15.0)) {
153
+ NSLog(@"RNPaywalls - Paywall view wrapper did change size to: %@", NSStringFromCGSize(size));
154
+ }
155
+
133
156
  @end
package/ios/RNPaywalls.m CHANGED
@@ -63,19 +63,21 @@ RCT_EXPORT_MODULE();
63
63
 
64
64
  RCT_EXPORT_METHOD(presentPaywall:(nullable NSString *)offeringIdentifier
65
65
  shouldDisplayCloseButton:(BOOL)displayCloseButton
66
+ withFontFamily:(nullable NSString *)fontFamily
66
67
  withResolve:(RCTPromiseResolveBlock)resolve
67
68
  reject:(RCTPromiseRejectBlock)reject) {
68
69
  if (@available(iOS 15.0, *)) {
70
+ NSMutableDictionary *options = [NSMutableDictionary dictionary];
69
71
  if (offeringIdentifier != nil) {
70
- [self.paywalls presentPaywallWithOfferingIdentifier:offeringIdentifier
71
- displayCloseButton:displayCloseButton
72
- paywallResultHandler:^(NSString *result) {
73
- resolve(result);
74
- }];
75
- return;
72
+ options[PaywallOptionsKeys.offeringIdentifier] = offeringIdentifier;
76
73
  }
77
- [self.paywalls presentPaywallWithDisplayCloseButton:displayCloseButton
78
- paywallResultHandler:^(NSString *result) {
74
+ options[PaywallOptionsKeys.displayCloseButton] = @(displayCloseButton);
75
+ if (fontFamily) {
76
+ options[PaywallOptionsKeys.fontName] = fontFamily;
77
+ }
78
+
79
+ [self.paywalls presentPaywallWithOptions:options
80
+ paywallResultHandler:^(NSString *result) {
79
81
  resolve(result);
80
82
  }];
81
83
  } else {
@@ -86,21 +88,22 @@ RCT_EXPORT_METHOD(presentPaywall:(nullable NSString *)offeringIdentifier
86
88
  RCT_EXPORT_METHOD(presentPaywallIfNeeded:(NSString *)requiredEntitlementIdentifier
87
89
  withOfferingIdentifier:(nullable NSString *)offeringIdentifier
88
90
  shouldDisplayCloseButton:(BOOL)displayCloseButton
91
+ withFontFamily:(nullable NSString *)fontFamily
89
92
  withResolve:(RCTPromiseResolveBlock)resolve
90
93
  reject:(RCTPromiseRejectBlock)reject) {
91
94
  if (@available(iOS 15.0, *)) {
95
+ NSMutableDictionary *options = [NSMutableDictionary dictionary];
92
96
  if (offeringIdentifier != nil) {
93
- [self.paywalls presentPaywallIfNeededWithRequiredEntitlementIdentifier:requiredEntitlementIdentifier
94
- offeringIdentifier:offeringIdentifier
95
- displayCloseButton:displayCloseButton
96
- paywallResultHandler:^(NSString *result) {
97
- resolve(result);
98
- }];
99
- return;
97
+ options[PaywallOptionsKeys.offeringIdentifier] = offeringIdentifier;
100
98
  }
101
- [self.paywalls presentPaywallIfNeededWithRequiredEntitlementIdentifier:requiredEntitlementIdentifier
102
- displayCloseButton:displayCloseButton
103
- paywallResultHandler:^(NSString *result) {
99
+ options[PaywallOptionsKeys.requiredEntitlementIdentifier] = requiredEntitlementIdentifier;
100
+ options[PaywallOptionsKeys.displayCloseButton] = @(displayCloseButton);
101
+ if (fontFamily) {
102
+ options[PaywallOptionsKeys.fontName] = fontFamily;
103
+ }
104
+
105
+ [self.paywalls presentPaywallIfNeededWithOptions:options
106
+ paywallResultHandler:^(NSString *result) {
104
107
  resolve(result);
105
108
  }];
106
109
  } else {
@@ -14,7 +14,7 @@ var _reactNative = require("react-native");
14
14
  var _purchasesTypescriptInternal = require("@revenuecat/purchases-typescript-internal");
15
15
  var _react = _interopRequireWildcard(require("react"));
16
16
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
17
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
17
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
18
18
  const LINKING_ERROR = `The package 'react-native-purchases-ui' doesn't seem to be linked. Make sure: \n\n` + _reactNative.Platform.select({
19
19
  ios: "- You have run 'pod install'\n",
20
20
  default: ''
@@ -57,9 +57,10 @@ class RevenueCatUI {
57
57
  */
58
58
  static presentPaywall({
59
59
  offering,
60
- displayCloseButton = RevenueCatUI.Defaults.PRESENT_PAYWALL_DISPLAY_CLOSE_BUTTON
60
+ displayCloseButton = RevenueCatUI.Defaults.PRESENT_PAYWALL_DISPLAY_CLOSE_BUTTON,
61
+ fontFamily
61
62
  } = {}) {
62
- return RNPaywalls.presentPaywall((offering === null || offering === void 0 ? void 0 : offering.identifier) ?? null, displayCloseButton);
63
+ return RNPaywalls.presentPaywall((offering === null || offering === void 0 ? void 0 : offering.identifier) ?? null, displayCloseButton, fontFamily);
63
64
  }
64
65
 
65
66
  /**
@@ -78,9 +79,10 @@ class RevenueCatUI {
78
79
  static presentPaywallIfNeeded({
79
80
  requiredEntitlementIdentifier,
80
81
  offering,
81
- displayCloseButton = RevenueCatUI.Defaults.PRESENT_PAYWALL_DISPLAY_CLOSE_BUTTON
82
+ displayCloseButton = RevenueCatUI.Defaults.PRESENT_PAYWALL_DISPLAY_CLOSE_BUTTON,
83
+ fontFamily
82
84
  }) {
83
- return RNPaywalls.presentPaywallIfNeeded(requiredEntitlementIdentifier, (offering === null || offering === void 0 ? void 0 : offering.identifier) ?? null, displayCloseButton);
85
+ return RNPaywalls.presentPaywallIfNeeded(requiredEntitlementIdentifier, (offering === null || offering === void 0 ? void 0 : offering.identifier) ?? null, displayCloseButton, fontFamily);
84
86
  }
85
87
  static Paywall = ({
86
88
  style,
@@ -127,6 +129,7 @@ class RevenueCatUI {
127
129
  // safe area insets change. Not adding this extra padding on iOS will cause the content of the scrollview
128
130
  // to be hidden behind the rounded corners of the paywall.
129
131
  const [paddingBottom, setPaddingBottom] = (0, _react.useState)(20);
132
+ const [height, setHeight] = (0, _react.useState)(0);
130
133
  (0, _react.useEffect)(() => {
131
134
  const handleSafeAreaInsetsChange = ({
132
135
  bottom
@@ -148,9 +151,15 @@ class RevenueCatUI {
148
151
  paddingBottom
149
152
  }
150
153
  }, children), /*#__PURE__*/_react.default.createElement(InternalPaywallFooterView, {
151
- style: {
152
- marginTop: -20
153
- },
154
+ style: _reactNative.Platform.select({
155
+ ios: {
156
+ marginTop: -20
157
+ },
158
+ android: {
159
+ marginTop: -20,
160
+ height
161
+ }
162
+ }),
154
163
  options: options,
155
164
  onPurchaseStarted: event => onPurchaseStarted && onPurchaseStarted(event.nativeEvent),
156
165
  onPurchaseCompleted: event => onPurchaseCompleted && onPurchaseCompleted(event.nativeEvent),
@@ -159,7 +168,8 @@ class RevenueCatUI {
159
168
  onRestoreStarted: () => onRestoreStarted && onRestoreStarted(),
160
169
  onRestoreCompleted: event => onRestoreCompleted && onRestoreCompleted(event.nativeEvent),
161
170
  onRestoreError: event => onRestoreError && onRestoreError(event.nativeEvent),
162
- onDismiss: () => onDismiss && onDismiss()
171
+ onDismiss: () => onDismiss && onDismiss(),
172
+ onMeasure: event => setHeight(event.nativeEvent.measurements.height)
163
173
  }));
164
174
  };
165
175
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_purchasesTypescriptInternal","_react","_interopRequireWildcard","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","LINKING_ERROR","Platform","select","ios","RNPaywalls","NativeModules","Error","eventEmitter","NativeEventEmitter","InternalPaywall","UIManager","getViewManagerConfig","requireNativeComponent","InternalPaywallFooterView","RevenueCatUI","Defaults","PRESENT_PAYWALL_DISPLAY_CLOSE_BUTTON","PAYWALL_RESULT","presentPaywall","offering","displayCloseButton","identifier","presentPaywallIfNeeded","requiredEntitlementIdentifier","Paywall","style","children","options","onPurchaseStarted","onPurchaseCompleted","onPurchaseError","onPurchaseCancelled","onRestoreStarted","onRestoreCompleted","onRestoreError","onDismiss","createElement","event","nativeEvent","flex","PaywallFooterContainerView","paddingBottom","setPaddingBottom","useState","useEffect","handleSafeAreaInsetsChange","bottom","subscription","addListener","remove","View","ScrollView","contentContainerStyle","flexGrow","marginTop","exports"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["_reactNative","require","_purchasesTypescriptInternal","_react","_interopRequireWildcard","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","LINKING_ERROR","Platform","select","ios","RNPaywalls","NativeModules","Error","eventEmitter","NativeEventEmitter","InternalPaywall","UIManager","getViewManagerConfig","requireNativeComponent","InternalPaywallFooterView","RevenueCatUI","Defaults","PRESENT_PAYWALL_DISPLAY_CLOSE_BUTTON","PAYWALL_RESULT","presentPaywall","offering","displayCloseButton","fontFamily","identifier","presentPaywallIfNeeded","requiredEntitlementIdentifier","Paywall","style","children","options","onPurchaseStarted","onPurchaseCompleted","onPurchaseError","onPurchaseCancelled","onRestoreStarted","onRestoreCompleted","onRestoreError","onDismiss","createElement","event","nativeEvent","flex","PaywallFooterContainerView","paddingBottom","setPaddingBottom","useState","height","setHeight","useEffect","handleSafeAreaInsetsChange","bottom","subscription","addListener","remove","View","ScrollView","contentContainerStyle","flexGrow","marginTop","android","onMeasure","measurements","exports"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
@@ -44,9 +44,10 @@ export default class RevenueCatUI {
44
44
  */
45
45
  static presentPaywall({
46
46
  offering,
47
- displayCloseButton = RevenueCatUI.Defaults.PRESENT_PAYWALL_DISPLAY_CLOSE_BUTTON
47
+ displayCloseButton = RevenueCatUI.Defaults.PRESENT_PAYWALL_DISPLAY_CLOSE_BUTTON,
48
+ fontFamily
48
49
  } = {}) {
49
- return RNPaywalls.presentPaywall((offering === null || offering === void 0 ? void 0 : offering.identifier) ?? null, displayCloseButton);
50
+ return RNPaywalls.presentPaywall((offering === null || offering === void 0 ? void 0 : offering.identifier) ?? null, displayCloseButton, fontFamily);
50
51
  }
51
52
 
52
53
  /**
@@ -65,9 +66,10 @@ export default class RevenueCatUI {
65
66
  static presentPaywallIfNeeded({
66
67
  requiredEntitlementIdentifier,
67
68
  offering,
68
- displayCloseButton = RevenueCatUI.Defaults.PRESENT_PAYWALL_DISPLAY_CLOSE_BUTTON
69
+ displayCloseButton = RevenueCatUI.Defaults.PRESENT_PAYWALL_DISPLAY_CLOSE_BUTTON,
70
+ fontFamily
69
71
  }) {
70
- return RNPaywalls.presentPaywallIfNeeded(requiredEntitlementIdentifier, (offering === null || offering === void 0 ? void 0 : offering.identifier) ?? null, displayCloseButton);
72
+ return RNPaywalls.presentPaywallIfNeeded(requiredEntitlementIdentifier, (offering === null || offering === void 0 ? void 0 : offering.identifier) ?? null, displayCloseButton, fontFamily);
71
73
  }
72
74
  static Paywall = ({
73
75
  style,
@@ -114,6 +116,7 @@ export default class RevenueCatUI {
114
116
  // safe area insets change. Not adding this extra padding on iOS will cause the content of the scrollview
115
117
  // to be hidden behind the rounded corners of the paywall.
116
118
  const [paddingBottom, setPaddingBottom] = useState(20);
119
+ const [height, setHeight] = useState(0);
117
120
  useEffect(() => {
118
121
  const handleSafeAreaInsetsChange = ({
119
122
  bottom
@@ -135,9 +138,15 @@ export default class RevenueCatUI {
135
138
  paddingBottom
136
139
  }
137
140
  }, children), /*#__PURE__*/React.createElement(InternalPaywallFooterView, {
138
- style: {
139
- marginTop: -20
140
- },
141
+ style: Platform.select({
142
+ ios: {
143
+ marginTop: -20
144
+ },
145
+ android: {
146
+ marginTop: -20,
147
+ height
148
+ }
149
+ }),
141
150
  options: options,
142
151
  onPurchaseStarted: event => onPurchaseStarted && onPurchaseStarted(event.nativeEvent),
143
152
  onPurchaseCompleted: event => onPurchaseCompleted && onPurchaseCompleted(event.nativeEvent),
@@ -146,7 +155,8 @@ export default class RevenueCatUI {
146
155
  onRestoreStarted: () => onRestoreStarted && onRestoreStarted(),
147
156
  onRestoreCompleted: event => onRestoreCompleted && onRestoreCompleted(event.nativeEvent),
148
157
  onRestoreError: event => onRestoreError && onRestoreError(event.nativeEvent),
149
- onDismiss: () => onDismiss && onDismiss()
158
+ onDismiss: () => onDismiss && onDismiss(),
159
+ onMeasure: event => setHeight(event.nativeEvent.measurements.height)
150
160
  }));
151
161
  };
152
162
  }
@@ -1 +1 @@
1
- {"version":3,"names":["NativeEventEmitter","NativeModules","Platform","requireNativeComponent","ScrollView","UIManager","View","PAYWALL_RESULT","React","useEffect","useState","LINKING_ERROR","select","ios","default","RNPaywalls","Error","eventEmitter","InternalPaywall","getViewManagerConfig","InternalPaywallFooterView","RevenueCatUI","Defaults","PRESENT_PAYWALL_DISPLAY_CLOSE_BUTTON","presentPaywall","offering","displayCloseButton","identifier","presentPaywallIfNeeded","requiredEntitlementIdentifier","Paywall","style","children","options","onPurchaseStarted","onPurchaseCompleted","onPurchaseError","onPurchaseCancelled","onRestoreStarted","onRestoreCompleted","onRestoreError","onDismiss","createElement","event","nativeEvent","flex","PaywallFooterContainerView","paddingBottom","setPaddingBottom","handleSafeAreaInsetsChange","bottom","subscription","addListener","remove","contentContainerStyle","flexGrow","marginTop"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["NativeEventEmitter","NativeModules","Platform","requireNativeComponent","ScrollView","UIManager","View","PAYWALL_RESULT","React","useEffect","useState","LINKING_ERROR","select","ios","default","RNPaywalls","Error","eventEmitter","InternalPaywall","getViewManagerConfig","InternalPaywallFooterView","RevenueCatUI","Defaults","PRESENT_PAYWALL_DISPLAY_CLOSE_BUTTON","presentPaywall","offering","displayCloseButton","fontFamily","identifier","presentPaywallIfNeeded","requiredEntitlementIdentifier","Paywall","style","children","options","onPurchaseStarted","onPurchaseCompleted","onPurchaseError","onPurchaseCancelled","onRestoreStarted","onRestoreCompleted","onRestoreError","onDismiss","createElement","event","nativeEvent","flex","PaywallFooterContainerView","paddingBottom","setPaddingBottom","height","setHeight","handleSafeAreaInsetsChange","bottom","subscription","addListener","remove","contentContainerStyle","flexGrow","marginTop","android","onMeasure","measurements"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
@@ -11,6 +11,17 @@ export interface PresentPaywallParams {
11
11
  * The offering to load the paywall with. This will be the "current" offering by default.
12
12
  */
13
13
  offering?: PurchasesOffering;
14
+ /**
15
+ * The fontFamily name to use in the Paywall. In order to add a font family, add it in the react native app and make
16
+ * sure to run `npx react-native-asset` so it's added to the native components.
17
+ * Supported font types are `.ttf` and `.otf`.
18
+ * Make sure the file names follow the convention:
19
+ * - Regular: MyFont.ttf/MyFont.otf
20
+ * - Bold: MyFont_bold.ttf/MyFont_bold.otf
21
+ * - Italic: MyFont_italic.ttf/MyFont_italic.otf
22
+ * - Bold and Italic: MyFont_bold_italic.ttf/MyFont_bold_italic.otf
23
+ */
24
+ fontFamily?: string | null;
14
25
  }
15
26
  export type PresentPaywallIfNeededParams = PresentPaywallParams & {
16
27
  /**
@@ -36,6 +47,7 @@ export interface PaywallViewOptions {
36
47
  fontFamily?: string | null;
37
48
  }
38
49
  export interface FullScreenPaywallViewOptions extends PaywallViewOptions {
50
+ displayCloseButton?: boolean | false;
39
51
  }
40
52
  export interface FooterPaywallViewOptions extends PaywallViewOptions {
41
53
  }
@@ -105,7 +117,7 @@ export default class RevenueCatUI {
105
117
  * @param {PresentPaywallParams} params - The options for presenting the paywall.
106
118
  * @returns {Promise<PAYWALL_RESULT>} A promise that resolves with the result of the paywall presentation.
107
119
  */
108
- static presentPaywall({ offering, displayCloseButton }?: PresentPaywallParams): Promise<PAYWALL_RESULT>;
120
+ static presentPaywall({ offering, displayCloseButton, fontFamily, }?: PresentPaywallParams): Promise<PAYWALL_RESULT>;
109
121
  /**
110
122
  * Presents a paywall to the user if a specific entitlement is not already owned.
111
123
  *
@@ -119,7 +131,7 @@ export default class RevenueCatUI {
119
131
  * @param {PresentPaywallIfNeededParams} params - The parameters for presenting the paywall.
120
132
  * @returns {Promise<PAYWALL_RESULT>} A promise that resolves with the result of the paywall presentation.
121
133
  */
122
- static presentPaywallIfNeeded({ requiredEntitlementIdentifier, offering, displayCloseButton }: PresentPaywallIfNeededParams): Promise<PAYWALL_RESULT>;
134
+ static presentPaywallIfNeeded({ requiredEntitlementIdentifier, offering, displayCloseButton, fontFamily, }: PresentPaywallIfNeededParams): Promise<PAYWALL_RESULT>;
123
135
  static Paywall: React.FC<FullScreenPaywallViewProps>;
124
136
  static PaywallFooterContainerView: React.FC<FooterPaywallViewProps>;
125
137
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "react-native-purchases-ui",
3
3
  "title": "React Native Purchases UI",
4
- "version": "8.0.0-beta.1",
4
+ "version": "8.0.0",
5
5
  "description": "React Native in-app purchases and subscriptions made easy. Supports iOS and Android.",
6
6
  "main": "lib/commonjs/index",
7
7
  "module": "lib/module/index",
@@ -52,31 +52,32 @@
52
52
  "license": "MIT",
53
53
  "readmeFilename": "README.md",
54
54
  "devDependencies": {
55
- "@types/jest": "^28.1.2",
56
- "@types/react": "~18.2.0",
55
+ "@types/jest": "^29.5.12",
56
+ "@types/react": "^18.2.44",
57
57
  "@types/react-dom": "~18.2.0",
58
- "jest": "^28.1.1",
58
+ "jest": "^29.7.0",
59
59
  "jest-react-native": "^18.0.0",
60
60
  "pod-install": "^0.1.0",
61
61
  "prettier": "^2.0.5",
62
62
  "react": "18.2.0",
63
- "react-native": "0.73.1",
63
+ "react-native": "0.73.5",
64
64
  "react-native-builder-bob": "^0.20.0",
65
- "ts-jest": "^24.1.0",
65
+ "ts-jest": "^29.1.2",
66
66
  "tslint": "^5.20.0",
67
67
  "tslint-config-prettier": "^1.18.0",
68
- "typedoc": "^0.23.21",
69
- "typescript": "^5.0.2"
68
+ "typedoc": "^0.25.11",
69
+ "typescript": "^5.2.2"
70
70
  },
71
71
  "resolutions": {
72
- "@types/react": "18.2.0",
73
- "@types/react-native": "0.73.1",
72
+ "@types/react": "^18.2.44",
73
+ "@types/react-native": "0.73.5",
74
74
  "@types/react-dom": "18.2.0"
75
75
  },
76
76
  "peerDependencies": {
77
77
  "react": "*",
78
78
  "react-native": "*"
79
79
  },
80
+ "packageManager": "yarn@3.6.1",
80
81
  "jest": {
81
82
  "preset": "react-native",
82
83
  "modulePathIgnorePatterns": [
@@ -113,7 +114,7 @@
113
114
  ]
114
115
  },
115
116
  "dependencies": {
116
- "@revenuecat/purchases-typescript-internal": "8.10.1",
117
- "react-native-purchases": "8.0.0-beta.1"
117
+ "@revenuecat/purchases-typescript-internal": "13.0.0",
118
+ "react-native-purchases": "8.0.0"
118
119
  }
119
120
  }
package/src/index.tsx CHANGED
@@ -41,7 +41,7 @@ const InternalPaywall =
41
41
  };
42
42
 
43
43
  const InternalPaywallFooterView = UIManager.getViewManagerConfig('Paywall') != null
44
- ? requireNativeComponent<FooterPaywallViewProps>('RCPaywallFooterView')
44
+ ? requireNativeComponent<InternalFooterPaywallViewProps>('RCPaywallFooterView')
45
45
  : () => {
46
46
  throw new Error(LINKING_ERROR);
47
47
  };
@@ -56,6 +56,18 @@ export interface PresentPaywallParams {
56
56
  * The offering to load the paywall with. This will be the "current" offering by default.
57
57
  */
58
58
  offering?: PurchasesOffering;
59
+
60
+ /**
61
+ * The fontFamily name to use in the Paywall. In order to add a font family, add it in the react native app and make
62
+ * sure to run `npx react-native-asset` so it's added to the native components.
63
+ * Supported font types are `.ttf` and `.otf`.
64
+ * Make sure the file names follow the convention:
65
+ * - Regular: MyFont.ttf/MyFont.otf
66
+ * - Bold: MyFont_bold.ttf/MyFont_bold.otf
67
+ * - Italic: MyFont_italic.ttf/MyFont_italic.otf
68
+ * - Bold and Italic: MyFont_bold_italic.ttf/MyFont_bold_italic.otf
69
+ */
70
+ fontFamily?: string | null;
59
71
  }
60
72
 
61
73
  export type PresentPaywallIfNeededParams = PresentPaywallParams & {
@@ -85,7 +97,7 @@ export interface PaywallViewOptions {
85
97
  }
86
98
 
87
99
  export interface FullScreenPaywallViewOptions extends PaywallViewOptions {
88
- // Additional properties for FullScreenPaywallViewOptions can be added here if needed in the future
100
+ displayCloseButton?: boolean | false;
89
101
  }
90
102
 
91
103
  // Currently the same as the base type, but can be extended later if needed
@@ -127,6 +139,10 @@ type FooterPaywallViewProps = {
127
139
  onDismiss?: () => void;
128
140
  };
129
141
 
142
+ type InternalFooterPaywallViewProps = FooterPaywallViewProps & {
143
+ onMeasure?: ({height}: { height: number }) => void;
144
+ };
145
+
130
146
  export default class RevenueCatUI {
131
147
 
132
148
  private static Defaults = {
@@ -152,9 +168,14 @@ export default class RevenueCatUI {
152
168
  */
153
169
  public static presentPaywall({
154
170
  offering,
155
- displayCloseButton = RevenueCatUI.Defaults.PRESENT_PAYWALL_DISPLAY_CLOSE_BUTTON
171
+ displayCloseButton = RevenueCatUI.Defaults.PRESENT_PAYWALL_DISPLAY_CLOSE_BUTTON,
172
+ fontFamily,
156
173
  }: PresentPaywallParams = {}): Promise<PAYWALL_RESULT> {
157
- return RNPaywalls.presentPaywall(offering?.identifier ?? null, displayCloseButton)
174
+ return RNPaywalls.presentPaywall(
175
+ offering?.identifier ?? null,
176
+ displayCloseButton,
177
+ fontFamily,
178
+ )
158
179
  }
159
180
 
160
181
  /**
@@ -173,9 +194,15 @@ export default class RevenueCatUI {
173
194
  public static presentPaywallIfNeeded({
174
195
  requiredEntitlementIdentifier,
175
196
  offering,
176
- displayCloseButton = RevenueCatUI.Defaults.PRESENT_PAYWALL_DISPLAY_CLOSE_BUTTON
197
+ displayCloseButton = RevenueCatUI.Defaults.PRESENT_PAYWALL_DISPLAY_CLOSE_BUTTON,
198
+ fontFamily,
177
199
  }: PresentPaywallIfNeededParams): Promise<PAYWALL_RESULT> {
178
- return RNPaywalls.presentPaywallIfNeeded(requiredEntitlementIdentifier, offering?.identifier ?? null, displayCloseButton)
200
+ return RNPaywalls.presentPaywallIfNeeded(
201
+ requiredEntitlementIdentifier,
202
+ offering?.identifier ?? null,
203
+ displayCloseButton,
204
+ fontFamily,
205
+ )
179
206
  }
180
207
 
181
208
  public static Paywall: React.FC<FullScreenPaywallViewProps> = ({
@@ -222,6 +249,7 @@ export default class RevenueCatUI {
222
249
  // safe area insets change. Not adding this extra padding on iOS will cause the content of the scrollview
223
250
  // to be hidden behind the rounded corners of the paywall.
224
251
  const [paddingBottom, setPaddingBottom] = useState(20);
252
+ const [height, setHeight] = useState(0);
225
253
 
226
254
  useEffect(() => {
227
255
  interface HandleSafeAreaInsetsChangeParams {
@@ -249,7 +277,10 @@ export default class RevenueCatUI {
249
277
  </ScrollView>
250
278
  {/*Adding negative margin to the footer view to make it overlap with the extra padding of the scroll*/}
251
279
  <InternalPaywallFooterView
252
- style={{marginTop: -20}}
280
+ style={Platform.select({
281
+ ios: {marginTop: -20},
282
+ android: {marginTop: -20, height}
283
+ })}
253
284
  options={options}
254
285
  onPurchaseStarted={(event: any) => onPurchaseStarted && onPurchaseStarted(event.nativeEvent)}
255
286
  onPurchaseCompleted={(event: any) => onPurchaseCompleted && onPurchaseCompleted(event.nativeEvent)}
@@ -259,6 +290,7 @@ export default class RevenueCatUI {
259
290
  onRestoreCompleted={(event: any) => onRestoreCompleted && onRestoreCompleted(event.nativeEvent)}
260
291
  onRestoreError={(event: any) => onRestoreError && onRestoreError(event.nativeEvent)}
261
292
  onDismiss={() => onDismiss && onDismiss()}
293
+ onMeasure={(event: any) => setHeight(event.nativeEvent.measurements.height)}
262
294
  />
263
295
  </View>
264
296
  );