Skip to content
tcpsystemsui

Theme

Colour scheme
Accent
Density
Radius
Esc

PasswordInput

A password field with a toggle that reveals or hides the value.

beta

Examples

Login form

Login form.svelte
<script lang="ts">
	import Field from '@tcpsystems/ui/foundation/Field';
	import PasswordInput from '@tcpsystems/ui/foundation/PasswordInput';
	let password = $state('');
</script>

<Field label="Login password">
	{#snippet control(props)}
		<PasswordInput {...props} bind:value={password} />
	{/snippet}
</Field>

Signup password

Signup password.svelte
<script lang="ts">
	import PasswordInput from '@tcpsystems/ui/foundation/PasswordInput';
	import Stack from '@tcpsystems/ui/foundation/Stack';
	let password = $state('');
	const uid = $props.id();
</script>

<Stack>
	<label for={uid}>Create password</label>
	<PasswordInput id={uid} bind:value={password} showLabel="Show password" hideLabel="Hide password" />
</Stack>

API

Import
import PasswordInput from '@tcpsystems/ui/foundation/PasswordInput';
PropTypeDefault
kind?'mono'none
describedby?stringnone
invalid?'true'none
showLabel?string'Show password'
hideLabel?string'Hide password'
value?native$bindable()
HookKind
.tcp-passwordRoot class
data-hide-labelData attribute
data-kindData attribute
data-show-labelData attribute
data-variantData attribute