"""
Pydantic schema for MessageAction.demo component.

AUTO-GENERATED FROM ui-manifest.json - DO NOT EDIT MANUALLY
Source: application/messaging/message-action.demo.tsx
Component Path: application/messaging/message-action.demo
"""

from typing import Any

from pydantic import Field

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


class MessageActionMinimalProps(JSONFieldSchema):
    """Props for MessageActionMinimal component."""

    on_submit: Any | None = Field(default=None, alias="onSubmit")


class MessageActionTextareaProps(JSONFieldSchema):
    """Props for MessageActionTextarea component."""

    text_area_class_name: str | None = Field(default=None, alias="textAreaClassName")
    on_submit: Any | None = Field(default=None, alias="onSubmit")


class MessageActionAdvancedProps(JSONFieldSchema):
    """Props for MessageActionAdvanced component."""

    text_area_class_name: str | None = Field(default=None, alias="textAreaClassName")
    on_submit: Any | None = Field(default=None, alias="onSubmit")
    on_voice_submit: Any | None = Field(
        default=None, alias="onVoiceSubmit", description="Callback when voice recording is complete"
    )
    is_disabled: bool | None = Field(
        default=None, alias="isDisabled", description="Disable the form (e.g., while transcribing)"
    )
