antd-password-input-strength

antd Input component with password-strength indicator.

Usage no npm install needed!

<script type="module">
  import antdPasswordInputStrength from 'https://cdn.skypack.dev/antd-password-input-strength';
</script>

README

npm GitHub issues GitHub license Twitter Greenkeeper badge

antd-password-input-strength

Antd Input Component with password-strength indicator.

Preview GIF

Features

  • Drop-in replacement for antd's Input component
  • Customizable
  • Uses zxcvbn for password strength estimation

Note: zxcvbn is a large library. Use code splitting to only load the library when necessary.

Install

npm install --save antd-password-input-strength

or

yarn add --save antd-password-input-strength

Note: antd and react/react-dom are peer dependencies. You should only use this library in a React/AntD project.

Usage

Use as a drop-in replacement for antd's Input:

<Form>
    <Form.Item label="Password">
        <PasswordInput />
    </Form.Item>
</Form>

With Form.create():

<Form>
    <Form.Item label="Password">
    {this.props.form.getFieldDecorator("password", {
        rules: [{
            required: true,
            message: "Please enter your password"
        }]
    })(<PasswordInput inputProps={{}} />)}
    </Form.Item>
</Form>

Or with custom settings:

<Form>
    <Form.Item label="Password">
        <PasswordInput 
            onChange={this.onChange}
            settings={{
                height: 5
            }}
            inputProps={{
                size: 'large'
            }}
        />
    </Form.Item>
</Form>

API

PasswordInput

| props | type | description | | -- | -- | -- | | settings | PasswordInputSettings | Strength indicator display settings | | onChange | function(e) {} | Input onChange event | | inputProps | InputProps | Pass additional properties to the underlying Input component

PasswordInputSettings

| props | type | description | | -- | -- | -- | | colorScheme | ColorScheme | Modify the indicator's color scheme | | height | number | Change indicator bar height (in px) | | alwaysVisible | boolean | If false, the bar only appears if the input field isn't empty |

Default:

{
    colorScheme: [...],
    height: 3,
    alwaysVisible: false
}

ColorScheme

| props | type | description | | -- | -- | -- | | levels | string[] | Array of CSS color codes for the different strength levels:
levels[0] = weakest, levels[4] = strongest | | noLevel| string | CSS color code for non-colored strength indicator bars. |

Default:

{
    levels: ["#ff4033", "#fe940d", "#ffd908", "#cbe11d", "#6ecc3a"],
    noLevel: "lightgrey"
}

License

MIT