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',
}}
/>