react-esign
Version:
react-esign is a lightweight, dependency free React component built for capturing handwritten signatures. It provides a simple and responsive signature pad, perfect for e-signatures, form authentication, or user confirmations in React applications
109 lines (73 loc) β’ 3.17 kB
Markdown
# **react-esign** βοΈ
**A lightweight, dependency-free signature input component for React.**
[](https://www.npmjs.com/package/react-esign)
[](https://react-esign-docs.vercel.app/)
`react-esign` makes it effortless to capture **smooth, customizable digital signatures** in React apps. **No dependencies, no bloatβjust a simple and powerful signature input.**
π **[Live Demo & Docs](https://react-esign-docs.vercel.app/)**
---
## **π¦ Installation**
Install via npm or yarn:
```sh
npm install react-esign
# or
yarn add react-esign
```
---
## **π Usage**
### **Basic Integration**
```jsx
import { SignatureInput } from "react-esign";
const SignaturePad = () => {
const handleSignatureChange = (file: File) => {
console.log("Signature Changed");
};
return <SignatureInput onChange={handleSignatureChange} />;
};
export default SignaturePad;
```
> π― **Thatβs it!** You now have a working signature input in your React app.
---
## **π¨ Customization**
Easily customize styles, theme, and behavior:
```jsx
import { SignatureInput } from "react-esign";
const CustomSignaturePad = () => {
return (
<SignatureInput
onChange={(file) => console.log("Signature Changed")}
isDisabled={false}
isError={false}
themeColor="#E50914"
strokeWidth={3}
clear
download
width={550}
height={150}
/>
);
};
export default CustomSignaturePad;
```
### **Available Props**
| Prop | Type | Default | Description |
| ------------- | ---------------------- | ------------ | ----------------------------------------- |
| `onChange` | `(file: File) => void` | **Required** | Callback triggered when signature changes |
| `isDisabled` | `boolean` | `false` | Disables input when `true` |
| `isError` | `boolean` | `false` | Applies an error style when `true` |
| `themeColor` | `string` | `"#000"` | Sets active border & button color |
| `strokeWidth` | `number` | `2` | Signature stroke thickness |
| `clear` | `boolean` | `false` | Shows a button to clear signature |
| `download` | `boolean` | `false` | Shows a button to download signature |
| `width` | `number` | `400` | Canvas width |
| `height` | `number` | `200` | Canvas height |
π **See the full API reference β** [Docs](https://react-esign-docs.vercel.app/)
---
## **π Try It Live**
π **Check out the interactive demo β** [react-esign-docs.vercel.app](https://react-esign-docs.vercel.app/)
---
## **π License**
MIT License. See [LICENSE](LICENSE) for details.
---
## **β Support & Feedback**
If you find `react-esign` useful, **give it a star on GitHub** β and share it with fellow developers!
π **Happy Coding!**