Measured entry
hextaui-ai-model-selector
A client-side AI model picker that opens a searchable command dialog, groups models by provider, and exposes controlled selection plus custom trigger hooks. It ships as a shadcn registry TSX file with a built-in catalog and depends on HextaUI button, command-menu, empty, and tooltip primitives, Radix packages, Lucide icons, Tailwind classes, 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 | 66.4 KB (131.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 20s error during build: [vite:load-fallback] Could not load <sandbox>/src/lib/utils (imported by src/cut/blocks/ai/ai-model-selector.tsx): ENOENT: no such file or directory, open '<sandbox>/src/lib/utils'
Verdict
A capable, accessible picker with useful search, grouping, loading, empty, and custom-trigger states. It is a good fit for an AI workspace, but the bundled catalog will need ownership. It does not mount on its own and needs a shadcn-style setup with the expected aliases and UI primitives.
Use it if
- You need a searchable model picker grouped by AI provider.
- Your product benefits from model descriptions, feature indicators, preview labels, and an explicit selected state.
- You already use shadcn-style registry components and can replace the bundled catalog with your available models.
Skip it if
- You need a lightweight native select or a compact dropdown without a command dialog.
- Your model catalog changes frequently and you do not want to maintain the bundled static metadata.
- Your project does not use Tailwind or shadcn-style aliases and you cannot absorb the supporting UI primitives.
- You need provider filtering, pricing, availability checks, or model capability data supplied by a backend.
Install
| Declared dependencies | @radix-ui/react-slot, @radix-ui/react-visually-hidden, @radix-ui/react-dialog, @radix-ui/react-scroll-area, @radix-ui/react-tooltip |
|---|---|
| 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 the button, command menu, empty state, and tooltip implementations; install their Radix dependencies and Lucide React; provide the cn class-merging helper; configure the source alias; and supply compatible Tailwind theme tokens and utilities. Replace registry import paths with local paths.
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 input pattern, ordered by what they measured: mounts first, then clean axe scans, then bare-mode passes, then the smaller bundle.
- clay-inputclaymorphism
- Renders
- YES
- A11y
- 0
- Gzip
- 17.9KB
- Bare
- pass
- Prov
- NO
- neu-search-inputneumorphism
- Renders
- YES
- A11y
- 0
- Gzip
- 18.1KB
- Bare
- pass
- Prov
- NO
- clay-search-inputclaymorphism
- Renders
- YES
- A11y
- 0
- Gzip
- 18.3KB
- Bare
- pass
- Prov
- NO
- originui-comp-33minimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 20.7KB
- Bare
- pass
- Prov
- NO
- hextaui-labelminimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 31.3KB
- Bare
- pass
- Prov
- NO
- ruixen-circular-stepper-inputliquid-glass
- Renders
- YES
- A11y
- 0
- Gzip
- 61.1KB
- Bare
- pass
- Prov
- NO