Introducing Socket Firewall: Free, Proactive Protection for Your Software Supply Chain.Learn More
Socket
Book a DemoInstallSign in
Socket

react-another-signature-pad

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-another-signature-pad

React implementation of signature pad library

latest
Source
npmnpm
Version
0.9.2
Version published
Maintainers
1
Created
Source

Yet Another React Signature Pad

This is another signature capture component based on Szymon Nowak's fantastic Signature Pad library.

While there's already a lot of great options out there, none of them met my exact needs so I put this together. Here are the main highlights:

  • Utilizes ES6 class instead of React.createClass
  • A simple wrapper around canvas -- no extra buttons or other elements
  • Easy styling by passing either a style object or a class name as props
  • Ability to get blob instead of data url
  • Ability to automatically trim whitespace from generated signature

Installation

You can install the latest release using npm:

npm install react-another-signature-pad

Usage

import Signature from 'react-another-signature-pad';

const style = { width: 200, height: 100 };

...

<Signature style={style} />

Properties

All the options for customizing Signature Pad are available as props

dotSize
(float or function) Radius of a single dot.
minWidth
(float) Minimum width of a line. Defaults to 0.5.
maxWidth
(float) Maximum width of a line. Defaults to 2.5.
throttle
(integer) Draw the next point at most once per every x milliseconds. Set it to 0 to turn off throttling. Defaults to 16.
backgroundColor
(string) Color used to clear the background. Can be any color format accepted by context.fillStyle. Defaults to "rgba(0,0,0,0)" (transparent black). Use a non-transparent color e.g. "rgb(255,255,255)" (opaque white) if you'd like to save signatures as JPEG images.
penColor
(string) Color used to draw the lines. Can be any color format accepted by context.fillStyle. Defaults to "black".
velocityFilterWeight
(float) Weight used to modify new velocity based on the previous velocity. Defaults to 0.7.
onBegin
(function) Callback when stroke begin.
onEnd
(function) Callback when stroke end.

Additionally the following properties are available:

style
(object) Style to pass to the canvas element. Define custom height and width here (default to 100% if not specified).
className
(string) Class name to pass to canvas element
mimeType
(string) File type returned. Defaults to image/png
quality
(float) Quality of image if mimeType is image/jpeg. Defaults to 1.0.
blob
(bool) Set to true to return blob instead of data URL. Defaults to false.
trim
(bool) Set to true to trim whitespace from canvas. Defaults to false.
clear
(int) Every time this prop is set to a new value, the canvas is cleared. For example, you can set the value to Date.now().
onChange
(function) Function called every time the canvas changes. It's passed a single boolean that indicates if the canvas is empty.

Capturing canvas data

Every time the user finishes drawing on the canvas, the onEnd function is called. This function is passed a single parameter. By default, this will be the data URL of the canvas. It will, however, return a Blob of the data instead if the blob param is set to true. To capture the data, just create a handler like:

handleSignatureChange(data){
  this.setState({ signature: data });
}

Then use it as the onEnd function like this:

<Signature onEnd={this.handleSignatureChange} />

Keywords

react

FAQs

Package last updated on 02 Jul 2017

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts