# This file was auto-generated by Fern from our API Definition.

import typing

import pydantic
from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
from .branding_theme_colors_captcha_widget_theme_enum import BrandingThemeColorsCaptchaWidgetThemeEnum


class BrandingThemeColors(UniversalBaseModel):
    base_focus_color: typing.Optional[str] = pydantic.Field(default=None)
    """
    Base Focus Color
    """

    base_hover_color: typing.Optional[str] = pydantic.Field(default=None)
    """
    Base Hover Color
    """

    body_text: str = pydantic.Field()
    """
    Body text
    """

    captcha_widget_theme: typing.Optional[BrandingThemeColorsCaptchaWidgetThemeEnum] = None
    error: str = pydantic.Field()
    """
    Error
    """

    header: str = pydantic.Field()
    """
    Header
    """

    icons: str = pydantic.Field()
    """
    Icons
    """

    input_background: str = pydantic.Field()
    """
    Input background
    """

    input_border: str = pydantic.Field()
    """
    Input border
    """

    input_filled_text: str = pydantic.Field()
    """
    Input filled text
    """

    input_labels_placeholders: str = pydantic.Field()
    """
    Input labels & placeholders
    """

    links_focused_components: str = pydantic.Field()
    """
    Links & focused components
    """

    primary_button: str = pydantic.Field()
    """
    Primary button
    """

    primary_button_label: str = pydantic.Field()
    """
    Primary button label
    """

    read_only_background: typing.Optional[str] = pydantic.Field(default=None)
    """
    Read only background
    """

    secondary_button_border: str = pydantic.Field()
    """
    Secondary button border
    """

    secondary_button_label: str = pydantic.Field()
    """
    Secondary button label
    """

    success: str = pydantic.Field()
    """
    Success
    """

    widget_background: str = pydantic.Field()
    """
    Widget background
    """

    widget_border: str = pydantic.Field()
    """
    Widget border
    """

    if IS_PYDANTIC_V2:
        model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True)  # type: ignore # Pydantic v2
    else:

        class Config:
            frozen = True
            smart_union = True
            extra = pydantic.Extra.allow
