Components
Editor dialog shell
A centered scrim and card isolate a single create or edit task.
On this page
Purpose and placement
A centered scrim and card isolate a single create or edit task.
Anatomy
- Fixed black/50 overlay
- 576px maximum card
- Heading and close action
- Stacked field region
- Full-width primary action
Contract
| Input or boundary | Behavior |
|---|---|
| Open state | Conditional rendering from local booleans |
| Close | Hide editor and reset fields/errors |
| Height | No max-height or scroll containment |
States and feedback
- Create versus edit heading
- Pending save
- Inline validation or service error
- Open suggestions
Interaction and composition
Keep title, close control and action together. For native dropdowns, capture selected values rather than reconstructing the platform menu. For custom icon suggestions, capture the union of input and open surface.
Responsive behavior
32px inner padding plus 24px viewport gutters can constrain phone fields. Tall editors may exceed short viewport height; normal screenshots retain this limitation and expanded captures are labeled separately.
Accessibility contract
Close buttons are named and create forms autofocus an input. The source cards are divs without role=dialog, aria-modal, focus trap, Escape close or restored focus.
Known implementation gaps
Modal semantics and keyboard containment are open accessibility work. Do not call the current overlay an accessible dialog primitive.
Source references
| Repository file | Responsibility |
|---|---|
| app/(home)/AppHome.tsx | Create/edit overlays |
| app/settings/boards/BoardsList.tsx | Board edit overlay |
Examples from the app
Actual Startboard source UI with isolated fictional records; both native themes at 2× resolution or higher. No live integrations or account writes. Captured at 2× resolution or higher. Select an image to inspect it full size.
Related topics
Source audit: 2026-10-08 · Revision 08fa2595a668 · Documentation v1.0.0