Logo FS-Skia-UI

Controls Gallery — Buttons & Commands Page Spec

Inherits the shell, palette, pointer contract, keyboard contract, and determinism rules from 00-controls-gallery-overview.md.

Goal

Demonstrate every command control across its full pointer state machine — hover, press, release, click — including icon-only, toggle, and split variants, with each activation counted and echoed.

Controls Demonstrated

Control

Module

Required

Events

Demonstrates

button

Button

text

onClick

Primary, secondary, danger, ghost intents

icon-button

IconButton

text

onClick

Icon-only command with tooltip

toggle-button

ToggleButton

text

onToggle

Product-owned pressed/on state

split-button

SplitButton

text

onClick, onSelected

Primary action plus secondary menu

User Experience

The page shows a command bar of buttons in every intent, an icon-button toolbar, a row of toggle buttons whose on/off state persists, and a split button whose caret opens a menu of secondary actions. A live activation log shows the last few commands. Every button visibly transitions through hover → pressed → released as the pointer acts on it.

Layout

Mouse & Pointer Interactions

Keyboard

Core Behaviors

Data Model

Visual / Palette Requirements

App State

Track: button descriptors and counts; toggle states; split-button menu and selection; activation log; hovered/pressed/focused ids.

Determinism and Evidence

Acceptance Criteria

Out of Scope

Type something to start searching.