feat(ui): share resource rows and refine Node shell behavior

This commit is contained in:
Codex
2026-09-05 17:25:27 +03:00
parent d51d8bb7f6
commit 8a79dfe84d
9 changed files with 129 additions and 5 deletions
+4
View File
@@ -44,3 +44,7 @@ Modal остаётся portal-слоем. Его тело прокручивае
- предметное содержимое content window.
Shell владеет геометрией, слоями, переходами и breakpoint-поведением. См. готовый путь подключения в `docs/CONSUMPTION.md`.
На узком экране скрывается именно действие `data-action="expand"`.
Порядок utility actions не является признаком типа действия: плюс и обновление
остаются доступны, даже когда стоят первыми в шапке. Исправлено при QA Node 0.3.
+9
View File
@@ -312,3 +312,12 @@ Inspector владеет:
Для Engine Environment Settings desktop-контракт точный: окно `390 px`, рабочая колонка `330 px`, строка `154 + 14 + 162 px`, высота контрола `46 px`, section header `50 px` с радиусом `12 px`. Accent-filled section headers и полноширинные range/checker/select сохраняют геометрию исходника.
Engine продолжает владеть определениями полей, типами нод и сохранением значений. В живом catalog эти collapsible sections находятся в `Guideline → Контролы`; отдельной product-вкладки Inspector нет.
## ResourceRow и ResourceList
Общие компактные строки ресурсов, выделенные из Mission Core AI Inference.
Контракт, состояния и происхождение: [RESOURCE_ROW.md](RESOURCE_ROW.md).
Светлый одноцветный знак шапки явно помечается `AppHeader.brandMonochrome` и
`HeaderWorkspace.monochrome`: общая тема обеспечивает контраст на светлом фоне.
По умолчанию флаг выключен; цветные изображения и аватары не меняются.
+23
View File
@@ -0,0 +1,23 @@
# ResourceRow и ResourceList
Владелец 2026-09-05 запросил перенос существующих длинных строк Mission Core
AI Inference в Node с повторным использованием Design Guideline. Источник:
ObservatoryWorkspace / observatory-evidence-card. Это выделение существующего
оформления в общий компонент, без лабораторной модели данных.
`ResourceList` содержит обычные `li`; внутри — `ResourceRow` с обязательным
`title`, опциональными `icon`, `description`, `metadata`, `status`, `actions`.
Слоты действий принимают канонические Button/IconButton. Клик по всей строке
не назначается: самостоятельные действия имеют свои доступные подписи и focus.
Геометрия источника сохранена: минимум 4.25rem, отступы .7/.85rem, значок
2.15rem, компактный радиус и существующие токены поверхности/типографики.
Длинное название переносится; метаданные сокращаются визуально, полный текст
можно передать через title. На узком экране статус и действия переходят ниже.
Состояния поставляет consumer: нормальное, пустой список, загрузка, ошибка,
недоступное действие. Pending отмечается aria-busy и ActivityIndicator;
disabled и keyboard/focus остаются у общего контрола. Строка не объявляет
объект доступным или подключённым самостоятельно.
Пример находится в живом каталоге, раздел «Контролы → Строки ресурсов».