From 3adeb33b1b300bf7add342a5c3a863fda15dc8a6 Mon Sep 17 00:00:00 2001 From: Codex Date: Sun, 6 Sep 2026 00:41:48 +0300 Subject: [PATCH] fix(ui): standardize compact operational headings and empty states --- apps/catalog/src/CatalogApp.tsx | 1 + docs/OPERATIONAL_TYPOGRAPHY.md | 22 ++++++++++++++++++++++ packages/ui-core/styles.css | 7 ++++--- registry/components.json | 1 + registry/registry.json | 1 + 5 files changed, 29 insertions(+), 3 deletions(-) create mode 100644 docs/OPERATIONAL_TYPOGRAPHY.md diff --git a/apps/catalog/src/CatalogApp.tsx b/apps/catalog/src/CatalogApp.tsx index bf60aa8..e57ee98 100644 --- a/apps/catalog/src/CatalogApp.tsx +++ b/apps/catalog/src/CatalogApp.tsx @@ -1423,6 +1423,7 @@ export function CatalogApp() {
  • } title="Сохранённый результат" metadata="Сегодня · доступен для просмотра" actions={ setProjectName("Сохранённый результат")}>} />
  • } title="Подготовка камеры" metadata="Проверка потоков" progress={{label:"Подготовка камеры",value:0.8}} aria-busy="true" actions={} />
  • +
    diff --git a/docs/OPERATIONAL_TYPOGRAPHY.md b/docs/OPERATIONAL_TYPOGRAPHY.md new file mode 100644 index 0000000..ac87da6 --- /dev/null +++ b/docs/OPERATIONAL_TYPOGRAPHY.md @@ -0,0 +1,22 @@ +# Компактная операционная типографика + +Уточнение владельца 06.09.2026 для Mission Core / Node, обязательное для +общих компонентов NODE.DC. Повторяющиеся сообщения и подписи не оформляются +крупными заголовками. Этот документ зарегистрирован в registry/registry.json. + +- Заголовок страницы или окна: только предусмотренный шаблоном title-токен. +- Заголовок секции, SettingsCard, короткое сообщение пустого списка: md + (0.8125rem / 13 px при стандартном корневом размере), без увеличения через h2. +- Описание, пояснение, сведения о состоянии: sm (0.75rem / 12 px). +- Технические метаданные: xs либо типографика ResourceRow. +- Browser-default h1–h6/p/strong и локальные крупные размеры запрещены. +- Размер не умножается из-за вложенности карточек, ошибки или отсутствия данных. + +SettingsCard и nodedc-empty-state закрепляют эти размеры в ui-core. Текст +«Устройства не обнаружены» не является заголовком нового раздела. В живом +каталоге рядом со строками ресурсов есть пример пустого списка. + +В завершённом этапе настройки окружения status-слот ResourceRow содержит +только Icon check с доступным названием. Галочка не оборачивается в StatusBadge, +Checker, круг, pill или кнопку. Это знак результата, а не интерактивный контрол. +Лампочка состояния устройства отдельно использует StatusBadge indicator. diff --git a/packages/ui-core/styles.css b/packages/ui-core/styles.css index 06c7788..55b9d47 100644 --- a/packages/ui-core/styles.css +++ b/packages/ui-core/styles.css @@ -585,13 +585,13 @@ textarea.nodedc-field__control { .nodedc-settings-card__titles h2 { color: var(--nodedc-text-primary); - font-size: 1rem; + font-size: var(--nodedc-font-size-md); line-height: 1.25; } .nodedc-settings-card__titles p { color: var(--nodedc-text-muted); - font-size: 0.75rem; + font-size: var(--nodedc-font-size-sm); line-height: 1.4; } @@ -3569,6 +3569,7 @@ textarea.nodedc-field__control { } .nodedc-empty-state { + font-size: var(--nodedc-font-size-sm); display: grid; min-height: 12rem; place-items: center; @@ -3580,7 +3581,7 @@ textarea.nodedc-field__control { .nodedc-empty-state strong { color: var(--nodedc-text-primary); - font-size: var(--nodedc-font-size-lg); + font-size: var(--nodedc-font-size-md); } @media (max-width: 1100px) { diff --git a/registry/components.json b/registry/components.json index 476d6df..2d512a1 100644 --- a/registry/components.json +++ b/registry/components.json @@ -441,6 +441,7 @@ "summary": "Neutral administration group with title metadata, actions, content and a compact binary switch.", "rules": [ "The card owns grouping geometry but not product form schemas.", + "Section and empty-state titles use the compact md token; descriptions use sm. Page/window title sizes and browser heading defaults are forbidden inside cards.", "Use Switch for compact visibility/enable states; use Checker for the Engine inspector treatment." ] }, diff --git a/registry/registry.json b/registry/registry.json index 9fd1c6d..b7d7cdd 100644 --- a/registry/registry.json +++ b/registry/registry.json @@ -44,6 +44,7 @@ "architecture": "../docs/ARCHITECTURE.md", "components": "../docs/COMPONENTS.md", "theming": "../docs/THEMING.md", + "operationalTypography": "../docs/OPERATIONAL_TYPOGRAPHY.md", "windows": "../docs/WINDOWS_AND_LAYERS.md", "baseline": "../docs/SOURCE_BASELINE.md", "governance": "../docs/GOVERNANCE.md",