Documentation Index

Fetch the complete documentation index at: https://usercentrics.document360.io/llms.txt

Use this file to discover all available pages before exploring further.

Welcome to our new beta documentation experience! Let us know what you think below, under "Was this article helpful?" 👍 👎

Interfaces

Prev Next

ThemeData

interface ThemeData {
    breakPoints?: {
        desktop: number;
        tablet: number;
        mobile: number;
    };
    layers?: ScreenTypes<LayerTheme>;
    privacyButton?: ScreenTypes<Partial<PrivacyButtonTheme>>;
    embeddings?: ScreenTypes<EmbeddingsTheme>;
}

Screentypes

interface ScreenTypes<ThemeType> {
    desktop?: ThemeType;
    tablet?: ThemeType;
    mobile?: ThemeType;
    xs?: ThemeType;
}

LayerTheme

interface LayerTheme {
  base?: Partial<CmpTheme>;
  first?: Partial<CmpTheme>;
  second?: Partial<CmpTheme>;
}

CmpTheme

interface CmpTheme {
    border: {
        radius: string;
    };
    borderRadiusLayer: OptionalSettingsData;
    borderRadiusButton: OptionalSettingsData;
    buttons: CmpButtonsType[][];
    colors: {
        acceptBg?: OptionalSettingsData;
        acceptTxt?: OptionalSettingsData;
        background?: OptionalSettingsData;
        border?: OptionalSettingsData;
        denyBg?: OptionalSettingsData;
        denyTxt?: OptionalSettingsData;
        link?: OptionalSettingsData;
        moreBg?: OptionalSettingsData;
        moreTxt?: OptionalSettingsData;
        neutral?: OptionalSettingsData;
        overlay?: OptionalSettingsData;
        primary?: OptionalSettingsData;
        privacyBg?: OptionalSettingsData;
        privacyIcon?: OptionalSettingsData;
        saveBg?: OptionalSettingsData;
        saveTxt?: OptionalSettingsData;
        tabActive?: OptionalSettingsData;
        tabInactive?: OptionalSettingsData;
        toggleActive?: OptionalSettingsData;
        toggleInactive?: OptionalSettingsData;
        toggleDisabled?: OptionalSettingsData;
        toggleActiveIcon?: OptionalSettingsData;
        toggleInactiveIcon?: OptionalSettingsData;
        toggleDisabledIcon?: OptionalSettingsData;
        tertiary?: OptionalSettingsData;
        text?: OptionalSettingsData;
        ccpaButtonColor?: OptionalSettingsData;
        ccpaButtonTextColor?: OptionalSettingsData;
    };
    scrollbar: {
        thumbColor?: OptionalSettingsData;
    };
    direction: 'ltr' | 'rtl';
    fonts: {
        family: string;
    };
    hideDenyBtn: boolean;
    hideLanguageSwitch: boolean;
    logo: {
        url: string;
        alt: string;
        position: 'left' | 'center' | 'right';
    };
    footer: {
        isCentered: boolean;
    };
    maxBannerWidth: string;
    name: string;
    overlayOpacity: string;
    position: 'left' | 'center' | 'right' | 'bottom';
    removeCcpaToggle?: boolean;
    secondLayerTrigger: string;
    spacing: Spacing;
    typography: {
        color?: OptionalSettingsData;
        font?: OptionalSettingsData;
        size?: number | undefined;
    };
    useBackgroundShadow: boolean;
    useOverlay?: boolean;
    closeOption?: CLOSE_OPTION | null;
    tcf?: {
        showDescriptions?: boolean;
        hideNonIab?: boolean;
        hideToggles?: boolean;
        showSharedOutsideEu?: boolean;
    };
    showCategoriesToggles: boolean;
    showMoreInformationLink?: boolean;
    hideDataProcessingServices?: boolean;
    hideServicesToggles?: boolean;
    defaultTab: 'FIRST' | 'SECOND';
}

PrivacyButtonTheme

interface PrivacyButtonTheme {
    position: 'left' | 'right';
    size: number;
    backgroundColor: string;
    pages: string[];
    iconUrl: string;
    iconColor: string;
}

ConsentDetails

interface ConsentDetails {
    consent: ConsentData;
    services: Record<string, ServiceData>;
    categories: Record<string, CategoryData>;
}

ConsentData

interface ConsentData {
    status: 'ALL_ACCEPTED' | 'ALL_DENIED' | 'SOME_ACCEPTED' | 'SOME_DENIED';
    serviceIds?: string[];
    required: boolean;
    version: number;
    controllerId: string;
    language: string;
    createdAt: number;
    updatedAt: number;
    updatedBy: ConsentActionType;
    setting: SettingData;
    type: ConsentType;
    hash: string;
    gpcSignal?: boolean;
    isBot?: true;
    isOutsideEu?: true;
}

SettingData

interface SettingData {
    id: string;
    type: SettingType;
    version: string;
    abVariant?: string;
    sandbox?: true;
}

ServiceData

interface ServiceData {
    name: string;
    version: string;
    category: string;
    essential: boolean;
    consent?: {
        given: boolean;
        type: 'IMPLICIT' | 'EXPLICIT';
    };
    gcm?: {
        analyticsStorage?: true;
        adStorage?: true;
    };
    subservices?: Record<string, ServiceData>;
    thirdCountryDataTransfer?: boolean;
    status?: 'added';
}

CategoryData

interface CategoryData {
    dps: Record<string, boolean> | null;
    essential?: boolean;
    hidden?: boolean;
    name: string;
    state: 'ALL_DENIED' | 'SOME_ACCEPTED' | 'ALL_ACCEPTED';
}