@usercentrics/react-native-sdk 2.8.4 → 2.9.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 CHANGED
@@ -1,5 +1,22 @@
1
1
  [Release Notes](https://docs.usercentrics.com/cmp_in_app_sdk/latest/about/history/)
2
2
 
3
+ ### 2.9.0 - October 6, 2023
4
+
5
+ ## Features
6
+
7
+ * :rocket: **Full TCF 2.2 Support**: As the industry shifts to TCF 2.2 (deadline: November 20, 2024), we are pleased to announce that SDK Version 2.9.0 now offers comprehensive support for this new industry standard.
8
+ * :warning: **Important Note**: Please be aware that this version is incompatible with TCF 2.0. Before upgrading to V 2.9.0, ensure a smooth transition to TCF 2.2 following the guidelines:
9
+
10
+ [How to migrate from TCF v2.0 to TCF v2.2](https://usercentrics.atlassian.net/wiki/spaces/SKB/pages/2668789801/How+to+migrate+from+TCF+v2.0+to+TCF+v2.2#\uD83D\uDCD8-Migration-instructions-for-TCF-v2.2)
11
+
12
+ ## Key Changes and Enhancements:
13
+
14
+ * Updated Global Vendor List: We've transitioned to Global Vendor List v3 to align with industry standards.
15
+ * Legitimate Interest: To enhance transparency and privacy, purposes 3 to 6 have been removed, and purpose 11 has been introduced.
16
+ * Improved User Interface: We've made enhancements to the banner's second layer for a better user experience.
17
+ * Vendor Count Display: Users can now easily see the total count of IAB and non-IAB vendors.
18
+ * New Resurface Requirements: We've implemented new resurfacing requirements to keep your CMP compliant with the latest standards.
19
+
3
20
  ### 2.8.4 - September 27, 2023
4
21
 
5
22
  ## Improvements
@@ -1,4 +1,4 @@
1
- def usercentrics_version = "2.8.4"
1
+ def usercentrics_version = "2.9.0"
2
2
  version usercentrics_version
3
3
 
4
4
  buildscript {
@@ -215,7 +215,12 @@ internal class GetCMPDataMock {
215
215
  firstLayerHideToggles = false,
216
216
  gdprApplies = true,
217
217
  linksVendorListLinkLabel = "Vendorlist",
218
- tabsPurposeLabel = "Purposes"
218
+ tabsPurposeLabel = "Purposes",
219
+ version = "2.2",
220
+ categoriesOfDataLabel = "categoriesOfDataLabel",
221
+ dataRetentionPeriodLabel = "dataRetentionPeriodLabel",
222
+ legitimateInterestLabel = "legitimateInterestLabel",
223
+ examplesLabel = "examplesLabel",
219
224
  )
220
225
  private val fakeCCPASettings = CCPASettings(
221
226
  secondLayerHideLanguageSwitch = false,
@@ -398,6 +403,11 @@ internal class GetCMPDataMock {
398
403
  "togglesSpecialFeaturesToggleOff" to "Off",
399
404
  "appLayerNoteResurface" to "You can change your privacy settings or withdraw your consent at any time by opening the menu point Privacy Settings.",
400
405
  "firstLayerNoteResurface" to "You can change your privacy settings or withdraw your consent at any time by clicking on our Privacy Button.",
406
+ "categoriesOfDataLabel" to "categoriesOfDataLabel",
407
+ "dataRetentionPeriodLabel" to "dataRetentionPeriodLabel",
408
+ "legitimateInterestLabel" to "legitimateInterestLabel",
409
+ "examplesLabel" to "examplesLabel",
410
+ "version" to "2.2",
401
411
  )
402
412
  private val expectedCCPASettings = hashMapOf(
403
413
  "optOutNoticeLabel" to "Do not sell my personal information",
@@ -1,6 +1,14 @@
1
1
  package com.usercentrics.reactnativemodule.mock
2
2
 
3
- import com.usercentrics.sdk.services.tcf.interfaces.*
3
+ import com.usercentrics.sdk.services.tcf.interfaces.IdAndName
4
+ import com.usercentrics.sdk.services.tcf.interfaces.TCFData
5
+ import com.usercentrics.sdk.services.tcf.interfaces.TCFFeature
6
+ import com.usercentrics.sdk.services.tcf.interfaces.TCFPurpose
7
+ import com.usercentrics.sdk.services.tcf.interfaces.TCFSpecialFeature
8
+ import com.usercentrics.sdk.services.tcf.interfaces.TCFSpecialPurpose
9
+ import com.usercentrics.sdk.services.tcf.interfaces.TCFStack
10
+ import com.usercentrics.sdk.services.tcf.interfaces.TCFVendor
11
+ import com.usercentrics.tcf.core.model.gvl.VendorUrl
4
12
 
5
13
  internal class GetTCFDataMock {
6
14
  companion object {
@@ -8,7 +16,7 @@ internal class GetTCFDataMock {
8
16
  features = listOf(
9
17
  TCFFeature(
10
18
  purposeDescription = "Data from offline data sources can be combined with your online activity in support of one or more purposes",
11
- descriptionLegal = "Vendors can:\n* Combine data obtained offline with data collected online in support of one or more Purposes or Special Purposes.",
19
+ illustrations = listOf("Vendors can:\n* Combine data obtained offline with data collected online in support of one or more Purposes or Special Purposes."),
12
20
  id = 2,
13
21
  name = "Link different devices",
14
22
  )
@@ -16,7 +24,7 @@ internal class GetTCFDataMock {
16
24
  purposes = listOf(
17
25
  TCFPurpose(
18
26
  purposeDescription = "Cookies, device identifiers, or other information can be stored or accessed on your device for the purposes presented to you.",
19
- descriptionLegal = "Vendors can:\n* Store and access information on the device such as cookies and device identifiers presented to a user.",
27
+ illustrations = listOf("Vendors can:\n* Store and access information on the device such as cookies and device identifiers presented to a user."),
20
28
  id = 1,
21
29
  name = "Store and/or access information on a device",
22
30
  consent = null,
@@ -30,7 +38,7 @@ internal class GetTCFDataMock {
30
38
  specialFeatures = listOf(
31
39
  TCFSpecialFeature(
32
40
  purposeDescription = "Your precise geolocation data can be used in support of one or more purposes. This means your location can be accurate to within several meters.",
33
- descriptionLegal = "Vendors can:\n* Collect and process precise geolocation data in support of one or more purposes.\nN.B. Precise geolocation means that there are no restrictions on the precision of a user’s location; this can be accurate to within several meters.",
41
+ illustrations = listOf("Vendors can:\n* Collect and process precise geolocation data in support of one or more purposes.\nN.B. Precise geolocation means that there are no restrictions on the precision of a user’s location; this can be accurate to within several meters."),
34
42
  id = 1,
35
43
  name = "Use precise geolocation data",
36
44
  consent = null,
@@ -42,7 +50,7 @@ internal class GetTCFDataMock {
42
50
  specialPurposes = listOf(
43
51
  TCFSpecialPurpose(
44
52
  purposeDescription = "Your data can be used to monitor for and prevent fraudulent activity, and ensure systems and processes work properly and securely.",
45
- descriptionLegal = "To ensure security, prevent fraud and debug vendors can:\n* Ensure data are securely transmitted\n* Detect and prevent malicious, fraudulent, invalid, or illegal activity.\n* Ensure correct and efficient operation of systems and processes, including to monitor and enhance the performance of systems and processes engaged in permitted purposes\nVendors cannot:\n* Conduct any other data processing operation allowed under a different purpose under this purpose.\nNote: Data collected and used to ensure security, prevent fraud, and debug may include automatically-sent device characteristics for identification, precise geolocation data, and data obtained by actively scanning device characteristics for identification without separate disclosure and/or opt-in.",
53
+ illustrations = listOf("To ensure security, prevent fraud and debug vendors can:\n* Ensure data are securely transmitted\n* Detect and prevent malicious, fraudulent, invalid, or illegal activity.\n* Ensure correct and efficient operation of systems and processes, including to monitor and enhance the performance of systems and processes engaged in permitted purposes\nVendors cannot:\n* Conduct any other data processing operation allowed under a different purpose under this purpose.\nNote: Data collected and used to ensure security, prevent fraud, and debug may include automatically-sent device characteristics for identification, precise geolocation data, and data obtained by actively scanning device characteristics for identification without separate disclosure and/or opt-in."),
46
54
  id = 1,
47
55
  name = "Ensure security, prevent fraud, and debug",
48
56
  )
@@ -92,10 +100,14 @@ internal class GetTCFDataMock {
92
100
  deviceStorage = null,
93
101
  usesCookies = false,
94
102
  cookieRefresh = null,
95
- dataSharedOutsideEU = false
103
+ dataSharedOutsideEU = false,
104
+ dataRetention = null,
105
+ dataCategories = listOf(IdAndName(id = 123, name = "name")),
106
+ vendorUrls = listOf(VendorUrl(langId = "langId", privacy = "privacy", legIntClaim = "legIntClaim"))
96
107
  )
97
108
  ),
98
- tcString = "abc"
109
+ tcString = "abc",
110
+ thirdPartyCount = 123,
99
111
  )
100
112
 
101
113
  // From the debugger
@@ -103,7 +115,7 @@ internal class GetTCFDataMock {
103
115
  "features" to listOf(
104
116
  mapOf(
105
117
  "purposeDescription" to "Data from offline data sources can be combined with your online activity in support of one or more purposes",
106
- "descriptionLegal" to "Vendors can:\n* Combine data obtained offline with data collected online in support of one or more Purposes or Special Purposes.",
118
+ "illustrations" to listOf("Vendors can:\n* Combine data obtained offline with data collected online in support of one or more Purposes or Special Purposes."),
107
119
  "id" to 2,
108
120
  "name" to "Link different devices",
109
121
  )
@@ -111,7 +123,7 @@ internal class GetTCFDataMock {
111
123
  "purposes" to listOf(
112
124
  mapOf(
113
125
  "purposeDescription" to "Cookies, device identifiers, or other information can be stored or accessed on your device for the purposes presented to you.",
114
- "descriptionLegal" to "Vendors can:\n* Store and access information on the device such as cookies and device identifiers presented to a user.",
126
+ "illustrations" to listOf("Vendors can:\n* Store and access information on the device such as cookies and device identifiers presented to a user."),
115
127
  "id" to 1,
116
128
  "name" to "Store and/or access information on a device",
117
129
  "consent" to null,
@@ -125,7 +137,7 @@ internal class GetTCFDataMock {
125
137
  "specialFeatures" to listOf(
126
138
  mapOf(
127
139
  "purposeDescription" to "Your precise geolocation data can be used in support of one or more purposes. This means your location can be accurate to within several meters.",
128
- "descriptionLegal" to "Vendors can:\n* Collect and process precise geolocation data in support of one or more purposes.\nN.B. Precise geolocation means that there are no restrictions on the precision of a user’s location; this can be accurate to within several meters.",
140
+ "illustrations" to listOf("Vendors can:\n* Collect and process precise geolocation data in support of one or more purposes.\nN.B. Precise geolocation means that there are no restrictions on the precision of a user’s location; this can be accurate to within several meters."),
129
141
  "id" to 1,
130
142
  "name" to "Use precise geolocation data",
131
143
  "consent" to null,
@@ -137,7 +149,7 @@ internal class GetTCFDataMock {
137
149
  "specialPurposes" to listOf(
138
150
  mapOf(
139
151
  "purposeDescription" to "Your data can be used to monitor for and prevent fraudulent activity, and ensure systems and processes work properly and securely.",
140
- "descriptionLegal" to "To ensure security, prevent fraud and debug vendors can:\n* Ensure data are securely transmitted\n* Detect and prevent malicious, fraudulent, invalid, or illegal activity.\n* Ensure correct and efficient operation of systems and processes, including to monitor and enhance the performance of systems and processes engaged in permitted purposes\nVendors cannot:\n* Conduct any other data processing operation allowed under a different purpose under this purpose.\nNote: Data collected and used to ensure security, prevent fraud, and debug may include automatically-sent device characteristics for identification, precise geolocation data, and data obtained by actively scanning device characteristics for identification without separate disclosure and/or opt-in.",
152
+ "illustrations" to listOf("To ensure security, prevent fraud and debug vendors can:\n* Ensure data are securely transmitted\n* Detect and prevent malicious, fraudulent, invalid, or illegal activity.\n* Ensure correct and efficient operation of systems and processes, including to monitor and enhance the performance of systems and processes engaged in permitted purposes\nVendors cannot:\n* Conduct any other data processing operation allowed under a different purpose under this purpose.\nNote: Data collected and used to ensure security, prevent fraud, and debug may include automatically-sent device characteristics for identification, precise geolocation data, and data obtained by actively scanning device characteristics for identification without separate disclosure and/or opt-in."),
141
153
  "id" to 1,
142
154
  "name" to "Ensure security, prevent fraud, and debug",
143
155
  )
@@ -184,10 +196,14 @@ internal class GetTCFDataMock {
184
196
  "deviceStorageDisclosureUrl" to null,
185
197
  "usesCookies" to false,
186
198
  "cookieRefresh" to null,
187
- "dataSharedOutsideEU" to false
199
+ "dataSharedOutsideEU" to false,
200
+ "dataRetention" to null,
201
+ "dataCategories" to listOf(123),
202
+ "vendorUrls" to listOf(mapOf("langId" to "langId", "privacy" to "privacy", "legIntClaim" to "legIntClaim")),
188
203
  ),
189
204
  ),
190
- "tcString" to "abc"
205
+ "tcString" to "abc",
206
+ "thirdPartyCount" to 123,
191
207
  )
192
208
  }
193
209
  }
@@ -36,15 +36,19 @@ internal fun List<*>.serialize(): WritableArray {
36
36
  is Boolean -> {
37
37
  array.pushBoolean(value)
38
38
  }
39
+
39
40
  is Int -> {
40
41
  array.pushInt(value)
41
42
  }
43
+
42
44
  is Double -> {
43
45
  array.pushDouble(value)
44
46
  }
47
+
45
48
  is String -> {
46
49
  array.pushString(value)
47
50
  }
51
+
48
52
  is Map<*, *> -> {
49
53
  val newMap = (value as Map<String, Any>).toWritableMap()
50
54
  array.pushMap(newMap)
@@ -75,15 +79,19 @@ internal fun Map<String, Any?>.toWritableMap(): WritableMap {
75
79
  is Boolean -> {
76
80
  map.putBoolean(key, value)
77
81
  }
82
+
78
83
  is Int -> {
79
84
  map.putInt(key, value)
80
85
  }
86
+
81
87
  is Double -> {
82
88
  map.putDouble(key, value)
83
89
  }
90
+
84
91
  is String -> {
85
92
  map.putString(key, value)
86
93
  }
94
+
87
95
  is Map<*, *> -> {
88
96
  val newMap = (value as Map<String, Any>).toWritableMap()
89
97
  map.putMap(key, newMap)
@@ -1,7 +1,15 @@
1
1
  package com.usercentrics.reactnativeusercentrics.extensions
2
2
 
3
3
  import com.facebook.react.bridge.WritableMap
4
- import com.usercentrics.sdk.services.tcf.interfaces.*
4
+ import com.usercentrics.sdk.services.tcf.interfaces.TCFData
5
+ import com.usercentrics.sdk.services.tcf.interfaces.TCFFeature
6
+ import com.usercentrics.sdk.services.tcf.interfaces.TCFPurpose
7
+ import com.usercentrics.sdk.services.tcf.interfaces.TCFSpecialFeature
8
+ import com.usercentrics.sdk.services.tcf.interfaces.TCFSpecialPurpose
9
+ import com.usercentrics.sdk.services.tcf.interfaces.TCFStack
10
+ import com.usercentrics.sdk.services.tcf.interfaces.TCFVendor
11
+ import com.usercentrics.tcf.core.model.gvl.DataRetention
12
+ import com.usercentrics.tcf.core.model.gvl.VendorUrl
5
13
 
6
14
  internal fun TCFData.serialize(): WritableMap {
7
15
  return mapOf(
@@ -11,14 +19,15 @@ internal fun TCFData.serialize(): WritableMap {
11
19
  "specialPurposes" to specialPurposes.map { it.serialize() },
12
20
  "stacks" to stacks.map { it.serialize() },
13
21
  "vendors" to vendors.map { it.serialize() },
14
- "tcString" to tcString
22
+ "tcString" to tcString,
23
+ "thirdPartyCount" to thirdPartyCount
15
24
  ).toWritableMap()
16
25
  }
17
26
 
18
27
  private fun TCFFeature.serialize(): WritableMap {
19
28
  return mapOf(
20
29
  "purposeDescription" to purposeDescription,
21
- "descriptionLegal" to descriptionLegal,
30
+ "illustrations" to illustrations,
22
31
  "id" to id,
23
32
  "name" to name,
24
33
  ).toWritableMap()
@@ -27,7 +36,7 @@ private fun TCFFeature.serialize(): WritableMap {
27
36
  private fun TCFPurpose.serialize(): WritableMap {
28
37
  return mapOf(
29
38
  "purposeDescription" to purposeDescription,
30
- "descriptionLegal" to descriptionLegal,
39
+ "illustrations" to illustrations,
31
40
  "id" to id,
32
41
  "name" to name,
33
42
  "consent" to consent,
@@ -43,7 +52,7 @@ private fun TCFPurpose.serialize(): WritableMap {
43
52
  private fun TCFSpecialPurpose.serialize(): WritableMap {
44
53
  return mapOf(
45
54
  "purposeDescription" to purposeDescription,
46
- "descriptionLegal" to descriptionLegal,
55
+ "illustrations" to illustrations,
47
56
  "id" to id,
48
57
  "name" to name,
49
58
  ).toWritableMap()
@@ -52,7 +61,7 @@ private fun TCFSpecialPurpose.serialize(): WritableMap {
52
61
  private fun TCFSpecialFeature.serialize(): WritableMap {
53
62
  return mapOf(
54
63
  "purposeDescription" to purposeDescription,
55
- "descriptionLegal" to descriptionLegal,
64
+ "illustrations" to illustrations,
56
65
  "id" to id,
57
66
  "name" to name,
58
67
  "consent" to consent,
@@ -94,6 +103,16 @@ private fun TCFVendor.serialize(): WritableMap {
94
103
  // "deviceStorage" to deviceStorage.serialize(),
95
104
  "usesCookies" to usesCookies,
96
105
  "cookieRefresh" to cookieRefresh,
97
- "dataSharedOutsideEU" to dataSharedOutsideEU
106
+ "dataSharedOutsideEU" to dataSharedOutsideEU,
107
+ "dataCategories" to dataCategories.map { it.id },
108
+ "vendorUrls" to vendorUrls.map { it.serialize() }
109
+ ).toWritableMap()
110
+ }
111
+
112
+ private fun VendorUrl.serialize(): WritableMap {
113
+ return mapOf(
114
+ "langId" to langId,
115
+ "privacy" to privacy,
116
+ "legIntClaim" to legIntClaim
98
117
  ).toWritableMap()
99
118
  }
@@ -184,6 +184,11 @@ private fun TCF2Settings.serialize(): WritableMap {
184
184
  "togglesSpecialFeaturesToggleOff" to togglesSpecialFeaturesToggleOff,
185
185
  "appLayerNoteResurface" to appLayerNoteResurface,
186
186
  "firstLayerNoteResurface" to firstLayerNoteResurface,
187
+ "categoriesOfDataLabel" to categoriesOfDataLabel,
188
+ "dataRetentionPeriodLabel" to dataRetentionPeriodLabel,
189
+ "legitimateInterestLabel" to legitimateInterestLabel,
190
+ "version" to version,
191
+ "examplesLabel" to examplesLabel,
187
192
  ).toWritableMap()
188
193
  }
189
194
 
@@ -9,7 +9,9 @@ extension TCFData {
9
9
  "specialFeatures" : specialFeatures.map { $0.toDictionary() },
10
10
  "specialPurposes" : specialPurposes.map { $0.toDictionary() },
11
11
  "stacks" : stacks.map { $0.toDictionary() },
12
- "vendors" : vendors.map { $0.toDictionary() }
12
+ "vendors" : vendors.map { $0.toDictionary() },
13
+ "tcString": tcString,
14
+ "thirdPartyCount": thirdPartyCount
13
15
  ]
14
16
  }
15
17
  }
@@ -18,7 +20,7 @@ extension TCFFeature {
18
20
  func toDictionary() -> NSDictionary {
19
21
  return[
20
22
  "purposeDescription" : purposeDescription,
21
- "descriptionLegal" : descriptionLegal,
23
+ "illustrations" : illustrations,
22
24
  "id" : id,
23
25
  "name" : name,
24
26
  ]
@@ -29,7 +31,7 @@ extension TCFPurpose {
29
31
  func toDictionary() -> NSDictionary {
30
32
  return[
31
33
  "purposeDescription" : purposeDescription,
32
- "descriptionLegal" : descriptionLegal,
34
+ "illustrations" : illustrations,
33
35
  "id" : id,
34
36
  "name" : name,
35
37
  "consent" : consent?.boolValue as Any,
@@ -46,7 +48,7 @@ extension TCFSpecialPurpose {
46
48
  func toDictionary() -> NSDictionary {
47
49
  return[
48
50
  "purposeDescription" : purposeDescription,
49
- "descriptionLegal" : descriptionLegal,
51
+ "illustrations" : illustrations,
50
52
  "id" : id,
51
53
  "name" : name,
52
54
  ]
@@ -59,7 +61,7 @@ extension TCFSpecialFeature {
59
61
  func toDictionary() -> NSDictionary {
60
62
  return[
61
63
  "purposeDescription" : purposeDescription,
62
- "descriptionLegal" : descriptionLegal,
64
+ "illustrations" : illustrations,
63
65
  "id" : id,
64
66
  "name" : name,
65
67
  "consent" : self.consent?.boolValue as Any ,
@@ -103,7 +105,20 @@ extension TCFVendor {
103
105
  "deviceStorageDisclosureUrl" : deviceStorageDisclosureUrl as Any,
104
106
  "usesCookies" : usesCookies,
105
107
  "cookieRefresh" : cookieRefresh?.boolValue as Any,
106
- "dataSharedOutsideEU": dataSharedOutsideEU?.boolValue as Any
108
+ "dataSharedOutsideEU": dataSharedOutsideEU?.boolValue as Any,
109
+ "dataCategories": dataCategories.map { $0.id },
110
+ "vendorUrls": vendorUrls.map { $0.toDictionary() }
111
+ ]
112
+ }
113
+ }
114
+
115
+ extension VendorUrl {
116
+
117
+ func toDictionary() -> NSDictionary {
118
+ return [
119
+ "langId": langId as Any,
120
+ "privacy": privacy as Any,
121
+ "legIntClaim": legIntClaim as Any
107
122
  ]
108
123
  }
109
124
  }
@@ -9,6 +9,7 @@ extension UsercentricsCMPData {
9
9
  "categories": self.categories.map { $0.toDictionary() },
10
10
  "activeVariant": self.activeVariant.ordinal as Any,
11
11
  "userLocation": self.userLocation.toDictionary(),
12
+ "legalBasis": self.legalBasis.toDictionary()
12
13
  ]
13
14
  }
14
15
  }
@@ -189,6 +190,12 @@ extension TCF2Settings {
189
190
  "togglesSpecialFeaturesToggleOff" : self.togglesSpecialFeaturesToggleOff as Any,
190
191
  "appLayerNoteResurface" : self.appLayerNoteResurface as Any,
191
192
  "firstLayerNoteResurface" : self.firstLayerNoteResurface as Any,
193
+ "version": self.version as Any,
194
+ "categoriesOfDataLabel": self.categoriesOfDataLabel,
195
+ "dataRetentionPeriodLabel": self.dataRetentionPeriodLabel,
196
+ "legitimateInterestLabel": self.legitimateInterestLabel,
197
+ "version": self.version,
198
+ "examplesLabel": self.examplesLabel,
192
199
  ]
193
200
  }
194
201
  }
@@ -342,3 +349,49 @@ extension UsercentricsLocation {
342
349
  ]
343
350
  }
344
351
  }
352
+
353
+
354
+ extension LegalBasisLocalization {
355
+
356
+ func toDictionary() -> NSDictionary {
357
+ return [
358
+ "labelsAria": (labelsAria?.toDictionary() ?? nil) as Any,
359
+ "data": data as Any
360
+ ]
361
+ }
362
+ }
363
+
364
+ extension TranslationAriaLabels {
365
+
366
+ func toDictionary() -> NSDictionary {
367
+ return [
368
+ "acceptAllButton": acceptAllButton as Any,
369
+ "ccpaButton": ccpaButton as Any,
370
+ "ccpaMoreInformation": ccpaMoreInformation as Any,
371
+ "closeButton": closeButton as Any,
372
+ "collapse": collapse as Any,
373
+ "cookiePolicyButton": cookiePolicyButton as Any,
374
+ "copyControllerId": copyControllerId as Any,
375
+ "denyAllButton": denyAllButton as Any,
376
+ "expand": expand as Any,
377
+ "fullscreenButton": fullscreenButton as Any,
378
+ "imprintButton": imprintButton as Any,
379
+ "languageSelector": languageSelector as Any,
380
+ "privacyButton": privacyButton as Any,
381
+ "privacyPolicyButton": privacyPolicyButton as Any,
382
+ "saveButton": saveButton as Any,
383
+ "serviceInCategoryDetails": serviceInCategoryDetails as Any,
384
+ "servicesInCategory": servicesInCategory as Any,
385
+ "tabButton": tabButton as Any,
386
+ "usercentricsCMPButtons": usercentricsCMPButtons as Any,
387
+ "usercentricsCMPContent": usercentricsCMPContent as Any,
388
+ "usercentricsCMPHeader": usercentricsCMPHeader as Any,
389
+ "usercentricsCMPUI": usercentricsCMPUI as Any,
390
+ "usercentricsCard": usercentricsCard as Any,
391
+ "usercentricsList": usercentricsList as Any,
392
+ "vendorConsentToggle": vendorConsentToggle as Any,
393
+ "vendorDetailedStorageInformation": vendorDetailedStorageInformation as Any,
394
+ "vendorLegIntToggle": vendorLegIntToggle as Any
395
+ ]
396
+ }
397
+ }
@@ -45,5 +45,10 @@ export declare class TCF2Settings {
45
45
  togglesSpecialFeaturesToggleOff: string;
46
46
  appLayerNoteResurface: string;
47
47
  firstLayerNoteResurface: string;
48
- 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, firstLayerHideButtonDeny?: boolean);
48
+ categoriesOfDataLabel: string;
49
+ dataRetentionPeriodLabel: string;
50
+ legitimateInterestLabel: string;
51
+ version: string;
52
+ examplesLabel: string;
53
+ 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, firstLayerHideButtonDeny?: boolean);
49
54
  }
@@ -1,5 +1,5 @@
1
1
  export class TCF2Settings {
2
- constructor(firstLayerTitle, secondLayerTitle, tabsPurposeLabel, tabsVendorsLabel, labelsFeatures, labelsIabVendors, labelsNonIabPurposes, labelsNonIabVendors, labelsPurposes, vendorFeatures, vendorLegitimateInterestPurposes, vendorPurpose, vendorSpecialFeatures, vendorSpecialPurposes, togglesConsentToggleLabel, togglesLegIntToggleLabel, buttonsAcceptAllLabel, buttonsDenyAllLabel, buttonsSaveLabel, linksManageSettingsLabel, linksVendorListLinkLabel, cmpId, cmpVersion, firstLayerHideToggles, secondLayerHideToggles, hideLegitimateInterestToggles, secondLayerHideButtonDeny, publisherCountryCode, purposeOneTreatment, selectedVendorIds, gdprApplies, selectedStacks, disabledSpecialFeatures, firstLayerShowDescriptions, hideNonIabOnFirstLayer, resurfacePeriodEnded, resurfacePurposeChanged, resurfaceVendorAdded, firstLayerDescription, firstLayerAdditionalInfo, secondLayerDescription, togglesSpecialFeaturesToggleOn, togglesSpecialFeaturesToggleOff, appLayerNoteResurface, firstLayerNoteResurface, firstLayerHideButtonDeny) {
2
+ constructor(firstLayerTitle, secondLayerTitle, tabsPurposeLabel, tabsVendorsLabel, labelsFeatures, labelsIabVendors, labelsNonIabPurposes, labelsNonIabVendors, labelsPurposes, vendorFeatures, vendorLegitimateInterestPurposes, vendorPurpose, vendorSpecialFeatures, vendorSpecialPurposes, togglesConsentToggleLabel, togglesLegIntToggleLabel, buttonsAcceptAllLabel, buttonsDenyAllLabel, buttonsSaveLabel, linksManageSettingsLabel, linksVendorListLinkLabel, cmpId, cmpVersion, firstLayerHideToggles, secondLayerHideToggles, hideLegitimateInterestToggles, secondLayerHideButtonDeny, publisherCountryCode, purposeOneTreatment, selectedVendorIds, gdprApplies, selectedStacks, disabledSpecialFeatures, firstLayerShowDescriptions, hideNonIabOnFirstLayer, resurfacePeriodEnded, resurfacePurposeChanged, resurfaceVendorAdded, firstLayerDescription, firstLayerAdditionalInfo, secondLayerDescription, togglesSpecialFeaturesToggleOn, togglesSpecialFeaturesToggleOff, appLayerNoteResurface, firstLayerNoteResurface, categoriesOfDataLabel, dataRetentionPeriodLabel, legitimateInterestLabel, version, examplesLabel, firstLayerHideButtonDeny) {
3
3
  this.firstLayerTitle = firstLayerTitle;
4
4
  this.secondLayerTitle = secondLayerTitle;
5
5
  this.tabsPurposeLabel = tabsPurposeLabel;
@@ -46,6 +46,11 @@ export class TCF2Settings {
46
46
  this.togglesSpecialFeaturesToggleOff = togglesSpecialFeaturesToggleOff;
47
47
  this.appLayerNoteResurface = appLayerNoteResurface;
48
48
  this.firstLayerNoteResurface = firstLayerNoteResurface;
49
+ this.categoriesOfDataLabel = categoriesOfDataLabel;
50
+ this.dataRetentionPeriodLabel = dataRetentionPeriodLabel;
51
+ this.legitimateInterestLabel = legitimateInterestLabel;
52
+ this.version = version;
53
+ this.examplesLabel = examplesLabel;
49
54
  }
50
55
  }
51
56
  //# sourceMappingURL=TCF2Settings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TCF2Settings.js","sourceRoot":"","sources":["../../src/models/TCF2Settings.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TCF2Settings.js","sourceRoot":"","sources":["../../src/models/TCF2Settings.tsx"],"names":[],"mappings":"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"}
@@ -6,18 +6,19 @@ export declare class TCFData {
6
6
  stacks: TCFStack[];
7
7
  vendors: TCFVendor[];
8
8
  tcString: String;
9
- constructor(features: TCFFeature[], purposes: TCFPurpose[], specialFeatures: TCFSpecialFeature[], specialPurposes: TCFSpecialPurpose[], stacks: TCFStack[], vendors: TCFVendor[], tcString: String);
9
+ thirdPartyCount: number;
10
+ constructor(features: TCFFeature[], purposes: TCFPurpose[], specialFeatures: TCFSpecialFeature[], specialPurposes: TCFSpecialPurpose[], stacks: TCFStack[], vendors: TCFVendor[], tcString: String, thirdPartyCount: number);
10
11
  }
11
12
  export declare class TCFFeature {
12
13
  purposeDescription: string;
13
- descriptionLegal: string;
14
+ illustrations: [string];
14
15
  id: number;
15
16
  name: string;
16
- constructor(purposeDescription: string, descriptionLegal: string, id: number, name: string);
17
+ constructor(purposeDescription: string, illustrations: [string], id: number, name: string);
17
18
  }
18
19
  export declare class TCFPurpose {
19
20
  purposeDescription: string;
20
- descriptionLegal: string;
21
+ illustrations: [string];
21
22
  id: number;
22
23
  name: string;
23
24
  consent?: boolean;
@@ -26,25 +27,25 @@ export declare class TCFPurpose {
26
27
  showConsentToggle: boolean;
27
28
  showLegitimateInterestToggle: boolean;
28
29
  stackId?: number;
29
- constructor(purposeDescription: string, descriptionLegal: string, id: number, name: string, isPartOfASelectedStack: boolean, showConsentToggle: boolean, showLegitimateInterestToggle: boolean, legitimateInterestConsent?: boolean, consent?: boolean, stackId?: number);
30
+ constructor(purposeDescription: string, illustrations: [string], id: number, name: string, isPartOfASelectedStack: boolean, showConsentToggle: boolean, showLegitimateInterestToggle: boolean, legitimateInterestConsent?: boolean, consent?: boolean, stackId?: number);
30
31
  }
31
32
  export declare class TCFSpecialFeature {
32
33
  purposeDescription: string;
33
- descriptionLegal: string;
34
+ illustrations: [string];
34
35
  id: number;
35
36
  name: string;
36
37
  consent?: boolean;
37
38
  isPartOfASelectedStack: boolean;
38
39
  stackId?: number;
39
40
  showConsentToggle: boolean;
40
- constructor(purposeDescription: string, descriptionLegal: string, id: number, isPartOfASelectedStack: boolean, showConsentToggle: boolean, name: string, consent?: boolean, stackId?: number);
41
+ constructor(purposeDescription: string, illustrations: [string], id: number, isPartOfASelectedStack: boolean, showConsentToggle: boolean, name: string, consent?: boolean, stackId?: number);
41
42
  }
42
43
  export declare class TCFSpecialPurpose {
43
44
  purposeDescription: string;
44
- descriptionLegal: string;
45
+ illustrations: [string];
45
46
  id: number;
46
47
  name: string;
47
- constructor(purposeDescription: string, descriptionLegal: string, id: number, name: string);
48
+ constructor(purposeDescription: string, illustrations: [string], id: number, name: string);
48
49
  }
49
50
  export declare class TCFStack {
50
51
  description: string;
@@ -74,5 +75,13 @@ export declare class TCFVendor {
74
75
  usesCookies: boolean;
75
76
  cookieRefresh?: boolean;
76
77
  dataSharedOutsideEU: boolean;
77
- 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);
78
+ dataCategories: [number];
79
+ vendorUrls: VendorUrl[];
80
+ 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, dataCategories: [number], vendorUrls: VendorUrl[], deviceStorageDisclosureUrl?: string, legitimateInterestConsent?: boolean, consent?: boolean, cookieRefresh?: boolean);
81
+ }
82
+ export declare class VendorUrl {
83
+ langId?: string;
84
+ privacy?: string;
85
+ legIntClaim?: string;
86
+ constructor(langId: string, privacy: string, legIntClaim: string);
78
87
  }
@@ -1,5 +1,5 @@
1
1
  export class TCFData {
2
- constructor(features, purposes, specialFeatures, specialPurposes, stacks, vendors, tcString) {
2
+ constructor(features, purposes, specialFeatures, specialPurposes, stacks, vendors, tcString, thirdPartyCount) {
3
3
  this.features = features;
4
4
  this.purposes = purposes;
5
5
  this.specialFeatures = specialFeatures;
@@ -7,20 +7,21 @@ export class TCFData {
7
7
  this.stacks = stacks;
8
8
  this.vendors = vendors;
9
9
  this.tcString = tcString;
10
+ this.thirdPartyCount = thirdPartyCount;
10
11
  }
11
12
  }
12
13
  export class TCFFeature {
13
- constructor(purposeDescription, descriptionLegal, id, name) {
14
+ constructor(purposeDescription, illustrations, id, name) {
14
15
  this.purposeDescription = purposeDescription;
15
- this.descriptionLegal = descriptionLegal;
16
+ this.illustrations = illustrations;
16
17
  this.id = id;
17
18
  this.name = name;
18
19
  }
19
20
  }
20
21
  export class TCFPurpose {
21
- constructor(purposeDescription, descriptionLegal, id, name, isPartOfASelectedStack, showConsentToggle, showLegitimateInterestToggle, legitimateInterestConsent, consent, stackId) {
22
+ constructor(purposeDescription, illustrations, id, name, isPartOfASelectedStack, showConsentToggle, showLegitimateInterestToggle, legitimateInterestConsent, consent, stackId) {
22
23
  this.purposeDescription = purposeDescription;
23
- this.descriptionLegal = descriptionLegal;
24
+ this.illustrations = illustrations;
24
25
  this.id = id;
25
26
  this.name = name;
26
27
  this.consent = consent;
@@ -32,9 +33,9 @@ export class TCFPurpose {
32
33
  }
33
34
  }
34
35
  export class TCFSpecialFeature {
35
- constructor(purposeDescription, descriptionLegal, id, isPartOfASelectedStack, showConsentToggle, name, consent, stackId) {
36
+ constructor(purposeDescription, illustrations, id, isPartOfASelectedStack, showConsentToggle, name, consent, stackId) {
36
37
  this.purposeDescription = purposeDescription;
37
- this.descriptionLegal = descriptionLegal;
38
+ this.illustrations = illustrations;
38
39
  this.id = id;
39
40
  this.name = name;
40
41
  this.consent = consent;
@@ -44,9 +45,9 @@ export class TCFSpecialFeature {
44
45
  }
45
46
  }
46
47
  export class TCFSpecialPurpose {
47
- constructor(purposeDescription, descriptionLegal, id, name) {
48
+ constructor(purposeDescription, illustrations, id, name) {
48
49
  this.purposeDescription = purposeDescription;
49
- this.descriptionLegal = descriptionLegal;
50
+ this.illustrations = illustrations;
50
51
  this.id = id;
51
52
  this.name = name;
52
53
  }
@@ -61,7 +62,7 @@ export class TCFStack {
61
62
  }
62
63
  }
63
64
  export class TCFVendor {
64
- constructor(features, flexiblePurposes, id, legitimateInterestPurposes, name, policyUrl, purposes, specialFeatures, specialPurposes, showConsentToggle, showLegitimateInterestToggle, cookieMaxAgeSeconds, usesNonCookieAccess, usesCookies, dataSharedOutsideEU, deviceStorageDisclosureUrl, legitimateInterestConsent, consent, cookieRefresh) {
65
+ constructor(features, flexiblePurposes, id, legitimateInterestPurposes, name, policyUrl, purposes, specialFeatures, specialPurposes, showConsentToggle, showLegitimateInterestToggle, cookieMaxAgeSeconds, usesNonCookieAccess, usesCookies, dataSharedOutsideEU, dataCategories, vendorUrls, deviceStorageDisclosureUrl, legitimateInterestConsent, consent, cookieRefresh) {
65
66
  this.consent = consent;
66
67
  this.features = features;
67
68
  this.flexiblePurposes = flexiblePurposes;
@@ -81,6 +82,15 @@ export class TCFVendor {
81
82
  this.usesCookies = usesCookies;
82
83
  this.cookieRefresh = cookieRefresh;
83
84
  this.dataSharedOutsideEU = dataSharedOutsideEU;
85
+ this.dataCategories = dataCategories;
86
+ this.vendorUrls = vendorUrls;
87
+ }
88
+ }
89
+ export class VendorUrl {
90
+ constructor(langId, privacy, legIntClaim) {
91
+ this.langId = langId;
92
+ this.privacy = privacy;
93
+ this.legIntClaim = legIntClaim;
84
94
  }
85
95
  }
86
96
  //# sourceMappingURL=TCFData.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TCFData.js","sourceRoot":"","sources":["../../src/models/TCFData.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TCFData.js","sourceRoot":"","sources":["../../src/models/TCFData.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@usercentrics/react-native-sdk",
3
- "version": "2.8.4",
3
+ "version": "2.9.0",
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.8.4",
10
+ "iosPackageVersion": "2.9.0",
11
11
  "license": "SEE LICENSE IN LICENSE",
12
12
  "files": [
13
13
  "android",