MCPcopy Index your code
hub / github.com/Kombustor/antd-password-input-strength

github.com/Kombustor/antd-password-input-strength @v2.0.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release v2.0.1 ↗ · + Follow
8 symbols 15 edges 3 files 0 documented · 0%
What it actually does AI analysis from the code graph — generated when you open this
loading…
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 tai-password-strength for password strength estimation

Note: tai-password-strength is a rather 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 />)}
    </Form.Item>
</Form>

With custom settings:

<Form>
    <Form.Item label="Password">
        <PasswordInput 
            settings={{
                ...defaultSettings,
                height: 5
            }}

            onChange={() => console.log("Changed")}
            size="large"
        />
    </Form.Item>
</Form>

With validation:

function ValidationExample() {
  const [level, setLevel] = useState(0)

  const minLevel = 1;
  const errorMessage = 'Password is too weak';

  return (
    <Form>
      <Form.Item
        name="test"
        rules={[{
          validator: async () => {
            return level >= minLevel ? Promise.resolve() : Promise.reject(errorMessage);
          },
          message: errorMessage
        }]}
      >
        <PasswordInput onLevelChange={setLevel} />
      </Form.Item>
    </Form>
  );
}

API

PasswordInput

props type description
settings PasswordInputSettings Strength indicator display settings
onLevelChange (newLevel: 0 1
...props 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

Extension points exported contracts — how you extend this code

LevelChangeProps (Interface)
(no doc)
src/index.tsx
PasswordInputProps (Interface)
(no doc)
src/index.tsx
PasswordStrengthIndicatorProps (Interface)
(no doc)
src/index.tsx
PasswordInputSettings (Interface)
(no doc)
src/index.tsx
ColorScheme (Interface)
(no doc)
src/index.tsx

Core symbols most depended-on inside this repo

getWrapperStyle
called by 1
src/index.tsx
getIndicatorStyle
called by 1
src/index.tsx
PasswordStrengthIndicator
called by 0
src/index.tsx

Shape

Interface 5
Function 3

Languages

TypeScript100%

Modules by API surface

src/index.tsx8 symbols

For agents

$ claude mcp add antd-password-input-strength \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page