Socket
Socket
Sign inDemoInstall

react-cardify

Package Overview
Dependencies
3
Maintainers
1
Versions
12
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    react-cardify

An intuitive and sleek input component for credit card formatting. Seamlessly detects card types, ensures optimal formatting, and enhances user experience for payment forms.


Version published
Weekly downloads
4
decreased by-75%
Maintainers
1
Install size
72.6 kB
Created
Weekly downloads
 

Readme

Source

Cardify

A flexible and highly customizable React component for credit card input, capable of masking, formatting, and detecting card types.

Features

  • 🎨 Render prop pattern for ultimate customization
  • 🔒 Masking for security
  • 📋 Automatically formats as you type
  • 🎴 Detects card type (e.g., Visa, MasterCard, Amex)
  • 🌐 ARIA accessible

Installation

npm install --save react-cardify
yarn add react-cardify
pnpm add react-cardify
bun install react-cardify

Usage

Uncontrolled

import { Cardify } from "react-cardify";

export default function Home() {
  return (
    <Cardify
      render={({
        value,
        onChange,
        onFocus,
        onBlur,
        placeholder,
        unmaskedValue,
        cardType,
      }) => {
        console.log("value", value);
        console.log("unmaskedValue", unmaskedValue);
        console.log("cardType", cardType);
        return (
          <input
            value={value}
            onChange={onChange}
            onFocus={onFocus}
            onBlur={onBlur}
            placeholder={placeholder}
          />
        );
      }}
    />
  );
}

Controlled

import { useState } from "react";
import { Cardify } from "react-cardify";

export default function Home() {
  const defaultValue = "95827712367284";
  const [controlledValue, setControlledValue] = useState(defaultValue);

  return (
    <_Cardify
      value={controlledValue}
      onChange={({ event, value }: { event: any, value: string }) =>
        setControlledValue(value)
      }
      defaultValue={defaultValue}
      render={({
        value,
        onChange,
        onFocus,
        onBlur,
        unmaskedValue,
        cardType,
      }) => {
        return (
          <div>
            <input
              value={value}
              onChange={onChange}
              onFocus={onFocus}
              onBlur={onBlur}
            />
          </div>
        );
      }}
    />
  );
}

Props

Prop nameTypeDescriptionDefault value
render({ value, onChange, onFocus, onBlur, placeholder, unmaskedValue, cardType }) => React.ReactNodeRender prop for ultimate customization.undefined
maskCharacterstringThe character to use for masking."•"
maskboolWhether to mask the input.true
valuestringThe value of the input.""
defaultValue{ cardNumber: string, cardType: string }The default value of the input.undefined
onChange({ event, value }: { event: any, value: { cardNumber: string, cardType: string } }) => voidThe function to call when the value changes.undefined

Render prop arguments

Argument nameTypeDescriptionDefault value
valuestringValue of the input is unmasked when focused and masked when blurred""
onChangefuncThe function to call when the value changes.handleChange
onFocusfuncThe function to call when the input is focused.undefined
onBlurfuncThe function to call when the input is blurred.undefined
placeholderstringThe placeholder to display when the input is empty.Enter card number
unmaskedValuestringThe unmasked value.""
cardTypestringThe card type.""
ariaLabelstringThe aria label for the input.""

License

This project is licensed under the MIT License - see the LICENSE file for details.

Dependencies

  • react: React is a JavaScript library for building user interfaces.
  • react-dom: React package for working with the DOM.

Keywords

FAQs

Last updated on 17 Sep 2023

Did you know?

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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc