UNPKG

@usercentrics/cmp-browser-sdk

Version:
277 lines (276 loc) 7.5 kB
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 {};