A lightweight, customizable masked password input component for Svelte. This component allows you to securely mask password input fields and provides a customizable approach to controlling password visibility.
The InputMaskingPassword component is a password input field that includes masking functionality (hiding characters as the user types) and allows toggling to show or hide the password. It uses the @krozamdev/masked-password
library to apply the masking and supports custom mask characters. The component also handles password input changes by passing the raw (unmasked) value via a callback function.
To install the package, use either npm or yarn:
npm install @krozamdev/svelte-masked-password
yarn add @krozamdev/svelte-masked-password
pnpm add @krozamdev/svelte-masked-password
bun add @krozamdev/svelte-masked-password
Here’s an example of how to use the masked password input component in your Svelte project:
<script lang="ts">
import InputMaskingPassword from '@krozamdev/svelte-masked-password';
let password = "";
let showPassword = false;
const handlePasswordChange = (newPassword: string) => {
password = newPassword;
console.log("Password changed: ", password);
};
const toggleShowPassword = () => {
showPassword = !showPassword;
};
</script>
<main>
<button on:click={toggleShowPassword}>
{showPassword ? "Hide Password" : "Show Password"}
</button>
<InputMaskingPassword
onChangeEvent={handlePasswordChange}
maskCharacter="•"
showPassword={showPassword}
placeholder="Enter your password"
/>
</main>
Prop | Type | Description |
---|---|---|
onChangeEvent |
(originalValue: string) |
Callback that fires when the password value changes. |
maskCharacter |
string |
(Optional) The character used to mask the password. Defaults to • . |
showPassword |
boolean |
(Optional) Show or hide the password input. Defaults to false . |
...props |
InputHTMLAttributes<HTMLInputElement> |
All other standard HTML input attributes are supported, such as placeholder , class , etc. |
To build the project locally:
git clone https://github.com/krozamdev/svelte-masked-password.git
cd svelte-masked-password
yarn install
yarn build
This will create the build output in the dist directory.This project is licensed under the MIT License - see the LICENSE file for details.
For support, please email [email protected].