npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

the-last-spelling-bee-re-captcha

v3.0.27

Published

This package helps you to get TheLastSpellingBeeReCaptcha questions and answer

Readme

TheLastSpellingBee ReCaptcha

A modern, user-friendly CAPTCHA component for React applications that uses spelling and character conversion challenges. This package provides a secure and accessible way to verify human users.

NPM Version License

Features

  • 🔒 Secure character-based verification
  • 🎨 Framework-agnostic styling—custom CSS, works in any React project
  • 🌈 Dynamic color schemes
  • ⌨️ Anti-paste protection
  • ♿ Accessibility support
  • 🔄 Refresh capability
  • 📱 Mobile-friendly design

Installation

Using npm:

npm install the-last-spelling-bee-re-captcha

Using yarn:

yarn add the-last-spelling-bee-re-captcha

Quick Start

Import the component and the styles (required) in your app:

import { TheLastSpellingBeeReCaptcha } from 'the-last-spelling-bee-re-captcha';
// Import the default styles (required for layout and theming)
import 'the-last-spelling-bee-re-captcha/dist/the-last-spelling-bee-re-captcha.css';

function MyForm() {
    const handleVerification = (verified) => {
        if (verified) {
            console.log('User verified!');
        }
    };

    return (
        <TheLastSpellingBeeReCaptcha
            reCaptchaKey="your-api-key"
            onVerifyCaptcha={handleVerification}
        />
    );
}

The package ships with a single, scoped CSS file (no other UI libraries). You can override the look with your own CSS by targeting the .tlsb-recaptcha class.

API Reference

TheLastSpellingBeeReCaptcha Props

| Prop | Type | Default | Description | |------|------|---------|-------------| | reCaptchaKey | string | Required | Your API key from TheLastSpellingBee | | questionType | 'CHARACTERS' \| 'NUMBERS' \| 'RANDOM' \| 'COMPLEX' | 'CHARACTERS' | Type of question to display | | wordLength | number | 3 | Length of the word/answer | | onVerifyCaptcha | (verified: boolean) => void | Required | Callback function called after verification | | isDarkMode | boolean | false | Enables dark mode styling for the widget | | darkModeColor | string | '#0b1437' | Custom background color used when isDarkMode is true |

Question Types

CHARACTERS

  • Question Format: D A D D Y
  • Expected Answer: 4 1 4 4 25
  • Description: Convert letters to their position in the alphabet

NUMBERS

  • Question Format: 4 1 4 4 25
  • Expected Answer: D A D D Y
  • Description: Convert numbers to their corresponding letters

RANDOM

  • Description: Randomly alternates between CHARACTERS and NUMBERS

COMPLEX

  • Question Format: D 1 D 4 Y
  • Expected Answer: 4 A 4 D 25
  • Description: Mixed format requiring both letter-to-number and number-to-letter conversion

Security Features

  • Prevents copy-paste actions
  • Requires manual typing
  • Character-by-character validation
  • Rate limiting on API requests
  • Secure API key validation

Examples

Basic Usage

<TheLastSpellingBeeReCaptcha
    reCaptchaKey="your-api-key"
    onVerifyCaptcha={(verified) => {
        if (verified) {
            // Handle successful verification
        }
    }}
/>

Custom Configuration

<TheLastSpellingBeeReCaptcha
    reCaptchaKey="your-api-key"
    questionType="COMPLEX"
    wordLength={5}
    onVerifyCaptcha={(verified) => {
        if (verified) {
            // Handle successful verification
        } else {
            // Handle failed verification
        }
    }}
/>

Dark Mode Example

<TheLastSpellingBeeReCaptcha
    reCaptchaKey="your-api-key"
    onVerifyCaptcha={(verified) => {
        if (verified) {
            // Handle successful verification
        }
    }}
    isDarkMode={true}
    // Optional: provide your own dark background color
    darkModeColor="#101827"
/>

Styling

The component uses a single, scoped CSS file with no external UI dependencies. Always import it once in your app:

import 'the-last-spelling-bee-re-captcha/dist/the-last-spelling-bee-re-captcha.css';

All styles are scoped under the .tlsb-recaptcha class, so they won’t conflict with your app. You can override variables or classes in your own CSS. The layout is responsive and mobile-friendly.

Error Handling

The component includes built-in error handling with user-friendly toast notifications for:

  • Invalid API keys
  • Network errors
  • Invalid input attempts
  • Copy-paste attempts
  • Verification failures

Getting an API Key

  1. Visit TheLastSpellingBee
  2. Create an account or log in
  3. Generate your API key
  4. Use the key in your application

Contributing

We welcome contributions! Please see our Contributing Guide for details.

License

MIT © TheLastSpellingBee

Support

Credits