card-react-native 0.0.7

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 (65) hide show
  1. package/LICENSE +20 -0
  2. package/README.md +307 -0
  3. package/android/build.gradle +118 -0
  4. package/android/gradle.properties +5 -0
  5. package/android/src/main/AndroidManifest.xml +3 -0
  6. package/android/src/main/AndroidManifestNew.xml +2 -0
  7. package/android/src/main/java/com/cardsdkreactnative/CardSdkReactNativePackage.kt +17 -0
  8. package/android/src/main/java/com/cardsdkreactnative/CardSdkReactNativeViewManager.kt +164 -0
  9. package/android/src/main/res/layout/cardview.xml +15 -0
  10. package/card-react-native.podspec +44 -0
  11. package/ios/CardSdkReactNative-Bridging-Header.h +2 -0
  12. package/ios/CardSdkReactNative.xcodeproj/project.pbxproj +283 -0
  13. package/ios/CardSdkReactNative.xcodeproj/project.xcworkspace/contents.xcworkspacedata +4 -0
  14. package/ios/CardSdkReactNativeViewManager.m +21 -0
  15. package/ios/CardSdkReactNativeViewManager.swift +137 -0
  16. package/lib/commonjs/index.js +147 -0
  17. package/lib/commonjs/index.js.map +1 -0
  18. package/lib/commonjs/models/config.js +6 -0
  19. package/lib/commonjs/models/config.js.map +1 -0
  20. package/lib/commonjs/models/enums/TapCurrencyCode.js +188 -0
  21. package/lib/commonjs/models/enums/TapCurrencyCode.js.map +1 -0
  22. package/lib/commonjs/models/enums/index.js +28 -0
  23. package/lib/commonjs/models/enums/index.js.map +1 -0
  24. package/lib/commonjs/models/enums/sdkEnums.js +70 -0
  25. package/lib/commonjs/models/enums/sdkEnums.js.map +1 -0
  26. package/lib/commonjs/models/index.js +39 -0
  27. package/lib/commonjs/models/index.js.map +1 -0
  28. package/lib/commonjs/models/types.js +2 -0
  29. package/lib/commonjs/models/types.js.map +1 -0
  30. package/lib/module/index.js +123 -0
  31. package/lib/module/index.js.map +1 -0
  32. package/lib/module/models/config.js +2 -0
  33. package/lib/module/models/config.js.map +1 -0
  34. package/lib/module/models/enums/TapCurrencyCode.js +181 -0
  35. package/lib/module/models/enums/TapCurrencyCode.js.map +1 -0
  36. package/lib/module/models/enums/index.js +3 -0
  37. package/lib/module/models/enums/index.js.map +1 -0
  38. package/lib/module/models/enums/sdkEnums.js +56 -0
  39. package/lib/module/models/enums/sdkEnums.js.map +1 -0
  40. package/lib/module/models/index.js +4 -0
  41. package/lib/module/models/index.js.map +1 -0
  42. package/lib/module/models/types.js +2 -0
  43. package/lib/module/models/types.js.map +1 -0
  44. package/lib/typescript/src/index.d.ts +46 -0
  45. package/lib/typescript/src/index.d.ts.map +1 -0
  46. package/lib/typescript/src/models/config.d.ts +114 -0
  47. package/lib/typescript/src/models/config.d.ts.map +1 -0
  48. package/lib/typescript/src/models/enums/TapCurrencyCode.d.ts +180 -0
  49. package/lib/typescript/src/models/enums/TapCurrencyCode.d.ts.map +1 -0
  50. package/lib/typescript/src/models/enums/index.d.ts +3 -0
  51. package/lib/typescript/src/models/enums/index.d.ts.map +1 -0
  52. package/lib/typescript/src/models/enums/sdkEnums.d.ts +48 -0
  53. package/lib/typescript/src/models/enums/sdkEnums.d.ts.map +1 -0
  54. package/lib/typescript/src/models/index.d.ts +4 -0
  55. package/lib/typescript/src/models/index.d.ts.map +1 -0
  56. package/lib/typescript/src/models/types.d.ts +5 -0
  57. package/lib/typescript/src/models/types.d.ts.map +1 -0
  58. package/package.json +163 -0
  59. package/src/index.tsx +194 -0
  60. package/src/models/config.ts +124 -0
  61. package/src/models/enums/TapCurrencyCode.ts +356 -0
  62. package/src/models/enums/index.ts +2 -0
  63. package/src/models/enums/sdkEnums.ts +54 -0
  64. package/src/models/index.ts +3 -0
  65. package/src/models/types.ts +16 -0
@@ -0,0 +1,44 @@
1
+ require "json"
2
+
3
+ package = JSON.parse(File.read(File.join(__dir__, "package.json")))
4
+ folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32'
5
+
6
+ Pod::Spec.new do |s|
7
+ s.name = "card-react-native"
8
+ s.version = package["version"]
9
+ s.summary = package["description"]
10
+ s.homepage = package["homepage"]
11
+ s.license = package["license"]
12
+ s.authors = package["author"]
13
+
14
+ s.platforms = { :ios => "13.0" }
15
+ s.source = { :git => "https://github.com/Tap-Payments/Card-React-Native.git", :tag => "#{s.version}" }
16
+
17
+ s.source_files = "ios/**/*.{h,m,mm,swift}"
18
+
19
+
20
+ # Use install_modules_dependencies helper to install the dependencies if React Native version >=0.71.0.
21
+ # See https://github.com/facebook/react-native/blob/febf6b7f33fdb4904669f99d795eba4c0f95d7bf/scripts/cocoapods/new_architecture.rb#L79.
22
+ if respond_to?(:install_modules_dependencies, true)
23
+ install_modules_dependencies(s)
24
+ s.dependency 'Card-iOS','0.0.18'
25
+ else
26
+ s.dependency "React-Core"
27
+ s.dependency 'Card-iOS','0.0.18'
28
+ # Don't install the dependencies when we run `pod install` in the old architecture.
29
+ if ENV['RCT_NEW_ARCH_ENABLED'] == '1' then
30
+ s.compiler_flags = folly_compiler_flags + " -DRCT_NEW_ARCH_ENABLED=1"
31
+ s.pod_target_xcconfig = {
32
+ "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost\"",
33
+ "OTHER_CPLUSPLUSFLAGS" => "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1",
34
+ "CLANG_CXX_LANGUAGE_STANDARD" => "c++17"
35
+ }
36
+ s.dependency "React-RCTFabric"
37
+ s.dependency "React-Codegen"
38
+ s.dependency "RCT-Folly"
39
+ s.dependency "RCTRequired"
40
+ s.dependency "RCTTypeSafety"
41
+ s.dependency "ReactCommon/turbomodule/core"
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,2 @@
1
+ #import <React/RCTViewManager.h>
2
+ #import <React/RCTUIManager.h>
@@ -0,0 +1,283 @@
1
+ // !$*UTF8*$!
2
+ {
3
+ archiveVersion = 1;
4
+ classes = {
5
+ };
6
+ objectVersion = 46;
7
+ objects = {
8
+
9
+ /* Begin PBXBuildFile section */
10
+ 5E555C0D2413F4C50049A1A2 /* CardSdkReactNative.mm in Sources */ = {isa = PBXBuildFile; fileRef = B3E7B5891CC2AC0600A0062D /* CardSdkReactNative.mm */; };
11
+ F4FF95D7245B92E800C19C63 /* CardSdkReactNative.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4FF95D6245B92E800C19C63 /* CardSdkReactNative.swift */; };
12
+ /* End PBXBuildFile section */
13
+
14
+ /* Begin PBXCopyFilesBuildPhase section */
15
+ 58B511D91A9E6C8500147676 /* CopyFiles */ = {
16
+ isa = PBXCopyFilesBuildPhase;
17
+ buildActionMask = 2147483647;
18
+ dstPath = "include/$(PRODUCT_NAME)";
19
+ dstSubfolderSpec = 16;
20
+ files = (
21
+ );
22
+ runOnlyForDeploymentPostprocessing = 0;
23
+ };
24
+ /* End PBXCopyFilesBuildPhase section */
25
+
26
+ /* Begin PBXFileReference section */
27
+ 134814201AA4EA6300B7C361 /* libCardSdkReactNative.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libCardSdkReactNative.a; sourceTree = BUILT_PRODUCTS_DIR; };
28
+ B3E7B5891CC2AC0600A0062D /* CardSdkReactNative.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CardSdkReactNative.mm; sourceTree = "<group>"; };
29
+ F4FF95D5245B92E700C19C63 /* CardSdkReactNative-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "CardSdkReactNative-Bridging-Header.h"; sourceTree = "<group>"; };
30
+ F4FF95D6245B92E800C19C63 /* CardSdkReactNative.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardSdkReactNative.swift; sourceTree = "<group>"; };
31
+ /* End PBXFileReference section */
32
+
33
+ /* Begin PBXFrameworksBuildPhase section */
34
+ 58B511D81A9E6C8500147676 /* Frameworks */ = {
35
+ isa = PBXFrameworksBuildPhase;
36
+ buildActionMask = 2147483647;
37
+ files = (
38
+ );
39
+ runOnlyForDeploymentPostprocessing = 0;
40
+ };
41
+ /* End PBXFrameworksBuildPhase section */
42
+
43
+ /* Begin PBXGroup section */
44
+ 134814211AA4EA7D00B7C361 /* Products */ = {
45
+ isa = PBXGroup;
46
+ children = (
47
+ 134814201AA4EA6300B7C361 /* libCardSdkReactNative.a */,
48
+ );
49
+ name = Products;
50
+ sourceTree = "<group>";
51
+ };
52
+ 58B511D21A9E6C8500147676 = {
53
+ isa = PBXGroup;
54
+ children = (
55
+ F4FF95D6245B92E800C19C63 /* CardSdkReactNative.swift */,
56
+ B3E7B5891CC2AC0600A0062D /* CardSdkReactNative.mm */,
57
+ F4FF95D5245B92E700C19C63 /* CardSdkReactNative-Bridging-Header.h */,
58
+ 134814211AA4EA7D00B7C361 /* Products */,
59
+ );
60
+ sourceTree = "<group>";
61
+ };
62
+ /* End PBXGroup section */
63
+
64
+ /* Begin PBXNativeTarget section */
65
+ 58B511DA1A9E6C8500147676 /* CardSdkReactNative */ = {
66
+ isa = PBXNativeTarget;
67
+ buildConfigurationList = 58B511EF1A9E6C8500147676 /* Build configuration list for PBXNativeTarget "CardSdkReactNative" */;
68
+ buildPhases = (
69
+ 58B511D71A9E6C8500147676 /* Sources */,
70
+ 58B511D81A9E6C8500147676 /* Frameworks */,
71
+ 58B511D91A9E6C8500147676 /* CopyFiles */,
72
+ );
73
+ buildRules = (
74
+ );
75
+ dependencies = (
76
+ );
77
+ name = CardSdkReactNative;
78
+ productName = RCTDataManager;
79
+ productReference = 134814201AA4EA6300B7C361 /* libCardSdkReactNative.a */;
80
+ productType = "com.apple.product-type.library.static";
81
+ };
82
+ /* End PBXNativeTarget section */
83
+
84
+ /* Begin PBXProject section */
85
+ 58B511D31A9E6C8500147676 /* Project object */ = {
86
+ isa = PBXProject;
87
+ attributes = {
88
+ LastUpgradeCheck = 0920;
89
+ ORGANIZATIONNAME = Facebook;
90
+ TargetAttributes = {
91
+ 58B511DA1A9E6C8500147676 = {
92
+ CreatedOnToolsVersion = 6.1.1;
93
+ };
94
+ };
95
+ };
96
+ buildConfigurationList = 58B511D61A9E6C8500147676 /* Build configuration list for PBXProject "CardSdkReactNative" */;
97
+ compatibilityVersion = "Xcode 3.2";
98
+ developmentRegion = English;
99
+ hasScannedForEncodings = 0;
100
+ knownRegions = (
101
+ English,
102
+ en,
103
+ );
104
+ mainGroup = 58B511D21A9E6C8500147676;
105
+ productRefGroup = 58B511D21A9E6C8500147676;
106
+ projectDirPath = "";
107
+ projectRoot = "";
108
+ targets = (
109
+ 58B511DA1A9E6C8500147676 /* CardSdkReactNative */,
110
+ );
111
+ };
112
+ /* End PBXProject section */
113
+
114
+ /* Begin PBXSourcesBuildPhase section */
115
+ 58B511D71A9E6C8500147676 /* Sources */ = {
116
+ isa = PBXSourcesBuildPhase;
117
+ buildActionMask = 2147483647;
118
+ files = (
119
+ F4FF95D7245B92E800C19C63 /* CardSdkReactNative.swift in Sources */,
120
+ B3E7B58A1CC2AC0600A0062D /* CardSdkReactNative.mm in Sources */,
121
+ );
122
+ runOnlyForDeploymentPostprocessing = 0;
123
+ };
124
+ /* End PBXSourcesBuildPhase section */
125
+
126
+ /* Begin XCBuildConfiguration section */
127
+ 58B511ED1A9E6C8500147676 /* Debug */ = {
128
+ isa = XCBuildConfiguration;
129
+ buildSettings = {
130
+ ALWAYS_SEARCH_USER_PATHS = NO;
131
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
132
+ CLANG_CXX_LIBRARY = "libc++";
133
+ CLANG_ENABLE_MODULES = YES;
134
+ CLANG_ENABLE_OBJC_ARC = YES;
135
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
136
+ CLANG_WARN_BOOL_CONVERSION = YES;
137
+ CLANG_WARN_COMMA = YES;
138
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
139
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
140
+ CLANG_WARN_EMPTY_BODY = YES;
141
+ CLANG_WARN_ENUM_CONVERSION = YES;
142
+ CLANG_WARN_INFINITE_RECURSION = YES;
143
+ CLANG_WARN_INT_CONVERSION = YES;
144
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
145
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
146
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
147
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
148
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
149
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
150
+ CLANG_WARN_UNREACHABLE_CODE = YES;
151
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
152
+ COPY_PHASE_STRIP = NO;
153
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
154
+ ENABLE_TESTABILITY = YES;
155
+ "EXCLUDED_ARCHS[sdk=*]" = arm64;
156
+ GCC_C_LANGUAGE_STANDARD = gnu99;
157
+ GCC_DYNAMIC_NO_PIC = NO;
158
+ GCC_NO_COMMON_BLOCKS = YES;
159
+ GCC_OPTIMIZATION_LEVEL = 0;
160
+ GCC_PREPROCESSOR_DEFINITIONS = (
161
+ "DEBUG=1",
162
+ "$(inherited)",
163
+ );
164
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
165
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
166
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
167
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
168
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
169
+ GCC_WARN_UNUSED_FUNCTION = YES;
170
+ GCC_WARN_UNUSED_VARIABLE = YES;
171
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
172
+ MTL_ENABLE_DEBUG_INFO = YES;
173
+ ONLY_ACTIVE_ARCH = YES;
174
+ SDKROOT = iphoneos;
175
+ };
176
+ name = Debug;
177
+ };
178
+ 58B511EE1A9E6C8500147676 /* Release */ = {
179
+ isa = XCBuildConfiguration;
180
+ buildSettings = {
181
+ ALWAYS_SEARCH_USER_PATHS = NO;
182
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
183
+ CLANG_CXX_LIBRARY = "libc++";
184
+ CLANG_ENABLE_MODULES = YES;
185
+ CLANG_ENABLE_OBJC_ARC = YES;
186
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
187
+ CLANG_WARN_BOOL_CONVERSION = YES;
188
+ CLANG_WARN_COMMA = YES;
189
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
190
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
191
+ CLANG_WARN_EMPTY_BODY = YES;
192
+ CLANG_WARN_ENUM_CONVERSION = YES;
193
+ CLANG_WARN_INFINITE_RECURSION = YES;
194
+ CLANG_WARN_INT_CONVERSION = YES;
195
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
196
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
197
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
198
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
199
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
200
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
201
+ CLANG_WARN_UNREACHABLE_CODE = YES;
202
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
203
+ COPY_PHASE_STRIP = YES;
204
+ ENABLE_NS_ASSERTIONS = NO;
205
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
206
+ "EXCLUDED_ARCHS[sdk=*]" = arm64;
207
+ GCC_C_LANGUAGE_STANDARD = gnu99;
208
+ GCC_NO_COMMON_BLOCKS = YES;
209
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
210
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
211
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
212
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
213
+ GCC_WARN_UNUSED_FUNCTION = YES;
214
+ GCC_WARN_UNUSED_VARIABLE = YES;
215
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
216
+ MTL_ENABLE_DEBUG_INFO = NO;
217
+ SDKROOT = iphoneos;
218
+ VALIDATE_PRODUCT = YES;
219
+ };
220
+ name = Release;
221
+ };
222
+ 58B511F01A9E6C8500147676 /* Debug */ = {
223
+ isa = XCBuildConfiguration;
224
+ buildSettings = {
225
+ HEADER_SEARCH_PATHS = (
226
+ "$(inherited)",
227
+ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
228
+ "$(SRCROOT)/../../../React/**",
229
+ "$(SRCROOT)/../../react-native/React/**",
230
+ );
231
+ LIBRARY_SEARCH_PATHS = "$(inherited)";
232
+ OTHER_LDFLAGS = "-ObjC";
233
+ PRODUCT_NAME = CardSdkReactNative;
234
+ SKIP_INSTALL = YES;
235
+ SWIFT_OBJC_BRIDGING_HEADER = "CardSdkReactNative-Bridging-Header.h";
236
+ SWIFT_OPTIMIZATION_LEVEL = "-Onone";
237
+ SWIFT_VERSION = 5.0;
238
+ };
239
+ name = Debug;
240
+ };
241
+ 58B511F11A9E6C8500147676 /* Release */ = {
242
+ isa = XCBuildConfiguration;
243
+ buildSettings = {
244
+ HEADER_SEARCH_PATHS = (
245
+ "$(inherited)",
246
+ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
247
+ "$(SRCROOT)/../../../React/**",
248
+ "$(SRCROOT)/../../react-native/React/**",
249
+ );
250
+ LIBRARY_SEARCH_PATHS = "$(inherited)";
251
+ OTHER_LDFLAGS = "-ObjC";
252
+ PRODUCT_NAME = CardSdkReactNative;
253
+ SKIP_INSTALL = YES;
254
+ SWIFT_OBJC_BRIDGING_HEADER = "CardSdkReactNative-Bridging-Header.h";
255
+ SWIFT_VERSION = 5.0;
256
+ };
257
+ name = Release;
258
+ };
259
+ /* End XCBuildConfiguration section */
260
+
261
+ /* Begin XCConfigurationList section */
262
+ 58B511D61A9E6C8500147676 /* Build configuration list for PBXProject "CardSdkReactNative" */ = {
263
+ isa = XCConfigurationList;
264
+ buildConfigurations = (
265
+ 58B511ED1A9E6C8500147676 /* Debug */,
266
+ 58B511EE1A9E6C8500147676 /* Release */,
267
+ );
268
+ defaultConfigurationIsVisible = 0;
269
+ defaultConfigurationName = Release;
270
+ };
271
+ 58B511EF1A9E6C8500147676 /* Build configuration list for PBXNativeTarget "CardSdkReactNative" */ = {
272
+ isa = XCConfigurationList;
273
+ buildConfigurations = (
274
+ 58B511F01A9E6C8500147676 /* Debug */,
275
+ 58B511F11A9E6C8500147676 /* Release */,
276
+ );
277
+ defaultConfigurationIsVisible = 0;
278
+ defaultConfigurationName = Release;
279
+ };
280
+ /* End XCConfigurationList section */
281
+ };
282
+ rootObject = 58B511D31A9E6C8500147676 /* Project object */;
283
+ }
@@ -0,0 +1,4 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <Workspace
3
+ version = "1.0">
4
+ </Workspace>
@@ -0,0 +1,21 @@
1
+ #import <React/RCTViewManager.h>
2
+ #import <React/RCTUIManager.h>
3
+
4
+
5
+ @interface RCT_EXTERN_MODULE(CardSdkReactNativeViewManager, RCTViewManager)
6
+
7
+ RCT_EXPORT_VIEW_PROPERTY(color, NSString)
8
+ RCT_EXPORT_VIEW_PROPERTY(config, NSDictionary)
9
+ RCT_EXPORT_VIEW_PROPERTY(onSuccess, RCTDirectEventBlock)
10
+ RCT_EXPORT_VIEW_PROPERTY(onReadyCallback, RCTDirectEventBlock)
11
+ RCT_EXPORT_VIEW_PROPERTY(onFocusCallback, RCTDirectEventBlock)
12
+ RCT_EXPORT_VIEW_PROPERTY(onBinIdentification, RCTDirectEventBlock)
13
+ RCT_EXPORT_VIEW_PROPERTY(onInvalidInput, RCTDirectEventBlock)
14
+ RCT_EXPORT_VIEW_PROPERTY(onError, RCTDirectEventBlock)
15
+ RCT_EXPORT_VIEW_PROPERTY(onHeightChange, RCTDirectEventBlock)
16
+ RCT_EXTERN_METHOD(generateToken:(nonnull NSNumber *)node)
17
+ @end
18
+
19
+
20
+
21
+
@@ -0,0 +1,137 @@
1
+ import Card_iOS
2
+ @objc(CardSdkReactNativeViewManager)
3
+ class CardSdkReactNativeViewManager: RCTViewManager {
4
+
5
+ override func view() -> (CardSdkReactNativeView) {
6
+ return CardSdkReactNativeView()
7
+ }
8
+
9
+ @objc override static func requiresMainQueueSetup() -> Bool {
10
+ return false
11
+ }
12
+
13
+ @objc func generateToken(_ node:NSNumber) {
14
+ DispatchQueue.main.async {
15
+ let myLabel = self.bridge.uiManager.view(forReactTag: node) as! CardSdkReactNativeView
16
+ myLabel.generateToken()
17
+ }
18
+ }
19
+
20
+ }
21
+
22
+ class CardSdkReactNativeView : UIView {
23
+
24
+ var tapCardView: TapCardView!
25
+ let controller = RCTPresentedViewController()
26
+
27
+ @objc var onReadyCallback: RCTDirectEventBlock?
28
+ @objc var onFocusCallback: RCTDirectEventBlock?
29
+ @objc var onBinIdentification: RCTDirectEventBlock?
30
+ @objc var onInvalidInput: RCTDirectEventBlock?
31
+ @objc var onSuccess: RCTDirectEventBlock?
32
+ @objc var onError: RCTDirectEventBlock?
33
+ @objc var onHeightChange: RCTDirectEventBlock?
34
+
35
+ override init(frame: CGRect) {
36
+ super.init(frame: frame)
37
+ commonInit()
38
+ }
39
+
40
+ required init?(coder aDecoder: NSCoder) {
41
+ super.init(coder: aDecoder)
42
+ commonInit()
43
+ }
44
+
45
+ //MARK: - Private methods
46
+ /// Used as a consolidated method to do all the needed steps upon creating the view
47
+ private func commonInit() {
48
+ tapCardView = TapCardView()
49
+ self.addSubview(tapCardView)
50
+ setupConstraints()
51
+ }
52
+
53
+ private func setupConstraints() {
54
+ // Defensive coding
55
+ guard let tapCardView = self.tapCardView else {
56
+ return
57
+ }
58
+
59
+ // Preprocessing needed setup
60
+ tapCardView.translatesAutoresizingMaskIntoConstraints = false
61
+
62
+ // Define the web view constraints
63
+ let top = tapCardView.topAnchor.constraint(equalTo: self.topAnchor)
64
+ let left = tapCardView.leftAnchor.constraint(equalTo: self.leftAnchor)
65
+ let right = tapCardView.rightAnchor.constraint(equalTo: self.rightAnchor)
66
+ let bottom = tapCardView.bottomAnchor.constraint(equalTo: self.bottomAnchor)
67
+ NSLayoutConstraint.activate([left, right, top, bottom])
68
+
69
+ }
70
+
71
+ @objc var color: String = "" {
72
+ didSet {
73
+ self.backgroundColor = .clear
74
+ }
75
+ }
76
+
77
+ @objc func generateToken() {
78
+ tapCardView.generateTapToken()
79
+ }
80
+
81
+
82
+
83
+
84
+ @objc var config: [String:Any] = [:] {
85
+ didSet {
86
+ tapCardView.initTapCardSDK(configDict: config, delegate: self, presentScannerIn: controller)
87
+ }
88
+ }
89
+ }
90
+
91
+
92
+ extension CardSdkReactNativeView: TapCardViewDelegate {
93
+ func onSuccess(data: String) {
94
+ guard let onSuccess = onSuccess else{
95
+ return
96
+ }
97
+ onSuccess(["data": data])
98
+ }
99
+
100
+
101
+ func onReady() {
102
+ guard let onReadyCallback = onReadyCallback else{
103
+ return
104
+ }
105
+ onReadyCallback([:])
106
+ }
107
+ func onFocus() {
108
+ guard let onFocusCallback = onFocusCallback else{
109
+ return
110
+ }
111
+ onFocusCallback([:])
112
+ }
113
+ func onBinIdentification(data: String) {
114
+ guard let onBinIdentification = onBinIdentification else{
115
+ return
116
+ }
117
+ onBinIdentification(["data": data])
118
+ }
119
+ func onInvalidInput(invalid: Bool) {
120
+ guard let onInvalidInput = onInvalidInput else{
121
+ return
122
+ }
123
+ onInvalidInput(["data": invalid])
124
+ }
125
+ func onError(data: String) {
126
+ guard let onError = onError else{
127
+ return
128
+ }
129
+ onError(["data": data])
130
+ }
131
+ func onHeightChange(height: Double) {
132
+ guard let onHeightChange = onHeightChange else{
133
+ return
134
+ }
135
+ onHeightChange(["data": height])
136
+ }
137
+ }
@@ -0,0 +1,147 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _exportNames = {
7
+ CardSdkReactNativeView: true
8
+ };
9
+ exports.default = exports.CardSdkReactNativeView = void 0;
10
+ var _reactNative = require("react-native");
11
+ var _react = _interopRequireWildcard(require("react"));
12
+ var _models = require("./models");
13
+ Object.keys(_models).forEach(function (key) {
14
+ if (key === "default" || key === "__esModule") return;
15
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
16
+ if (key in exports && exports[key] === _models[key]) return;
17
+ Object.defineProperty(exports, key, {
18
+ enumerable: true,
19
+ get: function () {
20
+ return _models[key];
21
+ }
22
+ });
23
+ });
24
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
25
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
26
+ const LINKING_ERROR = `The package 'card-react-native' doesn't seem to be linked. Make sure: \n\n` + _reactNative.Platform.select({
27
+ ios: "- You have run 'pod install'\n",
28
+ default: ''
29
+ }) + '- You rebuilt the app after installing the package\n' + '- You are not using Expo Go\n';
30
+ const ComponentName = 'CardSdkReactNativeView';
31
+ const CardSdkReactNativeView = _reactNative.UIManager.getViewManagerConfig(ComponentName) != null ? (0, _reactNative.requireNativeComponent)(ComponentName) : () => {
32
+ throw new Error(LINKING_ERROR);
33
+ };
34
+ exports.CardSdkReactNativeView = CardSdkReactNativeView;
35
+ // UIManager.setLayoutAnimationEnabledExperimental &&
36
+ // UIManager.setLayoutAnimationEnabledExperimental(true);
37
+ function TapCardView(_ref, ref) {
38
+ let {
39
+ style,
40
+ config,
41
+ onSuccess,
42
+ onReady,
43
+ onFocus,
44
+ onHeightChange,
45
+ onBinIdentification,
46
+ onInvalidInput,
47
+ onError
48
+ } = _ref;
49
+ const viewRef = (0, _react.useRef)();
50
+ const [height, setHeight] = (0, _react.useState)(style.height ?? 95);
51
+ const [addFlex, setAddFlex] = (0, _react.useState)(false);
52
+ const generateToken = (0, _react.useCallback)(() => {
53
+ return _reactNative.UIManager.dispatchViewManagerCommand(
54
+ // @ts-ignore
55
+ (0, _reactNative.findNodeHandle)(viewRef.current),
56
+ // @ts-ignore
57
+ _reactNative.UIManager.CardSdkReactNativeView.Commands.generateToken, []);
58
+ }, []);
59
+ (0, _react.useImperativeHandle)(ref, () => ({
60
+ generateToken: () => {
61
+ generateToken();
62
+ }
63
+ }), [generateToken]);
64
+ const handleOnSuccess = _ref2 => {
65
+ let {
66
+ nativeEvent: {
67
+ data
68
+ }
69
+ } = _ref2;
70
+ onSuccess(data);
71
+ };
72
+ const handleOnHeightChange = _ref3 => {
73
+ let {
74
+ nativeEvent: {
75
+ data
76
+ }
77
+ } = _ref3;
78
+ _reactNative.LayoutAnimation.spring();
79
+ setHeight(data);
80
+ onHeightChange(data);
81
+ };
82
+ const handleOnReady = () => {
83
+ onReady();
84
+ setAddFlex(true);
85
+ setTimeout(() => {
86
+ setAddFlex(false);
87
+ }, 1);
88
+ };
89
+ const handleOnFocus = () => {
90
+ onFocus();
91
+ };
92
+ const handleOnBinIdentification = _ref4 => {
93
+ let {
94
+ nativeEvent: {
95
+ data
96
+ }
97
+ } = _ref4;
98
+ onBinIdentification(data);
99
+ };
100
+ const handleOnInvalidInput = _ref5 => {
101
+ let {
102
+ nativeEvent: {
103
+ data
104
+ }
105
+ } = _ref5;
106
+ onInvalidInput(data);
107
+ };
108
+ const handleOnError = _ref6 => {
109
+ let {
110
+ nativeEvent: {
111
+ data
112
+ }
113
+ } = _ref6;
114
+ onError(data);
115
+ };
116
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
117
+ style: {
118
+ ...style,
119
+ height: height,
120
+ flex: addFlex ? 0.1 : 0
121
+ }
122
+ }, /*#__PURE__*/_react.default.createElement(CardSdkReactNativeView, {
123
+ style: {
124
+ ...style,
125
+ flex: 1,
126
+ height: height
127
+ },
128
+ config: {
129
+ ...config,
130
+ features: {
131
+ ...config.features,
132
+ nfc: _reactNative.Platform.OS === 'ios' ? false : config.features.nfc
133
+ }
134
+ },
135
+ ref: viewRef,
136
+ onSuccess: handleOnSuccess,
137
+ onReadyCallback: handleOnReady,
138
+ onFocusCallback: handleOnFocus,
139
+ onHeightChange: handleOnHeightChange,
140
+ onBinIdentification: handleOnBinIdentification,
141
+ onInvalidInput: handleOnInvalidInput,
142
+ onError: handleOnError
143
+ }));
144
+ }
145
+ var _default = /*#__PURE__*/(0, _react.forwardRef)(TapCardView);
146
+ exports.default = _default;
147
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","_react","_interopRequireWildcard","_models","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","newObj","hasPropertyDescriptor","getOwnPropertyDescriptor","desc","set","LINKING_ERROR","Platform","select","ios","ComponentName","CardSdkReactNativeView","UIManager","getViewManagerConfig","requireNativeComponent","Error","TapCardView","_ref","ref","style","config","onSuccess","onReady","onFocus","onHeightChange","onBinIdentification","onInvalidInput","onError","viewRef","useRef","height","setHeight","useState","addFlex","setAddFlex","generateToken","useCallback","dispatchViewManagerCommand","findNodeHandle","current","Commands","useImperativeHandle","handleOnSuccess","_ref2","nativeEvent","data","handleOnHeightChange","_ref3","LayoutAnimation","spring","handleOnReady","setTimeout","handleOnFocus","handleOnBinIdentification","_ref4","handleOnInvalidInput","_ref5","handleOnError","_ref6","createElement","View","flex","features","nfc","OS","onReadyCallback","onFocusCallback","_default","forwardRef"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAWA,IAAAC,MAAA,GAAAC,uBAAA,CAAAF,OAAA;AAUA,IAAAG,OAAA,GAAAH,OAAA;AAAAI,MAAA,CAAAC,IAAA,CAAAF,OAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,OAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,OAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AAAyB,SAAAS,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAf,wBAAAmB,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAT,GAAA,CAAAM,GAAA,SAAAK,MAAA,WAAAC,qBAAA,GAAAvB,MAAA,CAAAS,cAAA,IAAAT,MAAA,CAAAwB,wBAAA,WAAArB,GAAA,IAAAc,GAAA,QAAAd,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAW,GAAA,EAAAd,GAAA,SAAAsB,IAAA,GAAAF,qBAAA,GAAAvB,MAAA,CAAAwB,wBAAA,CAAAP,GAAA,EAAAd,GAAA,cAAAsB,IAAA,KAAAA,IAAA,CAAAd,GAAA,IAAAc,IAAA,CAAAC,GAAA,KAAA1B,MAAA,CAAAS,cAAA,CAAAa,MAAA,EAAAnB,GAAA,EAAAsB,IAAA,YAAAH,MAAA,CAAAnB,GAAA,IAAAc,GAAA,CAAAd,GAAA,SAAAmB,MAAA,CAAAH,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAM,GAAA,CAAAT,GAAA,EAAAK,MAAA,YAAAA,MAAA;AAEzB,MAAMK,aAAa,GAChB,4EAA2E,GAC5EC,qBAAQ,CAACC,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEX,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;AAEjC,MAAMY,aAAa,GAAG,wBAAwB;AAEvC,MAAMC,sBAAsB,GACjCC,sBAAS,CAACC,oBAAoB,CAACH,aAAa,CAAC,IAAI,IAAI,GACjD,IAAAI,mCAAsB,EAA0BJ,aAAa,CAAC,GAC9D,MAAM;EACJ,MAAM,IAAIK,KAAK,CAACT,aAAa,CAAC;AAChC,CAAC;AAACnB,OAAA,CAAAwB,sBAAA,GAAAA,sBAAA;AA2CR;AACA;AAEA,SAASK,WAAWA,CAAAC,IAAA,EAYlBC,GAAwB,EACxB;EAAA,IAZA;IACEC,KAAK;IACLC,MAAM;IACNC,SAAS;IACTC,OAAO;IACPC,OAAO;IACPC,cAAc;IACdC,mBAAmB;IACnBC,cAAc;IACdC;EACiB,CAAC,GAAAV,IAAA;EAGpB,MAAMW,OAAO,GACX,IAAAC,aAAM,EAAuB,CAA2C;EAC1E,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,GAAG,IAAAC,eAAQ,EAACb,KAAK,CAACW,MAAM,IAAI,EAAE,CAAC;EACxD,MAAM,CAACG,OAAO,EAAEC,UAAU,CAAC,GAAG,IAAAF,eAAQ,EAAC,KAAK,CAAC;EAE7C,MAAMG,aAAa,GAAG,IAAAC,kBAAW,EAAC,MAAM;IACtC,OAAOxB,sBAAS,CAACyB,0BAA0B;IACzC;IACA,IAAAC,2BAAc,EAACV,OAAO,CAACW,OAAO,CAAC;IAC/B;IACA3B,sBAAS,CAACD,sBAAsB,CAAC6B,QAAQ,CAACL,aAAa,EACvD,EACF,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,IAAAM,0BAAmB,EACjBvB,GAAG,EACH,OAAO;IACLiB,aAAa,EAAEA,CAAA,KAAM;MACnBA,aAAa,CAAC,CAAC;IACjB;EACF,CAAC,CAAC,EACF,CAACA,aAAa,CAChB,CAAC;EAED,MAAMO,eAAe,GAAGC,KAAA,IAEsB;IAAA,IAFrB;MACvBC,WAAW,EAAE;QAAEC;MAAK;IACkB,CAAC,GAAAF,KAAA;IACvCtB,SAAS,CAACwB,IAAI,CAAC;EACjB,CAAC;EAED,MAAMC,oBAAoB,GAAGC,KAAA,IAEiB;IAAA,IAFhB;MAC5BH,WAAW,EAAE;QAAEC;MAAK;IACkB,CAAC,GAAAE,KAAA;IACvCC,4BAAe,CAACC,MAAM,CAAC,CAAC;IACxBlB,SAAS,CAACc,IAAI,CAAC;IACfrB,cAAc,CAACqB,IAAI,CAAC;EACtB,CAAC;EAED,MAAMK,aAAa,GAAGA,CAAA,KAAM;IAC1B5B,OAAO,CAAC,CAAC;IACTY,UAAU,CAAC,IAAI,CAAC;IAChBiB,UAAU,CAAC,MAAM;MACfjB,UAAU,CAAC,KAAK,CAAC;IACnB,CAAC,EAAE,CAAC,CAAC;EACP,CAAC;EAED,MAAMkB,aAAa,GAAGA,CAAA,KAAM;IAC1B7B,OAAO,CAAC,CAAC;EACX,CAAC;EAED,MAAM8B,yBAAyB,GAAGC,KAAA,IAEY;IAAA,IAFX;MACjCV,WAAW,EAAE;QAAEC;MAAK;IACkB,CAAC,GAAAS,KAAA;IACvC7B,mBAAmB,CAACoB,IAAI,CAAC;EAC3B,CAAC;EACD,MAAMU,oBAAoB,GAAGC,KAAA,IAEkB;IAAA,IAFjB;MAC5BZ,WAAW,EAAE;QAAEC;MAAK;IACmB,CAAC,GAAAW,KAAA;IACxC9B,cAAc,CAACmB,IAAI,CAAC;EACtB,CAAC;EACD,MAAMY,aAAa,GAAGC,KAAA,IAEwB;IAAA,IAFvB;MACrBd,WAAW,EAAE;QAAEC;MAAK;IACkB,CAAC,GAAAa,KAAA;IACvC/B,OAAO,CAACkB,IAAI,CAAC;EACf,CAAC;EAED,oBACErE,MAAA,CAAAsB,OAAA,CAAA6D,aAAA,CAACrF,YAAA,CAAAsF,IAAI;IACHzC,KAAK,EAAE;MACL,GAAGA,KAAK;MACRW,MAAM,EAAEA,MAAM;MACd+B,IAAI,EAAE5B,OAAO,GAAG,GAAG,GAAG;IACxB;EAAE,gBAEFzD,MAAA,CAAAsB,OAAA,CAAA6D,aAAA,CAAChD,sBAAsB;IACrBQ,KAAK,EAAE;MAAE,GAAGA,KAAK;MAAE0C,IAAI,EAAE,CAAC;MAAE/B,MAAM,EAAEA;IAAO,CAAE;IAC7CV,MAAM,EAAE;MACN,GAAGA,MAAM;MACT0C,QAAQ,EAAE;QACR,GAAG1C,MAAM,CAAC0C,QAAQ;QAClBC,GAAG,EAAExD,qBAAQ,CAACyD,EAAE,KAAK,KAAK,GAAG,KAAK,GAAG5C,MAAM,CAAC0C,QAAQ,CAACC;MACvD;IACF,CAAE;IACF7C,GAAG,EAAEU,OAAQ;IACbP,SAAS,EAAEqB,eAAgB;IAC3BuB,eAAe,EAAEf,aAAc;IAC/BgB,eAAe,EAAEd,aAAc;IAC/B5B,cAAc,EAAEsB,oBAAqB;IACrCrB,mBAAmB,EAAE4B,yBAA0B;IAC/C3B,cAAc,EAAE6B,oBAAqB;IACrC5B,OAAO,EAAE8B;EAAc,CACxB,CACG,CAAC;AAEX;AAAC,IAAAU,QAAA,gBAEc,IAAAC,iBAAU,EAACpD,WAAW,CAAC;AAAA7B,OAAA,CAAAW,OAAA,GAAAqE,QAAA"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["models/config.ts"],"mappings":""}