mirror of
https://github.com/github/image-crop-element
synced 2026-07-21 13:23:46 +00:00
No description
- TypeScript 83.1%
- JavaScript 16.9%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
|
||
| .github/workflows | ||
| examples | ||
| src | ||
| test | ||
| .eslintrc.json | ||
| .gitattributes | ||
| .gitignore | ||
| CODEOWNERS | ||
| custom-elements.json | ||
| LICENSE | ||
| package-lock.json | ||
| package.json | ||
| readme.md | ||
| tsconfig.json | ||
| web-test-runner.config.js | ||
<image-crop-element>
This loads an image and creates a crop area that user can modify. An event is fired with x, y, width, and height as the crop area changes.
Installation
$ npm install --save @github/image-crop-element
Usage
Plain
<image-crop src="/avatar.jpg"></image-crop>
Rounded crop area
<image-crop src="/avatar.jpg" rounded></image-crop>
With loading state
<image-crop src="/avatar.jpg">
<img src="spinner.gif" alt="" data-loading-slot />
</image-crop>
With autoupdate inputs
<image-crop src="/avatar.jpg">
<input type="hidden" data-image-crop-input="x" name="x">
<input type="hidden" data-image-crop-input="y" name="y">
<input type="hidden" data-image-crop-input="width" name="width">
<input type="hidden" data-image-crop-input="height" name="height">
</image-crop>
Listen to the change event
document.addEventListener('image-crop-change', function (event){
console.log(
'Crop area changed.',
event.detail.x,
event.detail.y,
event.detail.width,
event.detail.height
)
})
CSS encapsulation
The elements HTML structure is initialized in a Shadow DOM, so it is impossible to apply CSS to it. If you need to change the element's default style for any reason, you should open up a new issue (or a pull request!), describing your use case, and we'll work with you on solving the problem.
Browser support
Browsers without native custom element support require a polyfill. Legacy browsers require various other polyfills. See examples/index.html for details.
- Chrome
- Firefox
- Safari
- Microsoft Edge