Measured entry
hextaui-settings-notifications
A client-side React settings card for editing notification frequency and delivery channels, plus optional quiet hours. It ships as a HextaUI shadcn registry block with local state and an async save callback, and depends on the project utility alias, Lucide icons, and the registry's button, card, field, input-group, select, separator, and switch primitives.



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 | 2 |
| Axe serious | 0 |
| Axe moderate | 0 |
| Axe minor | 0 |
| Gzip marginal | 69.4 KB (134.8 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 43s error during build: [vite:load-fallback] Could not load <sandbox>/src/lib/utils (imported by src/cut/blocks/settings/settings-notifications.tsx): ENOENT: no such file or directory, open '<sandbox>/src/lib/utils'
Verdict
A practical, responsive starting point for an established HextaUI app, but not production-ready until its critical accessibility failures are fixed. It does not mount bare and needs a shadcn-style setup with the expected aliases and registry primitives.
Use it if
- You need a ready-made notification preferences screen with email, push, in-app, and SMS controls.
- Your app already uses shadcn-style aliases and compatible HextaUI primitives.
- You can connect the supplied save callback to your own persistence layer and validation.
Skip it if
- You need an accessible drop-in without remediation, because the verified render has unsupported ARIA attributes and unnamed buttons.
- You want a standalone package that works without copied registry primitives and a project utility alias.
- Your notification rules require server-enforced dependencies, consent logic, or per-channel availability beyond simple local toggles.
Install
| Declared dependencies | @radix-ui/react-slot, @radix-ui/react-label, @radix-ui/react-separator, @radix-ui/react-select, @radix-ui/react-switch |
|---|---|
| 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 |
A non-shadcn project must add the utility alias and cn helper, Lucide React, Tailwind-compatible styling and theme tokens, the required HextaUI UI primitives, and their Radix dependencies. Rewrite the registry import aliases if your source layout differs, then repair the switch ARIA output and give every icon button an accessible name.
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 form pattern, ordered by what they measured: mounts first, then clean axe scans, then bare-mode passes, then the smaller bundle.
- hextaui-kbdminimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 29.8KB
- Bare
- pass
- Prov
- NO
- shadcn-labelunclassified
- Renders
- YES
- A11y
- 0
- Gzip
- 31.1KB
- Bare
- pass
- Prov
- NO
- neobrutalism-labelbrutalism
- Renders
- YES
- A11y
- 0
- Gzip
- 31.5KB
- Bare
- pass
- Prov
- NO
- neobrutalism-nlabelbrutalism
- Renders
- YES
- A11y
- 0
- Gzip
- 31.5KB
- Bare
- pass
- Prov
- NO
- shadcn-formunclassified
- Renders
- YES
- A11y
- 0
- Gzip
- 43.9KB
- Bare
- pass
- Prov
- NO
- neobrutalism-formbrutalism
- Renders
- YES
- A11y
- 0
- Gzip
- 44.4KB
- Bare
- pass
- Prov
- NO