Socket
Socket
Sign inDemoInstall

input-currency-react

Package Overview
Dependencies
3
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    input-currency-react

This libraries propose to introduce a hooks capable of formate currencies and calculate directly in the input (add, subtract, division and multiplication).


Version published
Weekly downloads
87
increased by4.82%
Maintainers
1
Install size
220 kB
Created
Weekly downloads
 

Readme

Source

Currency input React w/ Hooks

This libraries propose to introduce a hooks capable of formate currencies and calculate directly in the input (add, subtract, division and multiplication).

This component libraries use TypeScript, Hooks.

Install

  npm install input-currency-react  # or yarn add input-currency-react

Playground - Try it out

On Code Sandbox

Browser compatibility (Tested)

ChromeEdgeFirefoxSafariInternet Explorer 11Opera
:heavy_check_mark::heavy_check_mark::heavy_check_mark::heavy_check_mark::heavy_check_mark::grey_question:

Compatible with react-hook-form

Ex. Code:
  import React from react;
  import { useForm, Controller } from "react-hook-form";

  const MyCustomForm = () => {
    const { 
        control,
        handleSubmit, 
    } = useForm();

    return (
      <form onSubmit={handleSubmit(onSubmit)}>
        <Controller
        name="value"
        control={control}
        defaultValue="0,00"
        render={({value, onChange}) => (
          <CurrencyInput 
            value={ value } 
            options={{ style: "decimal", allowNegative: false }}
            onChangeEvent={(_, maskedValue) => { 
              onChange(maskedValue);
            }}
            required={true}
          />
        )}
        />
      </form>
    )
  }

How to use Components

Only Currency Input

Demo:
animated square
Ex. Code:
  import React from react;
  import { 
    CurrencyInput, 
    Currencies, 
    Locales 
  } from 'input-currency-react';

  const handleOnChange = (inputElement, maskedValue, value) => {};

  <CurrencyInput 
    value="000" // Initial value
    options={{ 
      precision: 2,
      style: "currency",
      allowNegative: "true",
      alwaysNegative: "false",
      locale: Locales["English (United States)"], // Format Type
      i18nCurrency: Currencies["US Dollar"] // Symbol
    }}
    autoFocus={true}
    onChangeEvent={handleOnChange}
  />

Currency Input Can Math

Demo:
animated square
Ex. Code:
  import { 
    CurrencyCalculatorInput, 
    Currencies, 
    Locales 
  } from 'input-currency-react';

  const handleOnChange = (inputElement, maskedValue, value) => {};

  <CurrencyCalculatorInput 
    value="000" // Initial value
    options={{ 
      precision: 3,
      style: "decimal",
      locale: LocalesLocales["Portuguese (Brazil)"], 
      i18nCurrency: Currencies["Brazilian Real"]
    }}
    autoFocus={true}
    onChangeEvent={handleOnChange}
  />

How to use Hooks

  import { 
    CurrencyInputProps, 
    useCurrencyFormat, 
  } from 'input-currency-react';

  const MyCustomCurrencyInput:React.FC<CurrencyInputProps> = (props) => {
    const { value, options, onChangeEvent, ...otherProps } = props;
    const [
        formattedValue, 
        handleOnChange,
        handleOnKeyDown, 
        handleOnClick 
    ] = useCurrencyFormat(value, 
    {...options, 
    onChangeCallBack: onChangeEvent }); // or useCurrencyFormatCalculator

      return (
          <input 
              type="text" 
              style={{ textAlign:"right" }}
              onChange={ handleOnChange }
              onKeyDown={ handleOnKeyDown }
              onClick={ handleOnClick }
              value={ formattedValue }
              {...otherProps} />
      )
  }

Options

Options input

OptionDefault ValueDescription
value0The initial value
onChangeEventn/aCallback function to handle value change
autoFocusfalseAutofocus
refn/aReference for HTMLInputElement
optionsdefault hookshooks props

Options hooks

PropsDefault ValueDescription
precision2Fraction Digits
stylecurrencycurrency or decimal(Remove symbol)
localept-BRCountry Code Reference(Currency symbol)
i18nCurrencyBRLString i18n(Format Type)
allowNegative *trueAllow negative numbers in the input
alwaysNegative *falsePrefix negative

Note: *not present in useCurrencyFormatCalculator

*Note: This library use toLocaleString() to format the value.

Keywords

FAQs

Last updated on 04 Feb 2021

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