@usercentrics/cmp-browser-sdk
Version:
Usercentrics CMP Browser SDK
277 lines (276 loc) • 7.5 kB
TypeScript
import { AriaLabelsTranslation, ServiceLegalBasis } from '../../Api/interfaces';
export interface Label {
description: string;
title: string;
}
export interface DefaultServiceLabels {
dataCollected: Label;
dataDistribution: {
processingLocationDescription: string;
processingLocationTitle: string;
thirdPartyCountriesDescription: string;
thirdPartyCountriesTitle: string;
};
dataProtectionOfficer: Label;
dataPurposes: Label;
dataRecipients: Label;
descriptionTitle: string;
history: {
/** Currently non-customizable. Value set as: null */
description: string | null;
title: string;
};
legalBasis: Label;
processingCompanyTitle: string;
retentionPeriod: Label;
technologiesUsed: Label;
urls: {
cookiePolicyTitle: string;
optOutTitle: string;
privacyPolicyTitle: string;
};
}
export interface DefaultGeneralLabels {
back: string;
consentGiven: string;
consentNotGiven: string;
/** Currently non-customizable. Value set as: "Consent type" (translated) */
consentType: string;
/** Permanently non-customizable. Value set as: "Controller ID" (translated) */
controllerId: string;
copy: string;
copied: string;
date: string;
/** Currently non-customizable. Value set as: "Decision" (translated) */
decision: string;
details: string;
/** Currently non-customizable. Value set as: "Explicit" (translated) */
explicit: string;
gpcSignalHonored: string;
/** Currently non-customizable. Value set as: "Implicit" (translated) */
implicit: string;
implicitNo: string;
implicitYes: string;
languageChange: string;
privacyButton: string;
/** Currently non-customizable. Value set as: "Show more" (translated) */
showLess: string;
showMore: string;
subservice: string;
subservices: string;
subservicesDescription: string;
}
export interface CookieInformationLabels {
anyDomain: string;
cookieRefresh: string;
cookieStorage: string;
day: string;
days: string;
description: string;
domain: string;
duration: string;
error: string;
hour: string;
hours: string;
identifier: string;
loading: string;
maximumAge: string;
minute: string;
minutes: string;
month: string;
months: string;
multipleDomains: string;
name: string;
no: string;
nonCookieStorage: string;
purposes: string;
second: string;
seconds: string;
session: string;
storedInformation: string;
storedInformationDescription: string;
title: string;
titleDetailed: string;
tryAgain: string;
type: string;
year: string;
years: string;
yes: string;
}
export interface PoweredbyLabels {
label: string;
partnerUrlLabel: string | null;
urlLabel: string;
}
export interface CcpaButtonLabels {
optOutNotice: string;
save: string;
showSecondLayer: string;
}
export interface DefaultButtonLabels {
acceptAll: string;
cnilDeny: string;
denyAll: string;
save: string;
showSecondLayer: string;
}
export interface TCFButtonLabels {
acceptAll: string;
denyAll: string;
manageSettings: string;
save: string;
showVendorTab: string;
}
export interface PrivacyButtonButtonsLabels {
save: string;
}
export interface CategoryLabels {
description: string;
label: string;
slug: string;
}
export interface ServiceLabels {
description: string;
id: string;
legalBasis: ServiceLegalBasis[];
name: string;
}
interface FirstLayerCommonLabels {
description: {
default: string;
/**
* @deprecated use shortMobile & shortDefault
*/
short: string;
shortMobile: string;
shortDesktop: string;
};
title: string;
}
export type CcpaFirstLayerLabels = FirstLayerCommonLabels;
export type DefaultFirstLayerLabels = FirstLayerCommonLabels;
export type PrivacyButtonFirstLayerLabels = FirstLayerCommonLabels;
export interface TCFFirstLayerLabels {
description: {
additionalInfo: string | null;
dataSharedOutsideEUText: string | null;
default: string;
resurfaceNote: string | null;
};
disclaimer: {
serviceScope: string;
};
title: string;
}
interface SecondLayerCommonLabels {
categoryTab: string;
description: string;
serviceTab: string;
title: string;
dataTransferFilter?: DataTransferFilter;
}
interface DataTransferFilter {
all: string;
thirdCountry: string;
}
export type CcpaSecondLayerLabels = SecondLayerCommonLabels;
export type PrivacyButtonSecondLayerLabels = SecondLayerCommonLabels;
export interface DefaultSecondLayerLabels extends SecondLayerCommonLabels {
acceptButtonLabel: string;
denyButtonLabel: string;
}
export interface TCFSecondLayerLabels {
dataSharedOutsideEU: {
text: string | null;
title: string;
};
dataTransferFilter: DataTransferFilter;
description: string;
maxStorageDurationText: string;
maxStorageDurationTitle: string;
purposesTab: string;
title: string;
vendorsTab: string;
}
export declare const TC_STRING_LOCATION = "uc_tcf";
export interface TCFTogglesLabels {
consent: string;
legitimateInterest: string;
specialFeaturesToggle: {
offLabel: string;
onLabel: string;
};
}
export interface TCFVendorLabels {
dataCategories: string;
dataRetention: string;
dataRetentionUnit: string;
features: string;
legitimateInterest: string;
legitimateInterestClaim: string;
privacyPolicy: string;
purposes: string;
specialFeatures: string;
specialPurposes: string;
toggleAll: string;
}
export interface TCFTitleLabels {
examples: string;
features: string;
iabVendors: string;
acmVendors: string;
nonIabPurposes: string;
nonIabVendors: string;
purposes: string;
}
export interface ACMVendorLabels {
privacyPolicy: string;
}
export interface AriaLabel {
ariaLabel: string;
label: string | null;
url: string | null;
}
export interface LinksLabels {
cookiePolicy: AriaLabel;
imprint: AriaLabel;
privacyPolicy: AriaLabel;
}
export interface AriaLabels {
ariaLabels: AriaLabelsTranslation;
}
export interface CommonLabels extends AriaLabels {
categories: CategoryLabels[];
cookieInformation: CookieInformationLabels;
general: DefaultGeneralLabels;
links: LinksLabels;
integrationLinks?: Record<string, AriaLabel>;
poweredBy: PoweredbyLabels;
service: DefaultServiceLabels;
services: ServiceLabels[];
}
export interface CcpaLabels extends CommonLabels {
buttons: CcpaButtonLabels;
firstLayer: CcpaFirstLayerLabels;
secondLayer: CcpaSecondLayerLabels;
}
export interface DefaultLabels extends CommonLabels {
buttons: DefaultButtonLabels;
firstLayer: DefaultFirstLayerLabels;
secondLayer: DefaultSecondLayerLabels;
}
export interface TcfLabels extends CommonLabels {
buttons: TCFButtonLabels;
firstLayer: TCFFirstLayerLabels;
secondLayer: TCFSecondLayerLabels;
titles: TCFTitleLabels;
toggles: TCFTogglesLabels;
vendor: TCFVendorLabels;
acmVendor: ACMVendorLabels;
}
export interface PrivacyButtonLabels {
privacyButton: string;
services: ServiceLabels[];
}
export type Labels = CcpaLabels | DefaultLabels | TcfLabels | PrivacyButtonLabels;
export {};