Live strength meter
Live live strength meter example with accessible scoring feedback and copyable component code.
<StrongPassword
label="Live strength meter"
name="strong-password-1"
value="Northstar!2026"
showRequirements="false"
/>
// Generated by scripts/generate-showcase.mjs. Do not edit directly.
page StrongPasswordDetail {
layout = "showcase"
state playground_size = ctx.url.searchParams.get("pg_size") ?? "default"
state playground_color = ctx.url.searchParams.get("pg_color") ?? "primary"
state playground_label = ctx.url.searchParams.get("pg_label") ?? "Live strength meter"
state playground_name = ctx.url.searchParams.get("pg_name") ?? "strong-password-1"
state playground_value = ctx.url.searchParams.get("pg_value") ?? "Northstar!2026"
state playground_placeholder = ctx.url.searchParams.get("pg_placeholder") ?? "Create a strong password"
state playground_autocomplete = ctx.url.searchParams.get("pg_autocomplete") ?? "new-password"
state playground_minLength = Number(ctx.url.searchParams.get("pg_minLength") ?? "8")
state playground_specialCharactersSet = ctx.url.searchParams.get("pg_specialCharactersSet") ?? "!@#$%^&*()_+-=[]{}|;:,.<>?"
state playground_requireLowercase = (ctx.url.searchParams.get("pg_requireLowercase") ?? "true") === "true"
state playground_requireUppercase = (ctx.url.searchParams.get("pg_requireUppercase") ?? "true") === "true"
state playground_requireNumber = (ctx.url.searchParams.get("pg_requireNumber") ?? "true") === "true"
state playground_requireSpecialCharacter = (ctx.url.searchParams.get("pg_requireSpecialCharacter") ?? "true") === "true"
state playground_showRequirements = (ctx.url.searchParams.get("pg_showRequirements") ?? "false") === "true"
state playground_presentation = ctx.url.searchParams.get("pg_presentation") ?? "inline"
state playground_hintText = ctx.url.searchParams.get("pg_hintText") ?? ""
state playground_emptyLabel = ctx.url.searchParams.get("pg_emptyLabel") ?? "Enter a password"
state playground_weakLabel = ctx.url.searchParams.get("pg_weakLabel") ?? "Weak"
state playground_fairLabel = ctx.url.searchParams.get("pg_fairLabel") ?? "Fair"
state playground_goodLabel = ctx.url.searchParams.get("pg_goodLabel") ?? "Good"
state playground_strongLabel = ctx.url.searchParams.get("pg_strongLabel") ?? "Strong"
state playground_disabled = (ctx.url.searchParams.get("pg_disabled") ?? "false") === "true"
state playground_readonly = (ctx.url.searchParams.get("pg_readonly") ?? "false") === "true"
state playground_required = (ctx.url.searchParams.get("pg_required") ?? "false") === "true"
state playground_invalid = (ctx.url.searchParams.get("pg_invalid") ?? "false") === "true"
state playground_validationMessage = ctx.url.searchParams.get("pg_validationMessage") ?? ""
state playground_class = ctx.url.searchParams.get("pg_class") ?? ""
seo {
title = "Strong Password"
description = "Theme-aware, responsive strong password component."
}
view {
Theme-aware, responsive strong password component. Change any prop and inspect the server-rendered component immediately.Strong Password
Configure Strong Password
<StrongPassword
label="Live strength meter"
name="strong-password-1"
value="Northstar!2026"
showRequirements="false"
/>payload.
Compare configurations and resize the browser to check responsive behavior.
Live live strength meter example with accessible scoring feedback and copyable component code.
<StrongPassword
label="Live strength meter"
name="strong-password-1"
value="Northstar!2026"
showRequirements="false"
/>
Live requirements and hint text example with accessible scoring feedback and copyable component code.
<StrongPassword
label="Requirements and hint text"
name="strong-password-2"
hintText="Use a unique password you do not use for another account."
/>
Live requirements in a popover example with accessible scoring feedback and copyable component code.
<StrongPassword
label="Requirements in a popover"
name="strong-password-3"
presentation="popover"
/>
Live custom special characters example with accessible scoring feedback and copyable component code.
<StrongPassword
label="Custom special characters"
name="strong-password-4"
specialCharactersSet="@#_-."
/>
Live optional requirements example with accessible scoring feedback and copyable component code.
<StrongPassword
label="Optional requirements"
name="strong-password-5"
requireSpecialCharacter="false"
/>
Live disabled password strength example with accessible scoring feedback and copyable component code.
<StrongPassword
label="Disabled password strength"
name="strong-password-6"
disabled="true"
/>
Use declarative output handlers in .wrn files or register a direct output handler from JavaScript. The canonical API exposes payload and does not require event.detail.
@inputFires as the editable value changes.@changeFires when the component's committed value or selection changes.@strengthFires when the calculated password-strength state changes.<StrongPassword
@input='console.log(payload)'
@change='console.log(payload)'
@strength='console.log(payload)'
/>import { registerOutputHandler } from "@wrnexus/csr/outputs"
const component = document.querySelector("[data-ui-component=\"StrongPassword\"], [data-component=\"StrongPassword\"]")
if (component) registerOutputHandler(component, "input", (payload) => {
console.log("input", payload)
})
if (component) registerOutputHandler(component, "change", (payload) => {
console.log("change", payload)
})
if (component) registerOutputHandler(component, "strength", (payload) => {
console.log("strength", payload)
})All content and behavior shown above is supplied through these props and slots.
| Prop | Type | Default | Required |
|---|---|---|---|
size | string | "default" | No |
color | string | "primary" | No |
label | string | "Password" | No |
name | string | "password" | No |
value | string | "" | No |
placeholder | string | "Create a strong password" | No |
autocomplete | string | "new-password" | No |
minLength | number | 8 | No |
specialCharactersSet | string | "!@#$%^&*()_+-=[]{}|;:,.<>?" | No |
requireLowercase | boolean | true | No |
requireUppercase | boolean | true | No |
requireNumber | boolean | true | No |
requireSpecialCharacter | boolean | true | No |
showRequirements | boolean | true | No |
presentation | string | "inline" | No |
hintText | string | "Use a unique password you do not use elsewhere." | No |
emptyLabel | string | "Enter a password" | No |
weakLabel | string | "Weak" | No |
fairLabel | string | "Fair" | No |
goodLabel | string | "Good" | No |
strongLabel | string | "Strong" | No |
disabled | boolean | false | No |
readonly | boolean | false | No |
required | boolean | false | No |
invalid | boolean | false | No |
validationMessage | string | "" | No |
class | string | "" | No |