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

Sign up to get free protection for your applications and to get access to all the features.
@@ -10,13 +10,13 @@ Pod::Spec.new do |spec|
10
10
  spec.authors = package['author']
11
11
  spec.homepage = "https://github.com/RevenueCat/react-native-purchases"
12
12
  spec.license = package['license']
13
- spec.platform = :ios, "11.0"
13
+ spec.platform = :ios, "13.0"
14
14
 
15
15
  spec.source = { :git => "https://github.com/RevenueCat/react-native-purchases.git" }
16
16
  spec.source_files = "ios/**/*.{h,m,swift}"
17
17
  spec.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES' }
18
18
 
19
19
  spec.dependency "React-Core"
20
- spec.dependency "PurchasesHybridCommonUI", '9.7.2'
20
+ spec.dependency "PurchasesHybridCommonUI", "10.0.0-beta.1"
21
21
  spec.swift_version = '5.7'
22
22
  end
@@ -59,7 +59,7 @@ android {
59
59
  minSdkVersion getExtOrIntegerDefault("minSdkVersion")
60
60
  targetSdkVersion getExtOrIntegerDefault("targetSdkVersion")
61
61
  versionCode 1
62
- versionName '7.21.1'
62
+ versionName '8.0.0-beta.1'
63
63
  }
64
64
 
65
65
  buildTypes {
@@ -91,7 +91,7 @@ dependencies {
91
91
  //noinspection GradleDynamicVersion
92
92
  implementation "com.facebook.react:react-native:+"
93
93
  implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
94
- implementation 'com.revenuecat.purchases:purchases-hybrid-common-ui:9.7.2'
94
+ implementation 'com.revenuecat.purchases:purchases-hybrid-common-ui:9.8.0'
95
95
  implementation 'androidx.compose.ui:ui-android:1.5.4'
96
96
  implementation "androidx.appcompat:appcompat:1.6.1"
97
97
  }
@@ -9,32 +9,58 @@ import com.facebook.react.uimanager.ThemedReactContext
9
9
  import com.facebook.react.uimanager.annotations.ReactProp
10
10
  import com.facebook.react.uimanager.events.RCTEventEmitter
11
11
  import com.revenuecat.purchases.hybridcommon.ui.PaywallListenerWrapper
12
+ import com.revenuecat.purchases.ui.revenuecatui.ExperimentalPreviewRevenueCatUIPurchasesAPI
13
+ import com.revenuecat.purchases.ui.revenuecatui.fonts.CustomFontProvider
12
14
 
13
15
  internal abstract class BasePaywallViewManager<T : View> : SimpleViewManager<T>() {
14
16
 
17
+ companion object PropNames {
18
+ private const val PROP_OPTIONS = "options"
19
+ private const val OPTION_OFFERING = "offering"
20
+ private const val OFFERING_IDENTIFIER = "identifier"
21
+ private const val OPTION_FONT_FAMILY = "fontFamily"
22
+ }
23
+
15
24
  abstract fun setOfferingId(view: T, identifier: String)
16
25
 
17
26
  override fun getExportedCustomDirectEventTypeConstants(): Map<String, Any>? {
18
27
  return MapBuilder.builder<String, Any>()
28
+ .putEvent(PaywallEvent.ON_PURCHASE_STARTED)
19
29
  .putEvent(PaywallEvent.ON_PURCHASE_COMPLETED)
20
30
  .putEvent(PaywallEvent.ON_PURCHASE_ERROR)
21
31
  .putEvent(PaywallEvent.ON_PURCHASE_CANCELLED)
32
+ .putEvent(PaywallEvent.ON_RESTORE_STARTED)
22
33
  .putEvent(PaywallEvent.ON_RESTORE_COMPLETED)
23
34
  .putEvent(PaywallEvent.ON_RESTORE_ERROR)
24
35
  .putEvent(PaywallEvent.ON_DISMISS)
25
36
  .build()
26
37
  }
27
38
 
28
- @ReactProp(name = "options")
39
+ @OptIn(ExperimentalPreviewRevenueCatUIPurchasesAPI::class)
40
+ abstract fun setFontFamily(view: T, customFontProvider: CustomFontProvider)
41
+
42
+ @ReactProp(name = PROP_OPTIONS)
29
43
  fun setOptions(view: T, options: ReadableMap?) {
30
44
  options?.let { props ->
31
- if (props.hasKey("offering")) {
32
- props.getDynamic("offering").asMap()?.let { offeringMap ->
33
- if (offeringMap.hasKey("identifier") && !offeringMap.isNull("identifier")) {
34
- setOfferingId(view, offeringMap.getString("identifier")!!)
35
- }
36
- }
45
+ setOfferingIdProp(view, props)
46
+ setFontFamilyProp(view, props)
47
+ }
48
+ }
49
+
50
+ private fun setOfferingIdProp(view: T, props: ReadableMap?) {
51
+ val offeringIdentifier = props?.getDynamic(OPTION_OFFERING)?.asMap()?.getString(OFFERING_IDENTIFIER)
52
+ offeringIdentifier?.let {
53
+ setOfferingId(view, it)
54
+ }
55
+ }
56
+
57
+ @OptIn(ExperimentalPreviewRevenueCatUIPurchasesAPI::class)
58
+ private fun setFontFamilyProp(view: T, props: ReadableMap?) {
59
+ props?.getString(OPTION_FONT_FAMILY)?.let {
60
+ FontAssetManager.getFontFamily(fontFamilyName = it, view.resources.assets)?.let {
61
+ setFontFamily(view, CustomFontProvider(it))
37
62
  }
63
+
38
64
  }
39
65
  }
40
66
 
@@ -46,7 +72,10 @@ internal abstract class BasePaywallViewManager<T : View> : SimpleViewManager<T>(
46
72
  ) = object : PaywallListenerWrapper() {
47
73
 
48
74
  override fun onPurchaseStarted(rcPackage: Map<String, Any?>) {
49
- // Will implement when iOS sends package as argument
75
+ val payload = mapOf(
76
+ PaywallEventKey.PACKAGE to rcPackage,
77
+ )
78
+ emitEvent(themedReactContext, view.id, PaywallEvent.ON_PURCHASE_STARTED, payload)
50
79
  }
51
80
 
52
81
  override fun onPurchaseCompleted(
@@ -70,7 +99,7 @@ internal abstract class BasePaywallViewManager<T : View> : SimpleViewManager<T>(
70
99
  }
71
100
 
72
101
  override fun onRestoreStarted() {
73
- // Will implement when iOS starts sending this event
102
+ emitEvent(themedReactContext, view.id, PaywallEvent.ON_RESTORE_STARTED)
74
103
  }
75
104
 
76
105
  override fun onRestoreCompleted(customerInfo: Map<String, Any?>) {
@@ -136,4 +165,3 @@ internal abstract class BasePaywallViewManager<T : View> : SimpleViewManager<T>(
136
165
  )
137
166
  }
138
167
  }
139
-
@@ -0,0 +1,68 @@
1
+ package com.revenuecat.purchases.react.ui
2
+
3
+ import android.content.res.AssetManager
4
+ import androidx.compose.ui.text.font.Font
5
+ import androidx.compose.ui.text.font.FontFamily
6
+ import androidx.compose.ui.text.font.FontStyle
7
+ import androidx.compose.ui.text.font.FontWeight
8
+
9
+
10
+ internal object FontAssetManager {
11
+ @get:Synchronized
12
+ private var fontFamilyCache = mapOf<String, FontFamily>()
13
+ private val FILE_EXTENSIONS = arrayOf(".ttf", ".otf")
14
+
15
+ private const val FONT_PATH = "fonts/"
16
+
17
+ private enum class FontStyleExtension(
18
+ val extension: String,
19
+ val weight: FontWeight,
20
+ val style: FontStyle
21
+ ) {
22
+ REGULAR("", FontWeight.Normal, FontStyle.Normal),
23
+ BOLD("_bold", FontWeight.Bold, FontStyle.Normal),
24
+ ITALIC("_italic", FontWeight.Normal, FontStyle.Italic),
25
+ BOLD_ITALIC("_bold_italic", FontWeight.Bold, FontStyle.Italic);
26
+
27
+ companion object {
28
+ fun possibleFileNames(fontFamilyName: String) = values().flatMap { styleExtension ->
29
+ FILE_EXTENSIONS.map { fileNameExtension ->
30
+ "$fontFamilyName${styleExtension.extension}$fileNameExtension"
31
+ }
32
+ }
33
+ }
34
+ }
35
+
36
+ @Synchronized
37
+ fun getFontFamily(fontFamilyName: String, assetManager: AssetManager): FontFamily? {
38
+ val cachedFontFamily = fontFamilyCache[fontFamilyName]
39
+ if (cachedFontFamily != null) {
40
+ return cachedFontFamily
41
+ }
42
+ val existingFontFileNames = assetManager.list(FONT_PATH)?.toList() ?: emptyList()
43
+ val fontsInFamily = mutableListOf<Font>()
44
+ FontStyleExtension.values().forEach { styleExtension ->
45
+ FILE_EXTENSIONS.forEach { fileNameExtension ->
46
+ val fileName = "$fontFamilyName${styleExtension.extension}$fileNameExtension"
47
+ if (existingFontFileNames.contains(fileName)) {
48
+ fontsInFamily.add(
49
+ Font(
50
+ path = FONT_PATH + fileName,
51
+ assetManager = assetManager,
52
+ weight = styleExtension.weight,
53
+ style = styleExtension.style
54
+ )
55
+ )
56
+ }
57
+ }
58
+ }
59
+
60
+ return if (fontsInFamily.isNotEmpty()) {
61
+ val fontFamily = FontFamily(fontsInFamily)
62
+ fontFamilyCache = fontFamilyCache + (fontFamilyName to fontFamily)
63
+ fontFamily
64
+ } else {
65
+ null
66
+ }
67
+ }
68
+ }
@@ -1,15 +1,18 @@
1
1
  package com.revenuecat.purchases.react.ui
2
2
 
3
3
  internal enum class PaywallEvent(val eventName: String) {
4
+ ON_PURCHASE_STARTED("onPurchaseStarted"),
4
5
  ON_PURCHASE_COMPLETED("onPurchaseCompleted"),
5
6
  ON_PURCHASE_ERROR("onPurchaseError"),
6
7
  ON_PURCHASE_CANCELLED("onPurchaseCancelled"),
8
+ ON_RESTORE_STARTED("onRestoreStarted"),
7
9
  ON_RESTORE_COMPLETED("onRestoreCompleted"),
8
10
  ON_RESTORE_ERROR("onRestoreError"),
9
11
  ON_DISMISS("onDismiss");
10
12
  }
11
13
 
12
14
  internal enum class PaywallEventKey(val key: String) {
15
+ PACKAGE("packageBeingPurchased"),
13
16
  CUSTOMER_INFO("customerInfo"),
14
17
  STORE_TRANSACTION("storeTransaction"),
15
18
  ERROR("error")
@@ -3,11 +3,10 @@ package com.revenuecat.purchases.react.ui
3
3
  import androidx.core.view.children
4
4
  import com.facebook.react.uimanager.ThemedReactContext
5
5
  import com.facebook.react.uimanager.UIManagerModule
6
- import com.facebook.react.uimanager.events.RCTEventEmitter
7
6
  import com.revenuecat.purchases.ui.revenuecatui.ExperimentalPreviewRevenueCatUIPurchasesAPI
7
+ import com.revenuecat.purchases.ui.revenuecatui.fonts.CustomFontProvider
8
8
  import com.revenuecat.purchases.ui.revenuecatui.views.PaywallFooterView
9
9
 
10
-
11
10
  @OptIn(ExperimentalPreviewRevenueCatUIPurchasesAPI::class)
12
11
  internal class PaywallFooterViewManager : BasePaywallViewManager<PaywallFooterView>() {
13
12
 
@@ -66,4 +65,7 @@ internal class PaywallFooterViewManager : BasePaywallViewManager<PaywallFooterVi
66
65
  view.setOfferingId(identifier)
67
66
  }
68
67
 
68
+ override fun setFontFamily(view: PaywallFooterView, customFontProvider: CustomFontProvider) {
69
+ view.setFontProvider(customFontProvider)
70
+ }
69
71
  }
@@ -1,8 +1,8 @@
1
1
  package com.revenuecat.purchases.react.ui
2
2
 
3
3
  import com.facebook.react.uimanager.ThemedReactContext
4
- import com.facebook.react.uimanager.events.RCTEventEmitter
5
4
  import com.revenuecat.purchases.ui.revenuecatui.ExperimentalPreviewRevenueCatUIPurchasesAPI
5
+ import com.revenuecat.purchases.ui.revenuecatui.fonts.CustomFontProvider
6
6
  import com.revenuecat.purchases.ui.revenuecatui.views.PaywallView
7
7
 
8
8
  @OptIn(ExperimentalPreviewRevenueCatUIPurchasesAPI::class)
@@ -31,4 +31,7 @@ internal class PaywallViewManager : BasePaywallViewManager<PaywallView>() {
31
31
  view.setOfferingId(identifier)
32
32
  }
33
33
 
34
+ override fun setFontFamily(view: PaywallView, customFontProvider: CustomFontProvider) {
35
+ view.setFontProvider(customFontProvider)
36
+ }
34
37
  }
@@ -22,9 +22,11 @@
22
22
 
23
23
  RCT_EXPORT_VIEW_PROPERTY(options, NSDictionary);
24
24
 
25
+ RCT_EXPORT_VIEW_PROPERTY(onPurchaseStarted, RCTDirectEventBlock)
25
26
  RCT_EXPORT_VIEW_PROPERTY(onPurchaseCompleted, RCTDirectEventBlock)
26
27
  RCT_EXPORT_VIEW_PROPERTY(onPurchaseError, RCTDirectEventBlock)
27
28
  RCT_EXPORT_VIEW_PROPERTY(onPurchaseCancelled, RCTDirectEventBlock)
29
+ RCT_EXPORT_VIEW_PROPERTY(onRestoreStarted, RCTDirectEventBlock)
28
30
  RCT_EXPORT_VIEW_PROPERTY(onRestoreCompleted, RCTDirectEventBlock)
29
31
  RCT_EXPORT_VIEW_PROPERTY(onRestoreError, RCTDirectEventBlock)
30
32
  RCT_EXPORT_VIEW_PROPERTY(onDismiss, RCTDirectEventBlock)
@@ -13,9 +13,11 @@ NS_ASSUME_NONNULL_BEGIN
13
13
 
14
14
  @interface PaywallViewWrapper : UIView <RCPaywallViewControllerDelegateWrapper>
15
15
 
16
+ @property (nonatomic, copy) RCTDirectEventBlock onPurchaseStarted;
16
17
  @property (nonatomic, copy) RCTDirectEventBlock onPurchaseCompleted;
17
18
  @property (nonatomic, copy) RCTDirectEventBlock onPurchaseError;
18
19
  @property (nonatomic, copy) RCTDirectEventBlock onPurchaseCancelled;
20
+ @property (nonatomic, copy) RCTDirectEventBlock onRestoreStarted;
19
21
  @property (nonatomic, copy) RCTDirectEventBlock onRestoreCompleted;
20
22
  @property (nonatomic, copy) RCTDirectEventBlock onRestoreError;
21
23
  @property (nonatomic, copy) RCTDirectEventBlock onDismiss;
@@ -14,6 +14,7 @@
14
14
  static NSString *const KeyCustomerInfo = @"customerInfo";
15
15
  static NSString *const KeyStoreTransaction = @"storeTransaction";
16
16
  static NSString *const KeyError = @"error";
17
+ static NSString *const KeyPackage = @"packageBeingPurchased";
17
18
 
18
19
  API_AVAILABLE(ios(15.0))
19
20
  @interface PaywallViewWrapper ()
@@ -37,7 +38,7 @@ API_AVAILABLE(ios(15.0))
37
38
 
38
39
  - (void)layoutSubviews {
39
40
  [super layoutSubviews];
40
-
41
+
41
42
  // Need to wait for this view to be in the hierarchy to look for the parent UIVC.
42
43
  // This is required to add a SwiftUI `UIHostingController` to the hierarchy in a way that allows
43
44
  // UIKit to read properties from the environment, like traits and safe area.
@@ -70,13 +71,21 @@ API_AVAILABLE(ios(15.0))
70
71
  [self.paywallViewController updateWithOfferingIdentifier:identifier];
71
72
  }
72
73
  }
74
+
75
+ NSString *fontFamily = options[@"fontFamily"];
76
+ if (fontFamily && [fontFamily isKindOfClass:[NSString class]] && fontFamily.length > 0) {
77
+ [self.paywallViewController updateFontWithFontName:fontFamily];
78
+ }
73
79
  } else {
74
80
  NSLog(@"Error: attempted to present paywalls on unsupported iOS version.");
75
81
  }
76
82
  }
77
83
 
78
- - (void)paywallViewControllerDidStartPurchase:(RCPaywallViewController *)controller API_AVAILABLE(ios(15.0)) {
79
- // TODO: We need to send the package being purchased to match Android
84
+ - (void)paywallViewController:(RCPaywallViewController *)controller
85
+ didStartPurchaseWithPackage:(NSDictionary *)packageDictionary API_AVAILABLE(ios(15.0)) {
86
+ self.onPurchaseStarted(@{
87
+ KeyPackage: packageDictionary,
88
+ });
80
89
  }
81
90
 
82
91
  - (void)paywallViewController:(RCPaywallViewController *)controller
@@ -92,6 +101,10 @@ didFinishPurchasingWithCustomerInfoDictionary:(NSDictionary *)customerInfoDictio
92
101
  self.onPurchaseCancelled(nil);
93
102
  }
94
103
 
104
+ - (void)paywallViewControllerDidStartRestore:(RCPaywallViewController *)controller API_AVAILABLE(ios(15.0)) {
105
+ self.onRestoreStarted(nil);
106
+ }
107
+
95
108
  - (void)paywallViewController:(RCPaywallViewController *)controller
96
109
  didFailPurchasingWithErrorDictionary:(NSDictionary *)errorDictionary API_AVAILABLE(ios(15.0)) {
97
110
  self.onPurchaseError(@{
@@ -79,9 +79,11 @@ NS_ASSUME_NONNULL_END
79
79
 
80
80
  RCT_EXPORT_VIEW_PROPERTY(options, NSDictionary);
81
81
 
82
+ RCT_EXPORT_VIEW_PROPERTY(onPurchaseStarted, RCTDirectEventBlock)
82
83
  RCT_EXPORT_VIEW_PROPERTY(onPurchaseCompleted, RCTDirectEventBlock)
83
84
  RCT_EXPORT_VIEW_PROPERTY(onPurchaseError, RCTDirectEventBlock)
84
85
  RCT_EXPORT_VIEW_PROPERTY(onPurchaseCancelled, RCTDirectEventBlock)
86
+ RCT_EXPORT_VIEW_PROPERTY(onRestoreStarted, RCTDirectEventBlock)
85
87
  RCT_EXPORT_VIEW_PROPERTY(onRestoreCompleted, RCTDirectEventBlock)
86
88
  RCT_EXPORT_VIEW_PROPERTY(onRestoreError, RCTDirectEventBlock)
87
89
  RCT_EXPORT_VIEW_PROPERTY(onDismiss, RCTDirectEventBlock)
@@ -86,18 +86,22 @@ class RevenueCatUI {
86
86
  style,
87
87
  children,
88
88
  options,
89
+ onPurchaseStarted,
89
90
  onPurchaseCompleted,
90
91
  onPurchaseError,
91
92
  onPurchaseCancelled,
93
+ onRestoreStarted,
92
94
  onRestoreCompleted,
93
95
  onRestoreError,
94
96
  onDismiss
95
97
  }) => /*#__PURE__*/_react.default.createElement(InternalPaywall, {
96
98
  options: options,
97
99
  children: children,
100
+ onPurchaseStarted: event => onPurchaseStarted && onPurchaseStarted(event.nativeEvent),
98
101
  onPurchaseCompleted: event => onPurchaseCompleted && onPurchaseCompleted(event.nativeEvent),
99
102
  onPurchaseError: event => onPurchaseError && onPurchaseError(event.nativeEvent),
100
103
  onPurchaseCancelled: () => onPurchaseCancelled && onPurchaseCancelled(),
104
+ onRestoreStarted: () => onRestoreStarted && onRestoreStarted(),
101
105
  onRestoreCompleted: event => onRestoreCompleted && onRestoreCompleted(event.nativeEvent),
102
106
  onRestoreError: event => onRestoreError && onRestoreError(event.nativeEvent),
103
107
  onDismiss: () => onDismiss && onDismiss(),
@@ -109,9 +113,11 @@ class RevenueCatUI {
109
113
  style,
110
114
  children,
111
115
  options,
116
+ onPurchaseStarted,
112
117
  onPurchaseCompleted,
113
118
  onPurchaseError,
114
119
  onPurchaseCancelled,
120
+ onRestoreStarted,
115
121
  onRestoreCompleted,
116
122
  onRestoreError,
117
123
  onDismiss
@@ -146,9 +152,11 @@ class RevenueCatUI {
146
152
  marginTop: -20
147
153
  },
148
154
  options: options,
155
+ onPurchaseStarted: event => onPurchaseStarted && onPurchaseStarted(event.nativeEvent),
149
156
  onPurchaseCompleted: event => onPurchaseCompleted && onPurchaseCompleted(event.nativeEvent),
150
157
  onPurchaseError: event => onPurchaseError && onPurchaseError(event.nativeEvent),
151
158
  onPurchaseCancelled: () => onPurchaseCancelled && onPurchaseCancelled(),
159
+ onRestoreStarted: () => onRestoreStarted && onRestoreStarted(),
152
160
  onRestoreCompleted: event => onRestoreCompleted && onRestoreCompleted(event.nativeEvent),
153
161
  onRestoreError: event => onRestoreError && onRestoreError(event.nativeEvent),
154
162
  onDismiss: () => onDismiss && onDismiss()
@@ -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","onPurchaseCompleted","onPurchaseError","onPurchaseCancelled","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","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":";;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAWA,IAAAC,4BAAA,GAAAD,OAAA;AAMA,IAAAE,MAAA,GAAAC,uBAAA,CAAAH,OAAA;AAAmE,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,SAAAF,wBAAAE,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,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAInE,MAAMY,aAAa,GAChB,oFAAmF,GACpFC,qBAAQ,CAACC,MAAM,CAAC;EAACC,GAAG,EAAE,gCAAgC;EAAElB,OAAO,EAAE;AAAE,CAAC,CAAC,GACrE,sDAAsD,GACtD,+BAA+B;AAEjC,MAAMmB,UAAU,GAAGC,0BAAa,CAACD,UAAU;AAE3C,IAAI,CAACA,UAAU,EAAE;EACf,MAAM,IAAIE,KAAK,CAACN,aAAa,CAAC;AAChC;AAEA,MAAMO,YAAY,GAAG,IAAIC,+BAAkB,CAACJ,UAAU,CAAC;AAEvD,MAAMK,eAAe,GACnBC,sBAAS,CAACC,oBAAoB,CAAC,SAAS,CAAC,IAAI,IAAI,GAC7C,IAAAC,mCAAsB,EAA6B,SAAS,CAAC,GAC7D,MAAM;EACN,MAAM,IAAIN,KAAK,CAACN,aAAa,CAAC;AAChC,CAAC;AAEL,MAAMa,yBAAyB,GAAGH,sBAAS,CAACC,oBAAoB,CAAC,SAAS,CAAC,IAAI,IAAI,GAC/E,IAAAC,mCAAsB,EAAyB,qBAAqB,CAAC,GACrE,MAAM;EACN,MAAM,IAAIN,KAAK,CAACN,aAAa,CAAC;AAChC,CAAC;;AA4CH;;AAuCe,MAAMc,YAAY,CAAC;EAEhC,OAAeC,QAAQ,GAAG;IACxBC,oCAAoC,EAAE;EACxC,CAAC;;EAED;AACF;AACA;AACA;AACA;EACE,OAAcC,cAAc,GAAGA,2CAAc;;EAE7C;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,OAAcC,cAAcA,CAAC;IACEC,QAAQ;IACRC,kBAAkB,GAAGN,YAAY,CAACC,QAAQ,CAACC;EACvB,CAAC,GAAG,CAAC,CAAC,EAA2B;IAClF,OAAOZ,UAAU,CAACc,cAAc,CAAC,CAAAC,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEE,UAAU,KAAI,IAAI,EAAED,kBAAkB,CAAC;EACpF;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,OAAcE,sBAAsBA,CAAC;IACEC,6BAA6B;IAC7BJ,QAAQ;IACRC,kBAAkB,GAAGN,YAAY,CAACC,QAAQ,CAACC;EACf,CAAC,EAA2B;IAC7F,OAAOZ,UAAU,CAACkB,sBAAsB,CAACC,6BAA6B,EAAE,CAAAJ,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEE,UAAU,KAAI,IAAI,EAAED,kBAAkB,CAAC;EAC3H;EAEA,OAAcI,OAAO,GAAyCA,CAAC;IACEC,KAAK;IACLC,QAAQ;IACRC,OAAO;IACPC,iBAAiB;IACjBC,mBAAmB;IACnBC,eAAe;IACfC,mBAAmB;IACnBC,gBAAgB;IAChBC,kBAAkB;IAClBC,cAAc;IACdC;EACF,CAAC,kBAC9D1D,MAAA,CAAAQ,OAAA,CAAAmD,aAAA,CAAC3B,eAAe;IAACkB,OAAO,EAAEA,OAAQ;IACjBD,QAAQ,EAAEA,QAAS;IACnBE,iBAAiB,EAAGS,KAAU,IAAKT,iBAAiB,IAAIA,iBAAiB,CAACS,KAAK,CAACC,WAAW,CAAE;IAC7FT,mBAAmB,EAAGQ,KAAU,IAAKR,mBAAmB,IAAIA,mBAAmB,CAACQ,KAAK,CAACC,WAAW,CAAE;IACnGR,eAAe,EAAGO,KAAU,IAAKP,eAAe,IAAIA,eAAe,CAACO,KAAK,CAACC,WAAW,CAAE;IACvFP,mBAAmB,EAAEA,CAAA,KAAMA,mBAAmB,IAAIA,mBAAmB,CAAC,CAAE;IACxEC,gBAAgB,EAAEA,CAAA,KAAMA,gBAAgB,IAAIA,gBAAgB,CAAC,CAAE;IAC/DC,kBAAkB,EAAGI,KAAU,IAAKJ,kBAAkB,IAAIA,kBAAkB,CAACI,KAAK,CAACC,WAAW,CAAE;IAChGJ,cAAc,EAAGG,KAAU,IAAKH,cAAc,IAAIA,cAAc,CAACG,KAAK,CAACC,WAAW,CAAE;IACpFH,SAAS,EAAEA,CAAA,KAAMA,SAAS,IAAIA,SAAS,CAAC,CAAE;IAC1CV,KAAK,EAAE,CAAC;MAACc,IAAI,EAAE;IAAC,CAAC,EAAEd,KAAK;EAAE,CAAC,CAC7C;EAED,OAAce,0BAA0B,GAAqCA,CAAC;IACEf,KAAK;IACLC,QAAQ;IACRC,OAAO;IACPC,iBAAiB;IACjBC,mBAAmB;IACnBC,eAAe;IACfC,mBAAmB;IACnBC,gBAAgB;IAChBC,kBAAkB;IAClBC,cAAc;IACdC;EACF,CAAC,KAAK;IAClF;IACA;IACA;IACA;IACA,MAAM,CAACM,aAAa,EAAEC,gBAAgB,CAAC,GAAG,IAAAC,eAAQ,EAAC,EAAE,CAAC;IAEtD,IAAAC,gBAAS,EAAC,MAAM;MAKd,MAAMC,0BAA0B,GAAGA,CAAC;QAACC;MAAwC,CAAC,KAAK;QACjFJ,gBAAgB,CAAC,EAAE,GAAGI,MAAM,CAAC;MAC/B,CAAC;MAED,MAAMC,YAAY,GAAGxC,YAAY,CAACyC,WAAW,CAC3C,yBAAyB,EACzBH,0BACF,CAAC;MAED,OAAO,MAAM;QACXE,YAAY,CAACE,MAAM,CAAC,CAAC;MACvB,CAAC;IACH,CAAC,EAAE,EAAE,CAAC;IAEN,oBACExE,MAAA,CAAAQ,OAAA,CAAAmD,aAAA,CAAC9D,YAAA,CAAA4E,IAAI;MAACzB,KAAK,EAAE,CAAC;QAACc,IAAI,EAAE;MAAC,CAAC,EAAEd,KAAK;IAAE,gBAC9BhD,MAAA,CAAAQ,OAAA,CAAAmD,aAAA,CAAC9D,YAAA,CAAA6E,UAAU;MAACC,qBAAqB,EAAE;QAACC,QAAQ,EAAE,CAAC;QAAEZ;MAAa;IAAE,GAC7Df,QACS,CAAC,eAEbjD,MAAA,CAAAQ,OAAA,CAAAmD,aAAA,CAACvB,yBAAyB;MACxBY,KAAK,EAAE;QAAC6B,SAAS,EAAE,CAAC;MAAE,CAAE;MACxB3B,OAAO,EAAEA,OAAQ;MACjBC,iBAAiB,EAAGS,KAAU,IAAKT,iBAAiB,IAAIA,iBAAiB,CAACS,KAAK,CAACC,WAAW,CAAE;MAC7FT,mBAAmB,EAAGQ,KAAU,IAAKR,mBAAmB,IAAIA,mBAAmB,CAACQ,KAAK,CAACC,WAAW,CAAE;MACnGR,eAAe,EAAGO,KAAU,IAAKP,eAAe,IAAIA,eAAe,CAACO,KAAK,CAACC,WAAW,CAAE;MACvFP,mBAAmB,EAAEA,CAAA,KAAMA,mBAAmB,IAAIA,mBAAmB,CAAC,CAAE;MACxEC,gBAAgB,EAAEA,CAAA,KAAMA,gBAAgB,IAAIA,gBAAgB,CAAC,CAAE;MAC/DC,kBAAkB,EAAGI,KAAU,IAAKJ,kBAAkB,IAAIA,kBAAkB,CAACI,KAAK,CAACC,WAAW,CAAE;MAChGJ,cAAc,EAAGG,KAAU,IAAKH,cAAc,IAAIA,cAAc,CAACG,KAAK,CAACC,WAAW,CAAE;MACpFH,SAAS,EAAEA,CAAA,KAAMA,SAAS,IAAIA,SAAS,CAAC;IAAE,CAC3C,CACG,CAAC;EAEX,CAAC;AACH;AAACoB,OAAA,CAAAtE,OAAA,GAAA6B,YAAA"}
@@ -73,18 +73,22 @@ export default class RevenueCatUI {
73
73
  style,
74
74
  children,
75
75
  options,
76
+ onPurchaseStarted,
76
77
  onPurchaseCompleted,
77
78
  onPurchaseError,
78
79
  onPurchaseCancelled,
80
+ onRestoreStarted,
79
81
  onRestoreCompleted,
80
82
  onRestoreError,
81
83
  onDismiss
82
84
  }) => /*#__PURE__*/React.createElement(InternalPaywall, {
83
85
  options: options,
84
86
  children: children,
87
+ onPurchaseStarted: event => onPurchaseStarted && onPurchaseStarted(event.nativeEvent),
85
88
  onPurchaseCompleted: event => onPurchaseCompleted && onPurchaseCompleted(event.nativeEvent),
86
89
  onPurchaseError: event => onPurchaseError && onPurchaseError(event.nativeEvent),
87
90
  onPurchaseCancelled: () => onPurchaseCancelled && onPurchaseCancelled(),
91
+ onRestoreStarted: () => onRestoreStarted && onRestoreStarted(),
88
92
  onRestoreCompleted: event => onRestoreCompleted && onRestoreCompleted(event.nativeEvent),
89
93
  onRestoreError: event => onRestoreError && onRestoreError(event.nativeEvent),
90
94
  onDismiss: () => onDismiss && onDismiss(),
@@ -96,9 +100,11 @@ export default class RevenueCatUI {
96
100
  style,
97
101
  children,
98
102
  options,
103
+ onPurchaseStarted,
99
104
  onPurchaseCompleted,
100
105
  onPurchaseError,
101
106
  onPurchaseCancelled,
107
+ onRestoreStarted,
102
108
  onRestoreCompleted,
103
109
  onRestoreError,
104
110
  onDismiss
@@ -133,9 +139,11 @@ export default class RevenueCatUI {
133
139
  marginTop: -20
134
140
  },
135
141
  options: options,
142
+ onPurchaseStarted: event => onPurchaseStarted && onPurchaseStarted(event.nativeEvent),
136
143
  onPurchaseCompleted: event => onPurchaseCompleted && onPurchaseCompleted(event.nativeEvent),
137
144
  onPurchaseError: event => onPurchaseError && onPurchaseError(event.nativeEvent),
138
145
  onPurchaseCancelled: () => onPurchaseCancelled && onPurchaseCancelled(),
146
+ onRestoreStarted: () => onRestoreStarted && onRestoreStarted(),
139
147
  onRestoreCompleted: event => onRestoreCompleted && onRestoreCompleted(event.nativeEvent),
140
148
  onRestoreError: event => onRestoreError && onRestoreError(event.nativeEvent),
141
149
  onDismiss: () => onDismiss && onDismiss()
@@ -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","onPurchaseCompleted","onPurchaseError","onPurchaseCancelled","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","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,5 +1,5 @@
1
1
  import { type StyleProp, type ViewStyle } from "react-native";
2
- import { type CustomerInfo, PAYWALL_RESULT, type PurchasesError, type PurchasesOffering, type PurchasesStoreTransaction } from "@revenuecat/purchases-typescript-internal";
2
+ import { type CustomerInfo, PAYWALL_RESULT, type PurchasesError, type PurchasesOffering, type PurchasesPackage, type PurchasesStoreTransaction } from "@revenuecat/purchases-typescript-internal";
3
3
  import React, { type ReactNode } from "react";
4
4
  export { PAYWALL_RESULT } from "@revenuecat/purchases-typescript-internal";
5
5
  export interface PresentPaywallParams {
@@ -19,7 +19,21 @@ export type PresentPaywallIfNeededParams = PresentPaywallParams & {
19
19
  requiredEntitlementIdentifier: string;
20
20
  };
21
21
  export interface PaywallViewOptions {
22
+ /**
23
+ * The offering to load the paywall with. This will be the "current" offering by default.
24
+ */
22
25
  offering?: PurchasesOffering | null;
26
+ /**
27
+ * The fontFamily name to use in the Paywall. In order to add a font family, add it in the react native app and make
28
+ * sure to run `npx react-native-asset` so it's added to the native components.
29
+ * Supported font types are `.ttf` and `.otf`.
30
+ * Make sure the file names follow the convention:
31
+ * - Regular: MyFont.ttf/MyFont.otf
32
+ * - Bold: MyFont_bold.ttf/MyFont_bold.otf
33
+ * - Italic: MyFont_italic.ttf/MyFont_italic.otf
34
+ * - Bold and Italic: MyFont_bold_italic.ttf/MyFont_bold_italic.otf
35
+ */
36
+ fontFamily?: string | null;
23
37
  }
24
38
  export interface FullScreenPaywallViewOptions extends PaywallViewOptions {
25
39
  }
@@ -29,6 +43,9 @@ type FullScreenPaywallViewProps = {
29
43
  style?: StyleProp<ViewStyle>;
30
44
  children?: ReactNode;
31
45
  options?: FullScreenPaywallViewOptions;
46
+ onPurchaseStarted?: ({ packageBeingPurchased }: {
47
+ packageBeingPurchased: PurchasesPackage;
48
+ }) => void;
32
49
  onPurchaseCompleted?: ({ customerInfo, storeTransaction }: {
33
50
  customerInfo: CustomerInfo;
34
51
  storeTransaction: PurchasesStoreTransaction;
@@ -37,6 +54,7 @@ type FullScreenPaywallViewProps = {
37
54
  error: PurchasesError;
38
55
  }) => void;
39
56
  onPurchaseCancelled?: () => void;
57
+ onRestoreStarted?: () => void;
40
58
  onRestoreCompleted?: ({ customerInfo }: {
41
59
  customerInfo: CustomerInfo;
42
60
  }) => void;
@@ -49,6 +67,9 @@ type FooterPaywallViewProps = {
49
67
  style?: StyleProp<ViewStyle>;
50
68
  children?: ReactNode;
51
69
  options?: FooterPaywallViewOptions;
70
+ onPurchaseStarted?: ({ packageBeingPurchased }: {
71
+ packageBeingPurchased: PurchasesPackage;
72
+ }) => void;
52
73
  onPurchaseCompleted?: ({ customerInfo, storeTransaction }: {
53
74
  customerInfo: CustomerInfo;
54
75
  storeTransaction: PurchasesStoreTransaction;
@@ -57,6 +78,7 @@ type FooterPaywallViewProps = {
57
78
  error: PurchasesError;
58
79
  }) => void;
59
80
  onPurchaseCancelled?: () => void;
81
+ onRestoreStarted?: () => void;
60
82
  onRestoreCompleted?: ({ customerInfo }: {
61
83
  customerInfo: CustomerInfo;
62
84
  }) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,SAAS,EAGd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,KAAK,YAAY,EACjB,cAAc,EAAE,KAAK,cAAc,EACnC,KAAK,iBAAiB,EACtB,KAAK,yBAAyB,EAC/B,MAAM,2CAA2C,CAAC;AACnD,OAAO,KAAK,EAAE,EAAE,KAAK,SAAS,EAAuB,MAAM,OAAO,CAAC;AAEnE,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AA6B3E,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B;;OAEG;IACH,QAAQ,CAAC,EAAE,iBAAiB,CAAC;CAC9B;AAED,MAAM,MAAM,4BAA4B,GAAG,oBAAoB,GAAG;IAChE;;OAEG;IACH,6BAA6B,EAAE,MAAM,CAAC;CACvC,CAAA;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;CACrC;AAED,MAAM,WAAW,4BAA6B,SAAQ,kBAAkB;CAEvE;AAGD,MAAM,WAAW,wBAAyB,SAAQ,kBAAkB;CAEnE;AAED,KAAK,0BAA0B,GAAG;IAChC,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,OAAO,CAAC,EAAE,4BAA4B,CAAC;IACvC,mBAAmB,CAAC,EAAE,CAAC,EACE,YAAY,EACZ,gBAAgB,EACjB,EAAE;QAAE,YAAY,EAAE,YAAY,CAAC;QAAC,gBAAgB,EAAE,yBAAyB,CAAA;KAAE,KAAK,IAAI,CAAC;IAC/G,eAAe,CAAC,EAAE,CAAC,EAAC,KAAK,EAAC,EAAE;QAAE,KAAK,EAAE,cAAc,CAAA;KAAE,KAAK,IAAI,CAAC;IAC/D,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAC;IACjC,kBAAkB,CAAC,EAAE,CAAC,EAAC,YAAY,EAAC,EAAE;QAAE,YAAY,EAAE,YAAY,CAAA;KAAE,KAAK,IAAI,CAAC;IAC9E,cAAc,CAAC,EAAE,CAAC,EAAC,KAAK,EAAC,EAAE;QAAE,KAAK,EAAE,cAAc,CAAA;KAAE,KAAK,IAAI,CAAC;IAC9D,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB,CAAC;AAEF,KAAK,sBAAsB,GAAG;IAC5B,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,OAAO,CAAC,EAAE,wBAAwB,CAAC;IACnC,mBAAmB,CAAC,EAAE,CAAC,EACE,YAAY,EACZ,gBAAgB,EACjB,EAAE;QAAE,YAAY,EAAE,YAAY,CAAC;QAAC,gBAAgB,EAAE,yBAAyB,CAAA;KAAE,KAAK,IAAI,CAAC;IAC/G,eAAe,CAAC,EAAE,CAAC,EAAC,KAAK,EAAC,EAAE;QAAE,KAAK,EAAE,cAAc,CAAA;KAAE,KAAK,IAAI,CAAC;IAC/D,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAC;IACjC,kBAAkB,CAAC,EAAE,CAAC,EAAC,YAAY,EAAC,EAAE;QAAE,YAAY,EAAE,YAAY,CAAA;KAAE,KAAK,IAAI,CAAC;IAC9E,cAAc,CAAC,EAAE,CAAC,EAAC,KAAK,EAAC,EAAE;QAAE,KAAK,EAAE,cAAc,CAAA;KAAE,KAAK,IAAI,CAAC;IAC9D,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,YAAY;IAE/B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAEtB;IAED;;;;OAIG;IACH,OAAc,cAAc,wBAAkB;IAE9C;;;;;;;;;OASG;WACW,cAAc,CAAC,EACE,QAAQ,EACR,kBAA+E,EAChF,GAAE,oBAAyB,GAAG,OAAO,CAAC,cAAc,CAAC;IAInF;;;;;;;;;;;;OAYG;WACW,sBAAsB,CAAC,EACE,6BAA6B,EAC7B,QAAQ,EACR,kBAA+E,EAChF,EAAE,4BAA4B,GAAG,OAAO,CAAC,cAAc,CAAC;IAI9F,OAAc,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CAAC,CAoBzD;IAEF,OAAc,0BAA0B,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAAC,CAsDxE;CACH"}
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": "7.21.1",
4
+ "version": "8.0.0-beta.1",
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",
@@ -114,6 +114,6 @@
114
114
  },
115
115
  "dependencies": {
116
116
  "@revenuecat/purchases-typescript-internal": "8.10.1",
117
- "react-native-purchases": "7.21.1"
117
+ "react-native-purchases": "8.0.0-beta.1"
118
118
  }
119
119
  }
package/src/index.tsx CHANGED
@@ -12,7 +12,7 @@ import {
12
12
  import {
13
13
  type CustomerInfo,
14
14
  PAYWALL_RESULT, type PurchasesError,
15
- type PurchasesOffering,
15
+ type PurchasesOffering, type PurchasesPackage,
16
16
  type PurchasesStoreTransaction
17
17
  } from "@revenuecat/purchases-typescript-internal";
18
18
  import React, { type ReactNode, useEffect, useState } from "react";
@@ -66,7 +66,22 @@ export type PresentPaywallIfNeededParams = PresentPaywallParams & {
66
66
  }
67
67
 
68
68
  export interface PaywallViewOptions {
69
+ /**
70
+ * The offering to load the paywall with. This will be the "current" offering by default.
71
+ */
69
72
  offering?: PurchasesOffering | null;
73
+
74
+ /**
75
+ * The fontFamily name to use in the Paywall. In order to add a font family, add it in the react native app and make
76
+ * sure to run `npx react-native-asset` so it's added to the native components.
77
+ * Supported font types are `.ttf` and `.otf`.
78
+ * Make sure the file names follow the convention:
79
+ * - Regular: MyFont.ttf/MyFont.otf
80
+ * - Bold: MyFont_bold.ttf/MyFont_bold.otf
81
+ * - Italic: MyFont_italic.ttf/MyFont_italic.otf
82
+ * - Bold and Italic: MyFont_bold_italic.ttf/MyFont_bold_italic.otf
83
+ */
84
+ fontFamily?: string | null;
70
85
  }
71
86
 
72
87
  export interface FullScreenPaywallViewOptions extends PaywallViewOptions {
@@ -82,12 +97,14 @@ type FullScreenPaywallViewProps = {
82
97
  style?: StyleProp<ViewStyle>;
83
98
  children?: ReactNode;
84
99
  options?: FullScreenPaywallViewOptions;
100
+ onPurchaseStarted?: ({packageBeingPurchased}: { packageBeingPurchased: PurchasesPackage }) => void;
85
101
  onPurchaseCompleted?: ({
86
102
  customerInfo,
87
103
  storeTransaction
88
104
  }: { customerInfo: CustomerInfo, storeTransaction: PurchasesStoreTransaction }) => void;
89
105
  onPurchaseError?: ({error}: { error: PurchasesError }) => void;
90
106
  onPurchaseCancelled?: () => void;
107
+ onRestoreStarted?: () => void;
91
108
  onRestoreCompleted?: ({customerInfo}: { customerInfo: CustomerInfo }) => void;
92
109
  onRestoreError?: ({error}: { error: PurchasesError }) => void;
93
110
  onDismiss?: () => void;
@@ -97,12 +114,14 @@ type FooterPaywallViewProps = {
97
114
  style?: StyleProp<ViewStyle>;
98
115
  children?: ReactNode;
99
116
  options?: FooterPaywallViewOptions;
117
+ onPurchaseStarted?: ({packageBeingPurchased}: { packageBeingPurchased: PurchasesPackage }) => void;
100
118
  onPurchaseCompleted?: ({
101
119
  customerInfo,
102
120
  storeTransaction
103
121
  }: { customerInfo: CustomerInfo, storeTransaction: PurchasesStoreTransaction }) => void;
104
122
  onPurchaseError?: ({error}: { error: PurchasesError }) => void;
105
123
  onPurchaseCancelled?: () => void;
124
+ onRestoreStarted?: () => void;
106
125
  onRestoreCompleted?: ({customerInfo}: { customerInfo: CustomerInfo }) => void;
107
126
  onRestoreError?: ({error}: { error: PurchasesError }) => void;
108
127
  onDismiss?: () => void;
@@ -163,18 +182,22 @@ export default class RevenueCatUI {
163
182
  style,
164
183
  children,
165
184
  options,
185
+ onPurchaseStarted,
166
186
  onPurchaseCompleted,
167
187
  onPurchaseError,
168
188
  onPurchaseCancelled,
189
+ onRestoreStarted,
169
190
  onRestoreCompleted,
170
191
  onRestoreError,
171
192
  onDismiss,
172
193
  }) => (
173
194
  <InternalPaywall options={options}
174
195
  children={children}
196
+ onPurchaseStarted={(event: any) => onPurchaseStarted && onPurchaseStarted(event.nativeEvent)}
175
197
  onPurchaseCompleted={(event: any) => onPurchaseCompleted && onPurchaseCompleted(event.nativeEvent)}
176
198
  onPurchaseError={(event: any) => onPurchaseError && onPurchaseError(event.nativeEvent)}
177
199
  onPurchaseCancelled={() => onPurchaseCancelled && onPurchaseCancelled()}
200
+ onRestoreStarted={() => onRestoreStarted && onRestoreStarted()}
178
201
  onRestoreCompleted={(event: any) => onRestoreCompleted && onRestoreCompleted(event.nativeEvent)}
179
202
  onRestoreError={(event: any) => onRestoreError && onRestoreError(event.nativeEvent)}
180
203
  onDismiss={() => onDismiss && onDismiss()}
@@ -185,9 +208,11 @@ export default class RevenueCatUI {
185
208
  style,
186
209
  children,
187
210
  options,
211
+ onPurchaseStarted,
188
212
  onPurchaseCompleted,
189
213
  onPurchaseError,
190
214
  onPurchaseCancelled,
215
+ onRestoreStarted,
191
216
  onRestoreCompleted,
192
217
  onRestoreError,
193
218
  onDismiss,
@@ -226,9 +251,11 @@ export default class RevenueCatUI {
226
251
  <InternalPaywallFooterView
227
252
  style={{marginTop: -20}}
228
253
  options={options}
254
+ onPurchaseStarted={(event: any) => onPurchaseStarted && onPurchaseStarted(event.nativeEvent)}
229
255
  onPurchaseCompleted={(event: any) => onPurchaseCompleted && onPurchaseCompleted(event.nativeEvent)}
230
256
  onPurchaseError={(event: any) => onPurchaseError && onPurchaseError(event.nativeEvent)}
231
257
  onPurchaseCancelled={() => onPurchaseCancelled && onPurchaseCancelled()}
258
+ onRestoreStarted={() => onRestoreStarted && onRestoreStarted()}
232
259
  onRestoreCompleted={(event: any) => onRestoreCompleted && onRestoreCompleted(event.nativeEvent)}
233
260
  onRestoreError={(event: any) => onRestoreError && onRestoreError(event.nativeEvent)}
234
261
  onDismiss={() => onDismiss && onDismiss()}