"""
Pydantic schema for ThemeToggle component.

AUTO-GENERATED FROM ui-manifest.json - DO NOT EDIT MANUALLY
Source: application/theme-toggle/theme-toggle.tsx
Component Path: application/theme-toggle/theme-toggle
"""

from typing import Literal

from pydantic import Field

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


class ThemeToggleProps(JSONFieldSchema):
    """Props for ThemeToggle component."""

    size: Literal["md", "sm"] | None = Field(default=None, description="Size of the toggle")
    class_name: str | None = Field(default=None, alias="className", description="Additional class name")
    show_label: bool | None = Field(default=None, alias="showLabel", description="Show label next to toggle")
    on_theme_change: Literal["dark", "light"] | None = Field(
        default=None, alias="onThemeChange", description="Callback when theme changes"
    )
