Back to docs
Patterns
Form save indicator
Communicate save state to users without blocking their flow.
States
Idle — no pending changes
Saving — request in flight
Saved — last write confirmed
Error — retry available
Placement
Recipe titleSaved
Inline with the form header keeps the indicator scannable without stealing focus from the content below.
Debounce strategy
0mskeystroke
800msidle → trigger save
2smax wait before forced flush
Debounce writes to avoid hammering your API. Show “Saving” immediately on keystroke so the user knows the system caught the change.
Edge cases
- •Tab-away while saving — queue the write, resolve on return.
- •Network offline — cache locally, sync when back online.
- •Rapid field switching — discard stale in-flight requests.