Feedback

ImageCropModal

Modal for cropping images with zoom. Supports avatar (1:1) and banner (1000:277) aspect ratios.

Avatar crop (1:1)
Banner crop (1000:277)
Usage
import { ImageCropModal } from '@pulsesync/uikit'
import type { CropType } from '@pulsesync/uikit'

const [isOpen, setIsOpen] = useState(false)

<ImageCropModal
    isOpen={isOpen}
    onClose={() => setIsOpen(false)}
    onSave={(blob) => console.log('Cropped:', blob)}
    imageUrl="https://example.com/image.jpg"
    cropType="avatar" // or "banner"
    labels={{
        avatarTitle: 'Crop Avatar',
        bannerTitle: 'Crop Banner',
        zoom: 'Zoom',
        cancel: 'Cancel',
        save: 'Save',
    }}
/>