@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.
- package/README.md +2 -0
- package/android/build.gradle +1 -1
- package/android/src/androidTest/java/com/usercentrics/reactnativemodule/RNUsercentricsModuleTest.kt +41 -2
- package/android/src/androidTest/java/com/usercentrics/reactnativemodule/api/FakeUsercentricsProxy.kt +23 -1
- 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 +44 -0
- package/android/src/main/java/com/usercentrics/reactnativeusercentrics/api/UsercentricsProxy.kt +42 -1
- package/android/src/main/java/com/usercentrics/reactnativeusercentrics/extensions/FirstLayerOptionsExtensions.kt +160 -0
- package/android/src/main/java/com/usercentrics/reactnativeusercentrics/extensions/TCFDataExtensions.kt +1 -0
- package/android/src/main/java/com/usercentrics/reactnativeusercentrics/extensions/UsercentricsServiceConsentExtensions.kt +21 -0
- package/ios/Extensions/BannerSettings+Dict.swift +180 -0
- package/ios/Extensions/TCFData+Dict.swift +2 -1
- package/ios/Extensions/UIColor+Extensions.swift +52 -0
- package/ios/Extensions/UIFont+UsercentricsFontDict.swift +15 -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/Extensions/UsercentricsUISettings+Dict.swift +1 -0
- package/ios/Manager/UsercentricsManager.swift +43 -20
- package/ios/RNUsercentricsModule.m +8 -0
- package/ios/RNUsercentricsModule.swift +97 -36
- package/ios/RNUsercentricsModule.xcodeproj/project.pbxproj +16 -0
- package/lib/Usercentrics.d.ts +6 -1
- package/lib/Usercentrics.js +43 -16
- package/lib/Usercentrics.js.map +1 -1
- package/lib/models/BannerSettings.d.ts +6 -0
- package/lib/models/BannerSettings.js +7 -0
- package/lib/models/BannerSettings.js.map +1 -0
- package/lib/models/FirstLayerOptions.d.ts +82 -0
- package/lib/models/FirstLayerOptions.js +104 -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/UsercentricsServiceConsent.d.ts +9 -1
- package/lib/models/UsercentricsServiceConsent.js +10 -1
- package/lib/models/UsercentricsServiceConsent.js.map +1 -1
- package/lib/models/UsercentricsUIOptions.d.ts +2 -1
- package/lib/models/UsercentricsUIOptions.js +2 -1
- package/lib/models/UsercentricsUIOptions.js.map +1 -1
- package/lib/models/index.d.ts +3 -0
- package/lib/models/index.js +3 -0
- package/lib/models/index.js.map +1 -1
- package/package.json +2 -2
- 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
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
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;
|
package/lib/Usercentrics.d.ts
CHANGED
|
@@ -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>;
|
package/lib/Usercentrics.js
CHANGED
|
@@ -7,55 +7,82 @@ export const Usercentrics = {
|
|
|
7
7
|
status: () => {
|
|
8
8
|
return RNUsercentricsModule.isReady();
|
|
9
9
|
},
|
|
10
|
-
|
|
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
|
-
|
|
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) => {
|
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 @@
|
|
|
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
|