@usercentrics/react-native-sdk 2.23.2 → 2.24.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/README.md +5 -5
- package/android/build-legacy.gradle +11 -1
- package/android/build.gradle.kts +44 -14
- package/android/gradle.properties +2 -0
- package/android/settings.gradle.kts +1 -1
- package/android/src/androidTest/java/com/usercentrics/{reactnativemodule → reactnative}/RNUsercentricsModuleTest.kt +5 -5
- package/android/src/androidTest/java/com/usercentrics/reactnative/fake/FakePromise.kt +73 -0
- package/android/src/main/java/com/usercentrics/{reactnativeusercentrics → reactnative}/RNUsercentricsModule.kt +3 -3
- package/android/src/main/java/com/usercentrics/{reactnativeusercentrics → reactnative}/RNUsercentricsModuleSpec.kt +1 -1
- package/android/src/main/java/com/usercentrics/reactnative/RNUsercentricsPackage.kt +51 -0
- package/android/src/main/java/com/usercentrics/{reactnativeusercentrics → reactnative}/ReactContextProvider.kt +1 -1
- package/android/src/main/java/com/usercentrics/{reactnativeusercentrics → reactnative}/ReactContextProviderImpl.kt +1 -1
- package/android/src/main/java/com/usercentrics/reactnative/UCRNFlag.kt +4 -0
- package/android/src/main/java/com/usercentrics/{reactnativeusercentrics → reactnative}/api/UsercentricsProxy.kt +2 -2
- package/android/src/main/java/com/usercentrics/{reactnativeusercentrics → reactnative}/extensions/BannerFontExtensions.kt +1 -1
- package/android/src/main/java/com/usercentrics/{reactnativeusercentrics → reactnative}/extensions/BannerSettingsExtensions.kt +1 -1
- package/android/src/main/java/com/usercentrics/{reactnativeusercentrics → reactnative}/extensions/CCPADataExtensions.kt +1 -1
- package/android/src/main/java/com/usercentrics/{reactnativeusercentrics → reactnative}/extensions/ConsentDisclosureSerializer.kt +1 -1
- package/android/src/main/java/com/usercentrics/{reactnativeusercentrics → reactnative}/extensions/ReadableMapExtensions.kt +1 -1
- package/android/src/main/java/com/usercentrics/{reactnativeusercentrics → reactnative}/extensions/TCFDataExtensions.kt +1 -1
- package/android/src/main/java/com/usercentrics/{reactnativeusercentrics → reactnative}/extensions/UserDecisionExtensions.kt +1 -1
- package/android/src/main/java/com/usercentrics/{reactnativeusercentrics → reactnative}/extensions/UserOptionsExtensions.kt +1 -1
- package/android/src/main/java/com/usercentrics/{reactnativeusercentrics → reactnative}/extensions/UsercentricsCMPDataExtensions.kt +1 -1
- package/android/src/main/java/com/usercentrics/{reactnativeusercentrics → reactnative}/extensions/UsercentricsConsentUserResponseExtensions.kt +1 -1
- package/android/src/main/java/com/usercentrics/{reactnativeusercentrics → reactnative}/extensions/UsercentricsReadyStatusExtensions.kt +1 -1
- package/android/src/main/java/com/usercentrics/{reactnativeusercentrics → reactnative}/extensions/UsercentricsServiceConsentExtensions.kt +1 -1
- package/android/src/main/jni/CMakeLists.txt +85 -0
- package/android/src/main/jni/RNUsercentricsModule.cpp +21 -0
- package/android/src/main/jni/rn_usercentrics.cpp +22 -0
- package/android/src/test/java/com/usercentrics/reactnative/RNUsercentricsModuleTest.kt +159 -0
- package/android/src/test/java/com/usercentrics/reactnative/fake/FakePromise.kt +73 -0
- package/ios/Extensions/BannerSettings+Dict.swift +1 -0
- package/ios/Extensions/UIColor+Extensions.swift +1 -1
- package/ios/Extensions/UIImage+UsercentricsLogoDict.swift +1 -0
- package/ios/RNUsercentricsModule.swift +1 -0
- package/lib/NativeUsercentrics.d.ts +1 -1
- package/lib/NativeUsercentrics.js +10 -2
- package/lib/NativeUsercentrics.js.map +1 -1
- package/lib/fabric/NativeUsercentricsModule.d.ts +30 -0
- package/lib/fabric/NativeUsercentricsModule.js +3 -0
- package/lib/fabric/NativeUsercentricsModule.js.map +1 -0
- package/package.json +108 -96
- package/react-native.config.js +15 -0
- package/src/NativeUsercentrics.ts +75 -0
- package/src/Usercentrics.tsx +145 -0
- package/src/__tests__/index.test.ts +476 -0
- package/src/__tests__/mocks.ts +402 -0
- package/src/fabric/NativeUsercentricsModule.ts +51 -0
- package/src/index.tsx +2 -0
- package/src/models/AdditionalConsentModeData.tsx +33 -0
- package/src/models/BannerSettings.tsx +117 -0
- package/src/models/CCPAData.tsx +32 -0
- package/src/models/CCPASettings.tsx +49 -0
- package/src/models/ConsentDisclosureObject.tsx +47 -0
- package/src/models/FirstLayerSettings.tsx +185 -0
- package/src/models/GeolocationRuleset.tsx +10 -0
- package/src/models/LegalBasisLocalization.tsx +100 -0
- package/src/models/NetworkMode.tsx +5 -0
- package/src/models/SecondLayerSettings.tsx +12 -0
- package/src/models/TCF2Settings.tsx +209 -0
- package/src/models/TCFData.tsx +297 -0
- package/src/models/TCFDecisionUILayer.tsx +5 -0
- package/src/models/TCFUserDecisions.tsx +73 -0
- package/src/models/UserDecision.tsx +10 -0
- package/src/models/UsercentricsAnalyticsEventType.tsx +15 -0
- package/src/models/UsercentricsCMPData.tsx +38 -0
- package/src/models/UsercentricsCategory.tsx +26 -0
- package/src/models/UsercentricsConsentType.tsx +5 -0
- package/src/models/UsercentricsConsentUserResponse.tsx +14 -0
- package/src/models/UsercentricsLabels.tsx +276 -0
- package/src/models/UsercentricsLocation.tsx +32 -0
- package/src/models/UsercentricsLoggerLevel.tsx +7 -0
- package/src/models/UsercentricsOptions.tsx +45 -0
- package/src/models/UsercentricsReadyStatus.tsx +20 -0
- package/src/models/UsercentricsService.tsx +134 -0
- package/src/models/UsercentricsServiceConsent.tsx +37 -0
- package/src/models/UsercentricsSettings.tsx +177 -0
- package/src/models/UsercentricsUserInteraction.tsx +7 -0
- package/src/models/UsercentricsVariant.tsx +6 -0
- package/src/models/index.tsx +29 -0
- package/android/src/androidTest/java/com/usercentrics/reactnativemodule/fake/FakePromise.kt +0 -67
- package/android/src/main/java/com/usercentrics/reactnativeusercentrics/RNUsercentricsPackage.kt +0 -22
- package/android/src/main/java/com/usercentrics/reactnativeusercentrics/UCRNFlag.kt +0 -4
- /package/android/src/androidTest/java/com/usercentrics/{reactnativemodule → reactnative}/api/FakeUsercentricsProxy.kt +0 -0
- /package/android/src/androidTest/java/com/usercentrics/{reactnativemodule → reactnative}/mock/GetCMPDataMock.kt +0 -0
- /package/android/src/androidTest/java/com/usercentrics/{reactnativemodule → reactnative}/mock/GetConsentsMock.kt +0 -0
- /package/android/src/androidTest/java/com/usercentrics/{reactnativemodule → reactnative}/mock/GetTCFDataMock.kt +0 -0
- /package/android/src/androidTest/java/com/usercentrics/{reactnativemodule → reactnative}/mock/GetUSPDataMock.kt +0 -0
- /package/android/src/androidTest/java/com/usercentrics/{reactnativemodule → reactnative}/mock/GetUserSessionDataMock.kt +0 -0
- /package/android/src/androidTest/java/com/usercentrics/{reactnativemodule → reactnative}/mock/ReactContextProviderMock.kt +0 -0
- /package/android/src/androidTest/java/com/usercentrics/{reactnativemodule → reactnative}/mock/SaveDecisionsForTCFMock.kt +0 -0
- /package/android/src/androidTest/java/com/usercentrics/{reactnativemodule → reactnative}/mock/SaveDecisionsMock.kt +0 -0
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
export class ConsentDisclosureObject {
|
|
2
|
+
|
|
3
|
+
disclosures: [ConsentDisclosure]
|
|
4
|
+
|
|
5
|
+
constructor(disclosures: [ConsentDisclosure]) {
|
|
6
|
+
this.disclosures = disclosures
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export class ConsentDisclosure {
|
|
11
|
+
|
|
12
|
+
identifier?: string
|
|
13
|
+
type?: ConsentDisclosureType
|
|
14
|
+
name?: string
|
|
15
|
+
maxAgeSeconds?: number
|
|
16
|
+
cookieRefresh: boolean
|
|
17
|
+
purposes: [number]
|
|
18
|
+
domain?: string
|
|
19
|
+
description?: string
|
|
20
|
+
|
|
21
|
+
constructor(
|
|
22
|
+
cookieRefresh: boolean,
|
|
23
|
+
purposes: [number],
|
|
24
|
+
identifier?: string,
|
|
25
|
+
type?: ConsentDisclosureType,
|
|
26
|
+
name?: string,
|
|
27
|
+
maxAgeSeconds?: number,
|
|
28
|
+
domain?: string,
|
|
29
|
+
description?: string,
|
|
30
|
+
) {
|
|
31
|
+
this.identifier = identifier
|
|
32
|
+
this.type = type
|
|
33
|
+
this.name = name
|
|
34
|
+
this.maxAgeSeconds = maxAgeSeconds
|
|
35
|
+
this.cookieRefresh = cookieRefresh
|
|
36
|
+
this.purposes = purposes
|
|
37
|
+
this.domain = domain
|
|
38
|
+
this.description = description
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export enum ConsentDisclosureType {
|
|
43
|
+
|
|
44
|
+
cookie = 0,
|
|
45
|
+
web = 1,
|
|
46
|
+
app = 2
|
|
47
|
+
}
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
import {BannerLogo} from ".";
|
|
2
|
+
|
|
3
|
+
export class FirstLayerStyleSettings {
|
|
4
|
+
|
|
5
|
+
layout?: UsercentricsLayout;
|
|
6
|
+
headerImage?: HeaderImageSettings;
|
|
7
|
+
title?: TitleSettings;
|
|
8
|
+
message?: MessageSettings;
|
|
9
|
+
buttonLayout?: ButtonLayout;
|
|
10
|
+
backgroundColorHex?: String;
|
|
11
|
+
cornerRadius?: Number;
|
|
12
|
+
overlayColorHex?: String;
|
|
13
|
+
|
|
14
|
+
constructor(layout?: UsercentricsLayout,
|
|
15
|
+
headerImage?: HeaderImageSettings,
|
|
16
|
+
title?: TitleSettings,
|
|
17
|
+
message?: MessageSettings,
|
|
18
|
+
buttonLayout?: ButtonLayout,
|
|
19
|
+
backgroundColorHex?: String,
|
|
20
|
+
cornerRadius?: Number,
|
|
21
|
+
overlayColorHex?: String
|
|
22
|
+
) {
|
|
23
|
+
this.layout = layout
|
|
24
|
+
this.headerImage = headerImage;
|
|
25
|
+
this.title = title;
|
|
26
|
+
this.message = message;
|
|
27
|
+
this.buttonLayout = buttonLayout;
|
|
28
|
+
this.backgroundColorHex = backgroundColorHex;
|
|
29
|
+
this.cornerRadius = cornerRadius;
|
|
30
|
+
this.overlayColorHex = overlayColorHex;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export class HeaderImageSettings {
|
|
35
|
+
|
|
36
|
+
isExtended: Boolean;
|
|
37
|
+
isHidden: Boolean;
|
|
38
|
+
image?: BannerLogo;
|
|
39
|
+
height?: Number;
|
|
40
|
+
alignment?: SectionAlignment
|
|
41
|
+
|
|
42
|
+
private constructor(isExtended: Boolean,
|
|
43
|
+
isHidden: Boolean,
|
|
44
|
+
image?: BannerLogo,
|
|
45
|
+
height?: Number,
|
|
46
|
+
alignment?: SectionAlignment) {
|
|
47
|
+
this.isExtended = isExtended;
|
|
48
|
+
this.isHidden = isHidden;
|
|
49
|
+
this.image = image;
|
|
50
|
+
this.height = height;
|
|
51
|
+
this.alignment = alignment;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
static extended(image: BannerLogo): HeaderImageSettings {
|
|
55
|
+
return new HeaderImageSettings(true, false, image)
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
static logo(image: BannerLogo, height?: Number, alignment?: SectionAlignment): HeaderImageSettings {
|
|
59
|
+
return new HeaderImageSettings(false, false, image, height, alignment)
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
static hidden(): HeaderImageSettings {
|
|
63
|
+
return new HeaderImageSettings(false, true)
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
export class TitleSettings {
|
|
68
|
+
|
|
69
|
+
fontName?: string;
|
|
70
|
+
textSize?: number;
|
|
71
|
+
textColorHex?: String;
|
|
72
|
+
textAlignment?: SectionAlignment;
|
|
73
|
+
|
|
74
|
+
constructor(fontName?: string, textSize?: number, textColorHex?: String, textAlignment?: SectionAlignment) {
|
|
75
|
+
this.fontName = fontName;
|
|
76
|
+
this.textSize = textSize;
|
|
77
|
+
this.textColorHex = textColorHex;
|
|
78
|
+
this.textAlignment = textAlignment;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
export class MessageSettings {
|
|
83
|
+
|
|
84
|
+
fontName?: string;
|
|
85
|
+
textSize?: number;
|
|
86
|
+
textColorHex?: String;
|
|
87
|
+
textAlignment?: SectionAlignment;
|
|
88
|
+
linkTextColorHex?: String;
|
|
89
|
+
linkTextUnderline?: Boolean;
|
|
90
|
+
|
|
91
|
+
constructor(fontName?: string,
|
|
92
|
+
textSize?: number,
|
|
93
|
+
textColorHex?: String,
|
|
94
|
+
textAlignment?: SectionAlignment,
|
|
95
|
+
linkTextColorHex?: String,
|
|
96
|
+
linkTextUnderline?: Boolean) {
|
|
97
|
+
this.fontName = fontName;
|
|
98
|
+
this.textSize = textSize;
|
|
99
|
+
this.textColorHex = textColorHex;
|
|
100
|
+
this.textAlignment = textAlignment;
|
|
101
|
+
this.linkTextColorHex = linkTextColorHex;
|
|
102
|
+
this.linkTextUnderline = linkTextUnderline;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
export class ButtonLayout {
|
|
107
|
+
|
|
108
|
+
buttons: ButtonSettings[][]
|
|
109
|
+
layout: InternalButtonLayout
|
|
110
|
+
|
|
111
|
+
private constructor(buttons: ButtonSettings[][], layout: InternalButtonLayout) {
|
|
112
|
+
this.buttons = buttons;
|
|
113
|
+
this.layout = layout;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
static row(buttons: ButtonSettings[]): ButtonLayout {
|
|
117
|
+
return new ButtonLayout([buttons], InternalButtonLayout.row)
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
static column(buttons: ButtonSettings[]): ButtonLayout {
|
|
121
|
+
return new ButtonLayout([buttons], InternalButtonLayout.column)
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
static grid(buttons: ButtonSettings[][]): ButtonLayout {
|
|
125
|
+
return new ButtonLayout(buttons, InternalButtonLayout.grid)
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
enum InternalButtonLayout {
|
|
130
|
+
row = "ROW",
|
|
131
|
+
grid = "GRID",
|
|
132
|
+
column = "COLUMN"
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
export class ButtonSettings {
|
|
136
|
+
|
|
137
|
+
buttonType: ButtonType;
|
|
138
|
+
fontName?: string;
|
|
139
|
+
textSize?: number;
|
|
140
|
+
textColorHex?: String;
|
|
141
|
+
backgroundColorHex?: String;
|
|
142
|
+
cornerRadius?: number;
|
|
143
|
+
|
|
144
|
+
// Affects only Android
|
|
145
|
+
isAllCaps?: Boolean
|
|
146
|
+
|
|
147
|
+
constructor(buttonType: ButtonType,
|
|
148
|
+
fontName?: string,
|
|
149
|
+
textSize?: number,
|
|
150
|
+
textColorHex?: String,
|
|
151
|
+
backgroundColorHex?: String,
|
|
152
|
+
cornerRadius?: number,
|
|
153
|
+
isAllCaps?: Boolean) {
|
|
154
|
+
this.buttonType = buttonType
|
|
155
|
+
this.fontName = fontName
|
|
156
|
+
this.textSize = textSize
|
|
157
|
+
this.textColorHex = textColorHex
|
|
158
|
+
this.backgroundColorHex = backgroundColorHex
|
|
159
|
+
this.cornerRadius = cornerRadius
|
|
160
|
+
this.isAllCaps = isAllCaps
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
export enum ButtonType {
|
|
165
|
+
|
|
166
|
+
acceptAll = "ACCEPT_ALL",
|
|
167
|
+
denyAll = "DENY_ALL",
|
|
168
|
+
more = "MORE",
|
|
169
|
+
save = "SAVE"
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
export enum SectionAlignment {
|
|
173
|
+
|
|
174
|
+
left = "START",
|
|
175
|
+
right = "END",
|
|
176
|
+
center = "CENTER"
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
export enum UsercentricsLayout {
|
|
180
|
+
|
|
181
|
+
full = "FULL",
|
|
182
|
+
sheet = "SHEET",
|
|
183
|
+
popupCenter = "POPUP_CENTER",
|
|
184
|
+
popupBottom = "POPUP_BOTTOM"
|
|
185
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export class GeolocationRuleset {
|
|
2
|
+
|
|
3
|
+
activeSettingsId: string;
|
|
4
|
+
bannerRequiredAtLocation: boolean;
|
|
5
|
+
|
|
6
|
+
constructor(activeSettingsId: string, bannerRequiredAtLocation: boolean) {
|
|
7
|
+
this.activeSettingsId = activeSettingsId
|
|
8
|
+
this.bannerRequiredAtLocation = bannerRequiredAtLocation
|
|
9
|
+
}
|
|
10
|
+
}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
export class LegalBasisLocalization {
|
|
2
|
+
labelsAria?: TranslationAriaLabels
|
|
3
|
+
data: Map<string, string>
|
|
4
|
+
|
|
5
|
+
constructor(
|
|
6
|
+
data: Map<string, string>,
|
|
7
|
+
labelsAria?: TranslationAriaLabels
|
|
8
|
+
) {
|
|
9
|
+
this.data = data
|
|
10
|
+
this.labelsAria = labelsAria
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export class TranslationAriaLabels {
|
|
15
|
+
acceptAllButton?: string
|
|
16
|
+
ccpaButton?: string
|
|
17
|
+
ccpaMoreInformation?: string
|
|
18
|
+
closeButton?: string
|
|
19
|
+
collapse?: string
|
|
20
|
+
cookiePolicyButton?: string
|
|
21
|
+
copyControllerId?: string
|
|
22
|
+
denyAllButton?: string
|
|
23
|
+
expand?: string
|
|
24
|
+
fullscreenButton?: string
|
|
25
|
+
imprintButton?: string
|
|
26
|
+
languageSelector?: string
|
|
27
|
+
privacyButton?: string
|
|
28
|
+
privacyPolicyButton?: string
|
|
29
|
+
saveButton?: string
|
|
30
|
+
serviceInCategoryDetails?: string
|
|
31
|
+
servicesInCategory?: string
|
|
32
|
+
tabButton?: string
|
|
33
|
+
usercentricsCMPButtons?: string
|
|
34
|
+
usercentricsCMPContent?: string
|
|
35
|
+
usercentricsCMPHeader?: string
|
|
36
|
+
usercentricsCMPUI?: string
|
|
37
|
+
usercentricsCard?: string
|
|
38
|
+
usercentricsList?: string
|
|
39
|
+
vendorConsentToggle?: string
|
|
40
|
+
vendorDetailedStorageInformation?: string
|
|
41
|
+
vendorLegIntToggle?: string
|
|
42
|
+
|
|
43
|
+
constructor(
|
|
44
|
+
acceptAllButton?: string,
|
|
45
|
+
ccpaButton?: string,
|
|
46
|
+
ccpaMoreInformation?: string,
|
|
47
|
+
closeButton?: string,
|
|
48
|
+
collapse?: string,
|
|
49
|
+
cookiePolicyButton?: string,
|
|
50
|
+
copyControllerId?: string,
|
|
51
|
+
denyAllButton?: string,
|
|
52
|
+
expand?: string,
|
|
53
|
+
fullscreenButton?: string,
|
|
54
|
+
imprintButton?: string,
|
|
55
|
+
languageSelector?: string,
|
|
56
|
+
privacyButton?: string,
|
|
57
|
+
privacyPolicyButton?: string,
|
|
58
|
+
saveButton?: string,
|
|
59
|
+
serviceInCategoryDetails?: string,
|
|
60
|
+
servicesInCategory?: string,
|
|
61
|
+
tabButton?: string,
|
|
62
|
+
usercentricsCMPButtons?: string,
|
|
63
|
+
usercentricsCMPContent?: string,
|
|
64
|
+
usercentricsCMPHeader?: string,
|
|
65
|
+
usercentricsCMPUI?: string,
|
|
66
|
+
usercentricsCard?: string,
|
|
67
|
+
usercentricsList?: string,
|
|
68
|
+
vendorConsentToggle?: string,
|
|
69
|
+
vendorDetailedStorageInformation?: string,
|
|
70
|
+
vendorLegIntToggle?: string
|
|
71
|
+
) {
|
|
72
|
+
this.acceptAllButton = acceptAllButton
|
|
73
|
+
this.ccpaButton = ccpaButton
|
|
74
|
+
this.ccpaMoreInformation = ccpaMoreInformation;
|
|
75
|
+
this.closeButton = closeButton
|
|
76
|
+
this.collapse = collapse
|
|
77
|
+
this.cookiePolicyButton = cookiePolicyButton
|
|
78
|
+
this.copyControllerId = copyControllerId
|
|
79
|
+
this.denyAllButton = denyAllButton
|
|
80
|
+
this.expand = expand
|
|
81
|
+
this.fullscreenButton = fullscreenButton
|
|
82
|
+
this.imprintButton = imprintButton
|
|
83
|
+
this.languageSelector = languageSelector
|
|
84
|
+
this.privacyButton = privacyButton
|
|
85
|
+
this.privacyPolicyButton = privacyPolicyButton
|
|
86
|
+
this.saveButton = saveButton
|
|
87
|
+
this.serviceInCategoryDetails = serviceInCategoryDetails
|
|
88
|
+
this.servicesInCategory = servicesInCategory
|
|
89
|
+
this.tabButton = tabButton
|
|
90
|
+
this.usercentricsCMPButtons = usercentricsCMPButtons
|
|
91
|
+
this.usercentricsCMPContent = usercentricsCMPContent
|
|
92
|
+
this.usercentricsCMPHeader = usercentricsCMPHeader
|
|
93
|
+
this.usercentricsCMPUI = usercentricsCMPUI
|
|
94
|
+
this.usercentricsCard = usercentricsCard
|
|
95
|
+
this.usercentricsList = usercentricsList
|
|
96
|
+
this.vendorConsentToggle = vendorConsentToggle
|
|
97
|
+
this.vendorDetailedStorageInformation = vendorDetailedStorageInformation
|
|
98
|
+
this.vendorLegIntToggle = vendorLegIntToggle
|
|
99
|
+
}
|
|
100
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import {ButtonLayout} from ".";
|
|
2
|
+
|
|
3
|
+
export class SecondLayerStyleSettings {
|
|
4
|
+
|
|
5
|
+
buttonLayout?: ButtonLayout;
|
|
6
|
+
showCloseButton?: Boolean;
|
|
7
|
+
|
|
8
|
+
constructor(buttonLayout?: ButtonLayout, showCloseButton?: Boolean) {
|
|
9
|
+
this.buttonLayout = buttonLayout;
|
|
10
|
+
this.showCloseButton = showCloseButton;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
export class TCF2Settings {
|
|
2
|
+
firstLayerTitle: string
|
|
3
|
+
secondLayerTitle: string
|
|
4
|
+
tabsPurposeLabel: string
|
|
5
|
+
tabsVendorsLabel: string
|
|
6
|
+
labelsFeatures: string
|
|
7
|
+
labelsIabVendors: string
|
|
8
|
+
labelsNonIabPurposes: string
|
|
9
|
+
labelsNonIabVendors: string
|
|
10
|
+
labelsPurposes: string
|
|
11
|
+
vendorFeatures: string
|
|
12
|
+
vendorLegitimateInterestPurposes: string
|
|
13
|
+
vendorPurpose: string
|
|
14
|
+
vendorSpecialFeatures: string
|
|
15
|
+
vendorSpecialPurposes: string
|
|
16
|
+
togglesConsentToggleLabel: string
|
|
17
|
+
togglesLegIntToggleLabel: string
|
|
18
|
+
buttonsAcceptAllLabel: string
|
|
19
|
+
buttonsDenyAllLabel: string
|
|
20
|
+
buttonsSaveLabel: string
|
|
21
|
+
linksManageSettingsLabel: string
|
|
22
|
+
linksVendorListLinkLabel: string
|
|
23
|
+
cmpId: number
|
|
24
|
+
cmpVersion: number
|
|
25
|
+
firstLayerHideToggles: boolean
|
|
26
|
+
secondLayerHideToggles: boolean
|
|
27
|
+
hideLegitimateInterestToggles: boolean
|
|
28
|
+
firstLayerHideButtonDeny?: boolean
|
|
29
|
+
secondLayerHideButtonDeny: boolean
|
|
30
|
+
publisherCountryCode: string
|
|
31
|
+
purposeOneTreatment: boolean
|
|
32
|
+
selectedVendorIds: [number]
|
|
33
|
+
gdprApplies: boolean
|
|
34
|
+
selectedStacks: [number]
|
|
35
|
+
disabledSpecialFeatures: [number]
|
|
36
|
+
firstLayerShowDescriptions: boolean
|
|
37
|
+
hideNonIabOnFirstLayer: boolean
|
|
38
|
+
resurfacePeriodEnded: boolean
|
|
39
|
+
resurfacePurposeChanged: boolean
|
|
40
|
+
resurfaceVendorAdded: boolean
|
|
41
|
+
firstLayerDescription: string
|
|
42
|
+
firstLayerAdditionalInfo: string
|
|
43
|
+
secondLayerDescription: string
|
|
44
|
+
togglesSpecialFeaturesToggleOn: string
|
|
45
|
+
togglesSpecialFeaturesToggleOff: string
|
|
46
|
+
appLayerNoteResurface: string
|
|
47
|
+
firstLayerNoteResurface: string
|
|
48
|
+
categoriesOfDataLabel: string
|
|
49
|
+
dataRetentionPeriodLabel: string
|
|
50
|
+
legitimateInterestLabel: string
|
|
51
|
+
version: string
|
|
52
|
+
examplesLabel: string
|
|
53
|
+
firstLayerMobileVariant?: FirstLayerMobileVariant
|
|
54
|
+
showDataSharedOutsideEUText: boolean
|
|
55
|
+
dataSharedOutsideEUText?: string
|
|
56
|
+
vendorIdsOutsideEUList: [number]
|
|
57
|
+
scope: TCF2Scope
|
|
58
|
+
changedPurposes: TCF2ChangedPurposes
|
|
59
|
+
acmV2Enabled: boolean
|
|
60
|
+
selectedATPIds: number[]
|
|
61
|
+
|
|
62
|
+
constructor(
|
|
63
|
+
firstLayerTitle: string,
|
|
64
|
+
secondLayerTitle: string,
|
|
65
|
+
tabsPurposeLabel: string,
|
|
66
|
+
tabsVendorsLabel: string,
|
|
67
|
+
labelsFeatures: string,
|
|
68
|
+
labelsIabVendors: string,
|
|
69
|
+
labelsNonIabPurposes: string,
|
|
70
|
+
labelsNonIabVendors: string,
|
|
71
|
+
labelsPurposes: string,
|
|
72
|
+
vendorFeatures: string,
|
|
73
|
+
vendorLegitimateInterestPurposes: string,
|
|
74
|
+
vendorPurpose: string,
|
|
75
|
+
vendorSpecialFeatures: string,
|
|
76
|
+
vendorSpecialPurposes: string,
|
|
77
|
+
togglesConsentToggleLabel: string,
|
|
78
|
+
togglesLegIntToggleLabel: string,
|
|
79
|
+
buttonsAcceptAllLabel: string,
|
|
80
|
+
buttonsDenyAllLabel: string,
|
|
81
|
+
buttonsSaveLabel: string,
|
|
82
|
+
linksManageSettingsLabel: string,
|
|
83
|
+
linksVendorListLinkLabel: string,
|
|
84
|
+
cmpId: number,
|
|
85
|
+
cmpVersion: number,
|
|
86
|
+
firstLayerHideToggles: boolean,
|
|
87
|
+
secondLayerHideToggles: boolean,
|
|
88
|
+
hideLegitimateInterestToggles: boolean,
|
|
89
|
+
secondLayerHideButtonDeny: boolean,
|
|
90
|
+
publisherCountryCode: string,
|
|
91
|
+
purposeOneTreatment: boolean,
|
|
92
|
+
selectedVendorIds: [number],
|
|
93
|
+
gdprApplies: boolean,
|
|
94
|
+
selectedStacks: [number],
|
|
95
|
+
disabledSpecialFeatures: [number],
|
|
96
|
+
firstLayerShowDescriptions: boolean,
|
|
97
|
+
hideNonIabOnFirstLayer: boolean,
|
|
98
|
+
resurfacePeriodEnded: boolean,
|
|
99
|
+
resurfacePurposeChanged: boolean,
|
|
100
|
+
resurfaceVendorAdded: boolean,
|
|
101
|
+
firstLayerDescription: string,
|
|
102
|
+
firstLayerAdditionalInfo: string,
|
|
103
|
+
secondLayerDescription: string,
|
|
104
|
+
togglesSpecialFeaturesToggleOn: string,
|
|
105
|
+
togglesSpecialFeaturesToggleOff: string,
|
|
106
|
+
appLayerNoteResurface: string,
|
|
107
|
+
firstLayerNoteResurface: string,
|
|
108
|
+
categoriesOfDataLabel: string,
|
|
109
|
+
dataRetentionPeriodLabel: string,
|
|
110
|
+
legitimateInterestLabel: string,
|
|
111
|
+
version: string,
|
|
112
|
+
examplesLabel: string,
|
|
113
|
+
showDataSharedOutsideEUText: boolean,
|
|
114
|
+
vendorIdsOutsideEUList: [number],
|
|
115
|
+
scope: TCF2Scope,
|
|
116
|
+
changedPurposes: TCF2ChangedPurposes,
|
|
117
|
+
acmV2Enabled: boolean,
|
|
118
|
+
selectedATPIds: number[],
|
|
119
|
+
firstLayerHideButtonDeny?: boolean,
|
|
120
|
+
firstLayerMobileVariant?: FirstLayerMobileVariant,
|
|
121
|
+
dataSharedOutsideEUText?: string,
|
|
122
|
+
) {
|
|
123
|
+
this.firstLayerTitle = firstLayerTitle
|
|
124
|
+
this.secondLayerTitle = secondLayerTitle
|
|
125
|
+
this.tabsPurposeLabel = tabsPurposeLabel
|
|
126
|
+
this.tabsVendorsLabel = tabsVendorsLabel
|
|
127
|
+
this.labelsFeatures = labelsFeatures
|
|
128
|
+
this.labelsIabVendors = labelsIabVendors
|
|
129
|
+
this.labelsNonIabPurposes = labelsNonIabPurposes
|
|
130
|
+
this.labelsNonIabVendors = labelsNonIabVendors
|
|
131
|
+
this.labelsPurposes = labelsPurposes
|
|
132
|
+
this.vendorFeatures = vendorFeatures
|
|
133
|
+
this.vendorLegitimateInterestPurposes = vendorLegitimateInterestPurposes
|
|
134
|
+
this.vendorPurpose = vendorPurpose
|
|
135
|
+
this.vendorSpecialFeatures = vendorSpecialFeatures
|
|
136
|
+
this.vendorSpecialPurposes = vendorSpecialPurposes
|
|
137
|
+
this.togglesConsentToggleLabel = togglesConsentToggleLabel
|
|
138
|
+
this.togglesLegIntToggleLabel = togglesLegIntToggleLabel
|
|
139
|
+
this.buttonsAcceptAllLabel = buttonsAcceptAllLabel
|
|
140
|
+
this.buttonsDenyAllLabel = buttonsDenyAllLabel
|
|
141
|
+
this.buttonsSaveLabel = buttonsSaveLabel
|
|
142
|
+
this.linksManageSettingsLabel = linksManageSettingsLabel
|
|
143
|
+
this.linksVendorListLinkLabel = linksVendorListLinkLabel
|
|
144
|
+
this.cmpId = cmpId
|
|
145
|
+
this.cmpVersion = cmpVersion
|
|
146
|
+
this.firstLayerHideToggles = firstLayerHideToggles
|
|
147
|
+
this.secondLayerHideToggles = secondLayerHideToggles
|
|
148
|
+
this.hideLegitimateInterestToggles = hideLegitimateInterestToggles
|
|
149
|
+
this.firstLayerHideButtonDeny = firstLayerHideButtonDeny
|
|
150
|
+
this.secondLayerHideButtonDeny = secondLayerHideButtonDeny
|
|
151
|
+
this.publisherCountryCode = publisherCountryCode
|
|
152
|
+
this.purposeOneTreatment = purposeOneTreatment
|
|
153
|
+
this.selectedVendorIds = selectedVendorIds
|
|
154
|
+
this.gdprApplies = gdprApplies
|
|
155
|
+
this.selectedStacks = selectedStacks
|
|
156
|
+
this.disabledSpecialFeatures = disabledSpecialFeatures
|
|
157
|
+
this.firstLayerShowDescriptions = firstLayerShowDescriptions
|
|
158
|
+
this.hideNonIabOnFirstLayer = hideNonIabOnFirstLayer
|
|
159
|
+
this.resurfacePeriodEnded = resurfacePeriodEnded
|
|
160
|
+
this.resurfacePurposeChanged = resurfacePurposeChanged
|
|
161
|
+
this.resurfaceVendorAdded = resurfaceVendorAdded
|
|
162
|
+
this.firstLayerDescription = firstLayerDescription
|
|
163
|
+
this.firstLayerAdditionalInfo = firstLayerAdditionalInfo
|
|
164
|
+
this.secondLayerDescription = secondLayerDescription
|
|
165
|
+
this.togglesSpecialFeaturesToggleOn = togglesSpecialFeaturesToggleOn
|
|
166
|
+
this.togglesSpecialFeaturesToggleOff = togglesSpecialFeaturesToggleOff
|
|
167
|
+
this.appLayerNoteResurface = appLayerNoteResurface
|
|
168
|
+
this.firstLayerNoteResurface = firstLayerNoteResurface
|
|
169
|
+
this.categoriesOfDataLabel = categoriesOfDataLabel
|
|
170
|
+
this.dataRetentionPeriodLabel = dataRetentionPeriodLabel
|
|
171
|
+
this.legitimateInterestLabel = legitimateInterestLabel
|
|
172
|
+
this.version = version
|
|
173
|
+
this.examplesLabel = examplesLabel
|
|
174
|
+
this.firstLayerMobileVariant = firstLayerMobileVariant
|
|
175
|
+
this.showDataSharedOutsideEUText = showDataSharedOutsideEUText
|
|
176
|
+
this.dataSharedOutsideEUText = dataSharedOutsideEUText
|
|
177
|
+
this.vendorIdsOutsideEUList = vendorIdsOutsideEUList
|
|
178
|
+
this.scope = scope
|
|
179
|
+
this.changedPurposes = changedPurposes
|
|
180
|
+
this.acmV2Enabled = acmV2Enabled
|
|
181
|
+
this.selectedATPIds = selectedATPIds
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
export enum FirstLayerMobileVariant {
|
|
186
|
+
sheet = 0,
|
|
187
|
+
full = 1,
|
|
188
|
+
popupBottom = 2,
|
|
189
|
+
popupCenter = 3
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
export enum TCF2Scope {
|
|
193
|
+
global = 0,
|
|
194
|
+
service = 1
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
export class TCF2ChangedPurposes {
|
|
198
|
+
|
|
199
|
+
purposes: [number]
|
|
200
|
+
legIntPurposes: [number]
|
|
201
|
+
|
|
202
|
+
constructor(
|
|
203
|
+
purposes: [number],
|
|
204
|
+
legIntPurposes: [number],
|
|
205
|
+
) {
|
|
206
|
+
this.purposes = purposes
|
|
207
|
+
this.legIntPurposes = legIntPurposes
|
|
208
|
+
}
|
|
209
|
+
}
|