feat(ui): add measured linear progress to resource rows

This commit is contained in:
Codex
2026-09-05 23:19:36 +03:00
parent 8a79dfe84d
commit 17e150b1c7
10 changed files with 121 additions and 4 deletions
+8
View File
@@ -321,3 +321,11 @@ Engine продолжает владеть определениями полей
Светлый одноцветный знак шапки явно помечается `AppHeader.brandMonochrome` и
`HeaderWorkspace.monochrome`: общая тема обеспечивает контраст на светлом фоне.
По умолчанию флаг выключен; цветные изображения и аватары не меняются.
## ProgressBar
Линейная полоса выполнения: `label`, измеренная доля `value` 0…1 или
неопределённая продолжительность без `value`, доступный `valueText`.
В `ResourceRow` передаётся через `progress` и заменяет статус между
наименованием и кнопками. Процент принадлежит приложению, анимация его не выдумывает.
См. [контракт](PROGRESS_BAR.md).
+15
View File
@@ -0,0 +1,15 @@
# ProgressBar
Владелец Mission Core 05.09.2026 явно запросил горизонтальную заполняющуюся
полосу вместо кружка и точки в строке подготовки устройства. Общий компонент
добавлен в Design Guideline до подключения в Node/Core.
`value` — завершённая доля 0…1; NaN/Infinity трактуются как неизвестная величина,
выход за границы ограничивается. Без value используется движущийся сегмент,
aria-valuenow отсутствует. `label` обязателен; `valueText` описывает текущий этап.
Нет интерактивности и focus. Темы используют существующие семантические токены.
При reduced motion движение выключено, видимый сегмент сохраняется.
ResourceRow.progress занимает свободное место между текстом и actions, скрывает
status, на узком экране переносится ниже текста. Готовность не вычисляется
компонентом. Каталог содержит завершённый, определённый и неизвестный прогресс.
+4
View File
@@ -21,3 +21,7 @@ disabled и keyboard/focus остаются у общего контрола. С
объект доступным или подключённым самостоятельно.
Пример находится в живом каталоге, раздел «Контролы → Строки ресурсов».
Для длительных операций с линейной индикацией используйте `progress`
(ProgressBar: label, value, valueText). Он заменяет status, оставляет действия
справа и занимает промежуток после названия.