Homelogologo
Sponsor

ImageCropper

A component used to crop and transform images.

Usage

Gives you full control over the layout and styling of image cropping interface.

import { ImageCropper } from "@elemnts-ui/react"; <ImageCropper.Root aspectRatio={1}> <ImageCropper.Viewport> <ImageCropper.Image src="..." /> <ImageCropper.Selection> <ImageCropper.Grid /> <ImageCropper.Handle position="top-left" /> <ImageCropper.Handle position="top-right" /> <ImageCropper.Handle position="bottom-left" /> <ImageCropper.Handle position="bottom-right" /> </ImageCropper.Selection> </ImageCropper.Viewport> </ImageCropper.Root>;

Controls

Use the ImageCropper.Context or the useImageCropperContext hook to access methods like rotateBy, zoomBy, and reset to build custom controls.

API Reference

ImageCropperRoot

The root component for the image cropper.

PropTypeDefault
asChildbooleanundefined
aspectRationumberundefined
cropShape'circle' | 'rectangle'rectangle
defaultFlipFlipState{ horizontal: false, vertical: false
defaultRotationnumber0
defaultZoomnumber1
fixedCropAreabooleanfalse
flipFlipStateundefined
initialCropRectundefined
maxHeightnumberInfinity
maxWidthnumberInfinity
maxZoomnumber5
minHeightnumber40
minWidthnumber40
minZoomnumber1
nudgeStepnumber1
nudgeStepCtrlnumber50
nudgeStepShiftnumber10
onCropChange(details: CropChangeDetails) => voidundefined
onFlipChange(details: FlipChangeDetails) => voidundefined
onRotationChange(details: RotationChangeDetails) => voidundefined
onZoomChange(details: ZoomChangeDetails) => voidundefined
rotationnumberundefined
translationsIntlTranslationsundefined
zoomnumberundefined
zoomSensitivitynumber2
zoomStepnumber0.1

ImageCropperHandle

The handle component for the image cropper.

PropTypeDefault
positionHandlePositionundefined
asChildbooleanundefined