Crop Frame
A movable, resizable crop selection over a fixed region — the image-cropper / transform-box interaction. Drag a corner to resize two edges at once, an edge handle to resize one, or the body to move; everything stays inside the region. The geometry is also exposed as four sliders (X, Y, Width, Height), each operable with Arrow / Home / End.
- Axe
- Focus
- Drag
Preview
X50
Y40
Width120
Height80
Installation
npx shadcn@latest add https://ui.publictheta.com/r/crop-frame.jsonConformance
Verified against the @publictheta/ui-spec crop-frame specification on both the React and vanilla reference implementations, across Chromium, Firefox, and WebKit.
- Axe — No WCAG 2 A/AA axe-core violations
- Focus — A visible focus indicator appears on keyboard focus (WCAG 2.4.7)
- Drag — Pointer-drag surfaces don't select text or hijack touch scrolling
See the full conformance matrix across all components.