Jul 2nd - Optimized code
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
/*
|
||||
* Shared password-strength UI: show/hide toggle, strength meter, rule
|
||||
* checklist, and confirm-match indicator. Used on the register, profile,
|
||||
* admin create/edit user, and password reset forms.
|
||||
*
|
||||
* Relies on the --bg, --border, --border2, --muted, --success, --danger,
|
||||
* --accent CSS custom properties already defined by each page's theme
|
||||
* (see base.html for admin/auth pages, or the page's own :root block for
|
||||
* the standalone auth pages).
|
||||
*/
|
||||
|
||||
.pw-wrap { position: relative; }
|
||||
.pw-wrap input { padding-right: 42px; }
|
||||
.pw-toggle {
|
||||
position: absolute; right: 10px; top: 50%; transform: translateY(-50%);
|
||||
background: none; border: none; color: var(--muted); cursor: pointer;
|
||||
font-size: 16px; padding: 4px; line-height: 1; transition: color .15s;
|
||||
}
|
||||
.pw-toggle:hover { color: var(--accent); }
|
||||
|
||||
.pw-strength-wrap { margin-top: 8px; }
|
||||
.pw-strength-track {
|
||||
height: 4px; background: var(--border); border-radius: 2px;
|
||||
overflow: hidden; margin-bottom: 6px;
|
||||
}
|
||||
.pw-strength-fill {
|
||||
height: 100%; border-radius: 2px; width: 0%;
|
||||
transition: width .3s ease, background .3s ease;
|
||||
}
|
||||
.pw-strength-label {
|
||||
font-size: 11px; font-weight: 600; letter-spacing: .3px;
|
||||
display: flex; align-items: center; gap: 5px; transition: color .3s;
|
||||
}
|
||||
|
||||
.pw-rules {
|
||||
margin-top: 8px; display: grid; grid-template-columns: 1fr 1fr; gap: 3px 12px;
|
||||
background: var(--bg); border: 1px solid var(--border); border-radius: 8px;
|
||||
padding: 10px 12px;
|
||||
}
|
||||
.pw-rule { display: flex; align-items: center; gap: 5px; font-size: 11.5px; color: var(--muted); transition: color .2s; }
|
||||
.pw-rule .ri { font-size: 13px; width: 14px; text-align: center; transition: color .2s, transform .15s; }
|
||||
.pw-rule.met { color: var(--success); }
|
||||
.pw-rule.met .ri { color: var(--success); transform: scale(1.1); }
|
||||
.pw-rule.unmet .ri { color: var(--border2); }
|
||||
|
||||
.pw-match {
|
||||
font-size: 11.5px; margin-top: 6px; display: flex; align-items: center; gap: 5px;
|
||||
font-weight: 600; letter-spacing: .2px; min-height: 18px; transition: color .2s;
|
||||
}
|
||||
.pw-match.ok { color: var(--success); }
|
||||
.pw-match.fail { color: var(--danger); }
|
||||
|
||||
.pw-input.valid { border-color: var(--success) !important; box-shadow: 0 0 0 3px rgba(5,150,105,.08) !important; }
|
||||
.pw-input.invalid { border-color: var(--danger) !important; box-shadow: 0 0 0 3px rgba(220,38,38,.08) !important; }
|
||||
Reference in New Issue
Block a user