<?php

declare(strict_types=1);

namespace Builder\Core\Foundation\Definition\Enums;

/**
 * Known built-in field component names.
 *
 * Module-defined field types use plain strings and register their handlers
 * via FieldHandlerRegistry. This enum covers only the built-in components
 * shipped with core.
 */
enum FieldComponent: string
{
    case Text = 'TextInput';
    case Email = 'EmailInput';
    case Tel = 'TelInput';
    case Url = 'UrlInput';
    case Number = 'NumberInput';
    case Password = 'PasswordInput';
    case Textarea = 'TextareaInput';
    case Select = 'SelectInput';
    case Radio = 'RadioInput';
    case Checkbox = 'CheckboxInput';
    case Toggle = 'ToggleInput';
    case Wysiwyg = 'WysiwygInput';
    case Hidden = 'HiddenInput';
    case Datepicker = 'DatepickerInput';
    case Datetime = 'DatetimeInput';
    case NestedResource = 'NestedResourceEditor';
    case Related = 'RelatedInput';
    case Repeater = 'RepeaterInput';
    case Media = 'FieldMediaInput';
    case BlockEditor = 'FieldBlockEditor';
}
