gujarati-keyboard
v1.0.4
Published
Custom Gujarati keyboard logic for web apps
Maintainers
Readme
gujarati-keyboard
Custom Gujarati keyboard logic for web apps, including a React hook for phonetic typing, suggestions, and state-aware keymaps.
Install
npm install gujarati-keyboardQuick Start (React Hook)
import { useState } from "react";
import { useGujaratiKeyboard } from "gujarati-keyboard";
export function GujaratiInput() {
const [value, setValue] = useState("");
const [suggestions, setSuggestions] = useState<string[]>([]);
const { handleKeyDown, handleKeyUp } = useGujaratiKeyboard({
onChange: setValue,
onSuggestions: setSuggestions,
suggestionsEnabled: true,
});
return (
<div>
<textarea
value={value}
onChange={(e) => setValue(e.target.value)}
onKeyDown={handleKeyDown}
onKeyUp={handleKeyUp}
/>
{suggestions.length > 0 && (
<ul>
{suggestions.map((s) => (
<li key={s}>{s}</li>
))}
</ul>
)}
</div>
);
}Hook Options
onChange(required):(value: string) => voidcalled after insertion.enabled(optional, defaulttrue): enable/disable Gujarati keymap.suggestionsEnabled(optional, defaultfalse): emit suggestions.onStateChange(optional):(state: "normal" | "shift" | "altgr") => void.onSuggestions(optional):(suggestions: string[]) => void.keymap(optional): custom keymap implementing the same API asdefaultKeymap.
Other Exports
getSuggestions(raw: string)returns suggestion list for a raw phonetic buffer.applySuggestion(current: string, suggestion: string)applies a suggestion to current text.phoneticTransform(raw: string)converts raw phonetic input to Gujarati.mergeDictionaries(base, extra)merges suggestion dictionaries.DEFAULT_DICTIONARYthe built-in suggestions dictionary.
Versioning
This package follows Semantic Versioning (SemVer). The initial release is 1.0.0.
Release Docs
See docs.md for release steps and versioning rules.
