"""
Pydantic schema for HeroScreenMockup05 component.

AUTO-GENERATED FROM ui-manifest.json - DO NOT EDIT MANUALLY
Source: marketing/header-section/hero-screen-mockup-05.tsx
Component Path: marketing/header-section/hero-screen-mockup-05
"""

from typing import Any, Literal

from pydantic import Field

from lightwave.schema.pydantic.core.base import JSONFieldSchema


class HeroScreenMockup05Props(JSONFieldSchema):
    """HeroScreenMockup05 - Hero section with screen mockup

    Section Type: header-section
    Variant: hero-screen-mockup-05

    Props follow UntitledUI naming conventions.
    Fallback values use [header-section.propName] pattern to indicate
    missing CMS data."""

    badge_addon_text: str | None = Field(
        default=None, alias="badgeAddonText", description='Badge addon label (e.g., "New feature")'
    )
    badge_text: str | None = Field(
        default=None, alias="badgeText", description='Badge main text (e.g., "Check out the team dashboard")'
    )
    badge_color: Literal["brand", "error", "gray", "success", "warning"] | None = Field(
        default=None, alias="badgeColor", description="Badge color theme"
    )
    badge_href: str | None = Field(default=None, alias="badgeHref", description="Badge link URL")
    heading: str | None = Field(default=None, description="Main headline text")
    subheading: str | None = Field(default=None, description="Description text below headline")
    primary_cta_label: str | None = Field(default=None, alias="primaryCtaLabel", description="Primary CTA button label")
    primary_cta_href: str | None = Field(default=None, alias="primaryCtaHref", description="Primary CTA button URL")
    secondary_cta_label: str | None = Field(
        default=None, alias="secondaryCtaLabel", description="Secondary CTA button label"
    )
    secondary_cta_href: str | None = Field(
        default=None, alias="secondaryCtaHref", description="Secondary CTA button URL"
    )
    mockup_desktop_light: str | None = Field(
        default=None, alias="mockupDesktopLight", description="Desktop mockup image (light mode)"
    )
    mockup_desktop_dark: str | None = Field(
        default=None, alias="mockupDesktopDark", description="Desktop mockup image (dark mode)"
    )
    mockup_mobile_light: str | None = Field(
        default=None, alias="mockupMobileLight", description="Mobile mockup image (light mode)"
    )
    mockup_mobile_dark: str | None = Field(
        default=None, alias="mockupMobileDark", description="Mobile mockup image (dark mode)"
    )
    pattern_desktop: str | None = Field(
        default=None, alias="patternDesktop", description="Background pattern image (desktop)"
    )
    pattern_mobile: str | None = Field(
        default=None, alias="patternMobile", description="Background pattern image (mobile)"
    )
    header_props: Any | None = Field(
        default=None, alias="headerProps", description="Props passed to embedded Header component"
    )
    show_header: bool | None = Field(
        default=None, alias="showHeader", description="Show embedded floating header (default: true)"
    )
    header_variant: Literal["header-default", "header-minimal"] | None = Field(
        default=None, alias="headerVariant", description="Header variant to use"
    )
