@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.
- package/CHANGELOG.md +58 -0
- package/README.md +2 -0
- package/android/build.gradle +1 -1
- package/android/src/androidTest/java/com/usercentrics/reactnativemodule/RNUsercentricsModuleTest.kt +13 -110
- package/android/src/androidTest/java/com/usercentrics/reactnativemodule/api/FakeUsercentricsProxy.kt +21 -19
- package/android/src/androidTest/java/com/usercentrics/reactnativemodule/mock/GetCMPDataMock.kt +2 -1
- package/android/src/androidTest/java/com/usercentrics/reactnativemodule/mock/GetConsentsMock.kt +19 -1
- package/android/src/androidTest/java/com/usercentrics/reactnativemodule/mock/GetTCFDataMock.kt +2 -0
- package/android/src/androidTest/java/com/usercentrics/reactnativemodule/mock/SaveDecisionsForTCFMock.kt +18 -1
- package/android/src/androidTest/java/com/usercentrics/reactnativemodule/mock/SaveDecisionsMock.kt +0 -1
- package/android/src/androidTest/java/com/usercentrics/reactnativemodule/mock/ShowFirstLayerMock.kt +27 -0
- package/android/src/main/java/com/usercentrics/reactnativeusercentrics/RNUsercentricsModule.kt +41 -34
- package/android/src/main/java/com/usercentrics/reactnativeusercentrics/api/UsercentricsProxy.kt +36 -17
- package/android/src/main/java/com/usercentrics/reactnativeusercentrics/extensions/BannerFontExtensions.kt +26 -0
- package/android/src/main/java/com/usercentrics/reactnativeusercentrics/extensions/FirstLayerOptionsExtensions.kt +161 -0
- package/android/src/main/java/com/usercentrics/reactnativeusercentrics/extensions/TCFDataExtensions.kt +1 -0
- package/android/src/main/java/com/usercentrics/reactnativeusercentrics/extensions/UsercentricsReadyStatusExtensions.kt +1 -1
- package/android/src/main/java/com/usercentrics/reactnativeusercentrics/extensions/UsercentricsServiceConsentExtensions.kt +21 -0
- package/ios/Extensions/BannerSettings+Dict.swift +227 -0
- package/ios/Extensions/ReadyStatus+Dict.swift +1 -1
- package/ios/Extensions/TCFData+Dict.swift +2 -1
- package/ios/Extensions/UIColor+Extensions.swift +52 -0
- package/ios/Extensions/UIImage+UsercentricsLogoDict.swift +14 -0
- package/ios/Extensions/UsercentricsCMPData+Dict.swift +1 -1
- package/ios/Extensions/UsercentricsServiceConsents+Dict.swift +14 -0
- package/ios/Manager/UsercentricsManager.swift +29 -3
- package/ios/RNUsercentricsModule.m +8 -0
- package/ios/RNUsercentricsModule.swift +61 -34
- package/ios/RNUsercentricsModule.xcodeproj/project.pbxproj +12 -4
- package/lib/Usercentrics.d.ts +3 -2
- package/lib/Usercentrics.js +6 -2
- package/lib/Usercentrics.js.map +1 -1
- package/lib/models/BannerSettings.d.ts +18 -0
- package/lib/models/BannerSettings.js +21 -0
- package/lib/models/BannerSettings.js.map +1 -0
- package/lib/models/FirstLayerOptions.d.ts +85 -0
- package/lib/models/FirstLayerOptions.js +107 -0
- package/lib/models/FirstLayerOptions.js.map +1 -0
- package/lib/models/SecondLayerOptions.d.ts +6 -0
- package/lib/models/SecondLayerOptions.js +7 -0
- package/lib/models/SecondLayerOptions.js.map +1 -0
- package/lib/models/TCFData.d.ts +9 -8
- package/lib/models/TCFData.js +2 -1
- package/lib/models/TCFData.js.map +1 -1
- package/lib/models/UsercentricsReadyStatus.d.ts +2 -2
- package/lib/models/UsercentricsReadyStatus.js +2 -2
- package/lib/models/UsercentricsReadyStatus.js.map +1 -1
- package/lib/models/UsercentricsServiceConsent.d.ts +9 -1
- package/lib/models/UsercentricsServiceConsent.js +10 -1
- package/lib/models/UsercentricsServiceConsent.js.map +1 -1
- package/lib/models/index.d.ts +3 -1
- package/lib/models/index.js +3 -1
- package/lib/models/index.js.map +1 -1
- package/package.json +2 -2
- package/android/src/main/java/com/usercentrics/reactnativeusercentrics/extensions/UsercentricsUserInterfaceExtensions.kt +0 -45
- package/ios/Extensions/UsercentricsUISettings+Dict.swift +0 -26
- package/lib/models/UsercentricsUIOptions.d.ts +0 -17
- package/lib/models/UsercentricsUIOptions.js +0 -20
- 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
|
|
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
|
|
45
|
+
let layoutString = dict["layout"] as? String,
|
|
46
|
+
let layout = UsercentricsLayout.from(enumString: layoutString)
|
|
46
47
|
else {
|
|
47
|
-
reject("
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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;
|
package/lib/Usercentrics.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { UsercentricsOptions, UsercentricsServiceConsent,
|
|
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
|
-
|
|
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>;
|
package/lib/Usercentrics.js
CHANGED
|
@@ -7,9 +7,13 @@ export const Usercentrics = {
|
|
|
7
7
|
status: () => {
|
|
8
8
|
return RNUsercentricsModule.isReady();
|
|
9
9
|
},
|
|
10
|
-
|
|
10
|
+
showFirstLayer: async (options) => {
|
|
11
11
|
await RNUsercentricsModule.isReady();
|
|
12
|
-
return RNUsercentricsModule.
|
|
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();
|
package/lib/Usercentrics.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Usercentrics.js","sourceRoot":"","sources":["../src/Usercentrics.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;
|
|
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":"AAEA,MAAM,OAAO,iBAAiB;IAK1B,YAAY,MAA0B,EAAE,cAA+B,EAAE,aAAuC;QAC5G,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACvC,CAAC;CACJ;AAED,MAAM,OAAO,uBAAuB;IAShC,YAAY,WAAiC,EACzC,KAAqB,EACrB,OAAyB,EACzB,YAA2B,EAC3B,kBAA2B,EAC3B,YAAqB,EACrB,eAAwB;QAExB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,kBAAkB,GAAE,kBAAkB,CAAC;QAC5C,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IAC3C,CAAC;CACJ;AAED,MAAM,OAAO,mBAAmB;IAO5B,YAAoB,UAAmB,EACnC,QAAiB,EACjB,KAAkB,EAClB,MAAe,EACf,SAA4B;QAC5B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,KAAiB;QAC7B,OAAO,IAAI,mBAAmB,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;IACtD,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,KAAiB,EAAE,MAAe,EAAE,SAA4B;QACxE,OAAO,IAAI,mBAAmB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,CAAA;IAC1E,CAAC;IAED,MAAM,CAAC,MAAM;QACT,OAAO,IAAI,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IAC/C,CAAC;CACJ;AAED,MAAM,OAAO,aAAa;IAMtB,YAAY,QAAiB,EAAE,QAAiB,EAAE,YAAqB,EAAE,aAAgC;QACrG,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACvC,CAAC;CACJ;AAED,MAAM,OAAO,eAAe;IAQxB,YAAY,QAAiB,EACzB,QAAiB,EACjB,YAAqB,EACrB,aAAgC,EAChC,gBAAyB,EACzB,iBAA2B;QAC3B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;IAC/C,CAAC;CACJ;AAED,MAAM,OAAO,YAAY;IAIrB,YAAoB,OAA2B,EAAE,MAA4B;QACzE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,OAAyB;QAChC,OAAO,IAAI,YAAY,CAAC,CAAC,OAAO,CAAC,EAAE,oBAAoB,CAAC,GAAG,CAAC,CAAA;IAChE,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,OAAyB;QACnC,OAAO,IAAI,YAAY,CAAC,CAAC,OAAO,CAAC,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAA;IACnE,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,OAA2B;QACnC,OAAO,IAAI,YAAY,CAAC,OAAO,EAAE,oBAAoB,CAAC,IAAI,CAAC,CAAA;IAC/D,CAAC;CACJ;AAED,IAAK,oBAIJ;AAJD,WAAK,oBAAoB;IACrB,mCAAW,CAAA;IACX,qCAAa,CAAA;IACb,yCAAiB,CAAA;AACrB,CAAC,EAJI,oBAAoB,KAApB,oBAAoB,QAIxB;AAED,MAAM,OAAO,cAAc;IAWvB,YAAY,UAAsB,EAC9B,QAAiB,EACjB,QAAiB,EACjB,YAAqB,EACrB,kBAA2B,EAC3B,YAAqB,EACrB,SAAmB;QACnB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;QAChC,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAA;QAC5C,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;QAChC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC9B,CAAC;CACJ;AAED,MAAM,CAAN,IAAY,UAKX;AALD,WAAY,UAAU;IAClB,sCAAwB,CAAA;IACxB,kCAAoB,CAAA;IACpB,2BAAa,CAAA;IACb,2BAAa,CAAA;AACjB,CAAC,EALW,UAAU,KAAV,UAAU,QAKrB;AAED,MAAM,CAAN,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IACxB,kCAAc,CAAA;IACd,iCAAa,CAAA;IACb,qCAAiB,CAAA;AACrB,CAAC,EAJW,gBAAgB,KAAhB,gBAAgB,QAI3B;AAED,MAAM,CAAN,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC1B,mCAAa,CAAA;IACb,qCAAe,CAAA;IACf,kDAA4B,CAAA;IAC5B,kDAA4B,CAAA;AAChC,CAAC,EALW,kBAAkB,KAAlB,kBAAkB,QAK7B"}
|
|
@@ -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"}
|
package/lib/models/TCFData.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
export declare class TCFData {
|
|
2
|
-
features: [
|
|
3
|
-
purposes: [
|
|
4
|
-
specialFeatures: [
|
|
5
|
-
specialPurposes: [
|
|
6
|
-
stacks: [
|
|
7
|
-
vendors: [
|
|
8
|
-
constructor(features: [
|
|
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
|
-
|
|
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
|
}
|