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.
The Fieldline crew will cordinateSuggested: coordinate the resurveySuggested: re-survey with Basinworks and log every reading before dusk. WetherSuggested: 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.
| Prop | Type | Default | Description |
|---|---|---|---|
| text | string | — | The sentence to mark up. Flagged words are matched inside it in order. |
| issues | { word: string; suggestion: string }[] | — | Flagged words and their fixes, in the order they appear in the text. |
| onFix | (word: string, replacement: string | null) => void | — | Fires on accept with the replacement, or on ignore with null. |