{"_id":"@bsky.app/expo-image-crop-tool","_rev":"7-975edc6ae412f6293400376f350cb71e","name":"@bsky.app/expo-image-crop-tool","dist-tags":{"latest":"0.5.1"},"versions":{"0.5.0":{"name":"@bsky.app/expo-image-crop-tool","version":"0.5.0","keywords":["react-native","expo","expo-image-crop-tool","image-crop-tool","cropper","crop-tool","image","ExpoImageCropTool"],"author":{"url":"https://github.com/bluesky-social","name":"Hailey","email":"me@haileyok.com"},"license":"MIT","_id":"@bsky.app/expo-image-crop-tool@0.5.0","maintainers":[{"name":"haileyok","email":"me@haileyok.com"},{"name":"estrattonbailey","email":"npm@esb.lol"},{"name":"mozzius","email":"mozzius@protonmail.com"}],"homepage":"https://github.com/bluesky-social/expo-image-crop-tool#readme","bugs":{"url":"https://github.com/bluesky-social/expo-image-crop-tool/issues"},"dist":{"shasum":"4308fbde5c15e6be9122601797bc3d9549c95e31","tarball":"https://registry.npmjs.org/@bsky.app/expo-image-crop-tool/-/expo-image-crop-tool-0.5.0.tgz","fileCount":39,"integrity":"sha512-gmhQr2HWTRFyPO00fn5OmtiEVtikXusHMrN5Zoq26pu1VZX3zVE+aoc668etTqrvsQcm2Qu8fo96k5F3Wu+6wg==","signatures":[{"sig":"MEUCIAnENRVmrrc6qNGQMEeyX5Lr2BtY5xQcUVBl2IR3XWnDAiEA6JDkG9O+FM6aMNO+N8ICd7IyqbpFqLKtkytWfdSONyQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":42045},"main":"build/index.js","types":"build/index.d.ts","gitHead":"bc89d6be8f826622cf7351211cb2302a26c32e34","scripts":{"lint":"expo-module lint","test":"expo-module test","build":"expo-module build","clean":"expo-module clean","prepare":"expo-module prepare","open:ios":"xed example/ios","expo-module":"expo-module","open:android":"open -a \"Android Studio\" example/android","prepublishOnly":"expo-module prepublishOnly"},"_npmUser":{"name":"mozzius","email":"mozzius@protonmail.com"},"repository":{"url":"git+https://github.com/bluesky-social/expo-image-crop-tool.git","type":"git"},"_npmVersion":"10.8.2","description":"An image cropper for Expo","directories":{},"_nodeVersion":"20.19.4","dependencies":{},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","devDependencies":{"expo":"~53.0.0","@types/react":"~19.0.0","react-native":"0.79.2","expo-module-scripts":"^4.1.6"},"peerDependencies":{"expo":"*","react":"*","react-native":"*"},"_npmOperationalInternal":{"tmp":"tmp/expo-image-crop-tool_0.5.0_1767705181547_0.8254568544528893","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@bsky.app/expo-image-crop-tool","version":"0.5.1","description":"An image cropper for Expo","main":"build/index.js","types":"build/index.d.ts","scripts":{"build":"expo-module build","clean":"expo-module clean","lint":"expo-module lint","test":"expo-module test","prepare":"expo-module prepare","prepublishOnly":"expo-module prepublishOnly","expo-module":"expo-module","open:ios":"xed example/ios","open:android":"open -a \"Android Studio\" example/android"},"keywords":["react-native","expo","expo-image-crop-tool","image-crop-tool","cropper","crop-tool","image","ExpoImageCropTool"],"repository":{"type":"git","url":"git+https://github.com/bluesky-social/expo-image-crop-tool.git"},"bugs":{"url":"https://github.com/bluesky-social/expo-image-crop-tool/issues"},"author":{"name":"Hailey","email":"me@haileyok.com","url":"https://github.com/bluesky-social"},"license":"MIT","homepage":"https://github.com/bluesky-social/expo-image-crop-tool#readme","dependencies":{},"devDependencies":{"@types/react":"~19.1.0","expo":"54.0.33","expo-module-scripts":"^4.1.6","react-native":"0.81.5"},"peerDependencies":{"expo":"*","react":"*","react-native":"*"},"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","gitHead":"132a9030185bb1b07e6782db569a6b7c3722d4ca","_id":"@bsky.app/expo-image-crop-tool@0.5.1","_nodeVersion":"24.14.1","_npmVersion":"11.11.0","dist":{"integrity":"sha512-3O5r0fgS7qQIjcF5tKIweUZkE1knRjA/0jh9TducjBg+eZyBRPHxCEKH+cma0MY5eGilo2P4iCxeNuaEv8wg1g==","shasum":"c3b0ab56917af541ee849765b9336b057f9d885c","tarball":"https://registry.npmjs.org/@bsky.app/expo-image-crop-tool/-/expo-image-crop-tool-0.5.1.tgz","fileCount":39,"unpackedSize":42326,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bsky.app%2fexpo-image-crop-tool@0.5.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCvi9Exm9tOqP4t2v9nYfG5K6t70sxMzzrxftLC4f5jiQIhANdPCAEhI9CCc1SIUmDSSum45miS00BXItw+bRKaUG3M"}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b505cdff-f7a0-43e8-85fa-739e6744e47d"}},"directories":{},"maintainers":[{"name":"ds-boyce","email":"ds@blueskyweb.xyz"},{"name":"vineyardbovines","email":"spencerfpope@gmail.com"},{"name":"estrattonbailey","email":"npm@esb.lol"},{"name":"mozzius","email":"mozzius@protonmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/expo-image-crop-tool_0.5.1_1777897498151_0.5895656011391726"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-06T13:13:01.471Z","modified":"2026-05-04T12:24:58.640Z","0.5.0":"2026-01-06T13:13:01.691Z","0.5.1":"2026-05-04T12:24:58.310Z"},"bugs":{"url":"https://github.com/bluesky-social/expo-image-crop-tool/issues"},"author":{"name":"Hailey","email":"me@haileyok.com","url":"https://github.com/bluesky-social"},"license":"MIT","homepage":"https://github.com/bluesky-social/expo-image-crop-tool#readme","keywords":["react-native","expo","expo-image-crop-tool","image-crop-tool","cropper","crop-tool","image","ExpoImageCropTool"],"repository":{"type":"git","url":"git+https://github.com/bluesky-social/expo-image-crop-tool.git"},"description":"An image cropper for Expo","maintainers":[{"name":"ds-boyce","email":"ds@blueskyweb.xyz"},{"name":"vineyardbovines","email":"spencerfpope@gmail.com"},{"name":"estrattonbailey","email":"npm@esb.lol"},{"name":"mozzius","email":"mozzius@protonmail.com"}],"readme":"# Expo Image Crop Tool\n\nAn image cropping tool for Expo that allows cropping of the given image. Can be used alongside a library like `expo-image-picker` to provide a more fully-featured cropping experience for users.\n\n# Installation in managed Expo projects\n\nFor [managed](https://docs.expo.dev/archive/managed-vs-bare/) Expo projects, please follow the installation instructions in the [API documentation for the latest stable release](#api-documentation). If you follow the link and there is no documentation available then this library is not yet usable within managed projects &mdash; it is likely to be included in an upcoming Expo SDK release.\n\n# Installation in bare React Native projects\n\nFor bare React Native projects, you must ensure that you have [installed and configured the `expo` package](https://docs.expo.dev/bare/installing-expo-modules/) before continuing.\n\n### Add the package to your npm dependencies\n\n```bash\nnpm install @bsky.app/expo-image-crop-tool\ncd ios\npod install\n```\n\n> [!NOTE]\n> This package was previously published as `expo-image-crop-tool`, but is now called `@bsky.app/expo-image-crop-tool`.\n\n# Usage\n\nFor basic examples, see `example/App.tsx`.\n\n## `openCropperAsync(options: OpenCropperOptions) => Promise<OpenCropperResult>`\n\n`openCropperAsync` will return the path to the cropped image, or will throw an error if something goes wrong.\n\n## `OpenCropperOptions`\n\n| Key                      | Type      | iOS | Android | Description                                                                                             |\n| ------------------------ | --------- | --- | ------- | ------------------------------------------------------------------------------------------------------- |\n| `imageUri`               | `string`  | ✅  | ✅      | A path to the image that you want to crop.                                                              |\n| `shape`                  | `string`  | ✅  | ✅      | The shape that you want the returned image to be (`'rectangle'` \\| `'circle'`). Default is `rectangle`. |\n| `aspectRatio`            | `number`  | ✅  | ✅      | If you want to force a particular aspect ratio for the output image.                                    |\n| `format`                 | `string`  | ✅  | ✅      | The format of the output image (`'png'` \\| `'jpeg'`). Default is `png`.                                 |\n| `compressImageQuality`   | `number`  | ✅  | ✅      | If outputting a JPEG image, the compression quality for the output image.                               |\n| `rotationEnabled`        | `boolean` | ✅  | ✅      | Whether or not to allow the user to rotate the image in 90 degree segments. Default is `true`.          |\n| `rotationControlEnabled` | `boolean` | ✅  |         | Whether or not to show the rotation control view. Default is `true`.                                    |\n| `cancelButtonText`       | `string`  | ✅  | ✅      | Custom text for the Cancel button.                                                                      |\n| `doneButtonText`         | `string`  | ✅  | ✅      | Custom text for the Done button.                                                                        |\n\n## `OpenCropperResult`\n\n| Key        | Type     | Description                       |\n| ---------- | -------- | --------------------------------- |\n| `path`     | `string` | Path of the output image          |\n| `size`     | `number` | Size in bytes of the output image |\n| `width`    | `number` | Width of the output image         |\n| `height`   | `number` | Height of the output image        |\n| `mimeType` | `string` | MIME type of the output image     |\n","readmeFilename":"README.md"}