Measured entry

kibo-image-crop

imageminimal-flatdo not use

A shadcn registry component for composing an image crop area with optional apply and reset controls. It reads a File in the browser and returns a cropped PNG data URL through canvas, using react-image-crop, Lucide icons, Radix Slot, Tailwind utilities, a cn helper, and a shadcn Button.

This entry is a do-not-use verdict

It is published because it broke, not in spite of it. The run stopped at the production build, and the recorded output is printed further down this page.

No frame on record for this entry

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-image-crop
BuildFAIL
MountFAIL
Console errors0
Uncaught page errors1
Horizontal overflowclean at 375, 768, 1440
Axe critical0
Axe serious0
Axe moderate0
Axe minor0
Gzip marginalnot recorded
Bare modeFAIL
Provider requiredNO
Demo usednone

What the harness recorded

BUILD

✗ Build failed in 1m 27s
error during build:
[vite]: Rollup failed to resolve import "@repo/shadcn-ui/components/ui/button" from "<sandbox>/src/cut/index.tsx".

PAGE ERROR

build failed

BARE BUILD

✗ Build failed in 1m 33s
error during build:
[vite]: Rollup failed to resolve import "@repo/shadcn-ui/components/ui/button" from "<sandbox>/src/cut/index.tsx".

Verdict

Useful primitives for a shadcn app, but this publication fails because its Button import points at the author's private repository alias. It needs a shadcn-style setup and source edits before it can build, and the ineffective output-size retry deserves correction before production use.

Use it if

  • You want browser-side cropping from a File and can accept a PNG data URL as the result.
  • You need composable crop content, apply, and reset controls rather than a fixed dialog or upload flow.
  • Your app already follows shadcn conventions and you are willing to replace the source repository's Button import.

Skip it if

  • You need a drop-in component that builds outside the author's monorepo without import changes.
  • You require dependable output-size enforcement, because the oversized-image retry does not actually reduce the canvas dimensions.
  • You need server-side cropping, preserved image metadata, or an uploaded file rather than a browser-generated data URL.
  • You require verified runtime accessibility results, since the component did not build or mount in the harness.

Install

Installation record for kibo-image-crop
Declared dependencieslucide-react, radix-ui, react-image-crop
Missing on installreact-image-crop
Bare installfails once the shadcn-style helpers are removed, so it needs that setup
Providerno provider required in the harness

For a non-shadcn project, install react-image-crop, lucide-react, and radix-ui; import the crop library stylesheet; provide equivalents for Button and cn; replace both repository aliases; and supply the Tailwind utilities and theme variables used by the markup. Keep it client-only because it relies on FileReader, image elements, and canvas.

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-14

Alternatives

Other published entries for the image pattern, ordered by what they measured: mounts first, then clean axe scans, then bare-mode passes, then the smaller bundle.