1.1.6 • Published 5 months ago

react-scratchcard-v5 v1.1.6

Weekly downloads
-
License
MIT
Repository
github
Last release
5 months ago

react-scratchcard-v5

A scratchcard component for React

NPM JavaScript Style Guide

Original repo by Aleksik (not maintained)

https://github.com/aleksik/react-scratchcard

This is a clone of https://github.com/dopey2/react-scratchcard-v2

V4 Improvement ✨

Fixed "Unable to preventDefault inside passive event listener" Fixed Multiple onChange reqests

Demo

scratchcard-demo

Install

npm install --save react-scratchcard-v4

or

yarn add react-scratchcard-v4

Usage

import React, { useRef } from 'react';
import ScratchCard from 'react-scratchcard-v4';

import * as IMG from './img.jpg';

const App = () => {
  const ref = useRef<ScratchCard>(null);

  const onClickReset = () => {
    ref.current && ref.current.reset();
  };

  return (
    <div>
      <button onClick={onClickReset}>Reset</button>
      <ScratchCard
        width={320}
        height={226}
        image={IMG}
        finishPercent={80}
        onComplete={() => console.log('complete')}
      >
        <div
          style={{
            display: 'flex',
            width: '100%',
            height: '100%',
            alignItems: 'center',
            justifyContent: 'center'
          }}
        >
          <h1>Scratch card</h1>
        </div>
      </ScratchCard>
    </div>
  );
};

Custom brush

const App = () => {
  return (
    <div>
      <ScratchCard
        width={320}
        height={226}
        image={IMG}
        finishPercent={80}
        customBrush={{
          image: require('./brush.img'),
          width: 15,
          height: 15
        }}
      >
        <h1>Scratch card</h1>
      </ScratchCard>
    </div>
  );
};

or you can use CUSTOM_BRUSH_PRESET object

import { CUSTOM_BRUSH_PRESET } from 'react-scratchcard-v4';

const App = () => {
  return (
    <div>
      <ScratchCard
        width={320}
        height={226}
        image={IMG}
        finishPercent={80}
        customBrush={CUSTOM_BRUSH_PRESET}
      >
        <h1>Scratch card</h1>
      </ScratchCard>
    </div>
  );
};

Type

Props

nametypedefault
widthnumber
heightnumber
imageFile or Base64
finishPercent?number70
brushSize?number20
fadeOutOnComplete?booleantrue
onComplete?callback
customBrush?CustomBrush
customCheckZone?CustomCheckZone

CustomBrush

nametype
widthnumber
heightnumber
imageFile or Base64

CustomCheckZone

nametype
xnumber
ynumber
widthnumber
heightnumber

License

MIT © gshudhanshu

1.1.6

5 months ago