Measured entry

kibo-combobox

inputminimal-flat

A client-side, compound React combobox that copies into your codebase through a shadcn registry item. It composes local Button, Command, and Popover primitives, uses controlled or uncontrolled state, matches the popup to the trigger, and depends on Radix state utilities, cmdk, Radix UI, Lucide icons, Tailwind classes, and a cn helper.

Specimen
Harness screenshot of kibo-combobox at 375 pixels wide
Harness screenshot at 375 pixels wide. This viewport scrolled sideways.
Harness screenshot of kibo-combobox at 768 pixels wide
Harness screenshot at 768 pixels wide. No horizontal overflow recorded.
Harness screenshot of kibo-combobox at 1440 pixels wide
Harness screenshot at 1440 pixels wide. No horizontal overflow recorded.

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.

Harness measurements recorded for kibo-combobox
BuildOK
MountOK
Console errors0
Uncaught page errors0
Horizontal overflowflagged at 375
Axe critical0
Axe serious0
Axe moderate0
Axe minor0
Gzip marginal60.3 KB (125.8 KB build, 65.5 KB baseline)
Bare modeFAIL
Provider requiredNO
Demo usedwritten from the component source API

What the harness recorded

BARE BUILD

✗ Build failed in 2.88s
error during build:
[vite]: Rollup failed to resolve import "class-variance-authority" from "<sandbox>re-b9abf5b063c9/src/components/ui/button.tsx".

Verdict

A solid fit for an existing shadcn-style application: it builds, mounts, and exposes useful composition points with a clean accessibility run. It needs a shadcn-style setup, and its narrow-screen overflow plus substantial dependency cost make it a poor default for small forms or bare React projects.

Use it if

  • You already use shadcn-style local primitives and want a searchable single-select field that fits that structure.
  • You need controlled or uncontrolled selection and open state without writing the coordination layer yourself.
  • You want composable groups, empty states, separators, custom items, or a create-new action in the same menu.

Skip it if

  • Your narrow layout cannot tolerate horizontal overflow without adjusting the demo container and surrounding sizing.
  • You want a lightweight native select and do not otherwise need the command palette and popover dependency stack.
  • Your options are remote or paginated and you need built-in async loading, cancellation, or virtualization.
  • You expect a standalone package that works without local shadcn primitives, aliases, theme tokens, and utility conventions.

Install

Installation record for kibo-combobox
Declared dependencies@radix-ui/react-use-controllable-state, lucide-react, radix-ui, cmdk, clsx, tailwind-merge
Missing on installnone
Bare installfails once the shadcn-style helpers are removed, so it needs that setup
Providerno provider required in the harness

In a non-shadcn project, add compatible Button, Command, and Popover primitives; configure the local component and utility import aliases; provide the cn helper, Tailwind theme tokens, and client-component support; and install the Radix state utility, Radix UI, cmdk, Lucide, clsx, tailwind-merge, and class-variance-authority packages.

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.

License
MIT
Record published
2026-08-17

Alternatives

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.