"""
Form Field Schemas - Merged Untitled UI + Payload CMS

Unified form field types combining:
  - Untitled UI naming conventions (preferred)
  - Payload CMS functionality (rich features)

Usage:
    from lightwave.schema.pydantic.ui.forms import TextField, SelectField

    field = TextField(name="email", label="Email Address", required=True)
"""

from lightwave.schema.pydantic.ui.forms.fields import (
    AdminPosition,
    ArrayField,
    BlockDefinition,
    BlocksField,
    CheckboxField,
    ConditionOperator,
    DateField,
    DatePickerType,
    EmailField,
    Field_,
    FieldAccess,
    FieldAdmin,
    # Base types
    FieldBase,
    FieldCondition,
    FieldHooks,
    FieldSize,
    # Type literals
    FieldType,
    # Union type
    FormField,
    GroupField,
    IconPosition,
    NumberField,
    PasswordField,
    RadioField,
    RadioLayout,
    RichTextEditor,
    RichTextFeature,
    RichTextField,
    SelectField,
    SelectOption,
    TextareaField,
    # Field types
    TextField,
    UploadField,
)

__all__ = [
    # Base types
    "FieldBase",
    "FieldAdmin",
    "FieldHooks",
    "FieldAccess",
    "FieldCondition",
    "SelectOption",
    "BlockDefinition",
    # Field types
    "TextField",
    "NumberField",
    "SelectField",
    "CheckboxField",
    "RadioField",
    "TextareaField",
    "DateField",
    "EmailField",
    "PasswordField",
    "UploadField",
    "RichTextField",
    "ArrayField",
    "GroupField",
    "BlocksField",
    # Union type (FormField is primary, Field_ is alias)
    "FormField",
    "Field_",
    # Type literals
    "FieldType",
    "FieldSize",
    "IconPosition",
    "AdminPosition",
    "ConditionOperator",
    "RadioLayout",
    "DatePickerType",
    "RichTextEditor",
    "RichTextFeature",
]
