UNPKG

ngx-super-croppie

Version:

NgxSuperCroppie is a simple angular8+ wrapper for croppie

1 lines 8.55 kB
{"version":3,"file":"ngx-super-croppie.mjs","sources":["../../../projects/ngx-super-croppie/src/lib/ngx-super-croppie.service.ts","../../../projects/ngx-super-croppie/src/lib/ngx-super-croppie.component.ts","../../../projects/ngx-super-croppie/src/lib/ngx-super-croppie.component.html","../../../projects/ngx-super-croppie/src/lib/ngx-super-croppie.module.ts","../../../projects/ngx-super-croppie/src/public-api.ts","../../../projects/ngx-super-croppie/src/ngx-super-croppie.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NgxSuperCroppieService {\r\n\r\n constructor() { }\r\n}\r\n","/**\r\n * wrapper for croppie\r\n * @packageDocumentation\r\n */\r\n\r\nimport {\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n ViewChild,\r\n} from '@angular/core';\r\n\r\nimport Croppie, { CroppieOptions, ResultOptions, CropData } from 'croppie';\r\n\r\n@Component({\r\n selector: 'ngx-super-croppie',\r\n templateUrl: './ngx-super-croppie.component.html',\r\n styleUrls: ['./ngx-super-croppie.component.css'],\r\n})\r\nexport class NgxSuperCroppieComponent implements OnInit {\r\n /**\r\n * reference to croppie div\r\n */\r\n @ViewChild('croppie', { static: true }) croppie: ElementRef;\r\n\r\n /**\r\n * croppie options. See:\r\n * https://foliotek.github.io/Croppie/\r\n */\r\n @Input() croppieOptions: CroppieOptions;\r\n\r\n /**\r\n * URL to image\r\n */\r\n private _url: string;\r\n get url(): string {\r\n return this._url;\r\n }\r\n\r\n @Input() set url(url: string) {\r\n if (this._url === url) {\r\n return;\r\n }\r\n\r\n this._url = url;\r\n\r\n if (this._croppie) {\r\n this.bind();\r\n }\r\n }\r\n\r\n /**\r\n * Array of points that translate into [topLeftX, topLeftY, bottomRightX, bottomRightY]\r\n */\r\n @Input() points: number[] = null;\r\n\r\n /**\r\n * Custom orientation, applied after exif orientation (if enabled).\r\n * Only works with enableOrientation option enabled (see 'Options').\r\n *\r\n * Valid options are:\r\n * 1 unchanged\r\n * 2 flipped horizontally\r\n * 3 rotated 180 degrees\r\n * 4 flipped vertically\r\n * 5 flipped horizontally, then rotated left by 90 degrees\r\n * 6 rotated clockwise by 90 degrees\r\n * 7 flipped horizontally, then rotated right by 90 degrees\r\n * 8 rotated counter-clockwise by 90 degrees\r\n */\r\n @Input() orientation: number = null;\r\n\r\n /**\r\n * Apply zoom after image has been bound\r\n */\r\n @Input() zoom = 0;\r\n\r\n /**\r\n * Options for result. See:\r\n * https://foliotek.github.io/Croppie/\r\n */\r\n @Input() resultOptions: ResultOptions;\r\n\r\n /**\r\n * event emitted to parent\r\n */\r\n @Output() result: EventEmitter<\r\n string | HTMLElement | Blob | HTMLCanvasElement\r\n > = new EventEmitter<string | HTMLElement | Blob | HTMLCanvasElement>();\r\n\r\n /**\r\n * croppie object\r\n */\r\n _croppie: Croppie;\r\n\r\n /**\r\n * init cropper\r\n */\r\n ngOnInit(): void {\r\n this._croppie = new Croppie(\r\n this.croppie.nativeElement,\r\n this.croppieOptions,\r\n );\r\n\r\n this.bind();\r\n }\r\n\r\n /**\r\n * get crop data\r\n * @returns crop points, and the zoom of the image.\r\n */\r\n public get(): CropData {\r\n return this._croppie.get();\r\n }\r\n\r\n /**\r\n * Bind an image to the croppie.\r\n * Returns a promise to be resolved when the image has been loaded\r\n * and the croppie has been initialized.\r\n */\r\n private async bind(): Promise<void> {\r\n await this._croppie.bind({\r\n url: this.url,\r\n points: this.points,\r\n orientation: this.orientation,\r\n zoom: this.zoom,\r\n });\r\n }\r\n\r\n /**\r\n * Destroy a croppie instance and remove it from the DOM\r\n */\r\n public destroy(): void {\r\n this._croppie.destroy();\r\n }\r\n\r\n /**\r\n * emits croppie result to parent\r\n */\r\n public async croppieResult(): Promise<void> {\r\n const result = await this._croppie.result(this.resultOptions);\r\n this.result.emit(result);\r\n }\r\n\r\n /**\r\n * Rotate the image by a specified degree amount.\r\n * Only works with enableOrientation option enabled (see 'Options')\r\n * @param degrees degrees of rotation\r\n */\r\n public rotate(degrees: 90 | 180 | 270 | -90 | -180 | -270): void {\r\n this._croppie.rotate(degrees);\r\n }\r\n\r\n /**\r\n * Set the zoom of a Croppie instance. The value passed in is\r\n * still restricted to the min/max set by Croppie.\r\n * @param zoom zoom value\r\n */\r\n public setZoom(zoom: number): void {\r\n this._croppie.setZoom(zoom);\r\n }\r\n}\r\n","<div #croppie (update)=\"croppieResult()\"></div>\r\n","import { NgModule } from '@angular/core';\r\nimport { NgxSuperCroppieComponent } from './ngx-super-croppie.component';\r\n\r\n@NgModule({\r\n declarations: [NgxSuperCroppieComponent],\r\n imports: [],\r\n exports: [NgxSuperCroppieComponent],\r\n})\r\nexport class NgxSuperCroppieModule {}\r\n","/*\r\n * Public API Surface of ngx-super-croppie\r\n */\r\n\r\nexport * from './lib/ngx-super-croppie.service';\r\nexport * from './lib/ngx-super-croppie.component';\r\nexport * from './lib/ngx-super-croppie.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}