@usercentrics/react-native-sdk 2.0.4-rc1 → 2.3.0

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 (59) hide show
  1. package/CHANGELOG.md +58 -0
  2. package/README.md +2 -0
  3. package/android/build.gradle +1 -1
  4. package/android/src/androidTest/java/com/usercentrics/reactnativemodule/RNUsercentricsModuleTest.kt +13 -110
  5. package/android/src/androidTest/java/com/usercentrics/reactnativemodule/api/FakeUsercentricsProxy.kt +21 -19
  6. package/android/src/androidTest/java/com/usercentrics/reactnativemodule/mock/GetCMPDataMock.kt +2 -1
  7. package/android/src/androidTest/java/com/usercentrics/reactnativemodule/mock/GetConsentsMock.kt +19 -1
  8. package/android/src/androidTest/java/com/usercentrics/reactnativemodule/mock/GetTCFDataMock.kt +2 -0
  9. package/android/src/androidTest/java/com/usercentrics/reactnativemodule/mock/SaveDecisionsForTCFMock.kt +18 -1
  10. package/android/src/androidTest/java/com/usercentrics/reactnativemodule/mock/SaveDecisionsMock.kt +0 -1
  11. package/android/src/androidTest/java/com/usercentrics/reactnativemodule/mock/ShowFirstLayerMock.kt +27 -0
  12. package/android/src/main/java/com/usercentrics/reactnativeusercentrics/RNUsercentricsModule.kt +41 -34
  13. package/android/src/main/java/com/usercentrics/reactnativeusercentrics/api/UsercentricsProxy.kt +36 -17
  14. package/android/src/main/java/com/usercentrics/reactnativeusercentrics/extensions/BannerFontExtensions.kt +26 -0
  15. package/android/src/main/java/com/usercentrics/reactnativeusercentrics/extensions/FirstLayerOptionsExtensions.kt +161 -0
  16. package/android/src/main/java/com/usercentrics/reactnativeusercentrics/extensions/TCFDataExtensions.kt +1 -0
  17. package/android/src/main/java/com/usercentrics/reactnativeusercentrics/extensions/UsercentricsReadyStatusExtensions.kt +1 -1
  18. package/android/src/main/java/com/usercentrics/reactnativeusercentrics/extensions/UsercentricsServiceConsentExtensions.kt +21 -0
  19. package/ios/Extensions/BannerSettings+Dict.swift +227 -0
  20. package/ios/Extensions/ReadyStatus+Dict.swift +1 -1
  21. package/ios/Extensions/TCFData+Dict.swift +2 -1
  22. package/ios/Extensions/UIColor+Extensions.swift +52 -0
  23. package/ios/Extensions/UIImage+UsercentricsLogoDict.swift +14 -0
  24. package/ios/Extensions/UsercentricsCMPData+Dict.swift +1 -1
  25. package/ios/Extensions/UsercentricsServiceConsents+Dict.swift +14 -0
  26. package/ios/Manager/UsercentricsManager.swift +29 -3
  27. package/ios/RNUsercentricsModule.m +8 -0
  28. package/ios/RNUsercentricsModule.swift +61 -34
  29. package/ios/RNUsercentricsModule.xcodeproj/project.pbxproj +12 -4
  30. package/lib/Usercentrics.d.ts +3 -2
  31. package/lib/Usercentrics.js +6 -2
  32. package/lib/Usercentrics.js.map +1 -1
  33. package/lib/models/BannerSettings.d.ts +18 -0
  34. package/lib/models/BannerSettings.js +21 -0
  35. package/lib/models/BannerSettings.js.map +1 -0
  36. package/lib/models/FirstLayerOptions.d.ts +85 -0
  37. package/lib/models/FirstLayerOptions.js +107 -0
  38. package/lib/models/FirstLayerOptions.js.map +1 -0
  39. package/lib/models/SecondLayerOptions.d.ts +6 -0
  40. package/lib/models/SecondLayerOptions.js +7 -0
  41. package/lib/models/SecondLayerOptions.js.map +1 -0
  42. package/lib/models/TCFData.d.ts +9 -8
  43. package/lib/models/TCFData.js +2 -1
  44. package/lib/models/TCFData.js.map +1 -1
  45. package/lib/models/UsercentricsReadyStatus.d.ts +2 -2
  46. package/lib/models/UsercentricsReadyStatus.js +2 -2
  47. package/lib/models/UsercentricsReadyStatus.js.map +1 -1
  48. package/lib/models/UsercentricsServiceConsent.d.ts +9 -1
  49. package/lib/models/UsercentricsServiceConsent.js +10 -1
  50. package/lib/models/UsercentricsServiceConsent.js.map +1 -1
  51. package/lib/models/index.d.ts +3 -1
  52. package/lib/models/index.js +3 -1
  53. package/lib/models/index.js.map +1 -1
  54. package/package.json +2 -2
  55. package/android/src/main/java/com/usercentrics/reactnativeusercentrics/extensions/UsercentricsUserInterfaceExtensions.kt +0 -45
  56. package/ios/Extensions/UsercentricsUISettings+Dict.swift +0 -26
  57. package/lib/models/UsercentricsUIOptions.d.ts +0 -17
  58. package/lib/models/UsercentricsUIOptions.js +0 -20
  59. package/lib/models/UsercentricsUIOptions.js.map +0 -1
@@ -5,30 +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
22
  queue.async { [weak self] in
23
23
  guard
24
24
  let self = self,
25
25
  let userOptions = UsercentricsOptions(from: dict)
26
26
  else { return }
27
-
27
+
28
28
  self.usercentricsManager.configure(options: userOptions)
29
29
  }
30
30
  }
31
-
31
+
32
32
  @objc func isReady(_ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) -> Void {
33
33
  usercentricsManager.isReady { status in
34
34
  resolve(status.toDictionary())
@@ -36,32 +36,59 @@ class RNUsercentricsModule: NSObject, RCTBridgeModule {
36
36
  reject("usercentrics_reactNative_isReady_error", error.localizedDescription, error)
37
37
  }
38
38
  }
39
-
40
- @objc func showCMP(_ dict: NSDictionary, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) -> Void {
39
+
40
+ @objc func showFirstLayer(_ dict: NSDictionary, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
41
41
  queue.async { [weak self] in
42
42
  guard
43
43
  let self = self,
44
44
  let rootVC = self.rootVC,
45
- let settings = UsercentricsUISettings(from: dict)
45
+ let layoutString = dict["layout"] as? String,
46
+ let layout = UsercentricsLayout.from(enumString: layoutString)
46
47
  else {
47
- reject("usercentrics_reactNative_showCMP_error", RNUsercentricsModuleError.invalidData.localizedDescription, RNUsercentricsModuleError.invalidData)
48
+ reject("usercentrics_reactNative_showFirstLayer_error", RNUsercentricsModuleError.invalidData.localizedDescription, RNUsercentricsModuleError.invalidData)
48
49
  return
49
50
  }
51
+
52
+ let bannerSettingsDict = dict["bannerSettings"] as? NSDictionary
53
+ let styleSettingsDict = dict["styleSettings"] as? NSDictionary
54
+
55
+ let bannerSettings = BannerSettings(from: bannerSettingsDict)
56
+ let bannerFont = BannerFontHolder(from: bannerSettingsDict?["font"] as? NSDictionary)
50
57
 
51
- let predefinedUI = self.usercentricsManager.getPredefinedUI(settings: settings) { response in
58
+ self.usercentricsManager.showFirstLayer(bannerSettings: bannerSettings,
59
+ hostView: rootVC as! UIViewController,
60
+ layout: layout,
61
+ settings: FirstLayerStyleSettings(from: styleSettingsDict, bannerFontHolder: bannerFont)) { response in
52
62
  resolve(response.toDictionary())
53
- rootVC.dismiss(animated: true)
54
63
  }
55
-
56
- if #available(iOS 13.0, *) { predefinedUI.isModalInPresentation = true }
57
- rootVC.present(predefinedUI)
58
64
  }
59
65
  }
66
+
67
+ @objc func showSecondLayer(_ dict: NSDictionary, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
68
+ queue.async { [weak self] in
69
+ guard
70
+ let self = self,
71
+ let rootVC = self.rootVC
72
+ else {
73
+ reject("usercentrics_reactNative_showFirstLayer_error", RNUsercentricsModuleError.invalidData.localizedDescription, RNUsercentricsModuleError.invalidData)
74
+ return
75
+ }
76
+ let bannerSettingsDict = dict["bannerSettings"] as? NSDictionary
77
+ let showCloseButton = (dict["showCloseButton"] as? Bool) ?? false
60
78
 
79
+ self.usercentricsManager.showSecondLayer(bannerSettings: BannerSettings(from: bannerSettingsDict),
80
+ hostView: rootVC as! UIViewController,
81
+ showCloseButton: showCloseButton) { response in
82
+ rootVC.dismiss(animated: true)
83
+ resolve(response.toDictionary())
84
+ }
85
+ }
86
+ }
87
+
61
88
  @objc func setCMPId(_ id: Int) -> Void {
62
89
  usercentricsManager.setCMPId(id: Int32(id))
63
90
  }
64
-
91
+
65
92
  @objc func restoreUserSession(_ controllerId: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) -> Void {
66
93
  usercentricsManager.restoreUserSession(controllerId: controllerId) { status in
67
94
  resolve(status.toDictionary())
@@ -69,35 +96,35 @@ class RNUsercentricsModule: NSObject, RCTBridgeModule {
69
96
  reject("usercentrics_reactNative_restoreUserSession_error", error.localizedDescription, error)
70
97
  }
71
98
  }
72
-
99
+
73
100
  @objc func getTCFString(_ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) -> Void {
74
101
  resolve(usercentricsManager.getTCString())
75
102
  }
76
-
103
+
77
104
  @objc func getControllerId(_ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) -> Void {
78
105
  resolve(usercentricsManager.getControllerId())
79
106
  }
80
-
107
+
81
108
  @objc func getConsents(_ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) -> Void {
82
109
  resolve(usercentricsManager.getConsents().toListOfDictionary())
83
110
  }
84
-
111
+
85
112
  @objc func getCMPData(_ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) -> Void {
86
113
  resolve(usercentricsManager.getCMPData().toDictionary())
87
114
  }
88
-
115
+
89
116
  @objc func getTCFData(_ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) -> Void {
90
117
  resolve(usercentricsManager.getTCFData().toDictionary())
91
118
  }
92
-
119
+
93
120
  @objc func getUserSessionData(_ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) -> Void {
94
121
  resolve(usercentricsManager.getUserSessionData())
95
122
  }
96
-
123
+
97
124
  @objc func getUSPData(_ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) -> Void {
98
125
  resolve(usercentricsManager.getUSPData().toDictionary())
99
126
  }
100
-
127
+
101
128
  @objc func changeLanguage(_ language: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) -> Void {
102
129
  usercentricsManager.changeLanguage(language: language) {
103
130
  resolve(Void.self)
@@ -105,7 +132,7 @@ class RNUsercentricsModule: NSObject, RCTBridgeModule {
105
132
  reject("usercentrics_reactNative_changeLanguage_error", error.localizedDescription, error)
106
133
  }
107
134
  }
108
-
135
+
109
136
  @objc func acceptAllForTCF(_ fromLayer: Int,
110
137
  consentType: Int,
111
138
  resolve: @escaping RCTPromiseResolveBlock,
@@ -114,14 +141,14 @@ class RNUsercentricsModule: NSObject, RCTBridgeModule {
114
141
  consentType: UsercentricsConsentType.initialize(from: consentType))
115
142
  resolve(services.toListOfDictionary())
116
143
  }
117
-
144
+
118
145
  @objc func acceptAll(_ consentType: Int,
119
146
  resolve: @escaping RCTPromiseResolveBlock,
120
147
  reject: @escaping RCTPromiseRejectBlock) -> Void {
121
148
  let services = usercentricsManager.acceptAll(consentType: UsercentricsConsentType.initialize(from: consentType))
122
149
  resolve(services.toListOfDictionary())
123
150
  }
124
-
151
+
125
152
  @objc func denyAllForTCF(_ fromLayer: Int,
126
153
  consentType: Int,
127
154
  resolve: @escaping RCTPromiseResolveBlock,
@@ -129,30 +156,30 @@ class RNUsercentricsModule: NSObject, RCTBridgeModule {
129
156
  let services = usercentricsManager.denyAllForTCF(fromLayer: .initialize(from: fromLayer), consentType: .initialize(from: consentType))
130
157
  resolve(services.toListOfDictionary())
131
158
  }
132
-
159
+
133
160
  @objc func denyAll(_ consentType: Int,
134
161
  resolve: @escaping RCTPromiseResolveBlock,
135
162
  reject: @escaping RCTPromiseRejectBlock) -> Void {
136
163
  let services = usercentricsManager.denyAll(consentType: .initialize(from: consentType))
137
164
  resolve(services.toListOfDictionary())
138
165
  }
139
-
166
+
140
167
  @objc func saveDecisionsForTCF(_ tcfDecisions: NSDictionary,
141
168
  fromLayer: Int,
142
169
  serviceDecisions: [NSDictionary],
143
170
  consentType: Int,
144
171
  resolve: @escaping RCTPromiseResolveBlock,
145
172
  reject: @escaping RCTPromiseRejectBlock) -> Void {
146
-
173
+
147
174
  let services = usercentricsManager.saveDecisionsForTCF(
148
175
  tcfDecisions: TCFUserDecisions(from: tcfDecisions),
149
176
  fromLayer: .initialize(from: fromLayer),
150
177
  serviceDecisions: serviceDecisions.compactMap { UserDecision(from: $0) },
151
178
  consentType: .initialize(from: consentType))
152
179
  resolve(services.toListOfDictionary())
153
-
180
+
154
181
  }
155
-
182
+
156
183
  @objc func saveDecisions(_ decisions: [NSDictionary],
157
184
  consentType: Int,
158
185
  resolve: @escaping RCTPromiseResolveBlock,
@@ -160,7 +187,7 @@ class RNUsercentricsModule: NSObject, RCTBridgeModule {
160
187
  let services = usercentricsManager.saveDecisions(decisions: decisions.compactMap { UserDecision.init(from: $0) }, consentType: .initialize(from: consentType))
161
188
  resolve(services.toListOfDictionary())
162
189
  }
163
-
190
+
164
191
  @objc func saveOptOutForCCPA(_ isOptedOut: Bool,
165
192
  consentType: Int,
166
193
  resolve: @escaping RCTPromiseResolveBlock,
@@ -168,7 +195,7 @@ class RNUsercentricsModule: NSObject, RCTBridgeModule {
168
195
  let services = usercentricsManager.saveOptOutForCCPA(isOptedOut: isOptedOut, consentType: .initialize(from: consentType))
169
196
  resolve(services.toListOfDictionary())
170
197
  }
171
-
198
+
172
199
  @objc func reset() -> Void {
173
200
  usercentricsManager.reset()
174
201
  }
@@ -7,12 +7,14 @@
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
- A22EDFA2271DA49900F5BB8C /* UsercentricsUISettings+Dict.swift in Sources */ = {isa = PBXBuildFile; fileRef = A22EDF9D271DA49900F5BB8C /* UsercentricsUISettings+Dict.swift */; };
16
+ A2390F8227B52ADA00F355C1 /* UIImage+UsercentricsLogoDict.swift in Sources */ = {isa = PBXBuildFile; fileRef = A2390F8127B52ADA00F355C1 /* UIImage+UsercentricsLogoDict.swift */; };
17
+ A2390F8627B52B2700F355C1 /* UIColor+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = A2390F8527B52B2700F355C1 /* UIColor+Extensions.swift */; };
16
18
  A24E4EA327313492001093C7 /* UserDecision+Dict.swift in Sources */ = {isa = PBXBuildFile; fileRef = A24E4EA227313492001093C7 /* UserDecision+Dict.swift */; };
17
19
  A24E4EAB273186FD001093C7 /* TCFData+Dict.swift in Sources */ = {isa = PBXBuildFile; fileRef = A24E4EAA273186FD001093C7 /* TCFData+Dict.swift */; };
18
20
  A2DC251C272163C600AA9DD8 /* UsercentricsManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = A2DC251B272163C600AA9DD8 /* UsercentricsManager.swift */; };
@@ -41,12 +43,14 @@
41
43
  /* End PBXCopyFilesBuildPhase section */
42
44
 
43
45
  /* Begin PBXFileReference section */
46
+ A20E7C9327B28D88004DC947 /* BannerSettings+Dict.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "BannerSettings+Dict.swift"; sourceTree = "<group>"; };
44
47
  A21D32A3272AE191004ED33E /* UsercentricsServiceConsents+Dict.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UsercentricsServiceConsents+Dict.swift"; sourceTree = "<group>"; };
45
48
  A22EDF99271DA49900F5BB8C /* UsercentricsOptions+Dict.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UsercentricsOptions+Dict.swift"; sourceTree = "<group>"; };
46
49
  A22EDF9A271DA49900F5BB8C /* ReadyStatus+Dict.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "ReadyStatus+Dict.swift"; sourceTree = "<group>"; };
47
50
  A22EDF9B271DA49900F5BB8C /* UsercentricsUserInteraction+String.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UsercentricsUserInteraction+String.swift"; sourceTree = "<group>"; };
48
51
  A22EDF9C271DA49900F5BB8C /* UserResponse+Dict.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UserResponse+Dict.swift"; sourceTree = "<group>"; };
49
- A22EDF9D271DA49900F5BB8C /* UsercentricsUISettings+Dict.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UsercentricsUISettings+Dict.swift"; sourceTree = "<group>"; };
52
+ A2390F8127B52ADA00F355C1 /* UIImage+UsercentricsLogoDict.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIImage+UsercentricsLogoDict.swift"; sourceTree = "<group>"; };
53
+ A2390F8527B52B2700F355C1 /* UIColor+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIColor+Extensions.swift"; sourceTree = "<group>"; };
50
54
  A24E4EA227313492001093C7 /* UserDecision+Dict.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UserDecision+Dict.swift"; sourceTree = "<group>"; };
51
55
  A24E4EAA273186FD001093C7 /* TCFData+Dict.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "TCFData+Dict.swift"; sourceTree = "<group>"; };
52
56
  A2DC251B272163C600AA9DD8 /* UsercentricsManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UsercentricsManager.swift; sourceTree = "<group>"; };
@@ -80,7 +84,6 @@
80
84
  children = (
81
85
  A22EDF9A271DA49900F5BB8C /* ReadyStatus+Dict.swift */,
82
86
  A22EDF99271DA49900F5BB8C /* UsercentricsOptions+Dict.swift */,
83
- A22EDF9D271DA49900F5BB8C /* UsercentricsUISettings+Dict.swift */,
84
87
  A22EDF9B271DA49900F5BB8C /* UsercentricsUserInteraction+String.swift */,
85
88
  A22EDF9C271DA49900F5BB8C /* UserResponse+Dict.swift */,
86
89
  A21D32A3272AE191004ED33E /* UsercentricsServiceConsents+Dict.swift */,
@@ -90,6 +93,9 @@
90
93
  A2F0B085272C483300A99DD3 /* TCFUserDecisions+Dict.swift */,
91
94
  A24E4EA227313492001093C7 /* UserDecision+Dict.swift */,
92
95
  A24E4EAA273186FD001093C7 /* TCFData+Dict.swift */,
96
+ A20E7C9327B28D88004DC947 /* BannerSettings+Dict.swift */,
97
+ A2390F8127B52ADA00F355C1 /* UIImage+UsercentricsLogoDict.swift */,
98
+ A2390F8527B52B2700F355C1 /* UIColor+Extensions.swift */,
93
99
  );
94
100
  path = Extensions;
95
101
  sourceTree = "<group>";
@@ -203,13 +209,15 @@
203
209
  A2F0B086272C483300A99DD3 /* TCFUserDecisions+Dict.swift in Sources */,
204
210
  A22EDF9F271DA49900F5BB8C /* ReadyStatus+Dict.swift in Sources */,
205
211
  A24E4EAB273186FD001093C7 /* TCFData+Dict.swift in Sources */,
206
- A22EDFA2271DA49900F5BB8C /* UsercentricsUISettings+Dict.swift in Sources */,
207
212
  A2DC25402722A91400AA9DD8 /* UCRNFlag.swift in Sources */,
208
213
  A2DC252727216CFC00AA9DD8 /* DispatchQueueManager.swift in Sources */,
214
+ A20E7C9427B28D88004DC947 /* BannerSettings+Dict.swift in Sources */,
209
215
  A22EDF9E271DA49900F5BB8C /* UsercentricsOptions+Dict.swift in Sources */,
210
216
  A2F0B080272C367B00A99DD3 /* UsercentricsConsentType+Int.swift in Sources */,
211
217
  A2DC25362721A05500AA9DD8 /* RNUsercentricsModuleError.swift in Sources */,
218
+ A2390F8227B52ADA00F355C1 /* UIImage+UsercentricsLogoDict.swift in Sources */,
212
219
  FA4F9FEB2512ACC2002DB4D5 /* RNUsercentricsModule.m in Sources */,
220
+ A2390F8627B52B2700F355C1 /* UIColor+Extensions.swift in Sources */,
213
221
  A2F0B07E272C2E0A00A99DD3 /* CCPAData+Dict.swift in Sources */,
214
222
  );
215
223
  runOnlyForDeploymentPostprocessing = 0;
@@ -1,8 +1,9 @@
1
- import { UsercentricsOptions, UsercentricsServiceConsent, UsercentricsUIOptions, UsercentricsConsentUserResponse, UsercentricsReadyStatus, UsercentricsCMPData, CCPAData, TCFData, UsercentricsConsentType, TCFDecisionUILayer, UserDecision, TCFUserDecisions } from './models';
1
+ import { UsercentricsOptions, UsercentricsServiceConsent, 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
- showCMP: (options: UsercentricsUIOptions) => Promise<UsercentricsConsentUserResponse>;
5
+ showFirstLayer: (options: FirstLayerOptions) => Promise<UsercentricsConsentUserResponse>;
6
+ showSecondLayer: (options: SecondLayerOptions) => Promise<UsercentricsConsentUserResponse>;
6
7
  restoreUserSession: (controllerId: string) => Promise<UsercentricsReadyStatus>;
7
8
  getControllerId: () => Promise<string>;
8
9
  getTCFString: () => Promise<string>;
@@ -7,9 +7,13 @@ export const Usercentrics = {
7
7
  status: () => {
8
8
  return RNUsercentricsModule.isReady();
9
9
  },
10
- showCMP: async (options) => {
10
+ showFirstLayer: async (options) => {
11
11
  await RNUsercentricsModule.isReady();
12
- return RNUsercentricsModule.showCMP(options);
12
+ return RNUsercentricsModule.showFirstLayer(options);
13
+ },
14
+ showSecondLayer: async (options) => {
15
+ await RNUsercentricsModule.isReady();
16
+ return RNUsercentricsModule.showSecondLayer(options);
13
17
  },
14
18
  restoreUserSession: async (controllerId) => {
15
19
  await RNUsercentricsModule.isReady();
@@ -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,18 @@
1
+ import { ImageResolvedAssetSource } from "react-native";
2
+ export declare class BannerLogo {
3
+ logoName: string;
4
+ logoPath: string;
5
+ logoUrl?: String;
6
+ constructor(logoName: string, logoPath: ImageResolvedAssetSource, logoUrl?: String);
7
+ }
8
+ export declare class BannerFont {
9
+ regularFont: string;
10
+ boldFont: string;
11
+ fontSize: number;
12
+ constructor(regularFont: string, boldFont: string, fontSize: number);
13
+ }
14
+ export declare class BannerSettings {
15
+ logo?: BannerLogo;
16
+ font?: BannerFont;
17
+ constructor(logo?: BannerLogo, font?: BannerFont);
18
+ }
@@ -0,0 +1,21 @@
1
+ export class BannerLogo {
2
+ constructor(logoName, logoPath, logoUrl) {
3
+ this.logoName = logoName;
4
+ this.logoPath = logoPath.uri;
5
+ this.logoUrl = logoUrl;
6
+ }
7
+ }
8
+ export class BannerFont {
9
+ constructor(regularFont, boldFont, fontSize) {
10
+ this.regularFont = regularFont;
11
+ this.boldFont = boldFont;
12
+ this.fontSize = fontSize;
13
+ }
14
+ }
15
+ export class BannerSettings {
16
+ constructor(logo, font) {
17
+ this.logo = logo;
18
+ this.font = font;
19
+ }
20
+ }
21
+ //# sourceMappingURL=BannerSettings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BannerSettings.js","sourceRoot":"","sources":["../../src/models/BannerSettings.tsx"],"names":[],"mappings":"AAEA,MAAM,OAAO,UAAU;IAKnB,YAAY,QAAgB,EAAE,QAAkC,EAAE,OAAgB;QAC9E,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;CACJ;AAED,MAAM,OAAO,UAAU;IAKnB,YAAY,WAAmB,EAAE,QAAgB,EAAE,QAAgB;QAC/D,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;CACJ;AAED,MAAM,OAAO,cAAc;IAIvB,YAAY,IAAiB,EAAE,IAAiB;QAC5C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;CACJ"}
@@ -0,0 +1,85 @@
1
+ import { BannerLogo, 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?: BannerLogo;
22
+ height?: Number;
23
+ alignment?: SectionAlignment;
24
+ private constructor();
25
+ static extended(image: BannerLogo): HeaderImageSettings;
26
+ static logo(image: BannerLogo, height?: Number, alignment?: SectionAlignment): HeaderImageSettings;
27
+ static hidden(): HeaderImageSettings;
28
+ }
29
+ export declare class TitleSettings {
30
+ fontName?: string;
31
+ textSize?: number;
32
+ textColorHex?: String;
33
+ textAlignment?: SectionAlignment;
34
+ constructor(fontName?: string, textSize?: number, textColorHex?: String, textAlignment?: SectionAlignment);
35
+ }
36
+ export declare class MessageSettings {
37
+ fontName?: string;
38
+ textSize?: number;
39
+ textColorHex?: String;
40
+ textAlignment?: SectionAlignment;
41
+ linkTextColorHex?: String;
42
+ linkTextUnderline?: Boolean;
43
+ constructor(fontName?: string, textSize?: number, textColorHex?: String, textAlignment?: SectionAlignment, linkTextColorHex?: String, linkTextUnderline?: Boolean);
44
+ }
45
+ export declare class ButtonLayout {
46
+ buttons: ButtonSettings[][];
47
+ layout: InternalButtonLayout;
48
+ private constructor();
49
+ static row(buttons: ButtonSettings[]): ButtonLayout;
50
+ static column(buttons: ButtonSettings[]): ButtonLayout;
51
+ static grid(buttons: ButtonSettings[][]): ButtonLayout;
52
+ }
53
+ declare enum InternalButtonLayout {
54
+ row = "ROW",
55
+ grid = "GRID",
56
+ column = "COLUMN"
57
+ }
58
+ export declare class ButtonSettings {
59
+ buttonType: ButtonType;
60
+ fontName?: string;
61
+ textSize?: number;
62
+ textColorHex?: String;
63
+ backgroundColorHex?: String;
64
+ cornerRadius?: number;
65
+ isAllCaps?: Boolean;
66
+ constructor(buttonType: ButtonType, fontName?: string, textSize?: number, textColorHex?: String, backgroundColorHex?: String, cornerRadius?: number, isAllCaps?: Boolean);
67
+ }
68
+ export declare enum ButtonType {
69
+ acceptAll = "ACCEPT_ALL",
70
+ denyAll = "DENY_ALL",
71
+ more = "MORE",
72
+ save = "SAVE"
73
+ }
74
+ export declare enum SectionAlignment {
75
+ left = "START",
76
+ right = "END",
77
+ center = "CENTER"
78
+ }
79
+ export declare enum UsercentricsLayout {
80
+ full = "FULL",
81
+ sheet = "SHEET",
82
+ popupCenter = "POPUP_CENTER",
83
+ popupBottom = "POPUP_BOTTOM"
84
+ }
85
+ export {};
@@ -0,0 +1,107 @@
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(fontName, textSize, textColorHex, textAlignment) {
39
+ this.fontName = fontName;
40
+ this.textSize = textSize;
41
+ this.textColorHex = textColorHex;
42
+ this.textAlignment = textAlignment;
43
+ }
44
+ }
45
+ export class MessageSettings {
46
+ constructor(fontName, textSize, textColorHex, textAlignment, linkTextColorHex, linkTextUnderline) {
47
+ this.fontName = fontName;
48
+ this.textSize = textSize;
49
+ this.textColorHex = textColorHex;
50
+ this.textAlignment = textAlignment;
51
+ this.linkTextColorHex = linkTextColorHex;
52
+ this.linkTextUnderline = linkTextUnderline;
53
+ }
54
+ }
55
+ export class ButtonLayout {
56
+ constructor(buttons, layout) {
57
+ this.buttons = buttons;
58
+ this.layout = layout;
59
+ }
60
+ static row(buttons) {
61
+ return new ButtonLayout([buttons], InternalButtonLayout.row);
62
+ }
63
+ static column(buttons) {
64
+ return new ButtonLayout([buttons], InternalButtonLayout.column);
65
+ }
66
+ static grid(buttons) {
67
+ return new ButtonLayout(buttons, InternalButtonLayout.grid);
68
+ }
69
+ }
70
+ var InternalButtonLayout;
71
+ (function (InternalButtonLayout) {
72
+ InternalButtonLayout["row"] = "ROW";
73
+ InternalButtonLayout["grid"] = "GRID";
74
+ InternalButtonLayout["column"] = "COLUMN";
75
+ })(InternalButtonLayout || (InternalButtonLayout = {}));
76
+ export class ButtonSettings {
77
+ constructor(buttonType, fontName, textSize, textColorHex, backgroundColorHex, cornerRadius, isAllCaps) {
78
+ this.buttonType = buttonType;
79
+ this.fontName = fontName;
80
+ this.textSize = textSize;
81
+ this.textColorHex = textColorHex;
82
+ this.backgroundColorHex = backgroundColorHex;
83
+ this.cornerRadius = cornerRadius;
84
+ this.isAllCaps = isAllCaps;
85
+ }
86
+ }
87
+ export var ButtonType;
88
+ (function (ButtonType) {
89
+ ButtonType["acceptAll"] = "ACCEPT_ALL";
90
+ ButtonType["denyAll"] = "DENY_ALL";
91
+ ButtonType["more"] = "MORE";
92
+ ButtonType["save"] = "SAVE";
93
+ })(ButtonType || (ButtonType = {}));
94
+ export var SectionAlignment;
95
+ (function (SectionAlignment) {
96
+ SectionAlignment["left"] = "START";
97
+ SectionAlignment["right"] = "END";
98
+ SectionAlignment["center"] = "CENTER";
99
+ })(SectionAlignment || (SectionAlignment = {}));
100
+ export var UsercentricsLayout;
101
+ (function (UsercentricsLayout) {
102
+ UsercentricsLayout["full"] = "FULL";
103
+ UsercentricsLayout["sheet"] = "SHEET";
104
+ UsercentricsLayout["popupCenter"] = "POPUP_CENTER";
105
+ UsercentricsLayout["popupBottom"] = "POPUP_BOTTOM";
106
+ })(UsercentricsLayout || (UsercentricsLayout = {}));
107
+ //# sourceMappingURL=FirstLayerOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FirstLayerOptions.js","sourceRoot":"","sources":["../../src/models/FirstLayerOptions.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { BannerSettings } from ".";
2
+ export declare class SecondLayerOptions {
3
+ bannerSettings?: BannerSettings;
4
+ showCloseButton: Boolean;
5
+ constructor(showCloseButton: Boolean, bannerSettings?: BannerSettings);
6
+ }
@@ -0,0 +1,7 @@
1
+ export class SecondLayerOptions {
2
+ constructor(showCloseButton, bannerSettings) {
3
+ this.bannerSettings = bannerSettings;
4
+ this.showCloseButton = showCloseButton;
5
+ }
6
+ }
7
+ //# sourceMappingURL=SecondLayerOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SecondLayerOptions.js","sourceRoot":"","sources":["../../src/models/SecondLayerOptions.tsx"],"names":[],"mappings":"AAEA,MAAM,OAAO,kBAAkB;IAI3B,YAAY,eAAwB,EAAE,cAA+B;QACjE,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IAC3C,CAAC;CACJ"}
@@ -1,11 +1,11 @@
1
1
  export declare class TCFData {
2
- features: [TCFFeature];
3
- purposes: [TCFPurpose];
4
- specialFeatures: [TCFSpecialFeature];
5
- specialPurposes: [TCFSpecialPurpose];
6
- stacks: [TCFStack];
7
- vendors: [TCFVendor];
8
- constructor(features: [TCFFeature], purposes: [TCFPurpose], specialFeatures: [TCFSpecialFeature], specialPurposes: [TCFSpecialPurpose], stacks: [TCFStack], vendors: [TCFVendor]);
2
+ features: TCFFeature[];
3
+ purposes: TCFPurpose[];
4
+ specialFeatures: TCFSpecialFeature[];
5
+ specialPurposes: TCFSpecialPurpose[];
6
+ stacks: TCFStack[];
7
+ vendors: TCFVendor[];
8
+ constructor(features: TCFFeature[], purposes: TCFPurpose[], specialFeatures: TCFSpecialFeature[], specialPurposes: TCFSpecialPurpose[], stacks: TCFStack[], vendors: TCFVendor[]);
9
9
  }
10
10
  export declare class TCFFeature {
11
11
  purposeDescription: string;
@@ -72,5 +72,6 @@ export declare class TCFVendor {
72
72
  deviceStorageDisclosureUrl?: string;
73
73
  usesCookies: boolean;
74
74
  cookieRefresh?: boolean;
75
- constructor(features: [number], flexiblePurposes: [number], id: number, legitimateInterestPurposes: [number], name: string, policyUrl: string, purposes: [number], specialFeatures: [number], specialPurposes: [number], showConsentToggle: boolean, showLegitimateInterestToggle: boolean, cookieMaxAgeSeconds: number, usesNonCookieAccess: boolean, usesCookies: boolean, deviceStorageDisclosureUrl?: string, legitimateInterestConsent?: boolean, consent?: boolean, cookieRefresh?: boolean);
75
+ dataSharedOutsideEU: boolean;
76
+ constructor(features: [number], flexiblePurposes: [number], id: number, legitimateInterestPurposes: [number], name: string, policyUrl: string, purposes: [number], specialFeatures: [number], specialPurposes: [number], showConsentToggle: boolean, showLegitimateInterestToggle: boolean, cookieMaxAgeSeconds: number, usesNonCookieAccess: boolean, usesCookies: boolean, dataSharedOutsideEU: boolean, deviceStorageDisclosureUrl?: string, legitimateInterestConsent?: boolean, consent?: boolean, cookieRefresh?: boolean);
76
77
  }