|
| 1 | +--- |
| 2 | +"@syntropy-labs/react-web-speech": minor |
| 3 | +--- |
| 4 | + |
| 5 | +## 🎉 Initial Release (v0.1.0) |
| 6 | + |
| 7 | +React hooks for the Web Speech API with first-class DX. |
| 8 | + |
| 9 | +### Features |
| 10 | + |
| 11 | +- **`useSpeechInput`** — Primary hook for speech-to-text |
| 12 | + - Permission state management (`prompt`, `granted`, `denied`) |
| 13 | + - Auto-silence detection with configurable timeout |
| 14 | + - Auto-restart on network errors |
| 15 | + - Real-time interim results |
| 16 | + - Full TypeScript support |
| 17 | + |
| 18 | +- **`useSpeechInputWithCursor`** — Extended hook with cursor-aware insertion |
| 19 | + - Insert transcribed text at cursor position |
| 20 | + - Works with controlled inputs and textareas |
| 21 | + - `appendSpace` option for natural text flow |
| 22 | + |
| 23 | +- **Cursor Utilities** — Low-level cursor management |
| 24 | + - `insertTextAtCursor` — Insert text at cursor in controlled inputs |
| 25 | + - `getCursorPosition` / `setCursorPosition` — Cursor position helpers |
| 26 | + - `supportsSelection` — Check input type compatibility |
| 27 | + |
| 28 | +- **Browser Detection** — SSR-safe browser capability detection |
| 29 | + - `detectBrowserCapabilities` — Check Speech API support |
| 30 | + - `getBrowserCompatibilityWarning` — Browser-specific warnings |
| 31 | + |
| 32 | +- **Permission Helpers** — Mic permission management |
| 33 | + - `getMicPermissionState` — Query current permission |
| 34 | + - `requestMicPermission` — Trigger permission prompt |
| 35 | + - `subscribeToPermissionChanges` — Listen for changes |
| 36 | + |
| 37 | +### Browser Support |
| 38 | + |
| 39 | +- Chrome/Chromium: ✅ Full support |
| 40 | +- Edge: ✅ Full support |
| 41 | +- Safari 14.1+: ⚠️ Partial (webkit prefix) |
| 42 | +- Firefox: ❌ Not supported (Web Speech API unavailable) |
0 commit comments