react-native-payengine 2.0.14 → 2.0.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (172) hide show
  1. package/README.md +12 -2
  2. package/android/.gradle/7.2/dependencies-accessors/dependencies-accessors.lock +0 -0
  3. package/android/.gradle/7.2/dependencies-accessors/gc.properties +0 -0
  4. package/android/.gradle/7.2/executionHistory/executionHistory.bin +0 -0
  5. package/android/.gradle/7.2/executionHistory/executionHistory.lock +0 -0
  6. package/android/.gradle/7.2/fileChanges/last-build.bin +0 -0
  7. package/android/.gradle/7.2/fileHashes/fileHashes.bin +0 -0
  8. package/android/.gradle/7.2/fileHashes/fileHashes.lock +0 -0
  9. package/android/.gradle/7.2/fileHashes/resourceHashesCache.bin +0 -0
  10. package/android/.gradle/7.2/gc.properties +0 -0
  11. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  12. package/android/.gradle/buildOutputCleanup/cache.properties +2 -2
  13. package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  14. package/android/.gradle/checksums/checksums.lock +0 -0
  15. package/android/.gradle/checksums/md5-checksums.bin +0 -0
  16. package/android/.gradle/checksums/sha1-checksums.bin +0 -0
  17. package/android/.gradle/config.properties +2 -0
  18. package/android/.idea/compiler.xml +1 -1
  19. package/android/.idea/gradle.xml +2 -2
  20. package/android/.idea/kotlinc.xml +6 -0
  21. package/android/.idea/libraries/Gradle__androidx_annotation_annotation_1_1_0.xml +1 -1
  22. package/android/.idea/libraries/Gradle__androidx_appcompat_appcompat_1_0_2_aar.xml +5 -5
  23. package/android/.idea/libraries/Gradle__androidx_arch_core_core_common_2_0_0.xml +1 -1
  24. package/android/.idea/libraries/Gradle__androidx_arch_core_core_runtime_2_0_0_aar.xml +3 -4
  25. package/android/.idea/libraries/Gradle__androidx_asynclayoutinflater_asynclayoutinflater_1_0_0_aar.xml +3 -4
  26. package/android/.idea/libraries/Gradle__androidx_autofill_autofill_1_1_0_aar.xml +5 -5
  27. package/android/.idea/libraries/Gradle__androidx_collection_collection_1_0_0.xml +1 -1
  28. package/android/.idea/libraries/Gradle__androidx_coordinatorlayout_coordinatorlayout_1_0_0_aar.xml +5 -5
  29. package/android/.idea/libraries/Gradle__androidx_core_core_1_2_0_aar.xml +16 -0
  30. package/android/.idea/libraries/Gradle__androidx_cursoradapter_cursoradapter_1_0_0_aar.xml +3 -4
  31. package/android/.idea/libraries/Gradle__androidx_customview_customview_1_0_0_aar.xml +3 -4
  32. package/android/.idea/libraries/Gradle__androidx_documentfile_documentfile_1_0_0_aar.xml +3 -4
  33. package/android/.idea/libraries/Gradle__androidx_drawerlayout_drawerlayout_1_0_0_aar.xml +4 -5
  34. package/android/.idea/libraries/Gradle__androidx_fragment_fragment_1_0_0_aar.xml +4 -5
  35. package/android/.idea/libraries/Gradle__androidx_interpolator_interpolator_1_0_0_aar.xml +3 -4
  36. package/android/.idea/libraries/Gradle__androidx_legacy_legacy_support_core_ui_1_0_0_aar.xml +3 -4
  37. package/android/.idea/libraries/Gradle__androidx_legacy_legacy_support_core_utils_1_0_0_aar.xml +3 -4
  38. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_common_2_0_0.xml +1 -1
  39. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_2_0_0_aar.xml +3 -4
  40. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_core_2_0_0_aar.xml +3 -4
  41. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_runtime_2_0_0_aar.xml +3 -4
  42. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_2_0_0_aar.xml +3 -4
  43. package/android/.idea/libraries/Gradle__androidx_loader_loader_1_0_0_aar.xml +3 -4
  44. package/android/.idea/libraries/Gradle__androidx_localbroadcastmanager_localbroadcastmanager_1_0_0_aar.xml +3 -4
  45. package/android/.idea/libraries/Gradle__androidx_print_print_1_0_0_aar.xml +4 -5
  46. package/android/.idea/libraries/Gradle__androidx_slidingpanelayout_slidingpanelayout_1_0_0_aar.xml +3 -4
  47. package/android/.idea/libraries/Gradle__androidx_swiperefreshlayout_swiperefreshlayout_1_0_0_aar.xml +4 -5
  48. package/android/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_1_0_1_aar.xml +3 -4
  49. package/android/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_animated_1_0_0_aar.xml +3 -4
  50. package/android/.idea/libraries/Gradle__androidx_versionedparcelable_versionedparcelable_1_1_0_aar.xml +3 -4
  51. package/android/.idea/libraries/Gradle__androidx_viewpager_viewpager_1_0_0_aar.xml +3 -4
  52. package/android/.idea/libraries/Gradle__com_facebook_fbjni_fbjni_java_only_0_2_2.xml +1 -1
  53. package/android/.idea/libraries/Gradle__com_facebook_fresco_drawee_2_5_0_aar.xml +4 -4
  54. package/android/.idea/libraries/Gradle__com_facebook_fresco_fbcore_2_5_0_aar.xml +4 -5
  55. package/android/.idea/libraries/Gradle__com_facebook_fresco_fresco_2_5_0_aar.xml +4 -5
  56. package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_2_5_0_aar.xml +4 -5
  57. package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_base_2_5_0_aar.xml +4 -5
  58. package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_native_2_5_0_aar.xml +3 -4
  59. package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_okhttp3_2_5_0_aar.xml +3 -4
  60. package/android/.idea/libraries/Gradle__com_facebook_fresco_memory_type_ashmem_2_5_0_aar.xml +3 -4
  61. package/android/.idea/libraries/Gradle__com_facebook_fresco_memory_type_java_2_5_0_aar.xml +3 -4
  62. package/android/.idea/libraries/Gradle__com_facebook_fresco_memory_type_native_2_5_0_aar.xml +3 -4
  63. package/android/.idea/libraries/Gradle__com_facebook_fresco_nativeimagefilters_2_5_0_aar.xml +3 -4
  64. package/android/.idea/libraries/Gradle__com_facebook_fresco_nativeimagetranscoder_2_5_0_aar.xml +3 -4
  65. package/android/.idea/libraries/Gradle__com_facebook_fresco_ui_common_2_5_0_aar.xml +3 -4
  66. package/android/.idea/libraries/Gradle__com_facebook_infer_annotation_infer_annotation_0_18_0.xml +1 -1
  67. package/android/.idea/libraries/Gradle__com_facebook_react_react_native_0_68_2_aar.xml +5 -5
  68. package/android/.idea/libraries/Gradle__com_facebook_soloader_annotation_0_10_3.xml +1 -1
  69. package/android/.idea/libraries/Gradle__com_facebook_soloader_nativeloader_0_10_3.xml +1 -1
  70. package/android/.idea/libraries/Gradle__com_facebook_soloader_soloader_0_10_3_aar.xml +3 -4
  71. package/android/.idea/libraries/Gradle__com_facebook_yoga_proguard_annotations_1_19_0.xml +1 -1
  72. package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_base_18_0_1_aar.xml +13 -0
  73. package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_basement_18_0_0_aar.xml +13 -0
  74. package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_identity_18_0_1_aar.xml +12 -0
  75. package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_maps_18_0_2_aar.xml +13 -0
  76. package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_tasks_18_0_1_aar.xml +12 -0
  77. package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_wallet_19_2_1_aar.xml +13 -0
  78. package/android/.idea/libraries/Gradle__com_google_code_findbugs_jsr305_3_0_2.xml +1 -1
  79. package/android/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_4_9_2.xml +1 -1
  80. package/android/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_urlconnection_4_9_2.xml +1 -1
  81. package/android/.idea/libraries/Gradle__com_squareup_okio_okio_2_9_0.xml +4 -4
  82. package/android/.idea/libraries/Gradle__javax_inject_javax_inject_1.xml +1 -1
  83. package/android/.idea/libraries/Gradle__org_jetbrains_annotations_13_0.xml +1 -1
  84. package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_annotations_jvm_1_3_72.xml +1 -1
  85. package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_1_6_10.xml +14 -0
  86. package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_common_1_6_10.xml +14 -0
  87. package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_6_10.xml +14 -0
  88. package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk8_1_4_10.xml +1 -1
  89. package/android/.idea/migrations.xml +10 -0
  90. package/android/.idea/misc.xml +1 -1
  91. package/android/.idea/modules/android.androidTest.iml +66 -50
  92. package/android/.idea/modules/android.iml +3 -11
  93. package/android/.idea/modules/android.main.iml +58 -50
  94. package/android/.idea/modules/android.unitTest.iml +66 -51
  95. package/android/build.gradle +2 -2
  96. package/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  97. package/android/gradle/wrapper/gradle-wrapper.properties +1 -2
  98. package/android/gradlew +172 -110
  99. package/android/gradlew.bat +24 -19
  100. package/android/src/main/java/com/reactnativepayengine/v2/securefields/bankaccount/RNBankAccountViewManager.kt +2 -2
  101. package/android/src/main/java/com/reactnativepayengine/v2/securefields/bankaccount/RNPEBankAccountView.kt +2 -2
  102. package/android/src/main/java/com/reactnativepayengine/v2/securefields/creditcard/RNPECreditCardView.kt +3 -2
  103. package/android/src/main/java/com/reactnativepayengine/v2/securefields/creditcard/RNPECreditCardViewManager.kt +4 -2
  104. package/ios/PayEngineSDK.xcframework/ios-arm64/PayEngineSDK.framework/Headers/PayEngineSDK-Swift.h +2 -2
  105. package/ios/PayEngineSDK.xcframework/ios-arm64/PayEngineSDK.framework/Info.plist +0 -0
  106. package/ios/PayEngineSDK.xcframework/ios-arm64/PayEngineSDK.framework/Modules/PayEngineSDK.swiftmodule/arm64-apple-ios.abi.json +102 -38
  107. package/ios/PayEngineSDK.xcframework/ios-arm64/PayEngineSDK.framework/Modules/PayEngineSDK.swiftmodule/arm64-apple-ios.private.swiftinterface +8 -8
  108. package/ios/PayEngineSDK.xcframework/ios-arm64/PayEngineSDK.framework/Modules/PayEngineSDK.swiftmodule/arm64-apple-ios.private.swiftinterface-e +8 -8
  109. package/ios/PayEngineSDK.xcframework/ios-arm64/PayEngineSDK.framework/Modules/PayEngineSDK.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
  110. package/ios/PayEngineSDK.xcframework/ios-arm64/PayEngineSDK.framework/Modules/PayEngineSDK.swiftmodule/arm64-apple-ios.swiftinterface +8 -8
  111. package/ios/PayEngineSDK.xcframework/ios-arm64/PayEngineSDK.framework/Modules/PayEngineSDK.swiftmodule/arm64-apple-ios.swiftinterface-e +8 -8
  112. package/ios/PayEngineSDK.xcframework/ios-arm64/PayEngineSDK.framework/PayEngineSDK +0 -0
  113. package/ios/PayEngineSDK.xcframework/ios-arm64/PayEngineSDK.framework/VGSCollectSDK_VGSCollectSDK.bundle/Assets.car +0 -0
  114. package/ios/PayEngineSDK.xcframework/ios-arm64_x86_64-simulator/PayEngineSDK.framework/Headers/PayEngineSDK-Swift.h +4 -4
  115. package/ios/PayEngineSDK.xcframework/ios-arm64_x86_64-simulator/PayEngineSDK.framework/Info.plist +0 -0
  116. package/ios/PayEngineSDK.xcframework/ios-arm64_x86_64-simulator/PayEngineSDK.framework/Modules/PayEngineSDK.swiftmodule/arm64-apple-ios-simulator.abi.json +102 -38
  117. package/ios/PayEngineSDK.xcframework/ios-arm64_x86_64-simulator/PayEngineSDK.framework/Modules/PayEngineSDK.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +8 -8
  118. package/ios/PayEngineSDK.xcframework/ios-arm64_x86_64-simulator/PayEngineSDK.framework/Modules/PayEngineSDK.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface-e +8 -8
  119. package/ios/PayEngineSDK.xcframework/ios-arm64_x86_64-simulator/PayEngineSDK.framework/Modules/PayEngineSDK.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
  120. package/ios/PayEngineSDK.xcframework/ios-arm64_x86_64-simulator/PayEngineSDK.framework/Modules/PayEngineSDK.swiftmodule/arm64-apple-ios-simulator.swiftinterface +8 -8
  121. package/ios/PayEngineSDK.xcframework/ios-arm64_x86_64-simulator/PayEngineSDK.framework/Modules/PayEngineSDK.swiftmodule/arm64-apple-ios-simulator.swiftinterface-e +8 -8
  122. package/ios/PayEngineSDK.xcframework/ios-arm64_x86_64-simulator/PayEngineSDK.framework/Modules/PayEngineSDK.swiftmodule/x86_64-apple-ios-simulator.abi.json +102 -38
  123. package/ios/PayEngineSDK.xcframework/ios-arm64_x86_64-simulator/PayEngineSDK.framework/Modules/PayEngineSDK.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +8 -8
  124. package/ios/PayEngineSDK.xcframework/ios-arm64_x86_64-simulator/PayEngineSDK.framework/Modules/PayEngineSDK.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface-e +8 -8
  125. package/ios/PayEngineSDK.xcframework/ios-arm64_x86_64-simulator/PayEngineSDK.framework/Modules/PayEngineSDK.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
  126. package/ios/PayEngineSDK.xcframework/ios-arm64_x86_64-simulator/PayEngineSDK.framework/Modules/PayEngineSDK.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +8 -8
  127. package/ios/PayEngineSDK.xcframework/ios-arm64_x86_64-simulator/PayEngineSDK.framework/Modules/PayEngineSDK.swiftmodule/x86_64-apple-ios-simulator.swiftinterface-e +8 -8
  128. package/ios/PayEngineSDK.xcframework/ios-arm64_x86_64-simulator/PayEngineSDK.framework/PayEngineSDK +0 -0
  129. package/ios/PayEngineSDK.xcframework/ios-arm64_x86_64-simulator/PayEngineSDK.framework/VGSCollectSDK_VGSCollectSDK.bundle/Assets.car +0 -0
  130. package/ios/Payengine.xcworkspace/xcuserdata/trinvh.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  131. package/ios/Sources/Classes/RNPayEngineNative.swift +2 -0
  132. package/ios/Sources/Classes/SecureFields/RNPEBankAccountView.swift +27 -15
  133. package/ios/Sources/Classes/SecureFields/RNPECreditCardView.swift +27 -15
  134. package/lib/commonjs/components/v2/SecureFields/BankAccountView.js +3 -3
  135. package/lib/commonjs/components/v2/SecureFields/BankAccountView.js.map +1 -1
  136. package/lib/commonjs/components/v2/SecureFields/CreditCardView.js +3 -3
  137. package/lib/commonjs/components/v2/SecureFields/CreditCardView.js.map +1 -1
  138. package/lib/commonjs/components/v2/SecureFields/ITokenizationData.js +6 -0
  139. package/lib/commonjs/components/v2/SecureFields/ITokenizationData.js.map +1 -0
  140. package/lib/module/components/v2/SecureFields/BankAccountView.js +3 -3
  141. package/lib/module/components/v2/SecureFields/BankAccountView.js.map +1 -1
  142. package/lib/module/components/v2/SecureFields/CreditCardView.js +3 -3
  143. package/lib/module/components/v2/SecureFields/CreditCardView.js.map +1 -1
  144. package/lib/module/components/v2/SecureFields/ITokenizationData.js +2 -0
  145. package/lib/module/components/v2/SecureFields/ITokenizationData.js.map +1 -0
  146. package/lib/typescript/components/v2/SecureFields/BankAccountView.d.ts +2 -3
  147. package/lib/typescript/components/v2/SecureFields/CreditCardView.d.ts +2 -3
  148. package/lib/typescript/components/v2/SecureFields/ITokenizationData.d.ts +7 -0
  149. package/package.json +1 -1
  150. package/src/components/v2/SecureFields/BankAccountView.tsx +4 -3
  151. package/src/components/v2/SecureFields/CreditCardView.tsx +4 -3
  152. package/src/components/v2/SecureFields/ITokenizationData.ts +8 -0
  153. package/android/.idea/libraries/Gradle__android_arch_core_common_1_0_0.xml +0 -11
  154. package/android/.idea/libraries/Gradle__android_arch_lifecycle_common_1_0_0.xml +0 -11
  155. package/android/.idea/libraries/Gradle__android_arch_lifecycle_runtime_1_0_0_aar.xml +0 -13
  156. package/android/.idea/libraries/Gradle__androidx_core_core_1_1_0_aar.xml +0 -16
  157. package/android/.idea/libraries/Gradle__com_android_support_support_annotations_26_1_0.xml +0 -13
  158. package/android/.idea/libraries/Gradle__com_android_support_support_compat_26_1_0_aar.xml +0 -13
  159. package/android/.idea/libraries/Gradle__com_android_support_support_core_ui_26_1_0_aar.xml +0 -13
  160. package/android/.idea/libraries/Gradle__com_android_support_support_core_utils_26_1_0_aar.xml +0 -13
  161. package/android/.idea/libraries/Gradle__com_android_support_support_fragment_26_1_0_aar.xml +0 -13
  162. package/android/.idea/libraries/Gradle__com_android_support_support_media_compat_26_1_0_aar.xml +0 -13
  163. package/android/.idea/libraries/Gradle__com_android_support_support_v4_26_1_0_aar.xml +0 -13
  164. package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_base_15_0_1_aar.xml +0 -11
  165. package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_basement_15_0_1_aar.xml +0 -11
  166. package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_identity_15_0_1_aar.xml +0 -11
  167. package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_maps_15_0_1_aar.xml +0 -11
  168. package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_tasks_15_0_1_aar.xml +0 -11
  169. package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_wallet_16_0_0_aar.xml +0 -11
  170. package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_1_4_10.xml +0 -13
  171. package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_common_1_4_10.xml +0 -13
  172. package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_4_10.xml +0 -13
@@ -26,20 +26,29 @@ class RNPECreditCardView: UIView {
26
26
  }
27
27
 
28
28
  private func setupView() {
29
- // debugPrint("PayEngine instance \(String(describing: PayEngineNative.instance))")
30
- // let zipField = PEField(name: "address_zip", type: "text", placeholder: "Zip code", isRequired: true, keyboardType: .alphabet, pattern: #"^(?:\d{5}(?:-\d{4})?|[ABCEGHJKLMNPRSTVXY]\d[A-Z] ?\d[A-Z]\d)$"#)
31
-
32
29
  var customFields: [PEField] = []
33
- if let fields: [RNPEField] = try? JSONDecoder().decode([RNPEField].self, from: additionalFields.data(using: .utf8)!) {
34
- if (fields.count > 0) {
35
- for i in 0...fields.count - 1 {
36
- let f = fields[i]
37
- let field = PEField(name: f.name, type: f.type, placeholder: f.placeholder, isRequired: f.isRequired, keyboardType: RNPEUtils.mapKeyboardType(keyboardType: f.keyboardType), pattern: f.pattern)
38
- customFields.append(field)
30
+ if let jsonData = additionalFields.data(using: .utf8) {
31
+ do {
32
+ let fields: [RNPEField] = try JSONDecoder().decode([RNPEField].self, from: jsonData)
33
+ if !fields.isEmpty {
34
+ for f in fields {
35
+ let field = PEField(
36
+ name: f.name,
37
+ type: f.type,
38
+ placeholder: f.placeholder,
39
+ isRequired: f.isRequired,
40
+ keyboardType: RNPEUtils.mapKeyboardType(keyboardType: f.keyboardType),
41
+ pattern: f.pattern
42
+ )
43
+ customFields.append(field)
44
+ }
39
45
  }
40
46
  }
47
+ catch {
48
+ debugPrint("Decoding error: \(error.localizedDescription), data: \(additionalFields)")
49
+ }
41
50
  } else {
42
- debugPrint("Could not parse additional fields \(additionalFields)")
51
+ debugPrint("Invalid UTF-8 string: \(additionalFields)")
43
52
  }
44
53
  RNPayEngineNative.instance?.createSecureView(additionalFields: customFields) { [unowned self] result in
45
54
  switch result {
@@ -48,7 +57,6 @@ class RNPECreditCardView: UIView {
48
57
  self.view!.detectSizeChanges { size in
49
58
  // self.frame.size = size
50
59
  RNPEEventEmitter.emitter.sendEvent(withName: RNPEEvents.EVENT_SIZE_CHANGES, body: ["width": size.width, "height": size.height])
51
- debugPrint("Could not parse additional fields \(self.additionalFields)")
52
60
  }
53
61
  self.addSubview(self.view!)
54
62
  case .failure(let error):
@@ -57,13 +65,16 @@ class RNPECreditCardView: UIView {
57
65
  }
58
66
  }
59
67
 
60
- func submit(_ merchantId: String, additionalData: NSDictionary) {
68
+ func submit(_ merchantId: String? = nil, additionalData: NSDictionary? = [:]) {
61
69
  guard let view = self.view else {
62
70
  RNPEEventEmitter.emitter.sendEvent(withName: RNPEEvents.EVENT_CARD_RESPOND, body: ["error": "View is not ready"])
63
71
  return
64
72
  }
73
+
74
+ let additionalDataValue = additionalData ?? [:]
75
+
65
76
  DispatchQueue.main.async {
66
- view.createCard(merchantId: merchantId, additionalData: additionalData as! [String : Any]) { result in
77
+ view.createCard(merchantId: merchantId, additionalData: additionalDataValue as! [String : Any]) { result in
67
78
  switch result {
68
79
  case .success(let card):
69
80
  debugPrint("Card created \(card)")
@@ -73,6 +84,7 @@ class RNPECreditCardView: UIView {
73
84
  RNPEEventEmitter.emitter.sendEvent(withName: RNPEEvents.EVENT_CARD_RESPOND, body: ["error": "Unable to encode card object"])
74
85
  }
75
86
  case .failure(let error):
87
+ debugPrint("Tokenize error \(error)")
76
88
  RNPEEventEmitter.emitter.sendEvent(withName: RNPEEvents.EVENT_CARD_RESPOND, body: ["error": error.localizedDescription])
77
89
  }
78
90
  }
@@ -103,8 +115,8 @@ class RNPECreditCardViewManager: RCTViewManager {
103
115
  return [:]
104
116
  }
105
117
 
106
- @objc(submit:merchantId:additionalData:)
107
- func submit(_ node: NSNumber, merchantId: String, additionalData: NSDictionary) {
118
+ @objc
119
+ func submit(_ node: NSNumber, merchantId: String? = nil, additionalData: NSDictionary? = [:]) {
108
120
  DispatchQueue.main.async {
109
121
  let component = self.bridge.uiManager.view(forReactTag: node) as! RNPECreditCardView
110
122
  component.submit(merchantId, additionalData: additionalData)
@@ -25,8 +25,8 @@ const PEBankAccountView = /*#__PURE__*/React.forwardRef((props, ref) => {
25
25
  const formRef = React.useRef();
26
26
  const [height, setHeight] = React.useState(0);
27
27
  React.useImperativeHandle(ref, () => ({
28
- submit: async function (merchantId) {
29
- let additionalData = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
28
+ submit: async function () {
29
+ let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
30
30
  return new Promise((resolve, reject) => {
31
31
  if (height === 0) {
32
32
  return reject(new Error('Form is not ready'));
@@ -46,7 +46,7 @@ const PEBankAccountView = /*#__PURE__*/React.forwardRef((props, ref) => {
46
46
  resolve(bankAccount);
47
47
  }
48
48
  });
49
- callNativeMethod("submit", [merchantId, additionalData]);
49
+ callNativeMethod("submit", [data.merchantId, data.additionalData]);
50
50
  });
51
51
  },
52
52
  showKeyboard: () => {
@@ -1 +1 @@
1
- {"version":3,"names":["RNPEEventEmitter","NativeModules","COMPONENT_NAME","RNPEBankAccountView","requireNativeComponent","RNPEBankAccountViewManager","UIManager","peEventEmitter","NativeEventEmitter","PEBankAccountView","React","forwardRef","props","ref","formRef","useRef","height","setHeight","useState","useImperativeHandle","submit","merchantId","additionalData","Promise","resolve","reject","Error","listener","addListener","args","remove","error","bankAccount","json","JSON","parse","callNativeMethod","showKeyboard","hideKeyboard","useCallback","methodName","params","viewId","findNodeHandle","current","commandId","Commands","toString","Platform","OS","Number","dispatchViewManagerCommand","useEffect","eventListener","width","_","frameHeight","stringify","additionalFields"],"sources":["BankAccountView.tsx"],"sourcesContent":["\nimport * as React from 'react';\nimport { requireNativeComponent, NativeModules, NativeEventEmitter, ViewProps, findNodeHandle, UIManager, ActivityIndicator, Platform } from 'react-native';\nimport type IPEField from './IPEField';\nimport type PEBankAccount from './PEBankAccount';\n\nconst { RNPEEventEmitter } = NativeModules;\n\ninterface NativePEBankAccountViewProps extends ViewProps {\n additionalFields: string;\n}\n\nconst COMPONENT_NAME = 'RNPEBankAccountView'\nconst RNPEBankAccountView = requireNativeComponent<NativePEBankAccountViewProps>(COMPONENT_NAME);\n// @ts-ignore\nconst RNPEBankAccountViewManager = UIManager[COMPONENT_NAME]\n\nconst peEventEmitter = new NativeEventEmitter(RNPEEventEmitter);\n\nexport interface PEBankAccountViewProps {\n additionalFields?: IPEField[];\n}\n\nexport interface PEBankAccountViewMethods {\n submit: (merchantId: string, additionalData: { [key: string]: string }) => Promise<PEBankAccount>;\n showKeyboard: () => void;\n hideKeyboard: () => void;\n}\n\nexport const PEBankAccountView = React.forwardRef<\n PEBankAccountViewMethods,\n PEBankAccountViewProps\n>((props, ref) => {\n const formRef = React.useRef<any>();\n const [height, setHeight] = React.useState(0);\n\n React.useImperativeHandle(ref, () => ({\n submit: async (merchantId: string, additionalData: any = {}) => {\n return new Promise((resolve, reject) => {\n if (height === 0) {\n return reject(new Error('Form is not ready'))\n }\n \n const listener = peEventEmitter.addListener('onBankAccountRespond', args => {\n listener.remove()\n\n const { error, bankAccount: json } = args;\n if (error) {\n reject(new Error(error))\n } else {\n const bankAccount = JSON.parse(json) as PEBankAccount;\n resolve(bankAccount)\n }\n });\n\n callNativeMethod(\"submit\", [merchantId, additionalData],)\n });\n },\n showKeyboard: () => {\n callNativeMethod(\"showKeyboard\")\n },\n hideKeyboard: () => {\n callNativeMethod(\"hideKeyboard\")\n }\n }));\n\n const callNativeMethod = React.useCallback((methodName: string, params: any[] = []) => {\n const viewId = findNodeHandle(formRef.current);\n let commandId = RNPEBankAccountViewManager.Commands[methodName].toString()\n if (Platform.OS === 'ios') {\n commandId = Number(commandId)\n }\n UIManager.dispatchViewManagerCommand(\n viewId,\n commandId,\n params,\n );\n }, [formRef.current])\n\n\n React.useEffect(() => {\n const eventListener = peEventEmitter.addListener('onSizeChanges', args => {\n const { width: _, height: frameHeight } = args;\n setHeight(frameHeight);\n });\n return () => eventListener.remove();\n }, []);\n\n return (\n <>\n {height === 0 && <ActivityIndicator />}\n <RNPEBankAccountView ref={formRef} additionalFields={JSON.stringify(props.additionalFields ?? [])} style={{ height: height }} />\n </>\n );\n});\n"],"mappings":"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"}
1
+ {"version":3,"names":["RNPEEventEmitter","NativeModules","COMPONENT_NAME","RNPEBankAccountView","requireNativeComponent","RNPEBankAccountViewManager","UIManager","peEventEmitter","NativeEventEmitter","PEBankAccountView","React","forwardRef","props","ref","formRef","useRef","height","setHeight","useState","useImperativeHandle","submit","data","Promise","resolve","reject","Error","listener","addListener","args","remove","error","bankAccount","json","JSON","parse","callNativeMethod","merchantId","additionalData","showKeyboard","hideKeyboard","useCallback","methodName","params","viewId","findNodeHandle","current","commandId","Commands","toString","Platform","OS","Number","dispatchViewManagerCommand","useEffect","eventListener","width","_","frameHeight","stringify","additionalFields"],"sources":["BankAccountView.tsx"],"sourcesContent":["\nimport * as React from 'react';\nimport { requireNativeComponent, NativeModules, NativeEventEmitter, ViewProps, findNodeHandle, UIManager, ActivityIndicator, Platform } from 'react-native';\nimport type IPEField from './IPEField';\nimport type PEBankAccount from './PEBankAccount';\nimport type ITokenizationData from './ITokenizationData';\n\nconst { RNPEEventEmitter } = NativeModules;\n\ninterface NativePEBankAccountViewProps extends ViewProps {\n additionalFields: string;\n}\n\nconst COMPONENT_NAME = 'RNPEBankAccountView'\nconst RNPEBankAccountView = requireNativeComponent<NativePEBankAccountViewProps>(COMPONENT_NAME);\n// @ts-ignore\nconst RNPEBankAccountViewManager = UIManager[COMPONENT_NAME]\n\nconst peEventEmitter = new NativeEventEmitter(RNPEEventEmitter);\n\nexport interface PEBankAccountViewProps {\n additionalFields?: IPEField[];\n}\n\nexport interface PEBankAccountViewMethods {\n submit: (data: ITokenizationData) => Promise<PEBankAccount>;\n showKeyboard: () => void;\n hideKeyboard: () => void;\n}\n\nexport const PEBankAccountView = React.forwardRef<\n PEBankAccountViewMethods,\n PEBankAccountViewProps\n>((props, ref) => {\n const formRef = React.useRef<any>();\n const [height, setHeight] = React.useState(0);\n\n React.useImperativeHandle(ref, () => ({\n submit: async (data: ITokenizationData = {}) => {\n return new Promise((resolve, reject) => {\n if (height === 0) {\n return reject(new Error('Form is not ready'))\n }\n \n const listener = peEventEmitter.addListener('onBankAccountRespond', args => {\n listener.remove()\n\n const { error, bankAccount: json } = args;\n if (error) {\n reject(new Error(error))\n } else {\n const bankAccount = JSON.parse(json) as PEBankAccount;\n resolve(bankAccount)\n }\n });\n\n callNativeMethod(\"submit\", [data.merchantId, data.additionalData],)\n });\n },\n showKeyboard: () => {\n callNativeMethod(\"showKeyboard\")\n },\n hideKeyboard: () => {\n callNativeMethod(\"hideKeyboard\")\n }\n }));\n\n const callNativeMethod = React.useCallback((methodName: string, params: any[] = []) => {\n const viewId = findNodeHandle(formRef.current);\n let commandId = RNPEBankAccountViewManager.Commands[methodName].toString()\n if (Platform.OS === 'ios') {\n commandId = Number(commandId)\n }\n UIManager.dispatchViewManagerCommand(\n viewId,\n commandId,\n params,\n );\n }, [formRef.current])\n\n\n React.useEffect(() => {\n const eventListener = peEventEmitter.addListener('onSizeChanges', args => {\n const { width: _, height: frameHeight } = args;\n setHeight(frameHeight);\n });\n return () => eventListener.remove();\n }, []);\n\n return (\n <>\n {height === 0 && <ActivityIndicator />}\n <RNPEBankAccountView ref={formRef} additionalFields={JSON.stringify(props.additionalFields ?? [])} style={{ height: height }} />\n </>\n );\n});\n"],"mappings":"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"}
@@ -25,8 +25,8 @@ const PECreditCardView = /*#__PURE__*/React.forwardRef((props, ref) => {
25
25
  const formRef = React.useRef();
26
26
  const [height, setHeight] = React.useState(0);
27
27
  React.useImperativeHandle(ref, () => ({
28
- submit: async function (merchantId) {
29
- let additionalData = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
28
+ submit: async function () {
29
+ let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
30
30
  return new Promise((resolve, reject) => {
31
31
  if (height === 0) {
32
32
  return reject(new Error('Form is not ready'));
@@ -46,7 +46,7 @@ const PECreditCardView = /*#__PURE__*/React.forwardRef((props, ref) => {
46
46
  resolve(card);
47
47
  }
48
48
  });
49
- callNativeMethod("submit", [merchantId, additionalData]);
49
+ callNativeMethod("submit", [data.merchantId, data.additionalData]);
50
50
  });
51
51
  },
52
52
  showKeyboard: () => {
@@ -1 +1 @@
1
- {"version":3,"names":["RNPEEventEmitter","NativeModules","COMPONENT_NAME","RNPECreditCardView","requireNativeComponent","RNPECreditCardViewManager","UIManager","peEventEmitter","NativeEventEmitter","PECreditCardView","React","forwardRef","props","ref","formRef","useRef","height","setHeight","useState","useImperativeHandle","submit","merchantId","additionalData","Promise","resolve","reject","Error","listener","addListener","args","remove","error","card","json","JSON","parse","callNativeMethod","showKeyboard","hideKeyboard","useCallback","methodName","params","console","log","viewId","findNodeHandle","current","commandId","Commands","toString","Platform","OS","Number","dispatchViewManagerCommand","useEffect","eventListener","width","_","frameHeight","stringify","additionalFields"],"sources":["CreditCardView.tsx"],"sourcesContent":["\nimport * as React from 'react';\nimport { requireNativeComponent, NativeModules, NativeEventEmitter, ViewProps, Platform, findNodeHandle, UIManager, ActivityIndicator } from 'react-native';\nimport type IPEField from './IPEField';\nimport type PECard from './PECard';\n\nconst { RNPEEventEmitter } = NativeModules;\n\ninterface NativePECreditCardViewProps extends ViewProps {\n additionalFields: string;\n}\n\nconst COMPONENT_NAME = 'RNPECreditCardView'\nconst RNPECreditCardView = requireNativeComponent<NativePECreditCardViewProps>(COMPONENT_NAME);\n// @ts-ignore\nconst RNPECreditCardViewManager = UIManager[COMPONENT_NAME]\nconst peEventEmitter = new NativeEventEmitter(RNPEEventEmitter);\n\nexport interface PECreditCardViewProps {\n additionalFields?: IPEField[];\n}\n\nexport interface PECreditCardViewMethods {\n submit: (merchantId: string, additionalData: { [key: string]: string }) => Promise<PECard>;\n showKeyboard: () => void;\n hideKeyboard: () => void;\n}\n\nexport const PECreditCardView = React.forwardRef<\n PECreditCardViewMethods,\n PECreditCardViewProps\n>((props, ref) => {\n const formRef = React.useRef<any>();\n const [height, setHeight] = React.useState(0);\n\n React.useImperativeHandle(ref, () => ({\n submit: async (merchantId: string, additionalData: any = {}) => {\n return new Promise((resolve, reject) => {\n if (height === 0) {\n return reject(new Error('Form is not ready'))\n }\n\n const listener = peEventEmitter.addListener('onCardRespond', args => {\n listener.remove()\n\n const { error, card: json } = args;\n if (error) {\n reject(new Error(error))\n } else {\n const card = JSON.parse(json) as PECard;\n resolve(card)\n }\n });\n\n callNativeMethod(\"submit\", [merchantId, additionalData])\n });\n },\n showKeyboard: () => {\n callNativeMethod(\"showKeyboard\")\n },\n hideKeyboard: () => {\n callNativeMethod(\"hideKeyboard\")\n }\n }));\n\n const callNativeMethod = React.useCallback((methodName: string, params: any[] = []) => {\n console.log(\"callNativeMethod\", methodName, params)\n const viewId = findNodeHandle(formRef.current);\n let commandId = RNPECreditCardViewManager.Commands[methodName].toString()\n if (Platform.OS === 'ios') {\n commandId = Number(commandId)\n }\n UIManager.dispatchViewManagerCommand(\n viewId,\n commandId,\n params,\n );\n }, [formRef.current])\n\n React.useEffect(() => {\n const eventListener = peEventEmitter.addListener('onSizeChanges', args => {\n const { width: _, height: frameHeight } = args;\n setHeight(frameHeight);\n });\n\n return () => eventListener.remove();\n }, []);\n\n\n return (\n <>\n {height === 0 && <ActivityIndicator />}\n <RNPECreditCardView ref={formRef} additionalFields={JSON.stringify(props.additionalFields ?? [])} style={{ height: height }} />\n </>\n );\n});\n"],"mappings":"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"}
1
+ {"version":3,"names":["RNPEEventEmitter","NativeModules","COMPONENT_NAME","RNPECreditCardView","requireNativeComponent","RNPECreditCardViewManager","UIManager","peEventEmitter","NativeEventEmitter","PECreditCardView","React","forwardRef","props","ref","formRef","useRef","height","setHeight","useState","useImperativeHandle","submit","data","Promise","resolve","reject","Error","listener","addListener","args","remove","error","card","json","JSON","parse","callNativeMethod","merchantId","additionalData","showKeyboard","hideKeyboard","useCallback","methodName","params","console","log","viewId","findNodeHandle","current","commandId","Commands","toString","Platform","OS","Number","dispatchViewManagerCommand","useEffect","eventListener","width","_","frameHeight","stringify","additionalFields"],"sources":["CreditCardView.tsx"],"sourcesContent":["\nimport * as React from 'react';\nimport { requireNativeComponent, NativeModules, NativeEventEmitter, ViewProps, Platform, findNodeHandle, UIManager, ActivityIndicator } from 'react-native';\nimport type IPEField from './IPEField';\nimport type PECard from './PECard';\nimport type ITokenizationData from './ITokenizationData';\n\nconst { RNPEEventEmitter } = NativeModules;\n\ninterface NativePECreditCardViewProps extends ViewProps {\n additionalFields: string;\n}\n\nconst COMPONENT_NAME = 'RNPECreditCardView'\nconst RNPECreditCardView = requireNativeComponent<NativePECreditCardViewProps>(COMPONENT_NAME);\n// @ts-ignore\nconst RNPECreditCardViewManager = UIManager[COMPONENT_NAME]\nconst peEventEmitter = new NativeEventEmitter(RNPEEventEmitter);\n\nexport interface PECreditCardViewProps {\n additionalFields?: IPEField[];\n}\n\nexport interface PECreditCardViewMethods {\n submit: (data: ITokenizationData) => Promise<PECard>;\n showKeyboard: () => void;\n hideKeyboard: () => void;\n}\n\nexport const PECreditCardView = React.forwardRef<\n PECreditCardViewMethods,\n PECreditCardViewProps\n>((props, ref) => {\n const formRef = React.useRef<any>();\n const [height, setHeight] = React.useState(0);\n\n React.useImperativeHandle(ref, () => ({\n submit: async (data: ITokenizationData = {}) => {\n return new Promise((resolve, reject) => {\n if (height === 0) {\n return reject(new Error('Form is not ready'))\n }\n\n const listener = peEventEmitter.addListener('onCardRespond', args => {\n listener.remove()\n\n const { error, card: json } = args;\n if (error) {\n reject(new Error(error))\n } else {\n const card = JSON.parse(json) as PECard;\n resolve(card)\n }\n });\n\n callNativeMethod(\"submit\", [data.merchantId, data.additionalData])\n });\n },\n showKeyboard: () => {\n callNativeMethod(\"showKeyboard\")\n },\n hideKeyboard: () => {\n callNativeMethod(\"hideKeyboard\")\n }\n }));\n\n const callNativeMethod = React.useCallback((methodName: string, params: any[] = []) => {\n console.log(\"callNativeMethod\", methodName, params)\n const viewId = findNodeHandle(formRef.current);\n let commandId = RNPECreditCardViewManager.Commands[methodName].toString()\n if (Platform.OS === 'ios') {\n commandId = Number(commandId)\n }\n UIManager.dispatchViewManagerCommand(\n viewId,\n commandId,\n params,\n );\n }, [formRef.current])\n\n React.useEffect(() => {\n const eventListener = peEventEmitter.addListener('onSizeChanges', args => {\n const { width: _, height: frameHeight } = args;\n setHeight(frameHeight);\n });\n\n return () => eventListener.remove();\n }, []);\n\n\n return (\n <>\n {height === 0 && <ActivityIndicator />}\n <RNPECreditCardView ref={formRef} additionalFields={JSON.stringify(props.additionalFields ?? [])} style={{ height: height }} />\n </>\n );\n});\n"],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=ITokenizationData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["ITokenizationData.ts"],"sourcesContent":["interface ITokenizationData {\n merchantId?: string;\n additionalData?: { \n [key: string]: string \n };\n}\n\nexport default ITokenizationData;\n"],"mappings":""}
@@ -12,8 +12,8 @@ export const PEBankAccountView = /*#__PURE__*/React.forwardRef((props, ref) => {
12
12
  const formRef = React.useRef();
13
13
  const [height, setHeight] = React.useState(0);
14
14
  React.useImperativeHandle(ref, () => ({
15
- submit: async function (merchantId) {
16
- let additionalData = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
15
+ submit: async function () {
16
+ let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
17
17
  return new Promise((resolve, reject) => {
18
18
  if (height === 0) {
19
19
  return reject(new Error('Form is not ready'));
@@ -33,7 +33,7 @@ export const PEBankAccountView = /*#__PURE__*/React.forwardRef((props, ref) => {
33
33
  resolve(bankAccount);
34
34
  }
35
35
  });
36
- callNativeMethod("submit", [merchantId, additionalData]);
36
+ callNativeMethod("submit", [data.merchantId, data.additionalData]);
37
37
  });
38
38
  },
39
39
  showKeyboard: () => {
@@ -1 +1 @@
1
- {"version":3,"names":["React","requireNativeComponent","NativeModules","NativeEventEmitter","findNodeHandle","UIManager","ActivityIndicator","Platform","RNPEEventEmitter","COMPONENT_NAME","RNPEBankAccountView","RNPEBankAccountViewManager","peEventEmitter","PEBankAccountView","forwardRef","props","ref","formRef","useRef","height","setHeight","useState","useImperativeHandle","submit","merchantId","additionalData","Promise","resolve","reject","Error","listener","addListener","args","remove","error","bankAccount","json","JSON","parse","callNativeMethod","showKeyboard","hideKeyboard","useCallback","methodName","params","viewId","current","commandId","Commands","toString","OS","Number","dispatchViewManagerCommand","useEffect","eventListener","width","_","frameHeight","stringify","additionalFields"],"sources":["BankAccountView.tsx"],"sourcesContent":["\nimport * as React from 'react';\nimport { requireNativeComponent, NativeModules, NativeEventEmitter, ViewProps, findNodeHandle, UIManager, ActivityIndicator, Platform } from 'react-native';\nimport type IPEField from './IPEField';\nimport type PEBankAccount from './PEBankAccount';\n\nconst { RNPEEventEmitter } = NativeModules;\n\ninterface NativePEBankAccountViewProps extends ViewProps {\n additionalFields: string;\n}\n\nconst COMPONENT_NAME = 'RNPEBankAccountView'\nconst RNPEBankAccountView = requireNativeComponent<NativePEBankAccountViewProps>(COMPONENT_NAME);\n// @ts-ignore\nconst RNPEBankAccountViewManager = UIManager[COMPONENT_NAME]\n\nconst peEventEmitter = new NativeEventEmitter(RNPEEventEmitter);\n\nexport interface PEBankAccountViewProps {\n additionalFields?: IPEField[];\n}\n\nexport interface PEBankAccountViewMethods {\n submit: (merchantId: string, additionalData: { [key: string]: string }) => Promise<PEBankAccount>;\n showKeyboard: () => void;\n hideKeyboard: () => void;\n}\n\nexport const PEBankAccountView = React.forwardRef<\n PEBankAccountViewMethods,\n PEBankAccountViewProps\n>((props, ref) => {\n const formRef = React.useRef<any>();\n const [height, setHeight] = React.useState(0);\n\n React.useImperativeHandle(ref, () => ({\n submit: async (merchantId: string, additionalData: any = {}) => {\n return new Promise((resolve, reject) => {\n if (height === 0) {\n return reject(new Error('Form is not ready'))\n }\n \n const listener = peEventEmitter.addListener('onBankAccountRespond', args => {\n listener.remove()\n\n const { error, bankAccount: json } = args;\n if (error) {\n reject(new Error(error))\n } else {\n const bankAccount = JSON.parse(json) as PEBankAccount;\n resolve(bankAccount)\n }\n });\n\n callNativeMethod(\"submit\", [merchantId, additionalData],)\n });\n },\n showKeyboard: () => {\n callNativeMethod(\"showKeyboard\")\n },\n hideKeyboard: () => {\n callNativeMethod(\"hideKeyboard\")\n }\n }));\n\n const callNativeMethod = React.useCallback((methodName: string, params: any[] = []) => {\n const viewId = findNodeHandle(formRef.current);\n let commandId = RNPEBankAccountViewManager.Commands[methodName].toString()\n if (Platform.OS === 'ios') {\n commandId = Number(commandId)\n }\n UIManager.dispatchViewManagerCommand(\n viewId,\n commandId,\n params,\n );\n }, [formRef.current])\n\n\n React.useEffect(() => {\n const eventListener = peEventEmitter.addListener('onSizeChanges', args => {\n const { width: _, height: frameHeight } = args;\n setHeight(frameHeight);\n });\n return () => eventListener.remove();\n }, []);\n\n return (\n <>\n {height === 0 && <ActivityIndicator />}\n <RNPEBankAccountView ref={formRef} additionalFields={JSON.stringify(props.additionalFields ?? [])} style={{ height: height }} />\n </>\n );\n});\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","requireNativeComponent","NativeModules","NativeEventEmitter","findNodeHandle","UIManager","ActivityIndicator","Platform","RNPEEventEmitter","COMPONENT_NAME","RNPEBankAccountView","RNPEBankAccountViewManager","peEventEmitter","PEBankAccountView","forwardRef","props","ref","formRef","useRef","height","setHeight","useState","useImperativeHandle","submit","data","Promise","resolve","reject","Error","listener","addListener","args","remove","error","bankAccount","json","JSON","parse","callNativeMethod","merchantId","additionalData","showKeyboard","hideKeyboard","useCallback","methodName","params","viewId","current","commandId","Commands","toString","OS","Number","dispatchViewManagerCommand","useEffect","eventListener","width","_","frameHeight","stringify","additionalFields"],"sources":["BankAccountView.tsx"],"sourcesContent":["\nimport * as React from 'react';\nimport { requireNativeComponent, NativeModules, NativeEventEmitter, ViewProps, findNodeHandle, UIManager, ActivityIndicator, Platform } from 'react-native';\nimport type IPEField from './IPEField';\nimport type PEBankAccount from './PEBankAccount';\nimport type ITokenizationData from './ITokenizationData';\n\nconst { RNPEEventEmitter } = NativeModules;\n\ninterface NativePEBankAccountViewProps extends ViewProps {\n additionalFields: string;\n}\n\nconst COMPONENT_NAME = 'RNPEBankAccountView'\nconst RNPEBankAccountView = requireNativeComponent<NativePEBankAccountViewProps>(COMPONENT_NAME);\n// @ts-ignore\nconst RNPEBankAccountViewManager = UIManager[COMPONENT_NAME]\n\nconst peEventEmitter = new NativeEventEmitter(RNPEEventEmitter);\n\nexport interface PEBankAccountViewProps {\n additionalFields?: IPEField[];\n}\n\nexport interface PEBankAccountViewMethods {\n submit: (data: ITokenizationData) => Promise<PEBankAccount>;\n showKeyboard: () => void;\n hideKeyboard: () => void;\n}\n\nexport const PEBankAccountView = React.forwardRef<\n PEBankAccountViewMethods,\n PEBankAccountViewProps\n>((props, ref) => {\n const formRef = React.useRef<any>();\n const [height, setHeight] = React.useState(0);\n\n React.useImperativeHandle(ref, () => ({\n submit: async (data: ITokenizationData = {}) => {\n return new Promise((resolve, reject) => {\n if (height === 0) {\n return reject(new Error('Form is not ready'))\n }\n \n const listener = peEventEmitter.addListener('onBankAccountRespond', args => {\n listener.remove()\n\n const { error, bankAccount: json } = args;\n if (error) {\n reject(new Error(error))\n } else {\n const bankAccount = JSON.parse(json) as PEBankAccount;\n resolve(bankAccount)\n }\n });\n\n callNativeMethod(\"submit\", [data.merchantId, data.additionalData],)\n });\n },\n showKeyboard: () => {\n callNativeMethod(\"showKeyboard\")\n },\n hideKeyboard: () => {\n callNativeMethod(\"hideKeyboard\")\n }\n }));\n\n const callNativeMethod = React.useCallback((methodName: string, params: any[] = []) => {\n const viewId = findNodeHandle(formRef.current);\n let commandId = RNPEBankAccountViewManager.Commands[methodName].toString()\n if (Platform.OS === 'ios') {\n commandId = Number(commandId)\n }\n UIManager.dispatchViewManagerCommand(\n viewId,\n commandId,\n params,\n );\n }, [formRef.current])\n\n\n React.useEffect(() => {\n const eventListener = peEventEmitter.addListener('onSizeChanges', args => {\n const { width: _, height: frameHeight } = args;\n setHeight(frameHeight);\n });\n return () => eventListener.remove();\n }, []);\n\n return (\n <>\n {height === 0 && <ActivityIndicator />}\n <RNPEBankAccountView ref={formRef} additionalFields={JSON.stringify(props.additionalFields ?? [])} style={{ height: height }} />\n </>\n );\n});\n"],"mappings":"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"}
@@ -12,8 +12,8 @@ export const PECreditCardView = /*#__PURE__*/React.forwardRef((props, ref) => {
12
12
  const formRef = React.useRef();
13
13
  const [height, setHeight] = React.useState(0);
14
14
  React.useImperativeHandle(ref, () => ({
15
- submit: async function (merchantId) {
16
- let additionalData = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
15
+ submit: async function () {
16
+ let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
17
17
  return new Promise((resolve, reject) => {
18
18
  if (height === 0) {
19
19
  return reject(new Error('Form is not ready'));
@@ -33,7 +33,7 @@ export const PECreditCardView = /*#__PURE__*/React.forwardRef((props, ref) => {
33
33
  resolve(card);
34
34
  }
35
35
  });
36
- callNativeMethod("submit", [merchantId, additionalData]);
36
+ callNativeMethod("submit", [data.merchantId, data.additionalData]);
37
37
  });
38
38
  },
39
39
  showKeyboard: () => {
@@ -1 +1 @@
1
- {"version":3,"names":["React","requireNativeComponent","NativeModules","NativeEventEmitter","Platform","findNodeHandle","UIManager","ActivityIndicator","RNPEEventEmitter","COMPONENT_NAME","RNPECreditCardView","RNPECreditCardViewManager","peEventEmitter","PECreditCardView","forwardRef","props","ref","formRef","useRef","height","setHeight","useState","useImperativeHandle","submit","merchantId","additionalData","Promise","resolve","reject","Error","listener","addListener","args","remove","error","card","json","JSON","parse","callNativeMethod","showKeyboard","hideKeyboard","useCallback","methodName","params","console","log","viewId","current","commandId","Commands","toString","OS","Number","dispatchViewManagerCommand","useEffect","eventListener","width","_","frameHeight","stringify","additionalFields"],"sources":["CreditCardView.tsx"],"sourcesContent":["\nimport * as React from 'react';\nimport { requireNativeComponent, NativeModules, NativeEventEmitter, ViewProps, Platform, findNodeHandle, UIManager, ActivityIndicator } from 'react-native';\nimport type IPEField from './IPEField';\nimport type PECard from './PECard';\n\nconst { RNPEEventEmitter } = NativeModules;\n\ninterface NativePECreditCardViewProps extends ViewProps {\n additionalFields: string;\n}\n\nconst COMPONENT_NAME = 'RNPECreditCardView'\nconst RNPECreditCardView = requireNativeComponent<NativePECreditCardViewProps>(COMPONENT_NAME);\n// @ts-ignore\nconst RNPECreditCardViewManager = UIManager[COMPONENT_NAME]\nconst peEventEmitter = new NativeEventEmitter(RNPEEventEmitter);\n\nexport interface PECreditCardViewProps {\n additionalFields?: IPEField[];\n}\n\nexport interface PECreditCardViewMethods {\n submit: (merchantId: string, additionalData: { [key: string]: string }) => Promise<PECard>;\n showKeyboard: () => void;\n hideKeyboard: () => void;\n}\n\nexport const PECreditCardView = React.forwardRef<\n PECreditCardViewMethods,\n PECreditCardViewProps\n>((props, ref) => {\n const formRef = React.useRef<any>();\n const [height, setHeight] = React.useState(0);\n\n React.useImperativeHandle(ref, () => ({\n submit: async (merchantId: string, additionalData: any = {}) => {\n return new Promise((resolve, reject) => {\n if (height === 0) {\n return reject(new Error('Form is not ready'))\n }\n\n const listener = peEventEmitter.addListener('onCardRespond', args => {\n listener.remove()\n\n const { error, card: json } = args;\n if (error) {\n reject(new Error(error))\n } else {\n const card = JSON.parse(json) as PECard;\n resolve(card)\n }\n });\n\n callNativeMethod(\"submit\", [merchantId, additionalData])\n });\n },\n showKeyboard: () => {\n callNativeMethod(\"showKeyboard\")\n },\n hideKeyboard: () => {\n callNativeMethod(\"hideKeyboard\")\n }\n }));\n\n const callNativeMethod = React.useCallback((methodName: string, params: any[] = []) => {\n console.log(\"callNativeMethod\", methodName, params)\n const viewId = findNodeHandle(formRef.current);\n let commandId = RNPECreditCardViewManager.Commands[methodName].toString()\n if (Platform.OS === 'ios') {\n commandId = Number(commandId)\n }\n UIManager.dispatchViewManagerCommand(\n viewId,\n commandId,\n params,\n );\n }, [formRef.current])\n\n React.useEffect(() => {\n const eventListener = peEventEmitter.addListener('onSizeChanges', args => {\n const { width: _, height: frameHeight } = args;\n setHeight(frameHeight);\n });\n\n return () => eventListener.remove();\n }, []);\n\n\n return (\n <>\n {height === 0 && <ActivityIndicator />}\n <RNPECreditCardView ref={formRef} additionalFields={JSON.stringify(props.additionalFields ?? [])} style={{ height: height }} />\n </>\n );\n});\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","requireNativeComponent","NativeModules","NativeEventEmitter","Platform","findNodeHandle","UIManager","ActivityIndicator","RNPEEventEmitter","COMPONENT_NAME","RNPECreditCardView","RNPECreditCardViewManager","peEventEmitter","PECreditCardView","forwardRef","props","ref","formRef","useRef","height","setHeight","useState","useImperativeHandle","submit","data","Promise","resolve","reject","Error","listener","addListener","args","remove","error","card","json","JSON","parse","callNativeMethod","merchantId","additionalData","showKeyboard","hideKeyboard","useCallback","methodName","params","console","log","viewId","current","commandId","Commands","toString","OS","Number","dispatchViewManagerCommand","useEffect","eventListener","width","_","frameHeight","stringify","additionalFields"],"sources":["CreditCardView.tsx"],"sourcesContent":["\nimport * as React from 'react';\nimport { requireNativeComponent, NativeModules, NativeEventEmitter, ViewProps, Platform, findNodeHandle, UIManager, ActivityIndicator } from 'react-native';\nimport type IPEField from './IPEField';\nimport type PECard from './PECard';\nimport type ITokenizationData from './ITokenizationData';\n\nconst { RNPEEventEmitter } = NativeModules;\n\ninterface NativePECreditCardViewProps extends ViewProps {\n additionalFields: string;\n}\n\nconst COMPONENT_NAME = 'RNPECreditCardView'\nconst RNPECreditCardView = requireNativeComponent<NativePECreditCardViewProps>(COMPONENT_NAME);\n// @ts-ignore\nconst RNPECreditCardViewManager = UIManager[COMPONENT_NAME]\nconst peEventEmitter = new NativeEventEmitter(RNPEEventEmitter);\n\nexport interface PECreditCardViewProps {\n additionalFields?: IPEField[];\n}\n\nexport interface PECreditCardViewMethods {\n submit: (data: ITokenizationData) => Promise<PECard>;\n showKeyboard: () => void;\n hideKeyboard: () => void;\n}\n\nexport const PECreditCardView = React.forwardRef<\n PECreditCardViewMethods,\n PECreditCardViewProps\n>((props, ref) => {\n const formRef = React.useRef<any>();\n const [height, setHeight] = React.useState(0);\n\n React.useImperativeHandle(ref, () => ({\n submit: async (data: ITokenizationData = {}) => {\n return new Promise((resolve, reject) => {\n if (height === 0) {\n return reject(new Error('Form is not ready'))\n }\n\n const listener = peEventEmitter.addListener('onCardRespond', args => {\n listener.remove()\n\n const { error, card: json } = args;\n if (error) {\n reject(new Error(error))\n } else {\n const card = JSON.parse(json) as PECard;\n resolve(card)\n }\n });\n\n callNativeMethod(\"submit\", [data.merchantId, data.additionalData])\n });\n },\n showKeyboard: () => {\n callNativeMethod(\"showKeyboard\")\n },\n hideKeyboard: () => {\n callNativeMethod(\"hideKeyboard\")\n }\n }));\n\n const callNativeMethod = React.useCallback((methodName: string, params: any[] = []) => {\n console.log(\"callNativeMethod\", methodName, params)\n const viewId = findNodeHandle(formRef.current);\n let commandId = RNPECreditCardViewManager.Commands[methodName].toString()\n if (Platform.OS === 'ios') {\n commandId = Number(commandId)\n }\n UIManager.dispatchViewManagerCommand(\n viewId,\n commandId,\n params,\n );\n }, [formRef.current])\n\n React.useEffect(() => {\n const eventListener = peEventEmitter.addListener('onSizeChanges', args => {\n const { width: _, height: frameHeight } = args;\n setHeight(frameHeight);\n });\n\n return () => eventListener.remove();\n }, []);\n\n\n return (\n <>\n {height === 0 && <ActivityIndicator />}\n <RNPECreditCardView ref={formRef} additionalFields={JSON.stringify(props.additionalFields ?? [])} style={{ height: height }} />\n </>\n );\n});\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ITokenizationData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["ITokenizationData.ts"],"sourcesContent":["interface ITokenizationData {\n merchantId?: string;\n additionalData?: { \n [key: string]: string \n };\n}\n\nexport default ITokenizationData;\n"],"mappings":""}
@@ -1,13 +1,12 @@
1
1
  import * as React from 'react';
2
2
  import type IPEField from './IPEField';
3
3
  import type PEBankAccount from './PEBankAccount';
4
+ import type ITokenizationData from './ITokenizationData';
4
5
  export interface PEBankAccountViewProps {
5
6
  additionalFields?: IPEField[];
6
7
  }
7
8
  export interface PEBankAccountViewMethods {
8
- submit: (merchantId: string, additionalData: {
9
- [key: string]: string;
10
- }) => Promise<PEBankAccount>;
9
+ submit: (data: ITokenizationData) => Promise<PEBankAccount>;
11
10
  showKeyboard: () => void;
12
11
  hideKeyboard: () => void;
13
12
  }
@@ -1,13 +1,12 @@
1
1
  import * as React from 'react';
2
2
  import type IPEField from './IPEField';
3
3
  import type PECard from './PECard';
4
+ import type ITokenizationData from './ITokenizationData';
4
5
  export interface PECreditCardViewProps {
5
6
  additionalFields?: IPEField[];
6
7
  }
7
8
  export interface PECreditCardViewMethods {
8
- submit: (merchantId: string, additionalData: {
9
- [key: string]: string;
10
- }) => Promise<PECard>;
9
+ submit: (data: ITokenizationData) => Promise<PECard>;
11
10
  showKeyboard: () => void;
12
11
  hideKeyboard: () => void;
13
12
  }
@@ -0,0 +1,7 @@
1
+ interface ITokenizationData {
2
+ merchantId?: string;
3
+ additionalData?: {
4
+ [key: string]: string;
5
+ };
6
+ }
7
+ export default ITokenizationData;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-payengine",
3
- "version": "2.0.14",
3
+ "version": "2.0.16",
4
4
  "description": "PayEngine SDK for React Native",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -3,6 +3,7 @@ import * as React from 'react';
3
3
  import { requireNativeComponent, NativeModules, NativeEventEmitter, ViewProps, findNodeHandle, UIManager, ActivityIndicator, Platform } from 'react-native';
4
4
  import type IPEField from './IPEField';
5
5
  import type PEBankAccount from './PEBankAccount';
6
+ import type ITokenizationData from './ITokenizationData';
6
7
 
7
8
  const { RNPEEventEmitter } = NativeModules;
8
9
 
@@ -22,7 +23,7 @@ export interface PEBankAccountViewProps {
22
23
  }
23
24
 
24
25
  export interface PEBankAccountViewMethods {
25
- submit: (merchantId: string, additionalData: { [key: string]: string }) => Promise<PEBankAccount>;
26
+ submit: (data: ITokenizationData) => Promise<PEBankAccount>;
26
27
  showKeyboard: () => void;
27
28
  hideKeyboard: () => void;
28
29
  }
@@ -35,7 +36,7 @@ export const PEBankAccountView = React.forwardRef<
35
36
  const [height, setHeight] = React.useState(0);
36
37
 
37
38
  React.useImperativeHandle(ref, () => ({
38
- submit: async (merchantId: string, additionalData: any = {}) => {
39
+ submit: async (data: ITokenizationData = {}) => {
39
40
  return new Promise((resolve, reject) => {
40
41
  if (height === 0) {
41
42
  return reject(new Error('Form is not ready'))
@@ -53,7 +54,7 @@ export const PEBankAccountView = React.forwardRef<
53
54
  }
54
55
  });
55
56
 
56
- callNativeMethod("submit", [merchantId, additionalData],)
57
+ callNativeMethod("submit", [data.merchantId, data.additionalData],)
57
58
  });
58
59
  },
59
60
  showKeyboard: () => {
@@ -3,6 +3,7 @@ import * as React from 'react';
3
3
  import { requireNativeComponent, NativeModules, NativeEventEmitter, ViewProps, Platform, findNodeHandle, UIManager, ActivityIndicator } from 'react-native';
4
4
  import type IPEField from './IPEField';
5
5
  import type PECard from './PECard';
6
+ import type ITokenizationData from './ITokenizationData';
6
7
 
7
8
  const { RNPEEventEmitter } = NativeModules;
8
9
 
@@ -21,7 +22,7 @@ export interface PECreditCardViewProps {
21
22
  }
22
23
 
23
24
  export interface PECreditCardViewMethods {
24
- submit: (merchantId: string, additionalData: { [key: string]: string }) => Promise<PECard>;
25
+ submit: (data: ITokenizationData) => Promise<PECard>;
25
26
  showKeyboard: () => void;
26
27
  hideKeyboard: () => void;
27
28
  }
@@ -34,7 +35,7 @@ export const PECreditCardView = React.forwardRef<
34
35
  const [height, setHeight] = React.useState(0);
35
36
 
36
37
  React.useImperativeHandle(ref, () => ({
37
- submit: async (merchantId: string, additionalData: any = {}) => {
38
+ submit: async (data: ITokenizationData = {}) => {
38
39
  return new Promise((resolve, reject) => {
39
40
  if (height === 0) {
40
41
  return reject(new Error('Form is not ready'))
@@ -52,7 +53,7 @@ export const PECreditCardView = React.forwardRef<
52
53
  }
53
54
  });
54
55
 
55
- callNativeMethod("submit", [merchantId, additionalData])
56
+ callNativeMethod("submit", [data.merchantId, data.additionalData])
56
57
  });
57
58
  },
58
59
  showKeyboard: () => {
@@ -0,0 +1,8 @@
1
+ interface ITokenizationData {
2
+ merchantId?: string;
3
+ additionalData?: {
4
+ [key: string]: string
5
+ };
6
+ }
7
+
8
+ export default ITokenizationData;
@@ -1,11 +0,0 @@
1
- <component name="libraryTable">
2
- <library name="Gradle: android.arch.core:common:1.0.0">
3
- <CLASSES>
4
- <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/android.arch.core/common/1.0.0/a2d487452376193fc8c103dd2b9bd5f2b1b44563/common-1.0.0.jar!/" />
5
- </CLASSES>
6
- <JAVADOC />
7
- <SOURCES>
8
- <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/android.arch.core/common/1.0.0/a41fa3b9a66f3bdd41f98013a1688e969072aaf2/common-1.0.0-sources.jar!/" />
9
- </SOURCES>
10
- </library>
11
- </component>
@@ -1,11 +0,0 @@
1
- <component name="libraryTable">
2
- <library name="Gradle: android.arch.lifecycle:common:1.0.0">
3
- <CLASSES>
4
- <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/android.arch.lifecycle/common/1.0.0/e414a4cb28434e25c4f6aa71426eb20cf4874ae9/common-1.0.0.jar!/" />
5
- </CLASSES>
6
- <JAVADOC />
7
- <SOURCES>
8
- <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/android.arch.lifecycle/common/1.0.0/39ce4055689b4b766478265a8c661f4165f26dc3/common-1.0.0-sources.jar!/" />
9
- </SOURCES>
10
- </library>
11
- </component>
@@ -1,13 +0,0 @@
1
- <component name="libraryTable">
2
- <library name="Gradle: android.arch.lifecycle:runtime:1.0.0@aar">
3
- <CLASSES>
4
- <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/0153b7b32b50155c05c597945fbb09b3/runtime-1.0.0/jars/classes.jar!/" />
5
- <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/0153b7b32b50155c05c597945fbb09b3/runtime-1.0.0/res" />
6
- <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/0153b7b32b50155c05c597945fbb09b3/runtime-1.0.0/AndroidManifest.xml" />
7
- </CLASSES>
8
- <JAVADOC />
9
- <SOURCES>
10
- <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/android.arch.lifecycle/runtime/1.0.0/1dd0298d8c45d8dfa4d038270247327f23df7a3a/runtime-1.0.0-sources.jar!/" />
11
- </SOURCES>
12
- </library>
13
- </component>
@@ -1,16 +0,0 @@
1
- <component name="libraryTable">
2
- <library name="Gradle: androidx.core:core:1.1.0@aar">
3
- <ANNOTATIONS>
4
- <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/65aa9efd5ac59e607457eb12354be1a7/core-1.1.0/annotations.zip!/" />
5
- </ANNOTATIONS>
6
- <CLASSES>
7
- <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/65aa9efd5ac59e607457eb12354be1a7/core-1.1.0/jars/classes.jar!/" />
8
- <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/65aa9efd5ac59e607457eb12354be1a7/core-1.1.0/res" />
9
- <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/65aa9efd5ac59e607457eb12354be1a7/core-1.1.0/AndroidManifest.xml" />
10
- </CLASSES>
11
- <JAVADOC />
12
- <SOURCES>
13
- <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.core/core/1.1.0/4ae37fad1fe95b42aa47a720908df37ba5d3c85e/core-1.1.0-sources.jar!/" />
14
- </SOURCES>
15
- </library>
16
- </component>
@@ -1,13 +0,0 @@
1
- <component name="libraryTable">
2
- <library name="Gradle: com.android.support:support-annotations:26.1.0">
3
- <CLASSES>
4
- <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support/support-annotations/26.1.0/814258103cf26a15fcc26ecce35f5b7d24b73f8/support-annotations-26.1.0.jar!/" />
5
- </CLASSES>
6
- <JAVADOC>
7
- <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support/support-annotations/26.1.0/2ec8f4c3e76181e132a8ef0e906723d5796b733e/support-annotations-26.1.0-javadoc.jar!/" />
8
- </JAVADOC>
9
- <SOURCES>
10
- <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support/support-annotations/26.1.0/29ca6aaf2d4976c13dd7c836e91bd2a61b697bf3/support-annotations-26.1.0-sources.jar!/" />
11
- </SOURCES>
12
- </library>
13
- </component>
@@ -1,13 +0,0 @@
1
- <component name="libraryTable">
2
- <library name="Gradle: com.android.support:support-compat:26.1.0@aar">
3
- <CLASSES>
4
- <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/87f1ad84ae34a1d126244bb7cc0bccca/support-compat-26.1.0/jars/classes.jar!/" />
5
- <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/87f1ad84ae34a1d126244bb7cc0bccca/support-compat-26.1.0/res" />
6
- <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/87f1ad84ae34a1d126244bb7cc0bccca/support-compat-26.1.0/AndroidManifest.xml" />
7
- </CLASSES>
8
- <JAVADOC />
9
- <SOURCES>
10
- <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support/support-compat/26.1.0/73bfdb5cca1949a51219d3676700996990ea3b52/support-compat-26.1.0-sources.jar!/" />
11
- </SOURCES>
12
- </library>
13
- </component>
@@ -1,13 +0,0 @@
1
- <component name="libraryTable">
2
- <library name="Gradle: com.android.support:support-core-ui:26.1.0@aar">
3
- <CLASSES>
4
- <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/09cbeb253d89958f40dbad1c3c23b7f9/support-core-ui-26.1.0/jars/classes.jar!/" />
5
- <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/09cbeb253d89958f40dbad1c3c23b7f9/support-core-ui-26.1.0/res" />
6
- <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/09cbeb253d89958f40dbad1c3c23b7f9/support-core-ui-26.1.0/AndroidManifest.xml" />
7
- </CLASSES>
8
- <JAVADOC />
9
- <SOURCES>
10
- <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support/support-core-ui/26.1.0/4d52cef4a24bf9939de1d256ca9f0974c6e636a4/support-core-ui-26.1.0-sources.jar!/" />
11
- </SOURCES>
12
- </library>
13
- </component>
@@ -1,13 +0,0 @@
1
- <component name="libraryTable">
2
- <library name="Gradle: com.android.support:support-core-utils:26.1.0@aar">
3
- <CLASSES>
4
- <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/521f86fbee5497debda7c4669cab54fb/support-core-utils-26.1.0/jars/classes.jar!/" />
5
- <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/521f86fbee5497debda7c4669cab54fb/support-core-utils-26.1.0/res" />
6
- <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/521f86fbee5497debda7c4669cab54fb/support-core-utils-26.1.0/AndroidManifest.xml" />
7
- </CLASSES>
8
- <JAVADOC />
9
- <SOURCES>
10
- <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support/support-core-utils/26.1.0/2b0c3da7f80880bbf365452b354490a77f085c96/support-core-utils-26.1.0-sources.jar!/" />
11
- </SOURCES>
12
- </library>
13
- </component>
@@ -1,13 +0,0 @@
1
- <component name="libraryTable">
2
- <library name="Gradle: com.android.support:support-fragment:26.1.0@aar">
3
- <CLASSES>
4
- <root url="jar://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/17ff386efeb937ccd6101e80ce985c70/support-fragment-26.1.0/jars/classes.jar!/" />
5
- <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/17ff386efeb937ccd6101e80ce985c70/support-fragment-26.1.0/res" />
6
- <root url="file://$USER_HOME$/.gradle/caches/transforms-2/files-2.1/17ff386efeb937ccd6101e80ce985c70/support-fragment-26.1.0/AndroidManifest.xml" />
7
- </CLASSES>
8
- <JAVADOC />
9
- <SOURCES>
10
- <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support/support-fragment/26.1.0/8279b00f5194701ff18363fa2958c5a26670b0ef/support-fragment-26.1.0-sources.jar!/" />
11
- </SOURCES>
12
- </library>
13
- </component>