Поле
Объедините метки, элементы управления и текст справки для создания доступных полей формы и сгруппированных входных данных.
❯buridan add полеСостав
поле.корень
Один элемент управления с меткой, вспомогательным текстом и проверкой.
field.root
├── field.label
├── Input / Textarea / switch.root / select.root
├── field.description
└── field.error
поле.группа
Связанные поля в одной группе. При необходимости используйте field.separator между разделами.
field.group
├── field.root
│ ├── field.label
│ ├── Input / Textarea / switch.root / select.root
│ ├── field.description
│ └── field.error
├── field.separator
└── field.root
├── field.label
└── Input / Textarea / switch.root / select.root
поле.набор
Семантическая группировка с легендой и описанием, обычно содержащая field.group.
field.set
├── field.legend
├── field.description
└── field.group
├── field.root
│ ├── field.label
│ ├── Input / Textarea / switch.root / select.root
│ ├── field.description
│ └── field.error
└── field.root
├── field.label
└── Input / Textarea / switch.root / select.root
-
field.root— это основная оболочка для одного поля. -
field.content— гибкий столбец, группирующий метку и описание. Не требуется, если у вас нет описания. -
Оберните связанные поля
field.groupи используйтеfield.setсfield.legendдля семантической группировки.
Примеры
Общие
Демонстрирует объединение field.root, field.group, field.set, field.label, field.description и field.error.
Использованный реквизит: orientation на field.root; variant по field.legend; html_for на field.label; data_invalid на field.root.
Адаптивный макет
-
Вертикальные поля: ориентация по умолчанию объединяет метки, элементы управления и вспомогательный текст — идеально подходит для макетов, ориентированных на мобильные устройства.
-
Горизонтальные поля: установите
orientation="horizontal"вfield.root, чтобы выровнять метку и элемент управления рядом. Соедините сfield.content, чтобы описания были согласованными. -
Адаптивные поля: установите
orientation="responsive"для автоматического макета столбцов внутри родительских элементов с поддержкой контейнеров.
Проверка и ошибки
-
Добавьте
data_invalid="true"кfield.root, чтобы перевести весь блок в состояние ошибки. -
Добавьте
aria_invalid="true"на вход для вспомогательных технологий. -
Отрисовывайте
field.errorсразу после элемента управления или внутриfield.content, чтобы сообщения об ошибках были выровнены по полю.
field.root(
field.label("Email", html_for="email"),
input(id="email", type="email", aria_invalid="true"),
field.error("Enter a valid email address."),
data_invalid="true",
)
Справочник по API
поле.набор
Контейнер, который отображает семантический fieldset с предустановками интервалов.
field.set(
field.legend("Delivery"),
field.group(),
)
поле.легенда
Элемент легенды для field.set. Переключитесь на вариант "label", чтобы обеспечить соответствие стандартному размеру этикетки.
field.legend("Notification Preferences", variant="label")
field.legend имеет два варианта: legend и label. Вариант label применяет стандартные размеры и выравнивание меток ввода, что полезно, если вы объединяете вложенные наборы полей.
поле.группа
Оболочка макета, которая объединяет компоненты field.root и позволяет выполнять запросы к контейнерам для адаптивных ориентаций.
field.group(
field.root(),
field.root(),
class_name="@container/field-group flex flex-col gap-6",
)
поле.корень
Основная оболочка для одного поля. Обеспечивает управление ориентацией, недопустимые стили состояния и конфигурации интервалов.
field.root(
field.label("Remember me", html_for="remember"),
switch.root(id="remember"),
orientation="horizontal",
)
поле.содержание
Столбец Flex, который группирует элементы управления и описания, когда метка находится рядом с элементом управления. Не требуется, если у вас нет блока описания макета.
field.root(
checkbox.root(id="notifications"),
field.content(
field.label("Notifications", html_for="notifications"),
field.description("Email, SMS, and push options."),
),
)
поле.метка
Метка, стилизованная как для прямого ввода, так и для вложенных дочерних элементов field.
field.label("Email", html_for="email")
поле.заголовок
Отображает отдельный заголовок с соответствующими свойствами оформления метки внутри узла field.content.
field.content(
field.title("Enable Touch ID"),
field.description("Unlock your device faster."),
)
поле.описание
Вспомогательный текстовый слот, который автоматически выравнивает длинные строки при использовании в горизонтальных конфигурациях.
field.description("We never share your email with anyone.")
поле.разделитель
Правило визуального разделителя, используемое для разделения разделов или категорий внутри компонента-обертки field.group. Принимает необязательное встроенное дочернее содержимое.
field.separator("Or continue with")
поле.ошибка
Доступный блок-контейнер типографики уведомлений об ошибках, настраиваемый автоматически с использованием стандартных переменных макета состояния приложения (role="alert").
field.error("Invalid passcode combination provided.")