KQ-557 · SQUIGGLE/MARK

Squiggle Mark

Spellcheck marks that behave like a proofreader. A wavy path draws under each flagged word with pathLength on flick — a mark is a note, not an event — staggered by cascade so a paragraph's worth lands inside the choreography budget, and hovering or focusing a word raises its suggestion. Accept swaps the word, the old copy fading while the new one enters from a nudge, and retracts the squiggle back along its own path; Ignore leaves the word and dissolves the mark. Every flagged word is a button described by its suggestion, so Tab reaches the word, then Accept and Ignore, Escape closes the bubble, and resolving one hands focus to the next open word. Under reduced motion the squiggles are simply there.

KQ-557 · SQUIGGLE/MARK
Fieldline · field note

The Fieldline crew will Suggested: coordinate the Suggested: re-survey with Basinworks and log every reading before dusk. Suggested: Whether the second sweep runs on Thursday depends on the wind.

3 of 3 still flagged

Install

One command — the source lands in your repo. Or copy it from the Code tab.

$ pnpm dlx shadcn@latest add @kinetiq/squiggle-mark

Props

text
string
default
The sentence to mark up. Flagged words are matched inside it in order.
issues
{ word: string; suggestion: string }[]
default
Flagged words and their fixes, in the order they appear in the text.
onFix
(word: string, replacement: string | null) => void
default
Fires on accept with the replacement, or on ignore with null.