feat(ui): topbar primitives — IconButton, SegmentedControl, Avatar
Adds the shared primitives the planner topbar redesign needs, on the design-system tokens: - IconButton — icon-only button (undo/redo), ghost/secondary variants, requires an accessible label. - SegmentedControl — generic single-select toggle (color mode Plain/Elevation/Surface), radiogroup semantics. - Avatar — colored initial circle for participants, per-user color with an accent fallback. Co-located jsdom unit tests for each (roles, aria-checked, onChange, disabled, color fallback). Extends the dev-only /dev/ui gallery with sections for all three. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
c9ad475e59
commit
1bd5f18a33
8 changed files with 371 additions and 2 deletions
|
|
@ -7,3 +7,17 @@ export { Card } from "./Card.tsx";
|
|||
export type { CardProps } from "./Card.tsx";
|
||||
export { Input } from "./Input.tsx";
|
||||
export type { InputProps } from "./Input.tsx";
|
||||
export { IconButton } from "./IconButton.tsx";
|
||||
export type {
|
||||
IconButtonProps,
|
||||
IconButtonVariant,
|
||||
IconButtonSize,
|
||||
} from "./IconButton.tsx";
|
||||
export { SegmentedControl } from "./SegmentedControl.tsx";
|
||||
export type {
|
||||
SegmentedControlProps,
|
||||
SegmentedOption,
|
||||
SegmentedSize,
|
||||
} from "./SegmentedControl.tsx";
|
||||
export { Avatar } from "./Avatar.tsx";
|
||||
export type { AvatarProps, AvatarSize } from "./Avatar.tsx";
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue