Measured entry
hextaui-auth-change-password
A client-side React password-change card distributed through a shadcn registry. It includes current, new, and confirmation fields, visibility controls, local validation, loading and success states, and external error support. It relies on HextaUI button, card, field, and input-group primitives, plus Lucide icons and a cn utility.



Measured
Every value below was written by the harness on the run that produced the frames above. None of it is derived from the prose.
| Build | OK |
|---|---|
| Mount | OK |
| Console errors | 0 |
| Uncaught page errors | 0 |
| Horizontal overflow | clean at 375, 768, 1440 |
| Axe critical | 0 |
| Axe serious | 0 |
| Axe moderate | 0 |
| Axe minor | 0 |
| Gzip marginal | 35.7 KB (101.1 KB build, 65.4 KB baseline) |
| Bare mode | FAIL |
| Provider required | NO |
| Demo used | written from the component source API |
What the harness recorded
BARE BUILD
✗ Build failed in 1m 37s error during build: [vite:load-fallback] Could not load <sandbox>/src/lib/utils (imported by src/cut/blocks/auth/auth-change-password.tsx): ENOENT: no such file or directory, open '<sandbox>/src/lib/utils'
Verdict
A solid account-settings block with clear errors, accessible visibility controls, and controlled loading and success states. It builds and mounts in its intended environment, but it needs a shadcn-style setup and is not a dependency-free drop-in. Review the trimming and fixed password policy before production use.
Use it if
- You need a complete account-settings password form with validation and status states already wired.
- Your app already uses shadcn-style registry components, Tailwind theme tokens, and path aliases.
- You want submission to remain application-owned through a simple callback.
Skip it if
- Your password policy allows meaningful leading or trailing spaces, because submitted passwords are trimmed.
- You need server-derived password rules instead of the component's fixed client-side policy.
- You want a standalone form without adopting its registry primitives and project aliases.
Install
| Declared dependencies | @radix-ui/react-slot, @radix-ui/react-label, @radix-ui/react-separator |
|---|---|
| Missing on install | none |
| Bare install | fails once the shadcn-style helpers are removed, so it needs that setup |
| Provider | no provider required in the harness |
In a non-shadcn project, add React client-component support, Tailwind and the expected theme tokens, Lucide React, the declared Radix packages, a cn class-merging utility, and equivalents for HextaUI's button, card, field, and input-group components. Replace the registry path aliases with local imports.
Source and credit
This page is a review, not a copy. The component source lives with its author and this site does not republish it. Read the license before you use anything.
Author repository
github.com/preetsuthar17/HextaUIAlternatives
Other published entries for the auth-form pattern, ordered by what they measured: mounts first, then clean axe scans, then bare-mode passes, then the smaller bundle.
- meraki-auth-sign-in-card-with-side-imageminimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 18.9KB
- Bare
- pass
- Prov
- NO
- shadcn-block-login-01minimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 30.3KB
- Bare
- fail
- Prov
- NO
- shadcn-block-login-02minimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 31.9KB
- Bare
- fail
- Prov
- NO
- shadcn-block-login-05minimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 31.9KB
- Bare
- fail
- Prov
- NO
- 8bitcn-login-formskeuomorphism
- Renders
- YES
- A11y
- 0
- Gzip
- 33.2KB
- Bare
- fail
- Prov
- NO
- 8bitcn-advanced3skeuomorphism
- Renders
- YES
- A11y
- 0
- Gzip
- 33.3KB
- Bare
- fail
- Prov
- NO