Базовый контейнер для полей формы, который композирует метку, сообщения, счётчик, иконки и прогресс в единую структуру.

Field централизует управление визуальным представлением полей ввода, обрабатывает состояния фокуса и валидации, координирует расположение вспомогательных элементов и предоставляет согласованный API для построения любых типов инпутов. Является фундаментальной основой для создания консистентных форм с поддержкой слотов, иконок управления и интеграцией подкомпонентов.

**Основные возможности:**

- Композиция подкомпонентов (FieldLabel, FieldMessage, FieldCounter, Progress)
- Управление состояниями (focus, disabled, readonly, selected, block)
- Координация слотов (caption, prefix, suffix, leading, trailing)
- Подсветка валидации на основе validationMessage и forceShowMessage
- Иконки управления с настраиваемой видимостью (cancel, arrows)
- Гибкое позиционирование счётчика через counterTop
- Встроенные помощники для размеров и иконок (FieldSize, FieldIcons)
- Интеграция прогресса загрузки и скелетон-состояния

**Типичные сценарии использования:**

- Базовый контейнер для Input, Select, Textarea и других полей ввода
- Построение кастомных компонентов форм с единым стилем
- Создание полей с валидацией и счётчиками символов
- Разработка библиотек компонентов с консистентным UI

```html
<script setup>
import { ref } from 'vue'
import { Field } from '@dxtmisha/constructor'

const value = ref('')

// Field предоставляет структуру и управление
</script>

<template>
  <Field
    label="Имя пользователя"
    helper-message="Введите ваше имя"
    :counter="value.length"
    counter-max="50"
  >
    <template #default="{ id, className }">
      <input
        :id="id"
        :class="className"
        v-model="value"
        maxlength="50"
      />
    </template>
  </Field>
</template>
```

> Field — это контейнер-конструктор: он не обрабатывает ввод данных напрямую, а организует структуру, классы и отображение вспомогательных элементов для любых типов полей ввода.
