"""
Pydantic schema for HeroScreenMockup01 component.

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

from typing import Any

from pydantic import Field

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


class HeroScreenMockup01Props(JSONFieldSchema):
    """HeroScreenMockup01 - Hero section with screen mockup

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

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

    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_light: str | None = Field(default=None, alias="mockupLight", description="Mockup image (light mode)")
    mockup_dark: str | None = Field(default=None, alias="mockupDark", description="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)"
    )
