Все версии

Ревью составных полей: единицы и внутренняя сетка

Дата: 01.11.2026. Исправлено в рендере v2, продуктовые компоненты не изменены.

| Проблема | Причина | Исправление | | --- | --- | --- | | «показов/день» прилипает к краю | input width:100% и flex-shrink у соседней единицы | Grid: minmax(0, 1fr) max-content; ширина единицы больше не сжимается | | Короткие и длинные суффиксы имеют разные оптические отступы | min-width 48px не сохраняет padding у длинного текста | Единая ячейка: min-width 64px, padding-inline 16px, вертикальное центрирование | | Высота значения зависит от метрик шрифта | Не задан line-height | Явная строка 22px у контрола и 20px у единицы; поле 44px | | Ошибка IntegerField в каталоге серая | .tile p перекрывает цвет .err | Описание ограничено .tile > p:not(.err) | | Числовой пример IntegerField выровнен иначе | Нет класса numeric и inputmode | Общие числовое выравнивание и режим ввода | | Единица визуально рядом, но не связана с input | Суффикс не входит в accessible description | Собственный id единицы, включенный в aria-describedby |

Замеры на 1440 px

| Единица | От текста до внешней правой границы до | После | | --- | --- | --- | | показов/день | 1,52 px | 17 px | | показов | 3,11 px | 17 px | | руб. | 12,5 px | 20,5 px |

Длинный текст получает минимум 16px внутреннего воздуха с каждой стороны. Короткие обозначения центрируются в общей ячейке минимум 64px. Разделитель и подложка сохранены; значение и единица никогда не перекрываются.

Проверки и результат

До: условия · После: условия · После: мобильный · После: компоненты.

Повтор из dsp-web при локальном HTTP-сервере на порту 4325: node design-book/proposals/campaign-form/v2/component-review/check.mjs.