feat(ui): add momentary keyboard control surface

This commit is contained in:
Codex
2026-09-25 16:35:14 +03:00
parent 8dd9190573
commit a5a73c8753
7 changed files with 74 additions and 0 deletions
+4
View File
@@ -380,3 +380,7 @@ StatusBadge `variant="indicator"` отображает только одну л
Общая главная: надзаголовок, заголовок, описание, быстрые действия, фон и необязательные status/footer slots. Изображения меняются по таймеру, видео — после завершения; ошибочные источники пропускаются. Пустой фон однотонный, без декоративного круга. Состояние страниц и хранение принадлежат приложению.
Для primary Button `tone="neutral"` фиксирует белый enabled и серый disabled, независимо от темы и акцента; keyboard focus остаётся видимым. MediaSourceField принимает `disabled` и блокирует все операции выбора источника, пока родитель сохраняет документ или загружает файл.
## KeyButton
Контурная клавиша удержания с контролируемым pressed-состоянием. [Контракт](KEY_BUTTON.md).
+15
View File
@@ -0,0 +1,15 @@
# KeyButton
Owner-approved momentary keyboard/pointer visualization (Mission Core, 2026-09-25).
Outlined square key surface; pressed is white with black text in every theme.
This explicit outline identifies a key, not a decorative panel border.
`label` is the complete accessible action; children are the short key legend.
`pressed` is controlled and never toggled by the component. Native button keyboard
semantics, disabled behavior and focus indicator are retained. Consumers own
pointer capture and release, keyboard scope, blur/cancel/unmount handling and
any domain command lease. A displayed pressed key is not an acknowledgement
from equipment. Disabled always renders released. No global listeners exist.
Catalog includes idle, pressed, disabled and focusable surfaces. Use only for
momentary key input, not ordinary actions (Button) or mode choice (SegmentedControl).