KQ-1556 · WORD/HUNT
Word Hunt
A word search: a wall of mono capitals with your words hidden in all eight directions by a seeded generator. A marker capsule hunts them one at a time, gliding to each word on the glide spring — centre, angle the short way round and length each on its own — drawing its outline round it and inking the letters in a cascade, then leaving the word tinted as it moves on. Drag across the grid to circle one yourself: the capsule follows the finger 1:1 held to the allowed directions and lands on whole cells on the snap spring, or fades if it caught nothing. The grid is one tab stop: arrow keys move the marker between found words, Home and End jump, Enter or Space circles the next hidden word.
Harbour words, puzzle 41
Basinworks Weekly
Hidden words: harbour, lantern, tide, basin, kelp, gull. Found: none.
Drag across the letters to circle a word. Arrow keys move between found words; Enter circles the next hidden word.found none of six · drag across the letters
Install
One command — the source lands in your repo. Or copy it from the Code tab.
$ pnpm dlx shadcn@latest add @kinetiq/word-hunt
Props
- words
- string[]
- default —
- The words to hide; letters only are kept and a word longer than the grid is left out.
- value / defaultValue
- string[]
- default []
- The words found so far, controlled or initial.
- onValueChange
- (found: string[]) => void
- default —
- Fires from the find (or the reset) that changed the list.
- onFind
- (word: string, by: "marker" | "visitor") => void
- default —
- A word was found by the hunting marker or by the visitor.
- gridSize
- number
- default 14
- Columns in the grid, 6 to 24.
- rows
- number
- default about 0.42 of the columns, at least 5
- Rows override.
- directions
- "all" | "straight"
- default "all"
- Hide words in all eight directions, or only reading right and down.
- seed
- number
- default 7
- Where the words go and which letters fill the rest.
- marker
- "cobalt" | "amber" | "rose" | "sage" | string
- default "cobalt"
- The pen: a named pigment or any CSS colour.
- pace
- number
- default 1
- How quickly the marker hunts, 0.5 to 2.
- autoplay
- boolean
- default true
- The marker hunts on its own while the grid is on screen.
- loop
- boolean
- default true
- Once every word is found, clear the tints and hunt again.
- showList
- boolean
- default true
- Show the word list beside (or under) the grid.
- label
- string
- default "Word search"
- The puzzle's accessible name.
- disabled
- boolean
- default false
- No dragging and no keys; the marker still hunts.
- className
- string
- default —
- Give it a height; the grid scales to fit.
| Prop | Type | Default | Description |
|---|---|---|---|
| words | string[] | — | The words to hide; letters only are kept and a word longer than the grid is left out. |
| value / defaultValue | string[] | [] | The words found so far, controlled or initial. |
| onValueChange | (found: string[]) => void | — | Fires from the find (or the reset) that changed the list. |
| onFind | (word: string, by: "marker" | "visitor") => void | — | A word was found by the hunting marker or by the visitor. |
| gridSize | number | 14 | Columns in the grid, 6 to 24. |
| rows | number | about 0.42 of the columns, at least 5 | Rows override. |
| directions | "all" | "straight" | "all" | Hide words in all eight directions, or only reading right and down. |
| seed | number | 7 | Where the words go and which letters fill the rest. |
| marker | "cobalt" | "amber" | "rose" | "sage" | string | "cobalt" | The pen: a named pigment or any CSS colour. |
| pace | number | 1 | How quickly the marker hunts, 0.5 to 2. |
| autoplay | boolean | true | The marker hunts on its own while the grid is on screen. |
| loop | boolean | true | Once every word is found, clear the tints and hunt again. |
| showList | boolean | true | Show the word list beside (or under) the grid. |
| label | string | "Word search" | The puzzle's accessible name. |
| disabled | boolean | false | No dragging and no keys; the marker still hunts. |
| className | string | — | Give it a height; the grid scales to fit. |