@usercentrics/react-native-sdk 2.15.2 → 2.15.4
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 +13 -0
- package/android/build.gradle +1 -1
- package/android/src/androidTest/java/com/usercentrics/reactnativemodule/RNUsercentricsModuleTest.kt +98 -40
- package/android/src/androidTest/java/com/usercentrics/reactnativemodule/mock/GetCMPDataMock.kt +76 -0
- package/android/src/main/java/com/usercentrics/reactnativeusercentrics/extensions/UsercentricsCMPDataExtensions.kt +42 -0
- package/ios/Extensions/UsercentricsCMPData+Dict.swift +4 -4
- package/lib/models/LegalBasisLocalization.d.ts +35 -0
- package/lib/models/LegalBasisLocalization.js +38 -0
- package/lib/models/LegalBasisLocalization.js.map +1 -0
- package/lib/models/TCF2Settings.d.ts +2 -2
- package/lib/models/UsercentricsCMPData.d.ts +3 -1
- package/lib/models/UsercentricsCMPData.js +2 -1
- package/lib/models/UsercentricsCMPData.js.map +1 -1
- package/lib/models/index.d.ts +1 -0
- package/lib/models/index.js +1 -0
- package/lib/models/index.js.map +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
[Release Notes](https://docs.usercentrics.com/cmp_in_app_sdk/latest/about/history/)
|
|
2
2
|
|
|
3
|
+
### 2.15.4 - July 17, 2024
|
|
4
|
+
|
|
5
|
+
## Other Fixes
|
|
6
|
+
|
|
7
|
+
* Rare crash when initializing the SDK with TCF configuration
|
|
8
|
+
* Unity Ads SDK Mediation adjusts
|
|
9
|
+
|
|
10
|
+
### 2.15.3 - June 24, 2024
|
|
11
|
+
|
|
12
|
+
## React Native Bug Fix
|
|
13
|
+
|
|
14
|
+
**[Fix]** Services categories description was returning a stringify object instead of the actual description
|
|
15
|
+
|
|
3
16
|
### 2.15.2 - June 12, 2024
|
|
4
17
|
|
|
5
18
|
## Improvements
|
package/android/build.gradle
CHANGED
package/android/src/androidTest/java/com/usercentrics/reactnativemodule/RNUsercentricsModuleTest.kt
CHANGED
|
@@ -20,6 +20,8 @@ import com.usercentrics.sdk.models.settings.UsercentricsConsentType
|
|
|
20
20
|
import com.usercentrics.sdk.services.tcf.TCFDecisionUILayer
|
|
21
21
|
import com.usercentrics.sdk.services.tcf.interfaces.TCFData
|
|
22
22
|
import com.usercentrics.sdk.v2.location.data.UsercentricsLocation
|
|
23
|
+
import com.usercentrics.sdk.v2.translation.data.LegalBasisLocalization
|
|
24
|
+
import io.mockk.InternalPlatformDsl.toArray
|
|
23
25
|
import io.mockk.every
|
|
24
26
|
import io.mockk.mockk
|
|
25
27
|
import io.mockk.verify
|
|
@@ -83,7 +85,10 @@ class RNUsercentricsModuleTest {
|
|
|
83
85
|
history = usercentricsConsentHistoryEntries
|
|
84
86
|
)
|
|
85
87
|
),
|
|
86
|
-
geolocationRuleset = GeolocationRuleset(
|
|
88
|
+
geolocationRuleset = GeolocationRuleset(
|
|
89
|
+
activeSettingsId = "settingsId",
|
|
90
|
+
bannerRequiredAtLocation = true
|
|
91
|
+
),
|
|
87
92
|
location = UsercentricsLocation(countryCode = "PT", regionCode = "PT11")
|
|
88
93
|
)
|
|
89
94
|
}
|
|
@@ -98,7 +103,8 @@ class RNUsercentricsModuleTest {
|
|
|
98
103
|
@Test
|
|
99
104
|
fun testModuleName() {
|
|
100
105
|
assertEquals(
|
|
101
|
-
"RNUsercentricsModule",
|
|
106
|
+
"RNUsercentricsModule",
|
|
107
|
+
RNUsercentricsModule(mockk(relaxed = true), mockk(), ReactContextProviderMock()).name
|
|
102
108
|
)
|
|
103
109
|
}
|
|
104
110
|
|
|
@@ -106,7 +112,8 @@ class RNUsercentricsModuleTest {
|
|
|
106
112
|
fun testConfigure() {
|
|
107
113
|
val usercentricsProxy = FakeUsercentricsProxy()
|
|
108
114
|
val contextMock = mockk<ReactApplicationContext>(relaxed = true)
|
|
109
|
-
val module =
|
|
115
|
+
val module =
|
|
116
|
+
RNUsercentricsModule(contextMock, usercentricsProxy, ReactContextProviderMock())
|
|
110
117
|
|
|
111
118
|
module.configure(usercentricsOptions)
|
|
112
119
|
|
|
@@ -125,7 +132,8 @@ class RNUsercentricsModuleTest {
|
|
|
125
132
|
fun testConfigureWithWrongValues() {
|
|
126
133
|
val usercentricsProxy = FakeUsercentricsProxy()
|
|
127
134
|
val contextMock = mockk<ReactApplicationContext>(relaxed = true)
|
|
128
|
-
val module =
|
|
135
|
+
val module =
|
|
136
|
+
RNUsercentricsModule(contextMock, usercentricsProxy, ReactContextProviderMock())
|
|
129
137
|
|
|
130
138
|
module.configure(JavaOnlyMap())
|
|
131
139
|
assertEquals(UsercentricsOptions(), usercentricsProxy.initializeOptionsArgument)
|
|
@@ -135,7 +143,8 @@ class RNUsercentricsModuleTest {
|
|
|
135
143
|
fun testIsReady() {
|
|
136
144
|
val usercentricsProxy = FakeUsercentricsProxy(isReadyAnswer = usercentricsReadyStatus)
|
|
137
145
|
val contextMock = mockk<ReactApplicationContext>(relaxed = true)
|
|
138
|
-
val module =
|
|
146
|
+
val module =
|
|
147
|
+
RNUsercentricsModule(contextMock, usercentricsProxy, ReactContextProviderMock())
|
|
139
148
|
|
|
140
149
|
val promise = FakePromise()
|
|
141
150
|
module.isReady(promise)
|
|
@@ -146,8 +155,14 @@ class RNUsercentricsModuleTest {
|
|
|
146
155
|
assertEquals(1, usercentricsProxy.isReadyCount)
|
|
147
156
|
assertEquals(false, result.getBoolean("shouldCollectConsent"))
|
|
148
157
|
|
|
149
|
-
assertEquals(
|
|
150
|
-
|
|
158
|
+
assertEquals(
|
|
159
|
+
"settingsId",
|
|
160
|
+
result.getMap("geolocationRuleset")?.getString("activeSettingsId")
|
|
161
|
+
)
|
|
162
|
+
assertEquals(
|
|
163
|
+
true,
|
|
164
|
+
result.getMap("geolocationRuleset")?.getBoolean("bannerRequiredAtLocation")
|
|
165
|
+
)
|
|
151
166
|
|
|
152
167
|
assertEquals("PT", result.getMap("location")?.getString("countryCode"))
|
|
153
168
|
assertEquals("PT11", result.getMap("location")?.getString("regionCode"))
|
|
@@ -165,7 +180,8 @@ class RNUsercentricsModuleTest {
|
|
|
165
180
|
|
|
166
181
|
val usercentricsProxy = FakeUsercentricsProxy(isReadyAnswer = error)
|
|
167
182
|
val contextMock = mockk<ReactApplicationContext>(relaxed = true)
|
|
168
|
-
val module =
|
|
183
|
+
val module =
|
|
184
|
+
RNUsercentricsModule(contextMock, usercentricsProxy, ReactContextProviderMock())
|
|
169
185
|
|
|
170
186
|
val promise = FakePromise()
|
|
171
187
|
module.isReady(promise)
|
|
@@ -183,7 +199,8 @@ class RNUsercentricsModuleTest {
|
|
|
183
199
|
|
|
184
200
|
val usercentricsProxy = FakeUsercentricsProxy(instanceAnswer = usercentricsSDK)
|
|
185
201
|
val contextMock = mockk<ReactApplicationContext>(relaxed = true)
|
|
186
|
-
val module =
|
|
202
|
+
val module =
|
|
203
|
+
RNUsercentricsModule(contextMock, usercentricsProxy, ReactContextProviderMock())
|
|
187
204
|
|
|
188
205
|
val promise = FakePromise()
|
|
189
206
|
module.restoreUserSession("abc", promise)
|
|
@@ -210,7 +227,8 @@ class RNUsercentricsModuleTest {
|
|
|
210
227
|
}
|
|
211
228
|
val usercentricsProxy = FakeUsercentricsProxy(usercentricsSDK)
|
|
212
229
|
val contextMock = mockk<ReactApplicationContext>(relaxed = true)
|
|
213
|
-
val module =
|
|
230
|
+
val module =
|
|
231
|
+
RNUsercentricsModule(contextMock, usercentricsProxy, ReactContextProviderMock())
|
|
214
232
|
|
|
215
233
|
val promise = FakePromise()
|
|
216
234
|
module.restoreUserSession("abc", promise)
|
|
@@ -225,7 +243,8 @@ class RNUsercentricsModuleTest {
|
|
|
225
243
|
every { usercentricsSDK.getControllerId() }.returns("abc")
|
|
226
244
|
val usercentricsProxy = FakeUsercentricsProxy(usercentricsSDK)
|
|
227
245
|
val contextMock = mockk<ReactApplicationContext>(relaxed = true)
|
|
228
|
-
val module =
|
|
246
|
+
val module =
|
|
247
|
+
RNUsercentricsModule(contextMock, usercentricsProxy, ReactContextProviderMock())
|
|
229
248
|
val promise = FakePromise()
|
|
230
249
|
|
|
231
250
|
module.getControllerId(promise)
|
|
@@ -240,7 +259,8 @@ class RNUsercentricsModuleTest {
|
|
|
240
259
|
every { usercentricsSDK.getABTestingVariant() }.returns("variantA")
|
|
241
260
|
val usercentricsProxy = FakeUsercentricsProxy(usercentricsSDK)
|
|
242
261
|
val contextMock = mockk<ReactApplicationContext>(relaxed = true)
|
|
243
|
-
val module =
|
|
262
|
+
val module =
|
|
263
|
+
RNUsercentricsModule(contextMock, usercentricsProxy, ReactContextProviderMock())
|
|
244
264
|
val promise = FakePromise()
|
|
245
265
|
|
|
246
266
|
module.getABTestingVariant(promise)
|
|
@@ -256,7 +276,8 @@ class RNUsercentricsModuleTest {
|
|
|
256
276
|
|
|
257
277
|
val usercentricsProxy = FakeUsercentricsProxy(usercentricsSDK)
|
|
258
278
|
val contextMock = mockk<ReactApplicationContext>(relaxed = true)
|
|
259
|
-
val module =
|
|
279
|
+
val module =
|
|
280
|
+
RNUsercentricsModule(contextMock, usercentricsProxy, ReactContextProviderMock())
|
|
260
281
|
|
|
261
282
|
val promise = FakePromise()
|
|
262
283
|
|
|
@@ -276,12 +297,17 @@ class RNUsercentricsModuleTest {
|
|
|
276
297
|
|
|
277
298
|
@Test
|
|
278
299
|
fun testGetCMPData() {
|
|
300
|
+
val legalBasisLocalization = mockk<LegalBasisLocalization>()
|
|
301
|
+
every { legalBasisLocalization.data }.returns(GetCMPDataMock.fakeData)
|
|
302
|
+
every { legalBasisLocalization.labelsAria }.returns(GetCMPDataMock.fakeLabelsAria)
|
|
303
|
+
|
|
279
304
|
val cmpData = mockk<UsercentricsCMPData>()
|
|
280
305
|
every { cmpData.activeVariant }.returns(UsercentricsVariant.TCF)
|
|
281
306
|
every { cmpData.settings }.returns(GetCMPDataMock.fakeSettings)
|
|
282
307
|
every { cmpData.categories }.returns(GetCMPDataMock.fakeCategories)
|
|
283
308
|
every { cmpData.services }.returns(GetCMPDataMock.fakeServices)
|
|
284
309
|
every { cmpData.userLocation }.returns(GetCMPDataMock.fakeUserLocation)
|
|
310
|
+
every { cmpData.legalBasis }.returns(legalBasisLocalization)
|
|
285
311
|
|
|
286
312
|
val usercentricsSDK = mockk<UsercentricsSDK>()
|
|
287
313
|
every { usercentricsSDK.getCMPData() }.returns(cmpData)
|
|
@@ -298,22 +324,30 @@ class RNUsercentricsModuleTest {
|
|
|
298
324
|
|
|
299
325
|
val resultMap = (promise.resolveValue as WritableMap)
|
|
300
326
|
|
|
301
|
-
assertEquals(
|
|
302
|
-
assertEquals(2, resultMap.getInt("activeVariant"))
|
|
327
|
+
assertEquals(6, resultMap.toHashMap().size)
|
|
303
328
|
|
|
304
329
|
assertEquals(
|
|
305
330
|
GetCMPDataMock.expectedSettings.toWritableMap(), resultMap.getMap("settings")
|
|
306
331
|
)
|
|
307
332
|
|
|
308
333
|
assertEquals(
|
|
309
|
-
GetCMPDataMock.
|
|
334
|
+
GetCMPDataMock.expectedServices.serialize(), resultMap.getArray("services")
|
|
335
|
+
)
|
|
336
|
+
|
|
337
|
+
assertEquals(
|
|
338
|
+
GetCMPDataMock.expectedLegalBasisLocalization.toWritableMap(),
|
|
339
|
+
resultMap.getMap("legalBasis")
|
|
310
340
|
)
|
|
311
341
|
|
|
342
|
+
assertEquals(2, resultMap.getInt("activeVariant"))
|
|
343
|
+
|
|
312
344
|
assertEquals(
|
|
313
345
|
GetCMPDataMock.expectedUserLocation.toWritableMap(), resultMap.getMap("userLocation")
|
|
314
346
|
)
|
|
315
347
|
|
|
316
|
-
assertEquals(
|
|
348
|
+
assertEquals(
|
|
349
|
+
GetCMPDataMock.expectedCategories.serialize(), resultMap.getArray("categories")
|
|
350
|
+
)
|
|
317
351
|
}
|
|
318
352
|
|
|
319
353
|
@Test
|
|
@@ -323,7 +357,8 @@ class RNUsercentricsModuleTest {
|
|
|
323
357
|
|
|
324
358
|
val usercentricsProxy = FakeUsercentricsProxy(usercentricsSDK)
|
|
325
359
|
val contextMock = mockk<ReactApplicationContext>(relaxed = true)
|
|
326
|
-
val module =
|
|
360
|
+
val module =
|
|
361
|
+
RNUsercentricsModule(contextMock, usercentricsProxy, ReactContextProviderMock())
|
|
327
362
|
|
|
328
363
|
module.setCMPId(123)
|
|
329
364
|
|
|
@@ -337,7 +372,8 @@ class RNUsercentricsModuleTest {
|
|
|
337
372
|
|
|
338
373
|
val usercentricsProxy = FakeUsercentricsProxy(usercentricsSDK)
|
|
339
374
|
val contextMock = mockk<ReactApplicationContext>(relaxed = true)
|
|
340
|
-
val module =
|
|
375
|
+
val module =
|
|
376
|
+
RNUsercentricsModule(contextMock, usercentricsProxy, ReactContextProviderMock())
|
|
341
377
|
|
|
342
378
|
module.setABTestingVariant("variantA")
|
|
343
379
|
|
|
@@ -353,7 +389,8 @@ class RNUsercentricsModuleTest {
|
|
|
353
389
|
|
|
354
390
|
val usercentricsProxy = FakeUsercentricsProxy(usercentricsSDK)
|
|
355
391
|
val contextMock = mockk<ReactApplicationContext>(relaxed = true)
|
|
356
|
-
val module =
|
|
392
|
+
val module =
|
|
393
|
+
RNUsercentricsModule(contextMock, usercentricsProxy, ReactContextProviderMock())
|
|
357
394
|
val promise = FakePromise()
|
|
358
395
|
|
|
359
396
|
module.getTCFData(promise)
|
|
@@ -370,7 +407,8 @@ class RNUsercentricsModuleTest {
|
|
|
370
407
|
every { usercentricsSDK.getUserSessionData() }.returns(GetUserSessionDataMock.fake)
|
|
371
408
|
val usercentricsProxy = FakeUsercentricsProxy(usercentricsSDK)
|
|
372
409
|
val contextMock = mockk<ReactApplicationContext>(relaxed = true)
|
|
373
|
-
val module =
|
|
410
|
+
val module =
|
|
411
|
+
RNUsercentricsModule(contextMock, usercentricsProxy, ReactContextProviderMock())
|
|
374
412
|
val promise = FakePromise()
|
|
375
413
|
|
|
376
414
|
module.getUserSessionData(promise)
|
|
@@ -385,7 +423,8 @@ class RNUsercentricsModuleTest {
|
|
|
385
423
|
|
|
386
424
|
val usercentricsProxy = FakeUsercentricsProxy(usercentricsSDK)
|
|
387
425
|
val contextMock = mockk<ReactApplicationContext>(relaxed = true)
|
|
388
|
-
val module =
|
|
426
|
+
val module =
|
|
427
|
+
RNUsercentricsModule(contextMock, usercentricsProxy, ReactContextProviderMock())
|
|
389
428
|
val promise = FakePromise()
|
|
390
429
|
|
|
391
430
|
module.getUSPData(promise)
|
|
@@ -403,7 +442,8 @@ class RNUsercentricsModuleTest {
|
|
|
403
442
|
}
|
|
404
443
|
val usercentricsProxy = FakeUsercentricsProxy(usercentricsSDK)
|
|
405
444
|
val contextMock = mockk<ReactApplicationContext>(relaxed = true)
|
|
406
|
-
val module =
|
|
445
|
+
val module =
|
|
446
|
+
RNUsercentricsModule(contextMock, usercentricsProxy, ReactContextProviderMock())
|
|
407
447
|
val promise = FakePromise()
|
|
408
448
|
|
|
409
449
|
module.changeLanguage("abc", promise)
|
|
@@ -427,7 +467,8 @@ class RNUsercentricsModuleTest {
|
|
|
427
467
|
|
|
428
468
|
val usercentricsProxy = FakeUsercentricsProxy(usercentricsSDK)
|
|
429
469
|
val contextMock = mockk<ReactApplicationContext>(relaxed = true)
|
|
430
|
-
val module =
|
|
470
|
+
val module =
|
|
471
|
+
RNUsercentricsModule(contextMock, usercentricsProxy, ReactContextProviderMock())
|
|
431
472
|
val promise = FakePromise()
|
|
432
473
|
|
|
433
474
|
module.changeLanguage("abc", promise)
|
|
@@ -452,7 +493,8 @@ class RNUsercentricsModuleTest {
|
|
|
452
493
|
|
|
453
494
|
val usercentricsProxy = FakeUsercentricsProxy(usercentricsSDK)
|
|
454
495
|
val contextMock = mockk<ReactApplicationContext>(relaxed = true)
|
|
455
|
-
val module =
|
|
496
|
+
val module =
|
|
497
|
+
RNUsercentricsModule(contextMock, usercentricsProxy, ReactContextProviderMock())
|
|
456
498
|
|
|
457
499
|
val promise = FakePromise()
|
|
458
500
|
module.acceptAllForTCF(0, 0, promise)
|
|
@@ -479,7 +521,8 @@ class RNUsercentricsModuleTest {
|
|
|
479
521
|
|
|
480
522
|
val usercentricsProxy = FakeUsercentricsProxy(usercentricsSDK)
|
|
481
523
|
val contextMock = mockk<ReactApplicationContext>(relaxed = true)
|
|
482
|
-
val module =
|
|
524
|
+
val module =
|
|
525
|
+
RNUsercentricsModule(contextMock, usercentricsProxy, ReactContextProviderMock())
|
|
483
526
|
|
|
484
527
|
val promise = FakePromise()
|
|
485
528
|
module.denyAllForTCF(0, 0, promise)
|
|
@@ -506,7 +549,8 @@ class RNUsercentricsModuleTest {
|
|
|
506
549
|
|
|
507
550
|
val usercentricsProxy = FakeUsercentricsProxy(usercentricsSDK)
|
|
508
551
|
val contextMock = mockk<ReactApplicationContext>(relaxed = true)
|
|
509
|
-
val module =
|
|
552
|
+
val module =
|
|
553
|
+
RNUsercentricsModule(contextMock, usercentricsProxy, ReactContextProviderMock())
|
|
510
554
|
|
|
511
555
|
val promise = FakePromise()
|
|
512
556
|
module.acceptAll(0, promise)
|
|
@@ -527,7 +571,8 @@ class RNUsercentricsModuleTest {
|
|
|
527
571
|
|
|
528
572
|
val usercentricsProxy = FakeUsercentricsProxy(usercentricsSDK)
|
|
529
573
|
val contextMock = mockk<ReactApplicationContext>(relaxed = true)
|
|
530
|
-
val module =
|
|
574
|
+
val module =
|
|
575
|
+
RNUsercentricsModule(contextMock, usercentricsProxy, ReactContextProviderMock())
|
|
531
576
|
|
|
532
577
|
val promise = FakePromise()
|
|
533
578
|
module.denyAll(0, promise)
|
|
@@ -548,7 +593,8 @@ class RNUsercentricsModuleTest {
|
|
|
548
593
|
|
|
549
594
|
val usercentricsProxy = FakeUsercentricsProxy(usercentricsSDK)
|
|
550
595
|
val contextMock = mockk<ReactApplicationContext>(relaxed = true)
|
|
551
|
-
val module =
|
|
596
|
+
val module =
|
|
597
|
+
RNUsercentricsModule(contextMock, usercentricsProxy, ReactContextProviderMock())
|
|
552
598
|
|
|
553
599
|
val promise = FakePromise()
|
|
554
600
|
module.saveDecisions(SaveDecisionsMock.callDecisions.serialize(), 0, promise)
|
|
@@ -567,7 +613,8 @@ class RNUsercentricsModuleTest {
|
|
|
567
613
|
|
|
568
614
|
val usercentricsProxy = FakeUsercentricsProxy(usercentricsSDK)
|
|
569
615
|
val contextMock = mockk<ReactApplicationContext>(relaxed = true)
|
|
570
|
-
val module =
|
|
616
|
+
val module =
|
|
617
|
+
RNUsercentricsModule(contextMock, usercentricsProxy, ReactContextProviderMock())
|
|
571
618
|
|
|
572
619
|
val promise = FakePromise()
|
|
573
620
|
module.saveDecisionsForTCF(
|
|
@@ -593,7 +640,8 @@ class RNUsercentricsModuleTest {
|
|
|
593
640
|
|
|
594
641
|
val usercentricsProxy = FakeUsercentricsProxy(usercentricsSDK)
|
|
595
642
|
val contextMock = mockk<ReactApplicationContext>(relaxed = true)
|
|
596
|
-
val module =
|
|
643
|
+
val module =
|
|
644
|
+
RNUsercentricsModule(contextMock, usercentricsProxy, ReactContextProviderMock())
|
|
597
645
|
|
|
598
646
|
val promise = FakePromise()
|
|
599
647
|
module.saveOptOutForCCPA(
|
|
@@ -616,7 +664,8 @@ class RNUsercentricsModuleTest {
|
|
|
616
664
|
|
|
617
665
|
val usercentricsProxy = FakeUsercentricsProxy(usercentricsSdk)
|
|
618
666
|
val contextMock = mockk<ReactApplicationContext>(relaxed = true)
|
|
619
|
-
val module =
|
|
667
|
+
val module =
|
|
668
|
+
RNUsercentricsModule(contextMock, usercentricsProxy, ReactContextProviderMock())
|
|
620
669
|
|
|
621
670
|
module.track(UsercentricsAnalyticsEventType.ACCEPT_ALL_FIRST_LAYER.ordinal)
|
|
622
671
|
|
|
@@ -628,7 +677,8 @@ class RNUsercentricsModuleTest {
|
|
|
628
677
|
fun testShowFirstLayer() {
|
|
629
678
|
val usercentricsProxy = FakeUsercentricsProxy()
|
|
630
679
|
val contextMock = mockk<ReactApplicationContext>(relaxed = true)
|
|
631
|
-
val module =
|
|
680
|
+
val module =
|
|
681
|
+
RNUsercentricsModule(contextMock, usercentricsProxy, ReactContextProviderMock())
|
|
632
682
|
val promise = FakePromise()
|
|
633
683
|
module.showFirstLayer(bannerSettingsMap.toWritableMap(), promise)
|
|
634
684
|
promise.await()
|
|
@@ -639,7 +689,8 @@ class RNUsercentricsModuleTest {
|
|
|
639
689
|
fun testShowSecondLayer() {
|
|
640
690
|
val usercentricsProxy = FakeUsercentricsProxy()
|
|
641
691
|
val contextMock = mockk<ReactApplicationContext>(relaxed = true)
|
|
642
|
-
val module =
|
|
692
|
+
val module =
|
|
693
|
+
RNUsercentricsModule(contextMock, usercentricsProxy, ReactContextProviderMock())
|
|
643
694
|
val promise = FakePromise()
|
|
644
695
|
module.showSecondLayer(bannerSettingsMap.toWritableMap(), promise)
|
|
645
696
|
promise.await()
|
|
@@ -681,13 +732,16 @@ class RNUsercentricsModuleTest {
|
|
|
681
732
|
module.showFirstLayer(bannerSettingsMap.toWritableMap(), promise)
|
|
682
733
|
promise.await()
|
|
683
734
|
|
|
684
|
-
val someLocalImageDrawableId =
|
|
735
|
+
val someLocalImageDrawableId =
|
|
736
|
+
context.resources.getIdentifier("some_local_image", "drawable", context.packageName)
|
|
685
737
|
val expectedBannerSettings = BannerSettings(
|
|
686
738
|
firstLayerStyleSettings = FirstLayerStyleSettings(
|
|
687
739
|
layout = UsercentricsLayout.Popup(
|
|
688
740
|
PopupPosition.CENTER
|
|
689
741
|
)
|
|
690
|
-
),
|
|
742
|
+
),
|
|
743
|
+
secondLayerStyleSettings = SecondLayerStyleSettings(showCloseButton = true),
|
|
744
|
+
generalStyleSettings = GeneralStyleSettings(
|
|
691
745
|
logo = UsercentricsImage.ImageDrawableId(someLocalImageDrawableId)
|
|
692
746
|
)
|
|
693
747
|
)
|
|
@@ -698,7 +752,8 @@ class RNUsercentricsModuleTest {
|
|
|
698
752
|
fun testShowFirstLayerWhenShowCloseButtonIsNull() {
|
|
699
753
|
val usercentricsProxy = FakeUsercentricsProxy()
|
|
700
754
|
val contextMock = mockk<ReactApplicationContext>(relaxed = true)
|
|
701
|
-
val module =
|
|
755
|
+
val module =
|
|
756
|
+
RNUsercentricsModule(contextMock, usercentricsProxy, ReactContextProviderMock())
|
|
702
757
|
val bannerSettingsMap = mapOf(
|
|
703
758
|
"secondLayerStyleSettings" to mapOf(
|
|
704
759
|
"showCloseButton" to null
|
|
@@ -726,7 +781,8 @@ class RNUsercentricsModuleTest {
|
|
|
726
781
|
|
|
727
782
|
val usercentricsProxy = FakeUsercentricsProxy(usercentricsSDK)
|
|
728
783
|
val contextMock = mockk<ReactApplicationContext>(relaxed = true)
|
|
729
|
-
val module =
|
|
784
|
+
val module =
|
|
785
|
+
RNUsercentricsModule(contextMock, usercentricsProxy, ReactContextProviderMock())
|
|
730
786
|
val promise = FakePromise()
|
|
731
787
|
|
|
732
788
|
module.getAdditionalConsentModeData(promise)
|
|
@@ -748,7 +804,8 @@ class RNUsercentricsModuleTest {
|
|
|
748
804
|
|
|
749
805
|
val usercentricsProxy = FakeUsercentricsProxy(instanceAnswer = usercentricsSDK)
|
|
750
806
|
val contextMock = mockk<ReactApplicationContext>(relaxed = true)
|
|
751
|
-
val module =
|
|
807
|
+
val module =
|
|
808
|
+
RNUsercentricsModule(contextMock, usercentricsProxy, ReactContextProviderMock())
|
|
752
809
|
|
|
753
810
|
val promise = FakePromise()
|
|
754
811
|
module.clearUserSession(promise)
|
|
@@ -775,7 +832,8 @@ class RNUsercentricsModuleTest {
|
|
|
775
832
|
}
|
|
776
833
|
val usercentricsProxy = FakeUsercentricsProxy(usercentricsSDK)
|
|
777
834
|
val contextMock = mockk<ReactApplicationContext>(relaxed = true)
|
|
778
|
-
val module =
|
|
835
|
+
val module =
|
|
836
|
+
RNUsercentricsModule(contextMock, usercentricsProxy, ReactContextProviderMock())
|
|
779
837
|
|
|
780
838
|
val promise = FakePromise()
|
|
781
839
|
module.clearUserSession(promise)
|
package/android/src/androidTest/java/com/usercentrics/reactnativemodule/mock/GetCMPDataMock.kt
CHANGED
|
@@ -25,6 +25,7 @@ import com.usercentrics.sdk.v2.settings.data.UsercentricsLabels
|
|
|
25
25
|
import com.usercentrics.sdk.v2.settings.data.UsercentricsService
|
|
26
26
|
import com.usercentrics.sdk.v2.settings.data.UsercentricsSettings
|
|
27
27
|
import com.usercentrics.sdk.v2.settings.data.VariantsSettings
|
|
28
|
+
import com.usercentrics.sdk.v2.translation.data.TranslationAriaLabels
|
|
28
29
|
|
|
29
30
|
internal object GetCMPDataMock {
|
|
30
31
|
|
|
@@ -662,4 +663,79 @@ internal object GetCMPDataMock {
|
|
|
662
663
|
),
|
|
663
664
|
)
|
|
664
665
|
)
|
|
666
|
+
|
|
667
|
+
val fakeData = mapOf(
|
|
668
|
+
"KeyA" to "ValueA",
|
|
669
|
+
"KeyB" to "ValueB",
|
|
670
|
+
)
|
|
671
|
+
|
|
672
|
+
private val expectedData = hashMapOf(
|
|
673
|
+
"KeyA" to "ValueA",
|
|
674
|
+
"KeyB" to "ValueB",
|
|
675
|
+
)
|
|
676
|
+
|
|
677
|
+
val fakeLabelsAria = TranslationAriaLabels(
|
|
678
|
+
acceptAllButton = "acceptAllButton",
|
|
679
|
+
ccpaButton = "ccpaButton",
|
|
680
|
+
ccpaMoreInformation = "ccpaMoreInformation",
|
|
681
|
+
closeButton = "closeButton",
|
|
682
|
+
collapse = "collapse",
|
|
683
|
+
cookiePolicyButton = "cookiePolicyButton",
|
|
684
|
+
copyControllerId = "copyControllerId",
|
|
685
|
+
denyAllButton = "denyAllButton",
|
|
686
|
+
expand = "expand",
|
|
687
|
+
fullscreenButton = "fullscreenButton",
|
|
688
|
+
imprintButton = "imprintButton",
|
|
689
|
+
languageSelector = "languageSelector",
|
|
690
|
+
privacyButton = "privacyButton",
|
|
691
|
+
privacyPolicyButton = "privacyPolicyButton",
|
|
692
|
+
saveButton = "saveButton",
|
|
693
|
+
serviceInCategoryDetails = "serviceInCategoryDetails",
|
|
694
|
+
servicesInCategory = "servicesInCategory",
|
|
695
|
+
tabButton = "tabButton",
|
|
696
|
+
usercentricsCMPButtons = "usercentricsCMPButtons",
|
|
697
|
+
usercentricsCMPContent = "usercentricsCMPContent",
|
|
698
|
+
usercentricsCMPHeader = "usercentricsCMPHeader",
|
|
699
|
+
usercentricsCMPUI = "usercentricsCMPUI",
|
|
700
|
+
usercentricsCard = "usercentricsCard",
|
|
701
|
+
usercentricsList = "usercentricsList",
|
|
702
|
+
vendorConsentToggle = "vendorConsentToggle",
|
|
703
|
+
vendorDetailedStorageInformation = "vendorDetailedStorageInformation",
|
|
704
|
+
vendorLegIntToggle = "vendorLegIntToggle"
|
|
705
|
+
)
|
|
706
|
+
|
|
707
|
+
val expectedTranslationAriaLabels = hashMapOf(
|
|
708
|
+
"acceptAllButton" to "acceptAllButton",
|
|
709
|
+
"ccpaButton" to "ccpaButton",
|
|
710
|
+
"ccpaMoreInformation" to "ccpaMoreInformation",
|
|
711
|
+
"closeButton" to "closeButton",
|
|
712
|
+
"collapse" to "collapse",
|
|
713
|
+
"cookiePolicyButton" to "cookiePolicyButton",
|
|
714
|
+
"copyControllerId" to "copyControllerId",
|
|
715
|
+
"denyAllButton" to "denyAllButton",
|
|
716
|
+
"expand" to "expand",
|
|
717
|
+
"fullscreenButton" to "fullscreenButton",
|
|
718
|
+
"imprintButton" to "imprintButton",
|
|
719
|
+
"languageSelector" to "languageSelector",
|
|
720
|
+
"privacyButton" to "privacyButton",
|
|
721
|
+
"privacyPolicyButton" to "privacyPolicyButton",
|
|
722
|
+
"saveButton" to "saveButton",
|
|
723
|
+
"serviceInCategoryDetails" to "serviceInCategoryDetails",
|
|
724
|
+
"servicesInCategory" to "servicesInCategory",
|
|
725
|
+
"tabButton" to "tabButton",
|
|
726
|
+
"usercentricsCMPButtons" to "usercentricsCMPButtons",
|
|
727
|
+
"usercentricsCMPContent" to "usercentricsCMPContent",
|
|
728
|
+
"usercentricsCMPHeader" to "usercentricsCMPHeader",
|
|
729
|
+
"usercentricsCMPUI" to "usercentricsCMPUI",
|
|
730
|
+
"usercentricsCard" to "usercentricsCard",
|
|
731
|
+
"usercentricsList" to "usercentricsList",
|
|
732
|
+
"vendorConsentToggle" to "vendorConsentToggle",
|
|
733
|
+
"vendorDetailedStorageInformation" to "vendorDetailedStorageInformation",
|
|
734
|
+
"vendorLegIntToggle" to "vendorLegIntToggle"
|
|
735
|
+
)
|
|
736
|
+
|
|
737
|
+
val expectedLegalBasisLocalization = hashMapOf(
|
|
738
|
+
"labelsAria" to expectedTranslationAriaLabels,
|
|
739
|
+
"data" to expectedData,
|
|
740
|
+
)
|
|
665
741
|
}
|
|
@@ -20,6 +20,8 @@ import com.usercentrics.sdk.v2.settings.data.UsercentricsLabels
|
|
|
20
20
|
import com.usercentrics.sdk.v2.settings.data.UsercentricsService
|
|
21
21
|
import com.usercentrics.sdk.v2.settings.data.UsercentricsSettings
|
|
22
22
|
import com.usercentrics.sdk.v2.settings.data.VariantsSettings
|
|
23
|
+
import com.usercentrics.sdk.v2.translation.data.LegalBasisLocalization
|
|
24
|
+
import com.usercentrics.sdk.v2.translation.data.TranslationAriaLabels
|
|
23
25
|
|
|
24
26
|
internal fun UsercentricsCMPData.serialize(): WritableMap {
|
|
25
27
|
return Arguments.createMap().apply {
|
|
@@ -28,6 +30,7 @@ internal fun UsercentricsCMPData.serialize(): WritableMap {
|
|
|
28
30
|
putArray("categories", categories.map { it.serialize() }.serialize())
|
|
29
31
|
putInt("activeVariant", activeVariant.ordinal)
|
|
30
32
|
putMap("userLocation", userLocation.serialize())
|
|
33
|
+
putMap("legalBasis", legalBasis.serialize())
|
|
31
34
|
}
|
|
32
35
|
}
|
|
33
36
|
|
|
@@ -390,3 +393,42 @@ private fun AdTechProvider.serialize(): WritableMap {
|
|
|
390
393
|
"privacyPolicyUrl" to privacyPolicyUrl,
|
|
391
394
|
).toWritableMap()
|
|
392
395
|
}
|
|
396
|
+
|
|
397
|
+
private fun LegalBasisLocalization.serialize(): WritableMap {
|
|
398
|
+
return mapOf(
|
|
399
|
+
"labelsAria" to labelsAria?.serialize(),
|
|
400
|
+
"data" to data
|
|
401
|
+
).toWritableMap()
|
|
402
|
+
}
|
|
403
|
+
|
|
404
|
+
private fun TranslationAriaLabels.serialize(): WritableMap {
|
|
405
|
+
return mapOf(
|
|
406
|
+
"acceptAllButton" to acceptAllButton,
|
|
407
|
+
"ccpaButton" to ccpaButton,
|
|
408
|
+
"ccpaMoreInformation" to ccpaMoreInformation,
|
|
409
|
+
"closeButton" to closeButton,
|
|
410
|
+
"collapse" to collapse,
|
|
411
|
+
"cookiePolicyButton" to cookiePolicyButton,
|
|
412
|
+
"copyControllerId" to copyControllerId,
|
|
413
|
+
"denyAllButton" to denyAllButton,
|
|
414
|
+
"expand" to expand,
|
|
415
|
+
"fullscreenButton" to fullscreenButton,
|
|
416
|
+
"imprintButton" to imprintButton,
|
|
417
|
+
"languageSelector" to languageSelector,
|
|
418
|
+
"privacyButton" to privacyButton,
|
|
419
|
+
"privacyPolicyButton" to privacyPolicyButton,
|
|
420
|
+
"saveButton" to saveButton,
|
|
421
|
+
"serviceInCategoryDetails" to serviceInCategoryDetails,
|
|
422
|
+
"servicesInCategory" to servicesInCategory,
|
|
423
|
+
"tabButton" to tabButton,
|
|
424
|
+
"usercentricsCMPButtons" to usercentricsCMPButtons,
|
|
425
|
+
"usercentricsCMPContent" to usercentricsCMPContent,
|
|
426
|
+
"usercentricsCMPHeader" to usercentricsCMPHeader,
|
|
427
|
+
"usercentricsCMPUI" to usercentricsCMPUI,
|
|
428
|
+
"usercentricsCard" to usercentricsCard,
|
|
429
|
+
"usercentricsList" to usercentricsList,
|
|
430
|
+
"vendorConsentToggle" to vendorConsentToggle,
|
|
431
|
+
"vendorDetailedStorageInformation" to vendorDetailedStorageInformation,
|
|
432
|
+
"vendorLegIntToggle" to vendorLegIntToggle,
|
|
433
|
+
).toWritableMap()
|
|
434
|
+
}
|
|
@@ -329,7 +329,7 @@ extension UsercentricsService {
|
|
|
329
329
|
"locationOfProcessing" : self.locationOfProcessing,
|
|
330
330
|
"dataCollectedDescription" : self.dataCollectedDescription as Any,
|
|
331
331
|
"thirdCountryTransfer" : self.thirdCountryTransfer,
|
|
332
|
-
"description" : self.
|
|
332
|
+
"description" : self.description_ as Any,
|
|
333
333
|
"cookieMaxAgeSeconds" : self.cookieMaxAgeSeconds as Any,
|
|
334
334
|
"usesNonCookieAccess" : usesNonCookieAccess?.boolValue as Any,
|
|
335
335
|
"deviceStorageDisclosureUrl" : self.deviceStorageDisclosureUrl as Any,
|
|
@@ -358,18 +358,18 @@ extension ConsentDisclosure {
|
|
|
358
358
|
"cookieRefresh": self.cookieRefresh,
|
|
359
359
|
"purposes": self.purposes,
|
|
360
360
|
"domain": self.domain ?? "",
|
|
361
|
-
"description": self.
|
|
361
|
+
"description": self.description_ as Any,
|
|
362
362
|
]
|
|
363
363
|
}
|
|
364
364
|
}
|
|
365
365
|
|
|
366
366
|
|
|
367
367
|
extension UsercentricsCategory {
|
|
368
|
-
func toDictionary() ->
|
|
368
|
+
func toDictionary() -> NSDictionary? {
|
|
369
369
|
return [
|
|
370
370
|
"categorySlug" : self.categorySlug,
|
|
371
371
|
"label" : self.label as Any,
|
|
372
|
-
"description" : self.
|
|
372
|
+
"description" : self.description_ as Any,
|
|
373
373
|
"isEssential" : self.isEssential
|
|
374
374
|
]
|
|
375
375
|
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export declare class LegalBasisLocalization {
|
|
2
|
+
labelsAria?: TranslationAriaLabels;
|
|
3
|
+
data: Map<string, string>;
|
|
4
|
+
constructor(data: Map<string, string>, labelsAria?: TranslationAriaLabels);
|
|
5
|
+
}
|
|
6
|
+
export declare class TranslationAriaLabels {
|
|
7
|
+
acceptAllButton?: string;
|
|
8
|
+
ccpaButton?: string;
|
|
9
|
+
ccpaMoreInformation?: string;
|
|
10
|
+
closeButton?: string;
|
|
11
|
+
collapse?: string;
|
|
12
|
+
cookiePolicyButton?: string;
|
|
13
|
+
copyControllerId?: string;
|
|
14
|
+
denyAllButton?: string;
|
|
15
|
+
expand?: string;
|
|
16
|
+
fullscreenButton?: string;
|
|
17
|
+
imprintButton?: string;
|
|
18
|
+
languageSelector?: string;
|
|
19
|
+
privacyButton?: string;
|
|
20
|
+
privacyPolicyButton?: string;
|
|
21
|
+
saveButton?: string;
|
|
22
|
+
serviceInCategoryDetails?: string;
|
|
23
|
+
servicesInCategory?: string;
|
|
24
|
+
tabButton?: string;
|
|
25
|
+
usercentricsCMPButtons?: string;
|
|
26
|
+
usercentricsCMPContent?: string;
|
|
27
|
+
usercentricsCMPHeader?: string;
|
|
28
|
+
usercentricsCMPUI?: string;
|
|
29
|
+
usercentricsCard?: string;
|
|
30
|
+
usercentricsList?: string;
|
|
31
|
+
vendorConsentToggle?: string;
|
|
32
|
+
vendorDetailedStorageInformation?: string;
|
|
33
|
+
vendorLegIntToggle?: string;
|
|
34
|
+
constructor(acceptAllButton?: string, ccpaButton?: string, ccpaMoreInformation?: string, closeButton?: string, collapse?: string, cookiePolicyButton?: string, copyControllerId?: string, denyAllButton?: string, expand?: string, fullscreenButton?: string, imprintButton?: string, languageSelector?: string, privacyButton?: string, privacyPolicyButton?: string, saveButton?: string, serviceInCategoryDetails?: string, servicesInCategory?: string, tabButton?: string, usercentricsCMPButtons?: string, usercentricsCMPContent?: string, usercentricsCMPHeader?: string, usercentricsCMPUI?: string, usercentricsCard?: string, usercentricsList?: string, vendorConsentToggle?: string, vendorDetailedStorageInformation?: string, vendorLegIntToggle?: string);
|
|
35
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export class LegalBasisLocalization {
|
|
2
|
+
constructor(data, labelsAria) {
|
|
3
|
+
this.data = data;
|
|
4
|
+
this.labelsAria = labelsAria;
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
export class TranslationAriaLabels {
|
|
8
|
+
constructor(acceptAllButton, ccpaButton, ccpaMoreInformation, closeButton, collapse, cookiePolicyButton, copyControllerId, denyAllButton, expand, fullscreenButton, imprintButton, languageSelector, privacyButton, privacyPolicyButton, saveButton, serviceInCategoryDetails, servicesInCategory, tabButton, usercentricsCMPButtons, usercentricsCMPContent, usercentricsCMPHeader, usercentricsCMPUI, usercentricsCard, usercentricsList, vendorConsentToggle, vendorDetailedStorageInformation, vendorLegIntToggle) {
|
|
9
|
+
this.acceptAllButton = acceptAllButton;
|
|
10
|
+
this.ccpaButton = ccpaButton;
|
|
11
|
+
this.ccpaMoreInformation = ccpaMoreInformation;
|
|
12
|
+
this.closeButton = closeButton;
|
|
13
|
+
this.collapse = collapse;
|
|
14
|
+
this.cookiePolicyButton = cookiePolicyButton;
|
|
15
|
+
this.copyControllerId = copyControllerId;
|
|
16
|
+
this.denyAllButton = denyAllButton;
|
|
17
|
+
this.expand = expand;
|
|
18
|
+
this.fullscreenButton = fullscreenButton;
|
|
19
|
+
this.imprintButton = imprintButton;
|
|
20
|
+
this.languageSelector = languageSelector;
|
|
21
|
+
this.privacyButton = privacyButton;
|
|
22
|
+
this.privacyPolicyButton = privacyPolicyButton;
|
|
23
|
+
this.saveButton = saveButton;
|
|
24
|
+
this.serviceInCategoryDetails = serviceInCategoryDetails;
|
|
25
|
+
this.servicesInCategory = servicesInCategory;
|
|
26
|
+
this.tabButton = tabButton;
|
|
27
|
+
this.usercentricsCMPButtons = usercentricsCMPButtons;
|
|
28
|
+
this.usercentricsCMPContent = usercentricsCMPContent;
|
|
29
|
+
this.usercentricsCMPHeader = usercentricsCMPHeader;
|
|
30
|
+
this.usercentricsCMPUI = usercentricsCMPUI;
|
|
31
|
+
this.usercentricsCard = usercentricsCard;
|
|
32
|
+
this.usercentricsList = usercentricsList;
|
|
33
|
+
this.vendorConsentToggle = vendorConsentToggle;
|
|
34
|
+
this.vendorDetailedStorageInformation = vendorDetailedStorageInformation;
|
|
35
|
+
this.vendorLegIntToggle = vendorLegIntToggle;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=LegalBasisLocalization.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LegalBasisLocalization.js","sourceRoot":"","sources":["../../src/models/LegalBasisLocalization.tsx"],"names":[],"mappings":"AAAA,MAAM,OAAO,sBAAsB;IAI/B,YACI,IAAyB,EACzB,UAAkC;QAElC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;IAChC,CAAC;CACJ;AAED,MAAM,OAAO,qBAAqB;IA6B9B,YACI,eAAwB,EACxB,UAAmB,EACnB,mBAA4B,EAC5B,WAAoB,EACpB,QAAiB,EACjB,kBAA2B,EAC3B,gBAAyB,EACzB,aAAsB,EACtB,MAAe,EACf,gBAAyB,EACzB,aAAsB,EACtB,gBAAyB,EACzB,aAAsB,EACtB,mBAA4B,EAC5B,UAAmB,EACnB,wBAAiC,EACjC,kBAA2B,EAC3B,SAAkB,EAClB,sBAA+B,EAC/B,sBAA+B,EAC/B,qBAA8B,EAC9B,iBAA0B,EAC1B,gBAAyB,EACzB,gBAAyB,EACzB,mBAA4B,EAC5B,gCAAyC,EACzC,kBAA2B;QAE3B,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;QACtC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;QAC/C,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAA;QAC5C,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;QACxC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;QAClC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;QACxC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;QAClC,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;QACxC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;QAClC,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAA;QAC9C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,wBAAwB,GAAG,wBAAwB,CAAA;QACxD,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAA;QAC5C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,sBAAsB,GAAG,sBAAsB,CAAA;QACpD,IAAI,CAAC,sBAAsB,GAAG,sBAAsB,CAAA;QACpD,IAAI,CAAC,qBAAqB,GAAG,qBAAqB,CAAA;QAClD,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAA;QAC1C,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;QACxC,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;QACxC,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAA;QAC9C,IAAI,CAAC,gCAAgC,GAAG,gCAAgC,CAAA;QACxE,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAA;IAChD,CAAC;CACJ"}
|
|
@@ -52,13 +52,13 @@ export declare class TCF2Settings {
|
|
|
52
52
|
examplesLabel: string;
|
|
53
53
|
firstLayerMobileVariant?: FirstLayerMobileVariant;
|
|
54
54
|
showDataSharedOutsideEUText: boolean;
|
|
55
|
-
dataSharedOutsideEUText?:
|
|
55
|
+
dataSharedOutsideEUText?: string;
|
|
56
56
|
vendorIdsOutsideEUList: [number];
|
|
57
57
|
scope: TCF2Scope;
|
|
58
58
|
changedPurposes: TCF2ChangedPurposes;
|
|
59
59
|
acmV2Enabled: boolean;
|
|
60
60
|
selectedATPIds: number[];
|
|
61
|
-
constructor(firstLayerTitle: string, secondLayerTitle: string, tabsPurposeLabel: string, tabsVendorsLabel: string, labelsFeatures: string, labelsIabVendors: string, labelsNonIabPurposes: string, labelsNonIabVendors: string, labelsPurposes: string, vendorFeatures: string, vendorLegitimateInterestPurposes: string, vendorPurpose: string, vendorSpecialFeatures: string, vendorSpecialPurposes: string, togglesConsentToggleLabel: string, togglesLegIntToggleLabel: string, buttonsAcceptAllLabel: string, buttonsDenyAllLabel: string, buttonsSaveLabel: string, linksManageSettingsLabel: string, linksVendorListLinkLabel: string, cmpId: number, cmpVersion: number, firstLayerHideToggles: boolean, secondLayerHideToggles: boolean, hideLegitimateInterestToggles: boolean, secondLayerHideButtonDeny: boolean, publisherCountryCode: string, purposeOneTreatment: boolean, selectedVendorIds: [number], gdprApplies: boolean, selectedStacks: [number], disabledSpecialFeatures: [number], firstLayerShowDescriptions: boolean, hideNonIabOnFirstLayer: boolean, resurfacePeriodEnded: boolean, resurfacePurposeChanged: boolean, resurfaceVendorAdded: boolean, firstLayerDescription: string, firstLayerAdditionalInfo: string, secondLayerDescription: string, togglesSpecialFeaturesToggleOn: string, togglesSpecialFeaturesToggleOff: string, appLayerNoteResurface: string, firstLayerNoteResurface: string, categoriesOfDataLabel: string, dataRetentionPeriodLabel: string, legitimateInterestLabel: string, version: string, examplesLabel: string, showDataSharedOutsideEUText: boolean, vendorIdsOutsideEUList: [number], scope: TCF2Scope, changedPurposes: TCF2ChangedPurposes, acmV2Enabled: boolean, selectedATPIds: number[], firstLayerHideButtonDeny?: boolean, firstLayerMobileVariant?: FirstLayerMobileVariant, dataSharedOutsideEUText?:
|
|
61
|
+
constructor(firstLayerTitle: string, secondLayerTitle: string, tabsPurposeLabel: string, tabsVendorsLabel: string, labelsFeatures: string, labelsIabVendors: string, labelsNonIabPurposes: string, labelsNonIabVendors: string, labelsPurposes: string, vendorFeatures: string, vendorLegitimateInterestPurposes: string, vendorPurpose: string, vendorSpecialFeatures: string, vendorSpecialPurposes: string, togglesConsentToggleLabel: string, togglesLegIntToggleLabel: string, buttonsAcceptAllLabel: string, buttonsDenyAllLabel: string, buttonsSaveLabel: string, linksManageSettingsLabel: string, linksVendorListLinkLabel: string, cmpId: number, cmpVersion: number, firstLayerHideToggles: boolean, secondLayerHideToggles: boolean, hideLegitimateInterestToggles: boolean, secondLayerHideButtonDeny: boolean, publisherCountryCode: string, purposeOneTreatment: boolean, selectedVendorIds: [number], gdprApplies: boolean, selectedStacks: [number], disabledSpecialFeatures: [number], firstLayerShowDescriptions: boolean, hideNonIabOnFirstLayer: boolean, resurfacePeriodEnded: boolean, resurfacePurposeChanged: boolean, resurfaceVendorAdded: boolean, firstLayerDescription: string, firstLayerAdditionalInfo: string, secondLayerDescription: string, togglesSpecialFeaturesToggleOn: string, togglesSpecialFeaturesToggleOff: string, appLayerNoteResurface: string, firstLayerNoteResurface: string, categoriesOfDataLabel: string, dataRetentionPeriodLabel: string, legitimateInterestLabel: string, version: string, examplesLabel: string, showDataSharedOutsideEUText: boolean, vendorIdsOutsideEUList: [number], scope: TCF2Scope, changedPurposes: TCF2ChangedPurposes, acmV2Enabled: boolean, selectedATPIds: number[], firstLayerHideButtonDeny?: boolean, firstLayerMobileVariant?: FirstLayerMobileVariant, dataSharedOutsideEUText?: string);
|
|
62
62
|
}
|
|
63
63
|
export declare enum FirstLayerMobileVariant {
|
|
64
64
|
sheet = 0,
|
|
@@ -3,11 +3,13 @@ import { UsercentricsLocation } from "./UsercentricsLocation";
|
|
|
3
3
|
import { UsercentricsService } from "./UsercentricsService";
|
|
4
4
|
import { UsercentricsSettings } from "./UsercentricsSettings";
|
|
5
5
|
import { UsercentricsVariant } from "./UsercentricsVariant";
|
|
6
|
+
import { LegalBasisLocalization } from "./LegalBasisLocalization";
|
|
6
7
|
export declare class UsercentricsCMPData {
|
|
7
8
|
settings: UsercentricsSettings;
|
|
8
9
|
services: [UsercentricsService];
|
|
9
10
|
categories: [UsercentricsCategory];
|
|
10
11
|
activeVariant: UsercentricsVariant;
|
|
11
12
|
userLocation: UsercentricsLocation;
|
|
12
|
-
|
|
13
|
+
legalBasis: LegalBasisLocalization;
|
|
14
|
+
constructor(settings: UsercentricsSettings, services: [UsercentricsService], categories: [UsercentricsCategory], activeVariant: UsercentricsVariant, userLocation: UsercentricsLocation, legalBasis: LegalBasisLocalization);
|
|
13
15
|
}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
export class UsercentricsCMPData {
|
|
2
|
-
constructor(settings, services, categories, activeVariant, userLocation) {
|
|
2
|
+
constructor(settings, services, categories, activeVariant, userLocation, legalBasis) {
|
|
3
3
|
this.settings = settings;
|
|
4
4
|
this.services = services;
|
|
5
5
|
this.categories = categories;
|
|
6
6
|
this.activeVariant = activeVariant;
|
|
7
7
|
this.userLocation = userLocation;
|
|
8
|
+
this.legalBasis = legalBasis;
|
|
8
9
|
}
|
|
9
10
|
}
|
|
10
11
|
//# sourceMappingURL=UsercentricsCMPData.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UsercentricsCMPData.js","sourceRoot":"","sources":["../../src/models/UsercentricsCMPData.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"UsercentricsCMPData.js","sourceRoot":"","sources":["../../src/models/UsercentricsCMPData.tsx"],"names":[],"mappings":"AAOA,MAAM,OAAO,mBAAmB;IAe5B,YACI,QAA8B,EAC9B,QAA+B,EAC/B,UAAkC,EAClC,aAAkC,EAClC,YAAkC,EAClC,UAAkC;QAElC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;QAClC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;QAChC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;IAChC,CAAC;CACJ"}
|
package/lib/models/index.d.ts
CHANGED
package/lib/models/index.js
CHANGED
package/lib/models/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/models/index.tsx"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,WAAW,CAAC;AAC1B,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mCAAmC,CAAC;AAClD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/models/index.tsx"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,WAAW,CAAC;AAC1B,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mCAAmC,CAAC;AAClD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@usercentrics/react-native-sdk",
|
|
3
|
-
"version": "2.15.
|
|
3
|
+
"version": "2.15.4",
|
|
4
4
|
"description": "Usercentrics SDK",
|
|
5
5
|
"homepage": "https://usercentrics.com",
|
|
6
6
|
"main": "lib/index.js",
|
|
7
7
|
"types": "lib/index.d.ts",
|
|
8
8
|
"author": "Usercentrics <developer@usercentrics.com>",
|
|
9
9
|
"iosPackageName": "react-native-usercentrics",
|
|
10
|
-
"iosPackageVersion": "2.15.
|
|
10
|
+
"iosPackageVersion": "2.15.4",
|
|
11
11
|
"license": "SEE LICENSE IN LICENSE",
|
|
12
12
|
"files": [
|
|
13
13
|
"android",
|