# 📦 Laravel Cropper (Takeone) A professional, multi-instance image cropping component for Laravel built on top of **Cropme**. This package allows you to easily add image upload, cropping, and deletion functionality with support for circular and rectangular viewports. --- ## ✨ Features - 📸 **Multi-instance Support** - Use multiple croppers on the same page - 🔄 **Interactive Cropping** - Zoom, rotate, and position images with ease - ⭕ **Shape Options** - Support for circle and rectangle viewports - 🎨 **Bootstrap 5 Integration** - Beautiful, responsive UI out of the box - 💾 **Automatic Storage** - Images saved directly to Laravel's public disk - 🗑️ **Delete Functionality** - Built-in remove button with confirmation - 🚀 **Lightweight** - Uses Cropme.js library (minimal dependencies) --- ## 📋 Requirements - PHP >= 8.0 - Laravel >= 11.0 - Bootstrap 5.3+ - jQuery 3.6+ --- ## 🛠 1. Installation ### Add Repository Add the following to your **main project's** `composer.json` file to allow Composer to find your package: ```json "repositories": [ { "type": "vcs", "url": "https://git.innovator.bh/ghassan/laravel-image-cropper" } ] ``` ### Require Package Run the following command in your terminal: ```bash composer require takeone/cropper ``` ### Setup Storage The package saves images to the public disk. Link it to your project: ```bash php artisan storage:link ``` --- ## 🚀 2. Usage ### Layout Setup Ensure your main layout file (e.g., `resources/views/layouts/app.blade.php`) includes **Bootstrap 5**, **jQuery**, and the `@stack('modals')` directive. ```html @yield('content') @stack('modals') ``` ### Adding the Component Each instance of the cropper requires a **unique ID**. #### Profile Picture (Circle) ```html ``` #### Banner Image (Rectangle) ```html