@usercentrics/react-native-sdk 2.0.3-rc1 → 2.2.1

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 (53) hide show
  1. package/README.md +2 -0
  2. package/android/build.gradle +1 -1
  3. package/android/src/androidTest/java/com/usercentrics/reactnativemodule/RNUsercentricsModuleTest.kt +41 -2
  4. package/android/src/androidTest/java/com/usercentrics/reactnativemodule/api/FakeUsercentricsProxy.kt +23 -1
  5. package/android/src/androidTest/java/com/usercentrics/reactnativemodule/mock/GetCMPDataMock.kt +2 -1
  6. package/android/src/androidTest/java/com/usercentrics/reactnativemodule/mock/GetConsentsMock.kt +19 -1
  7. package/android/src/androidTest/java/com/usercentrics/reactnativemodule/mock/GetTCFDataMock.kt +2 -0
  8. package/android/src/androidTest/java/com/usercentrics/reactnativemodule/mock/SaveDecisionsForTCFMock.kt +18 -1
  9. package/android/src/androidTest/java/com/usercentrics/reactnativemodule/mock/SaveDecisionsMock.kt +0 -1
  10. package/android/src/androidTest/java/com/usercentrics/reactnativemodule/mock/ShowFirstLayerMock.kt +27 -0
  11. package/android/src/main/java/com/usercentrics/reactnativeusercentrics/RNUsercentricsModule.kt +44 -0
  12. package/android/src/main/java/com/usercentrics/reactnativeusercentrics/api/UsercentricsProxy.kt +42 -1
  13. package/android/src/main/java/com/usercentrics/reactnativeusercentrics/extensions/FirstLayerOptionsExtensions.kt +160 -0
  14. package/android/src/main/java/com/usercentrics/reactnativeusercentrics/extensions/TCFDataExtensions.kt +1 -0
  15. package/android/src/main/java/com/usercentrics/reactnativeusercentrics/extensions/UsercentricsServiceConsentExtensions.kt +21 -0
  16. package/ios/Extensions/BannerSettings+Dict.swift +180 -0
  17. package/ios/Extensions/TCFData+Dict.swift +2 -1
  18. package/ios/Extensions/UIColor+Extensions.swift +52 -0
  19. package/ios/Extensions/UIFont+UsercentricsFontDict.swift +15 -0
  20. package/ios/Extensions/UIImage+UsercentricsLogoDict.swift +14 -0
  21. package/ios/Extensions/UsercentricsCMPData+Dict.swift +1 -1
  22. package/ios/Extensions/UsercentricsServiceConsents+Dict.swift +14 -0
  23. package/ios/Extensions/UsercentricsUISettings+Dict.swift +1 -0
  24. package/ios/Manager/UsercentricsManager.swift +43 -20
  25. package/ios/RNUsercentricsModule.m +8 -0
  26. package/ios/RNUsercentricsModule.swift +97 -36
  27. package/ios/RNUsercentricsModule.xcodeproj/project.pbxproj +16 -0
  28. package/lib/Usercentrics.d.ts +6 -1
  29. package/lib/Usercentrics.js +43 -16
  30. package/lib/Usercentrics.js.map +1 -1
  31. package/lib/models/BannerSettings.d.ts +6 -0
  32. package/lib/models/BannerSettings.js +7 -0
  33. package/lib/models/BannerSettings.js.map +1 -0
  34. package/lib/models/FirstLayerOptions.d.ts +82 -0
  35. package/lib/models/FirstLayerOptions.js +104 -0
  36. package/lib/models/FirstLayerOptions.js.map +1 -0
  37. package/lib/models/SecondLayerOptions.d.ts +6 -0
  38. package/lib/models/SecondLayerOptions.js +7 -0
  39. package/lib/models/SecondLayerOptions.js.map +1 -0
  40. package/lib/models/TCFData.d.ts +9 -8
  41. package/lib/models/TCFData.js +2 -1
  42. package/lib/models/TCFData.js.map +1 -1
  43. package/lib/models/UsercentricsServiceConsent.d.ts +9 -1
  44. package/lib/models/UsercentricsServiceConsent.js +10 -1
  45. package/lib/models/UsercentricsServiceConsent.js.map +1 -1
  46. package/lib/models/UsercentricsUIOptions.d.ts +2 -1
  47. package/lib/models/UsercentricsUIOptions.js +2 -1
  48. package/lib/models/UsercentricsUIOptions.js.map +1 -1
  49. package/lib/models/index.d.ts +3 -0
  50. package/lib/models/index.js +3 -0
  51. package/lib/models/index.js.map +1 -1
  52. package/package.json +2 -2
  53. package/react-native-usercentrics.podspec +0 -1
@@ -5,32 +5,30 @@ import UIKit
5
5
 
6
6
  @objc(RNUsercentricsModule)
7
7
  class RNUsercentricsModule: NSObject, RCTBridgeModule {
8
-
8
+
9
9
  var usercentricsManager: UsercentricsManager = UsercentricsManagerImplementation()
10
10
  var queue: DispatchQueueManager = DispatchQueue.main
11
11
  var rootVC: PresentationViewController? = UIApplication.shared.delegate?.window??.rootViewController
12
-
12
+
13
13
  @objc static func moduleName() -> String! {
14
14
  return "RNUsercentricsModule"
15
15
  }
16
-
16
+
17
17
  @objc static func requiresMainQueueSetup() -> Bool {
18
18
  return true
19
19
  }
20
-
20
+
21
21
  @objc func configure(_ dict: NSDictionary) -> Void {
22
- if !usercentricsManager.alreadyConfigured {
23
- queue.async { [weak self] in
24
- guard
25
- let self = self,
26
- let userOptions = UsercentricsOptions(from: dict)
27
- else { return }
28
-
29
- self.usercentricsManager.configure(options: userOptions)
30
- }
22
+ queue.async { [weak self] in
23
+ guard
24
+ let self = self,
25
+ let userOptions = UsercentricsOptions(from: dict)
26
+ else { return }
27
+
28
+ self.usercentricsManager.configure(options: userOptions)
31
29
  }
32
30
  }
33
-
31
+
34
32
  @objc func isReady(_ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) -> Void {
35
33
  usercentricsManager.isReady { status in
36
34
  resolve(status.toDictionary())
@@ -38,7 +36,7 @@ class RNUsercentricsModule: NSObject, RCTBridgeModule {
38
36
  reject("usercentrics_reactNative_isReady_error", error.localizedDescription, error)
39
37
  }
40
38
  }
41
-
39
+
42
40
  @objc func showCMP(_ dict: NSDictionary, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) -> Void {
43
41
  queue.async { [weak self] in
44
42
  guard
@@ -54,16 +52,79 @@ class RNUsercentricsModule: NSObject, RCTBridgeModule {
54
52
  resolve(response.toDictionary())
55
53
  rootVC.dismiss(animated: true)
56
54
  }
57
-
55
+
58
56
  if #available(iOS 13.0, *) { predefinedUI.isModalInPresentation = true }
59
57
  rootVC.present(predefinedUI)
60
58
  }
61
59
  }
62
-
60
+
61
+ @objc func showFirstLayer(_ dict: NSDictionary, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
62
+ queue.async { [weak self] in
63
+ guard
64
+ let self = self,
65
+ let rootVC = self.rootVC,
66
+ let layoutString = dict["layout"] as? String,
67
+ let layout = UsercentricsLayout.from(enumString: layoutString)
68
+ else {
69
+ reject("usercentrics_reactNative_showFirstLayer_error", RNUsercentricsModuleError.invalidData.localizedDescription, RNUsercentricsModuleError.invalidData)
70
+ return
71
+ }
72
+
73
+ let nav = UINavigationController()
74
+ nav.setNavigationBarHidden(true, animated: false)
75
+ nav.modalPresentationStyle = .overFullScreen
76
+ if #available(iOS 13.0, *) {
77
+ nav.isModalInPresentation = true
78
+ }
79
+
80
+ rootVC.present(nav)
81
+ let bannerSettingsDict = dict["bannerSettings"] as? NSDictionary
82
+ let styleSettingsDict = dict["styleSettings"] as? NSDictionary
83
+
84
+ self.usercentricsManager.showFirstLayer(bannerSettings: BannerSettings(from: bannerSettingsDict),
85
+ hostView: nav,
86
+ layout: layout,
87
+ settings: FirstLayerStyleSettings(from: styleSettingsDict)) { response in
88
+ rootVC.dismiss(animated: true)
89
+ resolve(response.toDictionary())
90
+ }
91
+ }
92
+ }
93
+
94
+ @objc func showSecondLayer(_ dict: NSDictionary, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
95
+ queue.async { [weak self] in
96
+ guard
97
+ let self = self,
98
+ let rootVC = self.rootVC
99
+ else {
100
+ reject("usercentrics_reactNative_showFirstLayer_error", RNUsercentricsModuleError.invalidData.localizedDescription, RNUsercentricsModuleError.invalidData)
101
+ return
102
+ }
103
+ let bannerSettingsDict = dict["bannerSettings"] as? NSDictionary
104
+ let showCloseButton = (dict["showCloseButton"] as? Bool) ?? false
105
+
106
+ let nav = UINavigationController()
107
+ nav.setNavigationBarHidden(true, animated: false)
108
+ nav.modalPresentationStyle = .overFullScreen
109
+ if #available(iOS 13.0, *) {
110
+ nav.isModalInPresentation = true
111
+ }
112
+
113
+ rootVC.present(nav)
114
+
115
+ self.usercentricsManager.showSecondLayer(bannerSettings: BannerSettings(from: bannerSettingsDict),
116
+ hostView: nav,
117
+ showCloseButton: showCloseButton) { response in
118
+ rootVC.dismiss(animated: true)
119
+ resolve(response.toDictionary())
120
+ }
121
+ }
122
+ }
123
+
63
124
  @objc func setCMPId(_ id: Int) -> Void {
64
125
  usercentricsManager.setCMPId(id: Int32(id))
65
126
  }
66
-
127
+
67
128
  @objc func restoreUserSession(_ controllerId: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) -> Void {
68
129
  usercentricsManager.restoreUserSession(controllerId: controllerId) { status in
69
130
  resolve(status.toDictionary())
@@ -71,35 +132,35 @@ class RNUsercentricsModule: NSObject, RCTBridgeModule {
71
132
  reject("usercentrics_reactNative_restoreUserSession_error", error.localizedDescription, error)
72
133
  }
73
134
  }
74
-
135
+
75
136
  @objc func getTCFString(_ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) -> Void {
76
137
  resolve(usercentricsManager.getTCString())
77
138
  }
78
-
139
+
79
140
  @objc func getControllerId(_ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) -> Void {
80
141
  resolve(usercentricsManager.getControllerId())
81
142
  }
82
-
143
+
83
144
  @objc func getConsents(_ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) -> Void {
84
145
  resolve(usercentricsManager.getConsents().toListOfDictionary())
85
146
  }
86
-
147
+
87
148
  @objc func getCMPData(_ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) -> Void {
88
149
  resolve(usercentricsManager.getCMPData().toDictionary())
89
150
  }
90
-
151
+
91
152
  @objc func getTCFData(_ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) -> Void {
92
153
  resolve(usercentricsManager.getTCFData().toDictionary())
93
154
  }
94
-
155
+
95
156
  @objc func getUserSessionData(_ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) -> Void {
96
157
  resolve(usercentricsManager.getUserSessionData())
97
158
  }
98
-
159
+
99
160
  @objc func getUSPData(_ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) -> Void {
100
161
  resolve(usercentricsManager.getUSPData().toDictionary())
101
162
  }
102
-
163
+
103
164
  @objc func changeLanguage(_ language: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) -> Void {
104
165
  usercentricsManager.changeLanguage(language: language) {
105
166
  resolve(Void.self)
@@ -107,7 +168,7 @@ class RNUsercentricsModule: NSObject, RCTBridgeModule {
107
168
  reject("usercentrics_reactNative_changeLanguage_error", error.localizedDescription, error)
108
169
  }
109
170
  }
110
-
171
+
111
172
  @objc func acceptAllForTCF(_ fromLayer: Int,
112
173
  consentType: Int,
113
174
  resolve: @escaping RCTPromiseResolveBlock,
@@ -116,14 +177,14 @@ class RNUsercentricsModule: NSObject, RCTBridgeModule {
116
177
  consentType: UsercentricsConsentType.initialize(from: consentType))
117
178
  resolve(services.toListOfDictionary())
118
179
  }
119
-
180
+
120
181
  @objc func acceptAll(_ consentType: Int,
121
182
  resolve: @escaping RCTPromiseResolveBlock,
122
183
  reject: @escaping RCTPromiseRejectBlock) -> Void {
123
184
  let services = usercentricsManager.acceptAll(consentType: UsercentricsConsentType.initialize(from: consentType))
124
185
  resolve(services.toListOfDictionary())
125
186
  }
126
-
187
+
127
188
  @objc func denyAllForTCF(_ fromLayer: Int,
128
189
  consentType: Int,
129
190
  resolve: @escaping RCTPromiseResolveBlock,
@@ -131,30 +192,30 @@ class RNUsercentricsModule: NSObject, RCTBridgeModule {
131
192
  let services = usercentricsManager.denyAllForTCF(fromLayer: .initialize(from: fromLayer), consentType: .initialize(from: consentType))
132
193
  resolve(services.toListOfDictionary())
133
194
  }
134
-
195
+
135
196
  @objc func denyAll(_ consentType: Int,
136
197
  resolve: @escaping RCTPromiseResolveBlock,
137
198
  reject: @escaping RCTPromiseRejectBlock) -> Void {
138
199
  let services = usercentricsManager.denyAll(consentType: .initialize(from: consentType))
139
200
  resolve(services.toListOfDictionary())
140
201
  }
141
-
202
+
142
203
  @objc func saveDecisionsForTCF(_ tcfDecisions: NSDictionary,
143
204
  fromLayer: Int,
144
205
  serviceDecisions: [NSDictionary],
145
206
  consentType: Int,
146
207
  resolve: @escaping RCTPromiseResolveBlock,
147
208
  reject: @escaping RCTPromiseRejectBlock) -> Void {
148
-
209
+
149
210
  let services = usercentricsManager.saveDecisionsForTCF(
150
211
  tcfDecisions: TCFUserDecisions(from: tcfDecisions),
151
212
  fromLayer: .initialize(from: fromLayer),
152
213
  serviceDecisions: serviceDecisions.compactMap { UserDecision(from: $0) },
153
214
  consentType: .initialize(from: consentType))
154
215
  resolve(services.toListOfDictionary())
155
-
216
+
156
217
  }
157
-
218
+
158
219
  @objc func saveDecisions(_ decisions: [NSDictionary],
159
220
  consentType: Int,
160
221
  resolve: @escaping RCTPromiseResolveBlock,
@@ -162,7 +223,7 @@ class RNUsercentricsModule: NSObject, RCTBridgeModule {
162
223
  let services = usercentricsManager.saveDecisions(decisions: decisions.compactMap { UserDecision.init(from: $0) }, consentType: .initialize(from: consentType))
163
224
  resolve(services.toListOfDictionary())
164
225
  }
165
-
226
+
166
227
  @objc func saveOptOutForCCPA(_ isOptedOut: Bool,
167
228
  consentType: Int,
168
229
  resolve: @escaping RCTPromiseResolveBlock,
@@ -170,7 +231,7 @@ class RNUsercentricsModule: NSObject, RCTBridgeModule {
170
231
  let services = usercentricsManager.saveOptOutForCCPA(isOptedOut: isOptedOut, consentType: .initialize(from: consentType))
171
232
  resolve(services.toListOfDictionary())
172
233
  }
173
-
234
+
174
235
  @objc func reset() -> Void {
175
236
  usercentricsManager.reset()
176
237
  }
@@ -7,12 +7,16 @@
7
7
  objects = {
8
8
 
9
9
  /* Begin PBXBuildFile section */
10
+ A20E7C9427B28D88004DC947 /* BannerSettings+Dict.swift in Sources */ = {isa = PBXBuildFile; fileRef = A20E7C9327B28D88004DC947 /* BannerSettings+Dict.swift */; };
10
11
  A21D32A4272AE191004ED33E /* UsercentricsServiceConsents+Dict.swift in Sources */ = {isa = PBXBuildFile; fileRef = A21D32A3272AE191004ED33E /* UsercentricsServiceConsents+Dict.swift */; };
11
12
  A22EDF9E271DA49900F5BB8C /* UsercentricsOptions+Dict.swift in Sources */ = {isa = PBXBuildFile; fileRef = A22EDF99271DA49900F5BB8C /* UsercentricsOptions+Dict.swift */; };
12
13
  A22EDF9F271DA49900F5BB8C /* ReadyStatus+Dict.swift in Sources */ = {isa = PBXBuildFile; fileRef = A22EDF9A271DA49900F5BB8C /* ReadyStatus+Dict.swift */; };
13
14
  A22EDFA0271DA49900F5BB8C /* UsercentricsUserInteraction+String.swift in Sources */ = {isa = PBXBuildFile; fileRef = A22EDF9B271DA49900F5BB8C /* UsercentricsUserInteraction+String.swift */; };
14
15
  A22EDFA1271DA49900F5BB8C /* UserResponse+Dict.swift in Sources */ = {isa = PBXBuildFile; fileRef = A22EDF9C271DA49900F5BB8C /* UserResponse+Dict.swift */; };
15
16
  A22EDFA2271DA49900F5BB8C /* UsercentricsUISettings+Dict.swift in Sources */ = {isa = PBXBuildFile; fileRef = A22EDF9D271DA49900F5BB8C /* UsercentricsUISettings+Dict.swift */; };
17
+ A2390F8227B52ADA00F355C1 /* UIImage+UsercentricsLogoDict.swift in Sources */ = {isa = PBXBuildFile; fileRef = A2390F8127B52ADA00F355C1 /* UIImage+UsercentricsLogoDict.swift */; };
18
+ A2390F8427B52B0800F355C1 /* UIFont+UsercentricsFontDict.swift in Sources */ = {isa = PBXBuildFile; fileRef = A2390F8327B52B0800F355C1 /* UIFont+UsercentricsFontDict.swift */; };
19
+ A2390F8627B52B2700F355C1 /* UIColor+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = A2390F8527B52B2700F355C1 /* UIColor+Extensions.swift */; };
16
20
  A24E4EA327313492001093C7 /* UserDecision+Dict.swift in Sources */ = {isa = PBXBuildFile; fileRef = A24E4EA227313492001093C7 /* UserDecision+Dict.swift */; };
17
21
  A24E4EAB273186FD001093C7 /* TCFData+Dict.swift in Sources */ = {isa = PBXBuildFile; fileRef = A24E4EAA273186FD001093C7 /* TCFData+Dict.swift */; };
18
22
  A2DC251C272163C600AA9DD8 /* UsercentricsManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = A2DC251B272163C600AA9DD8 /* UsercentricsManager.swift */; };
@@ -41,12 +45,16 @@
41
45
  /* End PBXCopyFilesBuildPhase section */
42
46
 
43
47
  /* Begin PBXFileReference section */
48
+ A20E7C9327B28D88004DC947 /* BannerSettings+Dict.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "BannerSettings+Dict.swift"; sourceTree = "<group>"; };
44
49
  A21D32A3272AE191004ED33E /* UsercentricsServiceConsents+Dict.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UsercentricsServiceConsents+Dict.swift"; sourceTree = "<group>"; };
45
50
  A22EDF99271DA49900F5BB8C /* UsercentricsOptions+Dict.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UsercentricsOptions+Dict.swift"; sourceTree = "<group>"; };
46
51
  A22EDF9A271DA49900F5BB8C /* ReadyStatus+Dict.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "ReadyStatus+Dict.swift"; sourceTree = "<group>"; };
47
52
  A22EDF9B271DA49900F5BB8C /* UsercentricsUserInteraction+String.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UsercentricsUserInteraction+String.swift"; sourceTree = "<group>"; };
48
53
  A22EDF9C271DA49900F5BB8C /* UserResponse+Dict.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UserResponse+Dict.swift"; sourceTree = "<group>"; };
49
54
  A22EDF9D271DA49900F5BB8C /* UsercentricsUISettings+Dict.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UsercentricsUISettings+Dict.swift"; sourceTree = "<group>"; };
55
+ A2390F8127B52ADA00F355C1 /* UIImage+UsercentricsLogoDict.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIImage+UsercentricsLogoDict.swift"; sourceTree = "<group>"; };
56
+ A2390F8327B52B0800F355C1 /* UIFont+UsercentricsFontDict.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIFont+UsercentricsFontDict.swift"; sourceTree = "<group>"; };
57
+ A2390F8527B52B2700F355C1 /* UIColor+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIColor+Extensions.swift"; sourceTree = "<group>"; };
50
58
  A24E4EA227313492001093C7 /* UserDecision+Dict.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UserDecision+Dict.swift"; sourceTree = "<group>"; };
51
59
  A24E4EAA273186FD001093C7 /* TCFData+Dict.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "TCFData+Dict.swift"; sourceTree = "<group>"; };
52
60
  A2DC251B272163C600AA9DD8 /* UsercentricsManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UsercentricsManager.swift; sourceTree = "<group>"; };
@@ -90,6 +98,10 @@
90
98
  A2F0B085272C483300A99DD3 /* TCFUserDecisions+Dict.swift */,
91
99
  A24E4EA227313492001093C7 /* UserDecision+Dict.swift */,
92
100
  A24E4EAA273186FD001093C7 /* TCFData+Dict.swift */,
101
+ A20E7C9327B28D88004DC947 /* BannerSettings+Dict.swift */,
102
+ A2390F8127B52ADA00F355C1 /* UIImage+UsercentricsLogoDict.swift */,
103
+ A2390F8527B52B2700F355C1 /* UIColor+Extensions.swift */,
104
+ A2390F8327B52B0800F355C1 /* UIFont+UsercentricsFontDict.swift */,
93
105
  );
94
106
  path = Extensions;
95
107
  sourceTree = "<group>";
@@ -206,10 +218,14 @@
206
218
  A22EDFA2271DA49900F5BB8C /* UsercentricsUISettings+Dict.swift in Sources */,
207
219
  A2DC25402722A91400AA9DD8 /* UCRNFlag.swift in Sources */,
208
220
  A2DC252727216CFC00AA9DD8 /* DispatchQueueManager.swift in Sources */,
221
+ A20E7C9427B28D88004DC947 /* BannerSettings+Dict.swift in Sources */,
222
+ A2390F8427B52B0800F355C1 /* UIFont+UsercentricsFontDict.swift in Sources */,
209
223
  A22EDF9E271DA49900F5BB8C /* UsercentricsOptions+Dict.swift in Sources */,
210
224
  A2F0B080272C367B00A99DD3 /* UsercentricsConsentType+Int.swift in Sources */,
211
225
  A2DC25362721A05500AA9DD8 /* RNUsercentricsModuleError.swift in Sources */,
226
+ A2390F8227B52ADA00F355C1 /* UIImage+UsercentricsLogoDict.swift in Sources */,
212
227
  FA4F9FEB2512ACC2002DB4D5 /* RNUsercentricsModule.m in Sources */,
228
+ A2390F8627B52B2700F355C1 /* UIColor+Extensions.swift in Sources */,
213
229
  A2F0B07E272C2E0A00A99DD3 /* CCPAData+Dict.swift in Sources */,
214
230
  );
215
231
  runOnlyForDeploymentPostprocessing = 0;
@@ -1,8 +1,13 @@
1
- import { UsercentricsOptions, UsercentricsServiceConsent, UsercentricsUIOptions, UsercentricsConsentUserResponse, UsercentricsReadyStatus, UsercentricsCMPData, CCPAData, TCFData, UsercentricsConsentType, TCFDecisionUILayer, UserDecision, TCFUserDecisions } from './models';
1
+ import { UsercentricsOptions, UsercentricsServiceConsent, UsercentricsUIOptions, UsercentricsConsentUserResponse, UsercentricsReadyStatus, UsercentricsCMPData, CCPAData, TCFData, UsercentricsConsentType, TCFDecisionUILayer, UserDecision, TCFUserDecisions, FirstLayerOptions, SecondLayerOptions } from './models';
2
2
  export declare const Usercentrics: {
3
3
  configure: (options: UsercentricsOptions) => void;
4
4
  status: () => Promise<UsercentricsReadyStatus>;
5
+ /**
6
+ * @deprecated showCMP is deprecated: This API will soon be removed in favor of showFirstLayer and showSecondLayer, check our documentation for more details: https://docs.usercentrics.com/cmp_in_app_sdk/latest/collect_consent/present_cmp/
7
+ */
5
8
  showCMP: (options: UsercentricsUIOptions) => Promise<UsercentricsConsentUserResponse>;
9
+ showFirstLayer: (options: FirstLayerOptions) => Promise<UsercentricsConsentUserResponse>;
10
+ showSecondLayer: (options: SecondLayerOptions) => Promise<UsercentricsConsentUserResponse>;
6
11
  restoreUserSession: (controllerId: string) => Promise<UsercentricsReadyStatus>;
7
12
  getControllerId: () => Promise<string>;
8
13
  getTCFString: () => Promise<string>;
@@ -7,55 +7,82 @@ export const Usercentrics = {
7
7
  status: () => {
8
8
  return RNUsercentricsModule.isReady();
9
9
  },
10
- showCMP: (options) => {
10
+ /**
11
+ * @deprecated showCMP is deprecated: This API will soon be removed in favor of showFirstLayer and showSecondLayer, check our documentation for more details: https://docs.usercentrics.com/cmp_in_app_sdk/latest/collect_consent/present_cmp/
12
+ */
13
+ showCMP: async (options) => {
14
+ await RNUsercentricsModule.isReady();
11
15
  return RNUsercentricsModule.showCMP(options);
12
16
  },
13
- restoreUserSession: (controllerId) => {
17
+ showFirstLayer: async (options) => {
18
+ await RNUsercentricsModule.isReady();
19
+ return RNUsercentricsModule.showFirstLayer(options);
20
+ },
21
+ showSecondLayer: async (options) => {
22
+ await RNUsercentricsModule.isReady();
23
+ return RNUsercentricsModule.showSecondLayer(options);
24
+ },
25
+ restoreUserSession: async (controllerId) => {
26
+ await RNUsercentricsModule.isReady();
14
27
  return RNUsercentricsModule.restoreUserSession(controllerId);
15
28
  },
16
- getControllerId: () => {
29
+ getControllerId: async () => {
30
+ await RNUsercentricsModule.isReady();
17
31
  return RNUsercentricsModule.getControllerId();
18
32
  },
19
- getTCFString: () => {
33
+ getTCFString: async () => {
34
+ await RNUsercentricsModule.isReady();
20
35
  return RNUsercentricsModule.getTCFString();
21
36
  },
22
- getConsents: () => {
37
+ getConsents: async () => {
38
+ await RNUsercentricsModule.isReady();
23
39
  return RNUsercentricsModule.getConsents();
24
40
  },
25
- getCMPData: () => {
41
+ getCMPData: async () => {
42
+ await RNUsercentricsModule.isReady();
26
43
  return RNUsercentricsModule.getCMPData();
27
44
  },
28
45
  getUserSessionData: () => {
29
46
  return RNUsercentricsModule.getUserSessionData();
30
47
  },
31
- getCCPAData: () => {
48
+ getCCPAData: async () => {
49
+ await RNUsercentricsModule.isReady();
32
50
  return RNUsercentricsModule.getUSPData();
33
51
  },
34
- getTCFData: () => {
52
+ getTCFData: async () => {
53
+ await RNUsercentricsModule.isReady();
35
54
  return RNUsercentricsModule.getTCFData();
36
55
  },
37
- changeLanguage: (language) => {
56
+ changeLanguage: async (language) => {
57
+ await RNUsercentricsModule.isReady();
38
58
  return RNUsercentricsModule.changeLanguage(language);
39
59
  },
40
- acceptAll: (consentType) => {
60
+ acceptAll: async (consentType) => {
61
+ await RNUsercentricsModule.isReady();
41
62
  return RNUsercentricsModule.acceptAll(consentType);
42
63
  },
43
- acceptAllForTCF: (fromLayer, consentType) => {
64
+ acceptAllForTCF: async (fromLayer, consentType) => {
65
+ await RNUsercentricsModule.isReady();
44
66
  return RNUsercentricsModule.acceptAllForTCF(fromLayer, consentType);
45
67
  },
46
- denyAll: (consentType) => {
68
+ denyAll: async (consentType) => {
69
+ await RNUsercentricsModule.isReady();
47
70
  return RNUsercentricsModule.denyAll(consentType);
48
71
  },
49
- denyAllForTCF: (fromLayer, consentType) => {
72
+ denyAllForTCF: async (fromLayer, consentType) => {
73
+ await RNUsercentricsModule.isReady();
50
74
  return RNUsercentricsModule.denyAllForTCF(fromLayer, consentType);
51
75
  },
52
- saveDecisions: (decisions, consentType) => {
76
+ saveDecisions: async (decisions, consentType) => {
77
+ await RNUsercentricsModule.isReady();
53
78
  return RNUsercentricsModule.saveDecisions(decisions, consentType);
54
79
  },
55
- saveDecisionsForTCF: (tcfDecisions, fromLayer, decisions, consentType) => {
80
+ saveDecisionsForTCF: async (tcfDecisions, fromLayer, decisions, consentType) => {
81
+ await RNUsercentricsModule.isReady();
56
82
  return RNUsercentricsModule.saveDecisionsForTCF(tcfDecisions, fromLayer, decisions, consentType);
57
83
  },
58
- saveOptOutForCCPA: (isOptedOut, consentType) => {
84
+ saveOptOutForCCPA: async (isOptedOut, consentType) => {
85
+ await RNUsercentricsModule.isReady();
59
86
  return RNUsercentricsModule.saveOptOutForCCPA(isOptedOut, consentType);
60
87
  },
61
88
  setCMPId: (id) => {
@@ -1 +1 @@
1
- {"version":3,"file":"Usercentrics.js","sourceRoot":"","sources":["../src/Usercentrics.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Usercentrics.js","sourceRoot":"","sources":["../src/Usercentrics.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { UsercentricsLogo, UsercentricsFont } from ".";
2
+ export declare class BannerSettings {
3
+ logo?: UsercentricsLogo;
4
+ font?: UsercentricsFont;
5
+ constructor(logo?: UsercentricsLogo, font?: UsercentricsFont);
6
+ }
@@ -0,0 +1,7 @@
1
+ export class BannerSettings {
2
+ constructor(logo, font) {
3
+ this.logo = logo;
4
+ this.font = font;
5
+ }
6
+ }
7
+ //# sourceMappingURL=BannerSettings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BannerSettings.js","sourceRoot":"","sources":["../../src/models/BannerSettings.tsx"],"names":[],"mappings":"AAEA,MAAM,OAAO,cAAc;IAIvB,YAAY,IAAuB,EAAE,IAAuB;QACxD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;CACJ"}
@@ -0,0 +1,82 @@
1
+ import { UsercentricsLogo, UsercentricsFont, BannerSettings } from ".";
2
+ export declare class FirstLayerOptions {
3
+ layout: UsercentricsLayout;
4
+ bannerSettings?: BannerSettings;
5
+ styleSettings?: FirstLayerStyleSettings;
6
+ constructor(layout: UsercentricsLayout, bannerSettings?: BannerSettings, styleSettings?: FirstLayerStyleSettings);
7
+ }
8
+ export declare class FirstLayerStyleSettings {
9
+ headerImage?: HeaderImageSettings;
10
+ title?: TitleSettings;
11
+ message?: MessageSettings;
12
+ buttonLayout?: ButtonLayout;
13
+ backgroundColorHex?: String;
14
+ cornerRadius?: Number;
15
+ overlayColorHex?: String;
16
+ constructor(headerImage?: HeaderImageSettings, title?: TitleSettings, message?: MessageSettings, buttonLayout?: ButtonLayout, backgroundColorHex?: String, cornerRadius?: Number, overlayColorHex?: String);
17
+ }
18
+ export declare class HeaderImageSettings {
19
+ isExtended: Boolean;
20
+ isHidden: Boolean;
21
+ image?: UsercentricsLogo;
22
+ height?: Number;
23
+ alignment?: SectionAlignment;
24
+ private constructor();
25
+ static extended(image: UsercentricsLogo): HeaderImageSettings;
26
+ static logo(image: UsercentricsLogo, height?: Number, alignment?: SectionAlignment): HeaderImageSettings;
27
+ static hidden(): HeaderImageSettings;
28
+ }
29
+ export declare class TitleSettings {
30
+ font?: UsercentricsFont;
31
+ textColorHex?: String;
32
+ textAlignment?: SectionAlignment;
33
+ constructor(font?: UsercentricsFont, textColorHex?: String, textAlignment?: SectionAlignment);
34
+ }
35
+ export declare class MessageSettings {
36
+ font?: UsercentricsFont;
37
+ textColorHex?: String;
38
+ textAlignment?: SectionAlignment;
39
+ linkTextColorHex?: String;
40
+ linkTextUnderline?: Boolean;
41
+ constructor(font?: UsercentricsFont, textColorHex?: String, textAlignment?: SectionAlignment, linkTextColorHex?: String, linkTextUnderline?: Boolean);
42
+ }
43
+ export declare class ButtonLayout {
44
+ buttons: ButtonSettings[][];
45
+ layout: InternalButtonLayout;
46
+ private constructor();
47
+ static row(buttons: ButtonSettings[]): ButtonLayout;
48
+ static column(buttons: ButtonSettings[]): ButtonLayout;
49
+ static grid(buttons: ButtonSettings[][]): ButtonLayout;
50
+ }
51
+ declare enum InternalButtonLayout {
52
+ row = "ROW",
53
+ grid = "GRID",
54
+ column = "COLUMN"
55
+ }
56
+ export declare class ButtonSettings {
57
+ buttonType: ButtonType;
58
+ font?: UsercentricsFont;
59
+ textColorHex?: String;
60
+ backgroundColorHex?: String;
61
+ cornerRadius?: number;
62
+ isAllCaps?: Boolean;
63
+ constructor(buttonType: ButtonType, font?: UsercentricsFont, textColorHex?: String, backgroundColorHex?: String, cornerRadius?: number, isAllCaps?: Boolean);
64
+ }
65
+ export declare enum ButtonType {
66
+ acceptAll = "ACCEPT_ALL",
67
+ denyAll = "DENY_ALL",
68
+ more = "MORE",
69
+ save = "SAVE"
70
+ }
71
+ export declare enum SectionAlignment {
72
+ left = "START",
73
+ right = "END",
74
+ center = "CENTER"
75
+ }
76
+ export declare enum UsercentricsLayout {
77
+ full = "FULL",
78
+ sheet = "SHEET",
79
+ popupCenter = "POPUP_CENTER",
80
+ popupBottom = "POPUP_BOTTOM"
81
+ }
82
+ export {};
@@ -0,0 +1,104 @@
1
+ export class FirstLayerOptions {
2
+ constructor(layout, bannerSettings, styleSettings) {
3
+ this.layout = layout;
4
+ this.bannerSettings = bannerSettings;
5
+ this.styleSettings = styleSettings;
6
+ }
7
+ }
8
+ export class FirstLayerStyleSettings {
9
+ constructor(headerImage, title, message, buttonLayout, backgroundColorHex, cornerRadius, overlayColorHex) {
10
+ this.headerImage = headerImage;
11
+ this.title = title;
12
+ this.message = message;
13
+ this.buttonLayout = buttonLayout;
14
+ this.backgroundColorHex = backgroundColorHex;
15
+ this.cornerRadius = cornerRadius;
16
+ this.overlayColorHex = overlayColorHex;
17
+ }
18
+ }
19
+ export class HeaderImageSettings {
20
+ constructor(isExtended, isHidden, image, height, alignment) {
21
+ this.isExtended = isExtended;
22
+ this.isHidden = isHidden;
23
+ this.image = image;
24
+ this.height = height;
25
+ this.alignment = alignment;
26
+ }
27
+ static extended(image) {
28
+ return new HeaderImageSettings(true, false, image);
29
+ }
30
+ static logo(image, height, alignment) {
31
+ return new HeaderImageSettings(false, false, image, height, alignment);
32
+ }
33
+ static hidden() {
34
+ return new HeaderImageSettings(false, true);
35
+ }
36
+ }
37
+ export class TitleSettings {
38
+ constructor(font, textColorHex, textAlignment) {
39
+ this.font = font;
40
+ this.textColorHex = textColorHex;
41
+ this.textAlignment = textAlignment;
42
+ }
43
+ }
44
+ export class MessageSettings {
45
+ constructor(font, textColorHex, textAlignment, linkTextColorHex, linkTextUnderline) {
46
+ this.font = font;
47
+ this.textColorHex = textColorHex;
48
+ this.textAlignment = textAlignment;
49
+ this.linkTextColorHex = linkTextColorHex;
50
+ this.linkTextUnderline = linkTextUnderline;
51
+ }
52
+ }
53
+ export class ButtonLayout {
54
+ constructor(buttons, layout) {
55
+ this.buttons = buttons;
56
+ this.layout = layout;
57
+ }
58
+ static row(buttons) {
59
+ return new ButtonLayout([buttons], InternalButtonLayout.row);
60
+ }
61
+ static column(buttons) {
62
+ return new ButtonLayout([buttons], InternalButtonLayout.column);
63
+ }
64
+ static grid(buttons) {
65
+ return new ButtonLayout(buttons, InternalButtonLayout.grid);
66
+ }
67
+ }
68
+ var InternalButtonLayout;
69
+ (function (InternalButtonLayout) {
70
+ InternalButtonLayout["row"] = "ROW";
71
+ InternalButtonLayout["grid"] = "GRID";
72
+ InternalButtonLayout["column"] = "COLUMN";
73
+ })(InternalButtonLayout || (InternalButtonLayout = {}));
74
+ export class ButtonSettings {
75
+ constructor(buttonType, font, textColorHex, backgroundColorHex, cornerRadius, isAllCaps) {
76
+ this.buttonType = buttonType;
77
+ this.font = font;
78
+ this.textColorHex = textColorHex;
79
+ this.backgroundColorHex = backgroundColorHex;
80
+ this.cornerRadius = cornerRadius;
81
+ this.isAllCaps = isAllCaps;
82
+ }
83
+ }
84
+ export var ButtonType;
85
+ (function (ButtonType) {
86
+ ButtonType["acceptAll"] = "ACCEPT_ALL";
87
+ ButtonType["denyAll"] = "DENY_ALL";
88
+ ButtonType["more"] = "MORE";
89
+ ButtonType["save"] = "SAVE";
90
+ })(ButtonType || (ButtonType = {}));
91
+ export var SectionAlignment;
92
+ (function (SectionAlignment) {
93
+ SectionAlignment["left"] = "START";
94
+ SectionAlignment["right"] = "END";
95
+ SectionAlignment["center"] = "CENTER";
96
+ })(SectionAlignment || (SectionAlignment = {}));
97
+ export var UsercentricsLayout;
98
+ (function (UsercentricsLayout) {
99
+ UsercentricsLayout["full"] = "FULL";
100
+ UsercentricsLayout["sheet"] = "SHEET";
101
+ UsercentricsLayout["popupCenter"] = "POPUP_CENTER";
102
+ UsercentricsLayout["popupBottom"] = "POPUP_BOTTOM";
103
+ })(UsercentricsLayout || (UsercentricsLayout = {}));
104
+ //# sourceMappingURL=FirstLayerOptions.js.map