Measured entry
kibo-mini-calendar
A client-side React date strip for selecting from a short run of consecutive days, with composable navigation, day-list, and day-button parts. It ships as a shadcn registry item and depends on a shared shadcn Button and cn helper, Tailwind theme utilities, Radix state and slot primitives, date-fns, and Lucide icons.



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 | flagged at 375 |
| Axe critical | 1 |
| Axe serious | 1 |
| Axe moderate | 0 |
| Axe minor | 0 |
| Gzip marginal | 39.3 KB (104.8 KB build, 65.5 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 1.76s error during build: [vite]: Rollup failed to resolve import "class-variance-authority" from "<sandbox>re-22e0596e2056/src/components/ui/button.tsx".
Verdict
A focused, readable date strip for short-horizon choices, but not ready to adopt unchanged. It needs a shadcn-style setup, responsive treatment for narrow layouts, accessible names on the arrow controls, and a contrast adjustment before production use.
Use it if
- You need a compact date picker for nearby appointments, rescheduling, or delivery slots.
- Your app already uses shadcn conventions and can supply its shared Button, cn helper, and theme tokens.
- You want controlled or uncontrolled selection and start-date state without adopting a full calendar grid.
Skip it if
- You need month browsing, arbitrary date jumps, ranges, disabled dates, or booking availability logic.
- The picker must fit narrow screens without additional responsive work, since this composition can overflow there.
- You cannot budget an accessibility pass for navigation labels and muted-text contrast.
- You want a drop-in component with no shadcn-style shared primitives or Tailwind theme setup.
Install
| Declared dependencies | @radix-ui/react-use-controllable-state, date-fns, lucide-react, radix-ui, clsx, tailwind-merge |
|---|---|
| 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 a Tailwind utility pipeline and matching theme tokens, configure the source aliases, provide the cn helper, and install or recreate the shadcn Button with its class-variance-authority dependency. Also add the declared Radix, date, icon, class-merging dependencies, then label the navigation buttons and make the strip responsive.
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/shadcnblocks/kiboAlternatives
Other published entries for the calendar pattern, ordered by what they measured: mounts first, then clean axe scans, then bare-mode passes, then the smaller bundle.
- shadcn-calendarunclassified
- Renders
- YES
- A11y
- 0
- Gzip
- 37.3KB
- Bare
- fail
- Prov
- NO
- shadcn-block-calendar-01minimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 50.8KB
- Bare
- fail
- Prov
- NO
- shadcn-block-calendar-02minimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 50.9KB
- Bare
- fail
- Prov
- NO
- shadcn-block-calendar-03minimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 50.9KB
- Bare
- fail
- Prov
- NO
- shadcn-block-calendar-04minimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 50.9KB
- Bare
- fail
- Prov
- NO
- shadcn-block-calendar-05minimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 50.9KB
- Bare
- fail
- Prov
- NO