# Глоссарий

Глоссарий определяет общие термины документации VegaUI, чтобы страницы компонентов оставались краткими и единообразными.

## Контролируемый (Controlled)

Компонент контролируемый, когда его текущим состоянием владеет родитель через пропсы вроде `value`, `open` или `checked` и обновляет это состояние через колбэки.

## Неконтролируемый (Uncontrolled)

Компонент неконтролируемый, когда после начального пропса вроде `defaultValue`, `defaultOpen` или `defaultChecked` он сам владеет своим внутренним состоянием.

## Составной компонент (Compound Component)

Компонент, собранный из корня и экспортируемых дочерних частей, которые делят состояние через контекст. `Select`, `Dialog` и `Calendar` — типичные составные компоненты.

## Примитив (Primitive)

Низкоуровневый строительный блок с небольшим API и минимальным контрактом композиции или вовсе без него. Примитивы обычно достаточно описать одним `index.md`.

## Портал (Portal)

Способ рендеринга, при котором содержимое оверлея монтируется вне обычного места в DOM, чтобы избежать обрезки, проблем со слоями наложения или переполнением.

## Поиск по вводу (Typeahead)

Поведение клавиатуры, при котором фокус или выбор перемещается по введённым символам. Может конфликтовать с настоящим текстовым полем, отрендеренным внутри списка или меню.

## Участие в форме (Form Participation)

Способность собственного компонента вести себя как поле в нативных HTML-формах, включая отправку через `FormData` и браузерные инструменты для форм.

## Только для чтения (Read-Only)

Состояние, в котором компонент по-прежнему может получать фокус, но его значение не должно меняться.

## Отключённый (Disabled)

Состояние, в котором компонент не должен быть интерактивным. Обычно оно блокирует фокус, взаимодействие указателем и изменение значения.

## Вариант (Variant)

Именованный визуальный или поведенческий режим, например `primary`, `secondary`, `field` или `inline`. Многие компоненты сочетают `variant` (цветовую роль) с `appearance` (визуальной подачей: `fill`, `outline`, `ghost`, `transparent`).

## Токен размера (Size Token)

Режим размера, который определяет отступы, высоту, скругление или типографику. В библиотеке две шкалы:

- элементы управления и контейнеры принимают именованный размер от `xs` до `xl`; некоторые компоненты принимают только `sm`–`lg` (размеры перечислены на странице каждого компонента), `Avatar` расширяет шкалу до `2xs`–`2xl`, а `Icon` — вниз до `4xs`
- типографика и части размером с текст (`Heading`, `Text`, `Spinner`) принимают число от `1` до `11` — шаг токенов размера шрифта `--font-size-1` … `--font-size-11`

Обе шкалы также принимают собственное значение, которое вы стилизуете сами.

## Контракт композиции (Composition Contract)

Обязательная структура корня и дочерних частей, без которой составной компонент не работает правильно.

## Источник истины (Source Of Truth)

Категория файлов, которой следует доверять для конкретного вида документации:

- исходный код — для публичного API и типов
- истории — для реалистичного использования и видимых состояний
- тесты — для поведения и пограничных случаев
- стили — для CSS-переменных и точек настройки темы
