def props_field(
    default: PROPS_FIELD_TYPE | _MISSING_TYPE = MISSING,
    default_factory: Callable[[], PROPS_FIELD_TYPE] | None = None,
) -> PROPS_FIELD_TYPE:
    """Create a field for a props class.

    Args:
        default: The default value for the field.
        default_factory: The default factory for the field.

    Returns:
        The field for the props class.

    Raises:
        ValueError: If both default and default_factory are specified.
    """
    if default is not MISSING and default_factory is not None:
        msg = "cannot specify both default and default_factory"
        raise ValueError(msg)
    return PropsField(  # pyright: ignore [reportReturnType]
        default=default,
        default_factory=default_factory,
        annotated_type=MISSING,
    )
Create a field for a props class.

    Args:
        default: The default value for the field.
        default_factory: The default factory for the field.

    Returns:
        The field for the props class.

    Raises:
        ValueError: If both default and default_factory are specified.
    
reflex/components/props.py