Command palette

Tree

Code

install.sh
npm i @gener8v/ui @gener8v/tokens

# one stylesheet, then the components
import '@gener8v/ui/styles.css';
import { Button, Flow, KnowledgeGraph } from '@gener8v/ui';

The palette is a dialog, not a dropdown — it takes the page over, so it uses the same focus contract as .dialog. Focus stays in the search field and the highlighted row is tracked by aria-activedescendant; moving focus into the list would break typing, which is the only reason a palette exists. The tree is one Tab stop: arrows move through visible rows, Right expands then descends, Left collapses then rises.