@sam-senior/photo 1.2.8 → 1.2.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5,18 +5,18 @@
5
5
  }(this, (function (exports,forms,core,confirmdialog,panel,angularComponents,dialog,photoCapture) { 'use strict';
6
6
 
7
7
  /*! *****************************************************************************
8
- Copyright (c) Microsoft Corporation. All rights reserved.
9
- Licensed under the Apache License, Version 2.0 (the "License"); you may not use
10
- this file except in compliance with the License. You may obtain a copy of the
11
- License at http://www.apache.org/licenses/LICENSE-2.0
8
+ Copyright (c) Microsoft Corporation.
12
9
 
13
- THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
- KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
15
- WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
16
- MERCHANTABLITY OR NON-INFRINGEMENT.
10
+ Permission to use, copy, modify, and/or distribute this software for any
11
+ purpose with or without fee is hereby granted.
17
12
 
18
- See the Apache Version 2.0 License for specific language governing permissions
19
- and limitations under the License.
13
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
14
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
15
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
16
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
17
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
18
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
19
+ PERFORMANCE OF THIS SOFTWARE.
20
20
  ***************************************************************************** */
21
21
  function __read(o, n) {
22
22
  var m = typeof Symbol === "function" && o[Symbol.iterator];
@@ -340,7 +340,7 @@
340
340
  PhotoComponent.decorators = [
341
341
  { type: core.Component, args: [{
342
342
  selector: 'sam-photo',
343
- template: "<input #imageInput type=\"file\" class=\"photo__input-file--hidden\" (change)=\"photoSelected($event)\" accept=\"image/*\">\r\n<s-thumbnail [size]=\"photoSize\" iconClass=\"fa fa-user\" (click)=\"changePhoto()\"\r\n [hasAction]=\"canPhotoUpload || canPhotoCapture\" [imageSource]=\"photo\" [actionIconClass]=\"actionIconClass\">\r\n</s-thumbnail>\r\n\r\n<p-dialog styleClass=\"photo-capture-custom\" [(visible)]=\"cameraDialog\" [header]=\"cameraDialogLabel\"\r\n [width]=\"photoWidth + 30\" appendTo='body' [modal]=\"true\">\r\n <sam-photo-capture [width]=\"photoWidth\" [height]=\"photoHeight\" (photoTake)=\"onPhotoTake($event)\"\r\n (error)=\"onCameraError($event)\"></sam-photo-capture>\r\n <p-footer>\r\n <s-button id=\"takePhotoBtn\" priority=\"primary\" [label]=\"cameraDialogCaptureLabel\" (click)=\"onPhotoCapture()\">\r\n </s-button>\r\n <s-button id=\"cancelBtn\" priority=\"link\" [label]=\"dialogCancelLabel\" (click)=\"onCloseCamera()\"></s-button>\r\n </p-footer>\r\n</p-dialog>\r\n\r\n<p-dialog [(visible)]=\"selectPhotoType\" [header]=\"selectPhotoTypeLabel\" [width]=\"400\" appendTo='body' [modal]=\"true\"\r\n [closable]=\"false\">\r\n <s-tile [label]=\"selectUploadTypeLabel\" [description]=\"selectUploadTypeDescription\" iconClass=\"fa fa-upload\"\r\n (click)=\"onOpenUpload()\"></s-tile>\r\n <br>\r\n <s-tile [label]=\"selectCaptureTypeLabel\" [description]=\"selectCaptureTypeLabelDescription\" iconClass=\"fa fa-camera\"\r\n (click)=\"onOpenCamera()\"></s-tile>\r\n <p-footer>\r\n <s-button id=\"cancelBtn\" priority=\"link\" [label]=\"dialogCancelLabel\" (click)=\"closeSelectPhotoType()\"></s-button>\r\n </p-footer>\r\n</p-dialog>",
343
+ template: "<input #imageInput type=\"file\" class=\"photo__input-file--hidden\" (change)=\"photoSelected($event)\" accept=\"image/*\">\r\n<s-thumbnail [size]=\"photoSize\" iconClass=\"fa fa-user\" (click)=\"changePhoto()\"\r\n [hasAction]=\"canPhotoUpload || canPhotoCapture\" [imageSource]=\"photo\" [actionIconClass]=\"actionIconClass\">\r\n</s-thumbnail>\r\n\r\n<p-dialog styleClass=\"photo-capture-custom\" [(visible)]=\"cameraDialog\" [header]=\"cameraDialogLabel\"\r\n [style]=\"{width: '700px'}\" appendTo='body' [modal]=\"true\">\r\n <sam-photo-capture [width]=\"photoWidth\" [height]=\"photoHeight\" (photoTake)=\"onPhotoTake($event)\"\r\n (error)=\"onCameraError($event)\"></sam-photo-capture>\r\n <p-footer>\r\n <s-button id=\"takePhotoBtn\" priority=\"primary\" [label]=\"cameraDialogCaptureLabel\" (click)=\"onPhotoCapture()\">\r\n </s-button>\r\n <s-button id=\"cancelBtn\" priority=\"link\" [label]=\"dialogCancelLabel\" (click)=\"onCloseCamera()\"></s-button>\r\n </p-footer>\r\n</p-dialog>\r\n\r\n<p-dialog [(visible)]=\"selectPhotoType\" [header]=\"selectPhotoTypeLabel\" [style]=\"{width: '400px'}\" appendTo='body' [modal]=\"true\"\r\n [closable]=\"false\">\r\n <s-tile [label]=\"selectUploadTypeLabel\" [description]=\"selectUploadTypeDescription\" iconClass=\"fa fa-upload\"\r\n (click)=\"onOpenUpload()\"></s-tile>\r\n <br>\r\n <s-tile [label]=\"selectCaptureTypeLabel\" [description]=\"selectCaptureTypeLabelDescription\" iconClass=\"fa fa-camera\"\r\n (click)=\"onOpenCamera()\"></s-tile>\r\n <p-footer>\r\n <s-button id=\"cancelBtn\" priority=\"link\" [label]=\"dialogCancelLabel\" (click)=\"closeSelectPhotoType()\"></s-button>\r\n </p-footer>\r\n</p-dialog>\r\n",
344
344
  providers: [
345
345
  {
346
346
  provide: forms.NG_VALUE_ACCESSOR,
@@ -1 +1 @@
1
- {"version":3,"file":"sam-senior-photo.umd.js.map","sources":["node_modules/tslib/tslib.es6.js","ng://@sam-senior/photo/lib/photo.component.ts","ng://@sam-senior/photo/lib/photo.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { Component, ViewChild, EventEmitter, ElementRef, ViewEncapsulation, OnInit } from '@angular/core';\r\nimport { Input } from '@angular/core';\r\nimport { Output } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { ImageCropperService } from '@seniorsistemas/angular-components';\r\nimport { PhotoCaptureService } from '@sam-senior/photo-capture';\r\n\r\nimport { PhotoModel } from './photo.model';\r\n\r\n@Component({\r\n selector: 'sam-photo',\r\n templateUrl: './photo.component.html',\r\n styleUrls: ['./photo.component.css'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: PhotoComponent,\r\n multi: true\r\n }\r\n ],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class PhotoComponent implements ControlValueAccessor {\r\n @ViewChild(`imageInput`) imageInput: ElementRef;\r\n\r\n @Input() key = 'key';\r\n @Input() photo: string;\r\n @Input() actionIconClass = 'fa fa-camera';\r\n @Input() photoSize = 'medium';\r\n @Input() maxPhotoSize = 1;\r\n @Input() photoWidth = 670;\r\n @Input() photoHeight = 400;\r\n @Input() canPhotoUpload = true;\r\n @Input() canPhotoCapture = true;\r\n\r\n @Input() cropperTitle = `Recortar`;\r\n @Input() cropperActionCancel = `Cancelar`;\r\n @Input() cropperActionCrop = `Recortar`;\r\n\r\n @Input() cameraDialogLabel = `Captura`;\r\n @Input() cameraDialogCaptureLabel = `Capturar`;\r\n @Input() selectPhotoTypeLabel = `Selecionar imagem`;\r\n @Input() selectUploadTypeLabel = `Upload`;\r\n @Input() selectUploadTypeDescription = `Selecione uma imagem do seu computador`;\r\n @Input() selectCaptureTypeLabel = `Capturar`;\r\n @Input() selectCaptureTypeLabelDescription = `Capture uma imagem do seu dispositivo`;\r\n @Input() dialogCancelLabel = `Cancelar`;\r\n\r\n @Output() photoCrop = new EventEmitter();\r\n @Output() openCamera = new EventEmitter();\r\n @Output() closeCamera = new EventEmitter();\r\n @Output() cameraError = new EventEmitter();\r\n @Output() invalidPhotoSize = new EventEmitter();\r\n @Output() isLoading = new EventEmitter();\r\n\r\n public photoContent: PhotoModel;\r\n public cameraDialog = false;\r\n public selectPhotoType = false;\r\n\r\n private onChange = (_: any) => { };\r\n private onTouched = () => { };\r\n\r\n constructor(\r\n private imageCropperService: ImageCropperService,\r\n private photoCaptureService: PhotoCaptureService\r\n ) { }\r\n\r\n public changePhoto() {\r\n if (this.canPhotoCapture && this.canPhotoUpload) {\r\n this.selectPhotoType = true;\r\n } else if (this.canPhotoCapture) {\r\n this.onOpenCamera();\r\n } else if (this.canPhotoUpload) {\r\n this.onOpenUpload();\r\n }\r\n }\r\n\r\n public registerOnChange(fn: (_: any) => void): void {\r\n this.onChange = fn;\r\n }\r\n\r\n public registerOnTouched(fn: () => void): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n public writeValue(value: any) {\r\n this.photo = value;\r\n }\r\n\r\n public onOpenCamera() {\r\n this.closeSelectPhotoType();\r\n this.cameraDialog = true;\r\n this.photoCaptureService.setKey(this.key);\r\n this.photoCaptureService.start();\r\n this.openCamera.emit();\r\n }\r\n\r\n public closeSelectPhotoType() {\r\n this.selectPhotoType = false;\r\n }\r\n\r\n public onOpenUpload() {\r\n this.closeSelectPhotoType();\r\n (this.imageInput.nativeElement as HTMLInputElement).value = null;\r\n (this.imageInput.nativeElement as HTMLInputElement).click();\r\n }\r\n\r\n public photoSelected(event: any) {\r\n const [file] = event.srcElement.files;\r\n this.photoRender(file);\r\n }\r\n\r\n public onCloseCamera() {\r\n this.cameraDialog = false;\r\n this.photoCaptureService.stop();\r\n this.closeCamera.emit();\r\n }\r\n\r\n public onPhotoCapture() {\r\n this.isLoading.emit(true);\r\n this.photoCaptureService.setKey(this.key);\r\n this.photoCaptureService.takePhoto();\r\n }\r\n\r\n public onPhotoTake(photo) {\r\n if (this.photoCaptureService.getKey() === this.key) {\r\n this.photoRender(photo.blob);\r\n this.onCloseCamera();\r\n }\r\n }\r\n\r\n public onCameraError(error) {\r\n if (this.photoCaptureService.getKey() === this.key) {\r\n this.onCloseCamera();\r\n this.cameraError.emit(error);\r\n }\r\n }\r\n\r\n private photoRender(file) {\r\n if (file) {\r\n const fileReader = new FileReader();\r\n fileReader.onloadend =\r\n photoRender => this.photoChopper(photoRender);\r\n fileReader.readAsDataURL(file);\r\n }\r\n }\r\n\r\n private photoChopper(photoRender) {\r\n this.imageCropperService.show({\r\n imageSource: photoRender.target.result,\r\n croppedCanvas: imageCanvas => {\r\n imageCanvas.toBlob(blob => {\r\n this.setPhotoContent(imageCanvas.toDataURL(), blob);\r\n this.onCreateBlob();\r\n });\r\n },\r\n header: this.cropperTitle,\r\n emptyStateActionLabel: this.cropperActionCancel,\r\n allowSelectAnother: false,\r\n allowRemove: false,\r\n cropLabel: this.cropperActionCrop,\r\n rounded: true,\r\n aspectRatio: 3 / 4\r\n });\r\n this.isLoading.emit(false);\r\n }\r\n\r\n private onCreateBlob() {\r\n if (this.getMaxSizeInBites() > this.photoContent.blob.size) {\r\n this.photoCrop.emit(this.photoContent);\r\n this.photo = this.photoContent.image;\r\n this.onChange(this.photo);\r\n } else {\r\n this.invalidPhotoSize.emit();\r\n }\r\n }\r\n\r\n private getMaxSizeInBites() {\r\n return (this.maxPhotoSize * 1000) * 1000;\r\n }\r\n\r\n private setPhotoContent(imageUri, imageBlob) {\r\n this.photoContent = {\r\n image: imageUri,\r\n blob: imageBlob\r\n };\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { ConfirmDialogModule } from 'primeng/confirmdialog';\r\nimport { PanelModule } from 'primeng/panel';\r\nimport {\r\n ImageCropperModule,\r\n StepsModule,\r\n ObjectCardModule,\r\n ButtonModule,\r\n TileModule,\r\n ImageCropperService,\r\n LoadingStateModule\r\n} from '@seniorsistemas/angular-components';\r\nimport { DialogModule } from 'primeng/dialog';\r\nimport { PhotoCaptureModule } from '@sam-senior/photo-capture';\r\n\r\nimport { PhotoComponent } from './photo.component';\r\n\r\n@NgModule({\r\n declarations: [PhotoComponent],\r\n imports: [\r\n PanelModule,\r\n DialogModule,\r\n StepsModule,\r\n ObjectCardModule,\r\n ImageCropperModule,\r\n ConfirmDialogModule,\r\n PhotoCaptureModule,\r\n ButtonModule,\r\n TileModule,\r\n LoadingStateModule\r\n ],\r\n providers: [ImageCropperService],\r\n exports: [PhotoComponent]\r\n})\r\nexport class PhotoModule { }\r\n"],"names":["EventEmitter","Component","NG_VALUE_ACCESSOR","ViewEncapsulation","ImageCropperService","PhotoCaptureService","ViewChild","Input","Output","NgModule","PanelModule","DialogModule","StepsModule","ObjectCardModule","ImageCropperModule","ConfirmDialogModule","PhotoCaptureModule","ButtonModule","TileModule","LoadingStateModule"],"mappings":"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"}
1
+ {"version":3,"file":"sam-senior-photo.umd.js.map","sources":["node_modules/tslib/tslib.es6.js","ng://@sam-senior/photo/lib/photo.component.ts","ng://@sam-senior/photo/lib/photo.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { Component, ViewChild, EventEmitter, ElementRef, ViewEncapsulation, OnInit } from '@angular/core';\r\nimport { Input } from '@angular/core';\r\nimport { Output } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { ImageCropperService } from '@seniorsistemas/angular-components';\r\nimport { PhotoCaptureService } from '@sam-senior/photo-capture';\r\n\r\nimport { PhotoModel } from './photo.model';\r\n\r\n@Component({\r\n selector: 'sam-photo',\r\n templateUrl: './photo.component.html',\r\n styleUrls: ['./photo.component.css'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: PhotoComponent,\r\n multi: true\r\n }\r\n ],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class PhotoComponent implements ControlValueAccessor {\r\n @ViewChild(`imageInput`) imageInput: ElementRef;\r\n\r\n @Input() key = 'key';\r\n @Input() photo: string;\r\n @Input() actionIconClass = 'fa fa-camera';\r\n @Input() photoSize = 'medium';\r\n @Input() maxPhotoSize = 1;\r\n @Input() photoWidth = 670;\r\n @Input() photoHeight = 400;\r\n @Input() canPhotoUpload = true;\r\n @Input() canPhotoCapture = true;\r\n\r\n @Input() cropperTitle = `Recortar`;\r\n @Input() cropperActionCancel = `Cancelar`;\r\n @Input() cropperActionCrop = `Recortar`;\r\n\r\n @Input() cameraDialogLabel = `Captura`;\r\n @Input() cameraDialogCaptureLabel = `Capturar`;\r\n @Input() selectPhotoTypeLabel = `Selecionar imagem`;\r\n @Input() selectUploadTypeLabel = `Upload`;\r\n @Input() selectUploadTypeDescription = `Selecione uma imagem do seu computador`;\r\n @Input() selectCaptureTypeLabel = `Capturar`;\r\n @Input() selectCaptureTypeLabelDescription = `Capture uma imagem do seu dispositivo`;\r\n @Input() dialogCancelLabel = `Cancelar`;\r\n\r\n @Output() photoCrop = new EventEmitter();\r\n @Output() openCamera = new EventEmitter();\r\n @Output() closeCamera = new EventEmitter();\r\n @Output() cameraError = new EventEmitter();\r\n @Output() invalidPhotoSize = new EventEmitter();\r\n @Output() isLoading = new EventEmitter();\r\n\r\n public photoContent: PhotoModel;\r\n public cameraDialog = false;\r\n public selectPhotoType = false;\r\n\r\n private onChange = (_: any) => { };\r\n private onTouched = () => { };\r\n\r\n constructor(\r\n private imageCropperService: ImageCropperService,\r\n private photoCaptureService: PhotoCaptureService\r\n ) { }\r\n\r\n public changePhoto() {\r\n if (this.canPhotoCapture && this.canPhotoUpload) {\r\n this.selectPhotoType = true;\r\n } else if (this.canPhotoCapture) {\r\n this.onOpenCamera();\r\n } else if (this.canPhotoUpload) {\r\n this.onOpenUpload();\r\n }\r\n }\r\n\r\n public registerOnChange(fn: (_: any) => void): void {\r\n this.onChange = fn;\r\n }\r\n\r\n public registerOnTouched(fn: () => void): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n public writeValue(value: any) {\r\n this.photo = value;\r\n }\r\n\r\n public onOpenCamera() {\r\n this.closeSelectPhotoType();\r\n this.cameraDialog = true;\r\n this.photoCaptureService.setKey(this.key);\r\n this.photoCaptureService.start();\r\n this.openCamera.emit();\r\n }\r\n\r\n public closeSelectPhotoType() {\r\n this.selectPhotoType = false;\r\n }\r\n\r\n public onOpenUpload() {\r\n this.closeSelectPhotoType();\r\n (this.imageInput.nativeElement as HTMLInputElement).value = null;\r\n (this.imageInput.nativeElement as HTMLInputElement).click();\r\n }\r\n\r\n public photoSelected(event: any) {\r\n const [file] = event.srcElement.files;\r\n this.photoRender(file);\r\n }\r\n\r\n public onCloseCamera() {\r\n this.cameraDialog = false;\r\n this.photoCaptureService.stop();\r\n this.closeCamera.emit();\r\n }\r\n\r\n public onPhotoCapture() {\r\n this.isLoading.emit(true);\r\n this.photoCaptureService.setKey(this.key);\r\n this.photoCaptureService.takePhoto();\r\n }\r\n\r\n public onPhotoTake(photo) {\r\n if (this.photoCaptureService.getKey() === this.key) {\r\n this.photoRender(photo.blob);\r\n this.onCloseCamera();\r\n }\r\n }\r\n\r\n public onCameraError(error) {\r\n if (this.photoCaptureService.getKey() === this.key) {\r\n this.onCloseCamera();\r\n this.cameraError.emit(error);\r\n }\r\n }\r\n\r\n private photoRender(file) {\r\n if (file) {\r\n const fileReader = new FileReader();\r\n fileReader.onloadend =\r\n photoRender => this.photoChopper(photoRender);\r\n fileReader.readAsDataURL(file);\r\n }\r\n }\r\n\r\n private photoChopper(photoRender) {\r\n this.imageCropperService.show({\r\n imageSource: photoRender.target.result,\r\n croppedCanvas: imageCanvas => {\r\n imageCanvas.toBlob(blob => {\r\n this.setPhotoContent(imageCanvas.toDataURL(), blob);\r\n this.onCreateBlob();\r\n });\r\n },\r\n header: this.cropperTitle,\r\n emptyStateActionLabel: this.cropperActionCancel,\r\n allowSelectAnother: false,\r\n allowRemove: false,\r\n cropLabel: this.cropperActionCrop,\r\n rounded: true,\r\n aspectRatio: 3 / 4\r\n });\r\n this.isLoading.emit(false);\r\n }\r\n\r\n private onCreateBlob() {\r\n if (this.getMaxSizeInBites() > this.photoContent.blob.size) {\r\n this.photoCrop.emit(this.photoContent);\r\n this.photo = this.photoContent.image;\r\n this.onChange(this.photo);\r\n } else {\r\n this.invalidPhotoSize.emit();\r\n }\r\n }\r\n\r\n private getMaxSizeInBites() {\r\n return (this.maxPhotoSize * 1000) * 1000;\r\n }\r\n\r\n private setPhotoContent(imageUri, imageBlob) {\r\n this.photoContent = {\r\n image: imageUri,\r\n blob: imageBlob\r\n };\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { ConfirmDialogModule } from 'primeng/confirmdialog';\r\nimport { PanelModule } from 'primeng/panel';\r\nimport {\r\n ImageCropperModule,\r\n StepsModule,\r\n ObjectCardModule,\r\n ButtonModule,\r\n TileModule,\r\n ImageCropperService,\r\n LoadingStateModule\r\n} from '@seniorsistemas/angular-components';\r\nimport { DialogModule } from 'primeng/dialog';\r\nimport { PhotoCaptureModule } from '@sam-senior/photo-capture';\r\n\r\nimport { PhotoComponent } from './photo.component';\r\n\r\n@NgModule({\r\n declarations: [PhotoComponent],\r\n imports: [\r\n PanelModule,\r\n DialogModule,\r\n StepsModule,\r\n ObjectCardModule,\r\n ImageCropperModule,\r\n ConfirmDialogModule,\r\n PhotoCaptureModule,\r\n ButtonModule,\r\n TileModule,\r\n LoadingStateModule\r\n ],\r\n providers: [ImageCropperService],\r\n exports: [PhotoComponent]\r\n})\r\nexport class PhotoModule { }\r\n"],"names":["EventEmitter","Component","NG_VALUE_ACCESSOR","ViewEncapsulation","ImageCropperService","PhotoCaptureService","ViewChild","Input","Output","NgModule","PanelModule","DialogModule","StepsModule","ObjectCardModule","ImageCropperModule","ConfirmDialogModule","PhotoCaptureModule","ButtonModule","TileModule","LoadingStateModule"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/forms"),require("@angular/core"),require("primeng/confirmdialog"),require("primeng/panel"),require("@seniorsistemas/angular-components"),require("primeng/dialog"),require("@sam-senior/photo-capture")):"function"==typeof define&&define.amd?define("@sam-senior/photo",["exports","@angular/forms","@angular/core","primeng/confirmdialog","primeng/panel","@seniorsistemas/angular-components","primeng/dialog","@sam-senior/photo-capture"],t):t((e["sam-senior"]=e["sam-senior"]||{},e["sam-senior"].photo={}),e.ng.forms,e.ng.core,e.confirmdialog,e.panel,e.angularComponents,e.dialog,e.photoCapture)}(this,function(e,t,o,i,a,r,n,p){"use strict";var s=function(){function e(e,t){this.imageCropperService=e,this.photoCaptureService=t,this.key="key",this.actionIconClass="fa fa-camera",this.photoSize="medium",this.maxPhotoSize=1,this.photoWidth=670,this.photoHeight=400,this.canPhotoUpload=!0,this.canPhotoCapture=!0,this.cropperTitle="Recortar",this.cropperActionCancel="Cancelar",this.cropperActionCrop="Recortar",this.cameraDialogLabel="Captura",this.cameraDialogCaptureLabel="Capturar",this.selectPhotoTypeLabel="Selecionar imagem",this.selectUploadTypeLabel="Upload",this.selectUploadTypeDescription="Selecione uma imagem do seu computador",this.selectCaptureTypeLabel="Capturar",this.selectCaptureTypeLabelDescription="Capture uma imagem do seu dispositivo",this.dialogCancelLabel="Cancelar",this.photoCrop=new o.EventEmitter,this.openCamera=new o.EventEmitter,this.closeCamera=new o.EventEmitter,this.cameraError=new o.EventEmitter,this.invalidPhotoSize=new o.EventEmitter,this.isLoading=new o.EventEmitter,this.cameraDialog=!1,this.selectPhotoType=!1,this.onChange=function(e){},this.onTouched=function(){}}return e.prototype.changePhoto=function(){this.canPhotoCapture&&this.canPhotoUpload?this.selectPhotoType=!0:this.canPhotoCapture?this.onOpenCamera():this.canPhotoUpload&&this.onOpenUpload()},e.prototype.registerOnChange=function(e){this.onChange=e},e.prototype.registerOnTouched=function(e){this.onTouched=e},e.prototype.writeValue=function(e){this.photo=e},e.prototype.onOpenCamera=function(){this.closeSelectPhotoType(),this.cameraDialog=!0,this.photoCaptureService.setKey(this.key),this.photoCaptureService.start(),this.openCamera.emit()},e.prototype.closeSelectPhotoType=function(){this.selectPhotoType=!1},e.prototype.onOpenUpload=function(){this.closeSelectPhotoType(),this.imageInput.nativeElement.value=null,this.imageInput.nativeElement.click()},e.prototype.photoSelected=function(e){var t=function s(e,t){var o="function"==typeof Symbol&&e[Symbol.iterator];if(!o)return e;var i,a,r=o.call(e),n=[];try{for(;(void 0===t||0<t--)&&!(i=r.next()).done;)n.push(i.value)}catch(p){a={error:p}}finally{try{i&&!i.done&&(o=r["return"])&&o.call(r)}finally{if(a)throw a.error}}return n}(e.srcElement.files,1)[0];this.photoRender(t)},e.prototype.onCloseCamera=function(){this.cameraDialog=!1,this.photoCaptureService.stop(),this.closeCamera.emit()},e.prototype.onPhotoCapture=function(){this.isLoading.emit(!0),this.photoCaptureService.setKey(this.key),this.photoCaptureService.takePhoto()},e.prototype.onPhotoTake=function(e){this.photoCaptureService.getKey()===this.key&&(this.photoRender(e.blob),this.onCloseCamera())},e.prototype.onCameraError=function(e){this.photoCaptureService.getKey()===this.key&&(this.onCloseCamera(),this.cameraError.emit(e))},e.prototype.photoRender=function(e){var t=this;if(e){var o=new FileReader;o.onloadend=function(e){return t.photoChopper(e)},o.readAsDataURL(e)}},e.prototype.photoChopper=function(e){var o=this;this.imageCropperService.show({imageSource:e.target.result,croppedCanvas:function(t){t.toBlob(function(e){o.setPhotoContent(t.toDataURL(),e),o.onCreateBlob()})},header:this.cropperTitle,emptyStateActionLabel:this.cropperActionCancel,allowSelectAnother:!1,allowRemove:!1,cropLabel:this.cropperActionCrop,rounded:!0,aspectRatio:.75}),this.isLoading.emit(!1)},e.prototype.onCreateBlob=function(){this.getMaxSizeInBites()>this.photoContent.blob.size?(this.photoCrop.emit(this.photoContent),this.photo=this.photoContent.image,this.onChange(this.photo)):this.invalidPhotoSize.emit()},e.prototype.getMaxSizeInBites=function(){return 1e3*this.maxPhotoSize*1e3},e.prototype.setPhotoContent=function(e,t){this.photoContent={image:e,blob:t}},e.decorators=[{type:o.Component,args:[{selector:"sam-photo",template:'<input #imageInput type="file" class="photo__input-file--hidden" (change)="photoSelected($event)" accept="image/*">\r\n<s-thumbnail [size]="photoSize" iconClass="fa fa-user" (click)="changePhoto()"\r\n [hasAction]="canPhotoUpload || canPhotoCapture" [imageSource]="photo" [actionIconClass]="actionIconClass">\r\n</s-thumbnail>\r\n\r\n<p-dialog styleClass="photo-capture-custom" [(visible)]="cameraDialog" [header]="cameraDialogLabel"\r\n [width]="photoWidth + 30" appendTo=\'body\' [modal]="true">\r\n <sam-photo-capture [width]="photoWidth" [height]="photoHeight" (photoTake)="onPhotoTake($event)"\r\n (error)="onCameraError($event)"></sam-photo-capture>\r\n <p-footer>\r\n <s-button id="takePhotoBtn" priority="primary" [label]="cameraDialogCaptureLabel" (click)="onPhotoCapture()">\r\n </s-button>\r\n <s-button id="cancelBtn" priority="link" [label]="dialogCancelLabel" (click)="onCloseCamera()"></s-button>\r\n </p-footer>\r\n</p-dialog>\r\n\r\n<p-dialog [(visible)]="selectPhotoType" [header]="selectPhotoTypeLabel" [width]="400" appendTo=\'body\' [modal]="true"\r\n [closable]="false">\r\n <s-tile [label]="selectUploadTypeLabel" [description]="selectUploadTypeDescription" iconClass="fa fa-upload"\r\n (click)="onOpenUpload()"></s-tile>\r\n <br>\r\n <s-tile [label]="selectCaptureTypeLabel" [description]="selectCaptureTypeLabelDescription" iconClass="fa fa-camera"\r\n (click)="onOpenCamera()"></s-tile>\r\n <p-footer>\r\n <s-button id="cancelBtn" priority="link" [label]="dialogCancelLabel" (click)="closeSelectPhotoType()"></s-button>\r\n </p-footer>\r\n</p-dialog>',providers:[{provide:t.NG_VALUE_ACCESSOR,useExisting:e,multi:!0}],encapsulation:o.ViewEncapsulation.None,styles:[".photo__input-file--hidden{position:fixed;top:-100em}.select-photo-type-container{display:flex;flex-direction:row;align-items:center;justify-content:center}.select-photo-type-item{color:gray;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center}.select-photo-type-item:nth-child(1){border-right:1px solid #ccc}.select-photo-type-item i{font-size:80px;margin-left:40px;margin-right:40px}.select-photo-type-item span{margin-top:10px}"]}]}],e.ctorParameters=function(){return[{type:r.ImageCropperService},{type:p.PhotoCaptureService}]},e.propDecorators={imageInput:[{type:o.ViewChild,args:["imageInput"]}],key:[{type:o.Input}],photo:[{type:o.Input}],actionIconClass:[{type:o.Input}],photoSize:[{type:o.Input}],maxPhotoSize:[{type:o.Input}],photoWidth:[{type:o.Input}],photoHeight:[{type:o.Input}],canPhotoUpload:[{type:o.Input}],canPhotoCapture:[{type:o.Input}],cropperTitle:[{type:o.Input}],cropperActionCancel:[{type:o.Input}],cropperActionCrop:[{type:o.Input}],cameraDialogLabel:[{type:o.Input}],cameraDialogCaptureLabel:[{type:o.Input}],selectPhotoTypeLabel:[{type:o.Input}],selectUploadTypeLabel:[{type:o.Input}],selectUploadTypeDescription:[{type:o.Input}],selectCaptureTypeLabel:[{type:o.Input}],selectCaptureTypeLabelDescription:[{type:o.Input}],dialogCancelLabel:[{type:o.Input}],photoCrop:[{type:o.Output}],openCamera:[{type:o.Output}],closeCamera:[{type:o.Output}],cameraError:[{type:o.Output}],invalidPhotoSize:[{type:o.Output}],isLoading:[{type:o.Output}]},e}(),l=function(){function e(){}return e.decorators=[{type:o.NgModule,args:[{declarations:[s],imports:[a.PanelModule,n.DialogModule,r.StepsModule,r.ObjectCardModule,r.ImageCropperModule,i.ConfirmDialogModule,p.PhotoCaptureModule,r.ButtonModule,r.TileModule,r.LoadingStateModule],providers:[r.ImageCropperService],exports:[s]}]}],e}();e.PhotoComponent=s,e.PhotoModule=l,Object.defineProperty(e,"__esModule",{value:!0})});
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/forms"),require("@angular/core"),require("primeng/confirmdialog"),require("primeng/panel"),require("@seniorsistemas/angular-components"),require("primeng/dialog"),require("@sam-senior/photo-capture")):"function"==typeof define&&define.amd?define("@sam-senior/photo",["exports","@angular/forms","@angular/core","primeng/confirmdialog","primeng/panel","@seniorsistemas/angular-components","primeng/dialog","@sam-senior/photo-capture"],t):t((e["sam-senior"]=e["sam-senior"]||{},e["sam-senior"].photo={}),e.ng.forms,e.ng.core,e.confirmdialog,e.panel,e.angularComponents,e.dialog,e.photoCapture)}(this,function(e,t,o,i,a,n,r,p){"use strict";function s(e,t){var o="function"==typeof Symbol&&e[Symbol.iterator];if(!o)return e;var i,a,n=o.call(e),r=[];try{for(;(void 0===t||0<t--)&&!(i=n.next()).done;)r.push(i.value)}catch(p){a={error:p}}finally{try{i&&!i.done&&(o=n["return"])&&o.call(n)}finally{if(a)throw a.error}}return r}l.prototype.changePhoto=function(){this.canPhotoCapture&&this.canPhotoUpload?this.selectPhotoType=!0:this.canPhotoCapture?this.onOpenCamera():this.canPhotoUpload&&this.onOpenUpload()},l.prototype.registerOnChange=function(e){this.onChange=e},l.prototype.registerOnTouched=function(e){this.onTouched=e},l.prototype.writeValue=function(e){this.photo=e},l.prototype.onOpenCamera=function(){this.closeSelectPhotoType(),this.cameraDialog=!0,this.photoCaptureService.setKey(this.key),this.photoCaptureService.start(),this.openCamera.emit()},l.prototype.closeSelectPhotoType=function(){this.selectPhotoType=!1},l.prototype.onOpenUpload=function(){this.closeSelectPhotoType(),this.imageInput.nativeElement.value=null,this.imageInput.nativeElement.click()},l.prototype.photoSelected=function(e){e=s(e.srcElement.files,1)[0];this.photoRender(e)},l.prototype.onCloseCamera=function(){this.cameraDialog=!1,this.photoCaptureService.stop(),this.closeCamera.emit()},l.prototype.onPhotoCapture=function(){this.isLoading.emit(!0),this.photoCaptureService.setKey(this.key),this.photoCaptureService.takePhoto()},l.prototype.onPhotoTake=function(e){this.photoCaptureService.getKey()===this.key&&(this.photoRender(e.blob),this.onCloseCamera())},l.prototype.onCameraError=function(e){this.photoCaptureService.getKey()===this.key&&(this.onCloseCamera(),this.cameraError.emit(e))},l.prototype.photoRender=function(e){var t,o=this;e&&((t=new FileReader).onloadend=function(e){return o.photoChopper(e)},t.readAsDataURL(e))},l.prototype.photoChopper=function(e){var o=this;this.imageCropperService.show({imageSource:e.target.result,croppedCanvas:function(t){t.toBlob(function(e){o.setPhotoContent(t.toDataURL(),e),o.onCreateBlob()})},header:this.cropperTitle,emptyStateActionLabel:this.cropperActionCancel,allowSelectAnother:!1,allowRemove:!1,cropLabel:this.cropperActionCrop,rounded:!0,aspectRatio:.75}),this.isLoading.emit(!1)},l.prototype.onCreateBlob=function(){this.getMaxSizeInBites()>this.photoContent.blob.size?(this.photoCrop.emit(this.photoContent),this.photo=this.photoContent.image,this.onChange(this.photo)):this.invalidPhotoSize.emit()},l.prototype.getMaxSizeInBites=function(){return 1e3*this.maxPhotoSize*1e3},l.prototype.setPhotoContent=function(e,t){this.photoContent={image:e,blob:t}},l.decorators=[{type:o.Component,args:[{selector:"sam-photo",template:'<input #imageInput type="file" class="photo__input-file--hidden" (change)="photoSelected($event)" accept="image/*">\r\n<s-thumbnail [size]="photoSize" iconClass="fa fa-user" (click)="changePhoto()"\r\n [hasAction]="canPhotoUpload || canPhotoCapture" [imageSource]="photo" [actionIconClass]="actionIconClass">\r\n</s-thumbnail>\r\n\r\n<p-dialog styleClass="photo-capture-custom" [(visible)]="cameraDialog" [header]="cameraDialogLabel"\r\n [style]="{width: \'700px\'}" appendTo=\'body\' [modal]="true">\r\n <sam-photo-capture [width]="photoWidth" [height]="photoHeight" (photoTake)="onPhotoTake($event)"\r\n (error)="onCameraError($event)"></sam-photo-capture>\r\n <p-footer>\r\n <s-button id="takePhotoBtn" priority="primary" [label]="cameraDialogCaptureLabel" (click)="onPhotoCapture()">\r\n </s-button>\r\n <s-button id="cancelBtn" priority="link" [label]="dialogCancelLabel" (click)="onCloseCamera()"></s-button>\r\n </p-footer>\r\n</p-dialog>\r\n\r\n<p-dialog [(visible)]="selectPhotoType" [header]="selectPhotoTypeLabel" [style]="{width: \'400px\'}" appendTo=\'body\' [modal]="true"\r\n [closable]="false">\r\n <s-tile [label]="selectUploadTypeLabel" [description]="selectUploadTypeDescription" iconClass="fa fa-upload"\r\n (click)="onOpenUpload()"></s-tile>\r\n <br>\r\n <s-tile [label]="selectCaptureTypeLabel" [description]="selectCaptureTypeLabelDescription" iconClass="fa fa-camera"\r\n (click)="onOpenCamera()"></s-tile>\r\n <p-footer>\r\n <s-button id="cancelBtn" priority="link" [label]="dialogCancelLabel" (click)="closeSelectPhotoType()"></s-button>\r\n </p-footer>\r\n</p-dialog>\r\n',providers:[{provide:t.NG_VALUE_ACCESSOR,useExisting:l,multi:!0}],encapsulation:o.ViewEncapsulation.None,styles:[".photo__input-file--hidden{position:fixed;top:-100em}.select-photo-type-container{display:flex;flex-direction:row;align-items:center;justify-content:center}.select-photo-type-item{color:gray;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center}.select-photo-type-item:nth-child(1){border-right:1px solid #ccc}.select-photo-type-item i{font-size:80px;margin-left:40px;margin-right:40px}.select-photo-type-item span{margin-top:10px}"]}]}],l.ctorParameters=function(){return[{type:n.ImageCropperService},{type:p.PhotoCaptureService}]},l.propDecorators={imageInput:[{type:o.ViewChild,args:["imageInput"]}],key:[{type:o.Input}],photo:[{type:o.Input}],actionIconClass:[{type:o.Input}],photoSize:[{type:o.Input}],maxPhotoSize:[{type:o.Input}],photoWidth:[{type:o.Input}],photoHeight:[{type:o.Input}],canPhotoUpload:[{type:o.Input}],canPhotoCapture:[{type:o.Input}],cropperTitle:[{type:o.Input}],cropperActionCancel:[{type:o.Input}],cropperActionCrop:[{type:o.Input}],cameraDialogLabel:[{type:o.Input}],cameraDialogCaptureLabel:[{type:o.Input}],selectPhotoTypeLabel:[{type:o.Input}],selectUploadTypeLabel:[{type:o.Input}],selectUploadTypeDescription:[{type:o.Input}],selectCaptureTypeLabel:[{type:o.Input}],selectCaptureTypeLabelDescription:[{type:o.Input}],dialogCancelLabel:[{type:o.Input}],photoCrop:[{type:o.Output}],openCamera:[{type:o.Output}],closeCamera:[{type:o.Output}],cameraError:[{type:o.Output}],invalidPhotoSize:[{type:o.Output}],isLoading:[{type:o.Output}]};t=l;function l(e,t){this.imageCropperService=e,this.photoCaptureService=t,this.key="key",this.actionIconClass="fa fa-camera",this.photoSize="medium",this.maxPhotoSize=1,this.photoWidth=670,this.photoHeight=400,this.canPhotoUpload=!0,this.canPhotoCapture=!0,this.cropperTitle="Recortar",this.cropperActionCancel="Cancelar",this.cropperActionCrop="Recortar",this.cameraDialogLabel="Captura",this.cameraDialogCaptureLabel="Capturar",this.selectPhotoTypeLabel="Selecionar imagem",this.selectUploadTypeLabel="Upload",this.selectUploadTypeDescription="Selecione uma imagem do seu computador",this.selectCaptureTypeLabel="Capturar",this.selectCaptureTypeLabelDescription="Capture uma imagem do seu dispositivo",this.dialogCancelLabel="Cancelar",this.photoCrop=new o.EventEmitter,this.openCamera=new o.EventEmitter,this.closeCamera=new o.EventEmitter,this.cameraError=new o.EventEmitter,this.invalidPhotoSize=new o.EventEmitter,this.isLoading=new o.EventEmitter,this.cameraDialog=!1,this.selectPhotoType=!1,this.onChange=function(e){},this.onTouched=function(){}}c.decorators=[{type:o.NgModule,args:[{declarations:[t],imports:[a.PanelModule,r.DialogModule,n.StepsModule,n.ObjectCardModule,n.ImageCropperModule,i.ConfirmDialogModule,p.PhotoCaptureModule,n.ButtonModule,n.TileModule,n.LoadingStateModule],providers:[n.ImageCropperService],exports:[t]}]}];a=c;function c(){}e.PhotoComponent=t,e.PhotoModule=a,Object.defineProperty(e,"__esModule",{value:!0})});
2
2
  //# sourceMappingURL=sam-senior-photo.umd.min.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["ng://@sam-senior/photo/lib/photo.component.ts","node_modules/tslib/tslib.es6.js","ng://@sam-senior/photo/lib/photo.module.ts"],"names":["PhotoComponent","imageCropperService","photoCaptureService","this","key","actionIconClass","photoSize","maxPhotoSize","photoWidth","photoHeight","canPhotoUpload","canPhotoCapture","cropperTitle","cropperActionCancel","cropperActionCrop","cameraDialogLabel","cameraDialogCaptureLabel","selectPhotoTypeLabel","selectUploadTypeLabel","selectUploadTypeDescription","selectCaptureTypeLabel","selectCaptureTypeLabelDescription","dialogCancelLabel","photoCrop","EventEmitter","openCamera","closeCamera","cameraError","invalidPhotoSize","isLoading","cameraDialog","selectPhotoType","onChange","_","onTouched","prototype","changePhoto","onOpenCamera","onOpenUpload","registerOnChange","fn","registerOnTouched","writeValue","value","photo","closeSelectPhotoType","setKey","start","emit","imageInput","click","photoSelected","event","file","__read","o","n","m","Symbol","iterator","r","e","i","call","ar","next","done","push","error","srcElement","files","photoRender","onCloseCamera","stop","onPhotoCapture","takePhoto","onPhotoTake","getKey","blob","onCameraError","_this","fileReader","FileReader","onloadend","photoChopper","readAsDataURL","show","imageSource","target","result","croppedCanvas","imageCanvas","toBlob","setPhotoContent","toDataURL","onCreateBlob","header","emptyStateActionLabel","allowSelectAnother","allowRemove","cropLabel","rounded","aspectRatio","getMaxSizeInBites","photoContent","size","image","imageUri","imageBlob","Component","args","selector","template","providers","provide","NG_VALUE_ACCESSOR","useExisting","multi","encapsulation","ViewEncapsulation","None","ImageCropperService","PhotoCaptureService","ViewChild","Input","Output","PhotoModule","NgModule","declarations","imports","PanelModule","DialogModule","StepsModule","ObjectCardModule","ImageCropperModule","ConfirmDialogModule","PhotoCaptureModule","ButtonModule","TileModule","LoadingStateModule","exports"],"mappings":"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","sourcesContent":["import { Component, ViewChild, EventEmitter, ElementRef, ViewEncapsulation, OnInit } from '@angular/core';\r\nimport { Input } from '@angular/core';\r\nimport { Output } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { ImageCropperService } from '@seniorsistemas/angular-components';\r\nimport { PhotoCaptureService } from '@sam-senior/photo-capture';\r\n\r\nimport { PhotoModel } from './photo.model';\r\n\r\n@Component({\r\n selector: 'sam-photo',\r\n templateUrl: './photo.component.html',\r\n styleUrls: ['./photo.component.css'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: PhotoComponent,\r\n multi: true\r\n }\r\n ],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class PhotoComponent implements ControlValueAccessor {\r\n @ViewChild(`imageInput`) imageInput: ElementRef;\r\n\r\n @Input() key = 'key';\r\n @Input() photo: string;\r\n @Input() actionIconClass = 'fa fa-camera';\r\n @Input() photoSize = 'medium';\r\n @Input() maxPhotoSize = 1;\r\n @Input() photoWidth = 670;\r\n @Input() photoHeight = 400;\r\n @Input() canPhotoUpload = true;\r\n @Input() canPhotoCapture = true;\r\n\r\n @Input() cropperTitle = `Recortar`;\r\n @Input() cropperActionCancel = `Cancelar`;\r\n @Input() cropperActionCrop = `Recortar`;\r\n\r\n @Input() cameraDialogLabel = `Captura`;\r\n @Input() cameraDialogCaptureLabel = `Capturar`;\r\n @Input() selectPhotoTypeLabel = `Selecionar imagem`;\r\n @Input() selectUploadTypeLabel = `Upload`;\r\n @Input() selectUploadTypeDescription = `Selecione uma imagem do seu computador`;\r\n @Input() selectCaptureTypeLabel = `Capturar`;\r\n @Input() selectCaptureTypeLabelDescription = `Capture uma imagem do seu dispositivo`;\r\n @Input() dialogCancelLabel = `Cancelar`;\r\n\r\n @Output() photoCrop = new EventEmitter();\r\n @Output() openCamera = new EventEmitter();\r\n @Output() closeCamera = new EventEmitter();\r\n @Output() cameraError = new EventEmitter();\r\n @Output() invalidPhotoSize = new EventEmitter();\r\n @Output() isLoading = new EventEmitter();\r\n\r\n public photoContent: PhotoModel;\r\n public cameraDialog = false;\r\n public selectPhotoType = false;\r\n\r\n private onChange = (_: any) => { };\r\n private onTouched = () => { };\r\n\r\n constructor(\r\n private imageCropperService: ImageCropperService,\r\n private photoCaptureService: PhotoCaptureService\r\n ) { }\r\n\r\n public changePhoto() {\r\n if (this.canPhotoCapture && this.canPhotoUpload) {\r\n this.selectPhotoType = true;\r\n } else if (this.canPhotoCapture) {\r\n this.onOpenCamera();\r\n } else if (this.canPhotoUpload) {\r\n this.onOpenUpload();\r\n }\r\n }\r\n\r\n public registerOnChange(fn: (_: any) => void): void {\r\n this.onChange = fn;\r\n }\r\n\r\n public registerOnTouched(fn: () => void): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n public writeValue(value: any) {\r\n this.photo = value;\r\n }\r\n\r\n public onOpenCamera() {\r\n this.closeSelectPhotoType();\r\n this.cameraDialog = true;\r\n this.photoCaptureService.setKey(this.key);\r\n this.photoCaptureService.start();\r\n this.openCamera.emit();\r\n }\r\n\r\n public closeSelectPhotoType() {\r\n this.selectPhotoType = false;\r\n }\r\n\r\n public onOpenUpload() {\r\n this.closeSelectPhotoType();\r\n (this.imageInput.nativeElement as HTMLInputElement).value = null;\r\n (this.imageInput.nativeElement as HTMLInputElement).click();\r\n }\r\n\r\n public photoSelected(event: any) {\r\n const [file] = event.srcElement.files;\r\n this.photoRender(file);\r\n }\r\n\r\n public onCloseCamera() {\r\n this.cameraDialog = false;\r\n this.photoCaptureService.stop();\r\n this.closeCamera.emit();\r\n }\r\n\r\n public onPhotoCapture() {\r\n this.isLoading.emit(true);\r\n this.photoCaptureService.setKey(this.key);\r\n this.photoCaptureService.takePhoto();\r\n }\r\n\r\n public onPhotoTake(photo) {\r\n if (this.photoCaptureService.getKey() === this.key) {\r\n this.photoRender(photo.blob);\r\n this.onCloseCamera();\r\n }\r\n }\r\n\r\n public onCameraError(error) {\r\n if (this.photoCaptureService.getKey() === this.key) {\r\n this.onCloseCamera();\r\n this.cameraError.emit(error);\r\n }\r\n }\r\n\r\n private photoRender(file) {\r\n if (file) {\r\n const fileReader = new FileReader();\r\n fileReader.onloadend =\r\n photoRender => this.photoChopper(photoRender);\r\n fileReader.readAsDataURL(file);\r\n }\r\n }\r\n\r\n private photoChopper(photoRender) {\r\n this.imageCropperService.show({\r\n imageSource: photoRender.target.result,\r\n croppedCanvas: imageCanvas => {\r\n imageCanvas.toBlob(blob => {\r\n this.setPhotoContent(imageCanvas.toDataURL(), blob);\r\n this.onCreateBlob();\r\n });\r\n },\r\n header: this.cropperTitle,\r\n emptyStateActionLabel: this.cropperActionCancel,\r\n allowSelectAnother: false,\r\n allowRemove: false,\r\n cropLabel: this.cropperActionCrop,\r\n rounded: true,\r\n aspectRatio: 3 / 4\r\n });\r\n this.isLoading.emit(false);\r\n }\r\n\r\n private onCreateBlob() {\r\n if (this.getMaxSizeInBites() > this.photoContent.blob.size) {\r\n this.photoCrop.emit(this.photoContent);\r\n this.photo = this.photoContent.image;\r\n this.onChange(this.photo);\r\n } else {\r\n this.invalidPhotoSize.emit();\r\n }\r\n }\r\n\r\n private getMaxSizeInBites() {\r\n return (this.maxPhotoSize * 1000) * 1000;\r\n }\r\n\r\n private setPhotoContent(imageUri, imageBlob) {\r\n this.photoContent = {\r\n image: imageUri,\r\n blob: imageBlob\r\n };\r\n }\r\n\r\n}\r\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { ConfirmDialogModule } from 'primeng/confirmdialog';\r\nimport { PanelModule } from 'primeng/panel';\r\nimport {\r\n ImageCropperModule,\r\n StepsModule,\r\n ObjectCardModule,\r\n ButtonModule,\r\n TileModule,\r\n ImageCropperService,\r\n LoadingStateModule\r\n} from '@seniorsistemas/angular-components';\r\nimport { DialogModule } from 'primeng/dialog';\r\nimport { PhotoCaptureModule } from '@sam-senior/photo-capture';\r\n\r\nimport { PhotoComponent } from './photo.component';\r\n\r\n@NgModule({\r\n declarations: [PhotoComponent],\r\n imports: [\r\n PanelModule,\r\n DialogModule,\r\n StepsModule,\r\n ObjectCardModule,\r\n ImageCropperModule,\r\n ConfirmDialogModule,\r\n PhotoCaptureModule,\r\n ButtonModule,\r\n TileModule,\r\n LoadingStateModule\r\n ],\r\n providers: [ImageCropperService],\r\n exports: [PhotoComponent]\r\n})\r\nexport class PhotoModule { }\r\n"]}
1
+ {"version":3,"sources":["node_modules/tslib/tslib.es6.js","ng://@sam-senior/photo/lib/photo.component.ts","ng://@sam-senior/photo/lib/photo.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { Component, ViewChild, EventEmitter, ElementRef, ViewEncapsulation, OnInit } from '@angular/core';\r\nimport { Input } from '@angular/core';\r\nimport { Output } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { ImageCropperService } from '@seniorsistemas/angular-components';\r\nimport { PhotoCaptureService } from '@sam-senior/photo-capture';\r\n\r\nimport { PhotoModel } from './photo.model';\r\n\r\n@Component({\r\n selector: 'sam-photo',\r\n templateUrl: './photo.component.html',\r\n styleUrls: ['./photo.component.css'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: PhotoComponent,\r\n multi: true\r\n }\r\n ],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class PhotoComponent implements ControlValueAccessor {\r\n @ViewChild(`imageInput`) imageInput: ElementRef;\r\n\r\n @Input() key = 'key';\r\n @Input() photo: string;\r\n @Input() actionIconClass = 'fa fa-camera';\r\n @Input() photoSize = 'medium';\r\n @Input() maxPhotoSize = 1;\r\n @Input() photoWidth = 670;\r\n @Input() photoHeight = 400;\r\n @Input() canPhotoUpload = true;\r\n @Input() canPhotoCapture = true;\r\n\r\n @Input() cropperTitle = `Recortar`;\r\n @Input() cropperActionCancel = `Cancelar`;\r\n @Input() cropperActionCrop = `Recortar`;\r\n\r\n @Input() cameraDialogLabel = `Captura`;\r\n @Input() cameraDialogCaptureLabel = `Capturar`;\r\n @Input() selectPhotoTypeLabel = `Selecionar imagem`;\r\n @Input() selectUploadTypeLabel = `Upload`;\r\n @Input() selectUploadTypeDescription = `Selecione uma imagem do seu computador`;\r\n @Input() selectCaptureTypeLabel = `Capturar`;\r\n @Input() selectCaptureTypeLabelDescription = `Capture uma imagem do seu dispositivo`;\r\n @Input() dialogCancelLabel = `Cancelar`;\r\n\r\n @Output() photoCrop = new EventEmitter();\r\n @Output() openCamera = new EventEmitter();\r\n @Output() closeCamera = new EventEmitter();\r\n @Output() cameraError = new EventEmitter();\r\n @Output() invalidPhotoSize = new EventEmitter();\r\n @Output() isLoading = new EventEmitter();\r\n\r\n public photoContent: PhotoModel;\r\n public cameraDialog = false;\r\n public selectPhotoType = false;\r\n\r\n private onChange = (_: any) => { };\r\n private onTouched = () => { };\r\n\r\n constructor(\r\n private imageCropperService: ImageCropperService,\r\n private photoCaptureService: PhotoCaptureService\r\n ) { }\r\n\r\n public changePhoto() {\r\n if (this.canPhotoCapture && this.canPhotoUpload) {\r\n this.selectPhotoType = true;\r\n } else if (this.canPhotoCapture) {\r\n this.onOpenCamera();\r\n } else if (this.canPhotoUpload) {\r\n this.onOpenUpload();\r\n }\r\n }\r\n\r\n public registerOnChange(fn: (_: any) => void): void {\r\n this.onChange = fn;\r\n }\r\n\r\n public registerOnTouched(fn: () => void): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n public writeValue(value: any) {\r\n this.photo = value;\r\n }\r\n\r\n public onOpenCamera() {\r\n this.closeSelectPhotoType();\r\n this.cameraDialog = true;\r\n this.photoCaptureService.setKey(this.key);\r\n this.photoCaptureService.start();\r\n this.openCamera.emit();\r\n }\r\n\r\n public closeSelectPhotoType() {\r\n this.selectPhotoType = false;\r\n }\r\n\r\n public onOpenUpload() {\r\n this.closeSelectPhotoType();\r\n (this.imageInput.nativeElement as HTMLInputElement).value = null;\r\n (this.imageInput.nativeElement as HTMLInputElement).click();\r\n }\r\n\r\n public photoSelected(event: any) {\r\n const [file] = event.srcElement.files;\r\n this.photoRender(file);\r\n }\r\n\r\n public onCloseCamera() {\r\n this.cameraDialog = false;\r\n this.photoCaptureService.stop();\r\n this.closeCamera.emit();\r\n }\r\n\r\n public onPhotoCapture() {\r\n this.isLoading.emit(true);\r\n this.photoCaptureService.setKey(this.key);\r\n this.photoCaptureService.takePhoto();\r\n }\r\n\r\n public onPhotoTake(photo) {\r\n if (this.photoCaptureService.getKey() === this.key) {\r\n this.photoRender(photo.blob);\r\n this.onCloseCamera();\r\n }\r\n }\r\n\r\n public onCameraError(error) {\r\n if (this.photoCaptureService.getKey() === this.key) {\r\n this.onCloseCamera();\r\n this.cameraError.emit(error);\r\n }\r\n }\r\n\r\n private photoRender(file) {\r\n if (file) {\r\n const fileReader = new FileReader();\r\n fileReader.onloadend =\r\n photoRender => this.photoChopper(photoRender);\r\n fileReader.readAsDataURL(file);\r\n }\r\n }\r\n\r\n private photoChopper(photoRender) {\r\n this.imageCropperService.show({\r\n imageSource: photoRender.target.result,\r\n croppedCanvas: imageCanvas => {\r\n imageCanvas.toBlob(blob => {\r\n this.setPhotoContent(imageCanvas.toDataURL(), blob);\r\n this.onCreateBlob();\r\n });\r\n },\r\n header: this.cropperTitle,\r\n emptyStateActionLabel: this.cropperActionCancel,\r\n allowSelectAnother: false,\r\n allowRemove: false,\r\n cropLabel: this.cropperActionCrop,\r\n rounded: true,\r\n aspectRatio: 3 / 4\r\n });\r\n this.isLoading.emit(false);\r\n }\r\n\r\n private onCreateBlob() {\r\n if (this.getMaxSizeInBites() > this.photoContent.blob.size) {\r\n this.photoCrop.emit(this.photoContent);\r\n this.photo = this.photoContent.image;\r\n this.onChange(this.photo);\r\n } else {\r\n this.invalidPhotoSize.emit();\r\n }\r\n }\r\n\r\n private getMaxSizeInBites() {\r\n return (this.maxPhotoSize * 1000) * 1000;\r\n }\r\n\r\n private setPhotoContent(imageUri, imageBlob) {\r\n this.photoContent = {\r\n image: imageUri,\r\n blob: imageBlob\r\n };\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { ConfirmDialogModule } from 'primeng/confirmdialog';\r\nimport { PanelModule } from 'primeng/panel';\r\nimport {\r\n ImageCropperModule,\r\n StepsModule,\r\n ObjectCardModule,\r\n ButtonModule,\r\n TileModule,\r\n ImageCropperService,\r\n LoadingStateModule\r\n} from '@seniorsistemas/angular-components';\r\nimport { DialogModule } from 'primeng/dialog';\r\nimport { PhotoCaptureModule } from '@sam-senior/photo-capture';\r\n\r\nimport { PhotoComponent } from './photo.component';\r\n\r\n@NgModule({\r\n declarations: [PhotoComponent],\r\n imports: [\r\n PanelModule,\r\n DialogModule,\r\n StepsModule,\r\n ObjectCardModule,\r\n ImageCropperModule,\r\n ConfirmDialogModule,\r\n PhotoCaptureModule,\r\n ButtonModule,\r\n TileModule,\r\n LoadingStateModule\r\n ],\r\n providers: [ImageCropperService],\r\n exports: [PhotoComponent]\r\n})\r\nexport class PhotoModule { }\r\n"],"names":["__read","o","n","m","Symbol","iterator","r","e","i","call","ar","next","done","push","value","error","PhotoComponent","prototype","changePhoto","this","canPhotoCapture","canPhotoUpload","selectPhotoType","onOpenCamera","onOpenUpload","registerOnChange","fn","onChange","registerOnTouched","onTouched","writeValue","photo","closeSelectPhotoType","cameraDialog","photoCaptureService","setKey","key","start","openCamera","emit","imageInput","click","photoSelected","event","file","srcElement","files","photoRender","onCloseCamera","stop","closeCamera","onPhotoCapture","isLoading","takePhoto","onPhotoTake","getKey","blob","onCameraError","cameraError","fileReader","_this","FileReader","onloadend","photoChopper","readAsDataURL","imageCropperService","show","imageSource","target","result","croppedCanvas","imageCanvas","toBlob","setPhotoContent","toDataURL","onCreateBlob","header","cropperTitle","emptyStateActionLabel","cropperActionCancel","allowSelectAnother","allowRemove","cropLabel","cropperActionCrop","rounded","aspectRatio","getMaxSizeInBites","photoContent","size","photoCrop","image","invalidPhotoSize","maxPhotoSize","imageUri","imageBlob","Component","args","selector","template","providers","provide","NG_VALUE_ACCESSOR","useExisting","multi","encapsulation","ViewEncapsulation","None","ImageCropperService","PhotoCaptureService","ViewChild","Input","Output","actionIconClass","photoSize","photoWidth","photoHeight","cameraDialogLabel","cameraDialogCaptureLabel","selectPhotoTypeLabel","selectUploadTypeLabel","selectUploadTypeDescription","selectCaptureTypeLabel","selectCaptureTypeLabelDescription","dialogCancelLabel","EventEmitter","_","NgModule","declarations","imports","PanelModule","DialogModule","StepsModule","ObjectCardModule","ImageCropperModule","ConfirmDialogModule","PhotoCaptureModule","ButtonModule","TileModule","LoadingStateModule","exports","PhotoModule"],"mappings":"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"}
@@ -243,7 +243,7 @@ export class PhotoComponent {
243
243
  PhotoComponent.decorators = [
244
244
  { type: Component, args: [{
245
245
  selector: 'sam-photo',
246
- template: "<input #imageInput type=\"file\" class=\"photo__input-file--hidden\" (change)=\"photoSelected($event)\" accept=\"image/*\">\r\n<s-thumbnail [size]=\"photoSize\" iconClass=\"fa fa-user\" (click)=\"changePhoto()\"\r\n [hasAction]=\"canPhotoUpload || canPhotoCapture\" [imageSource]=\"photo\" [actionIconClass]=\"actionIconClass\">\r\n</s-thumbnail>\r\n\r\n<p-dialog styleClass=\"photo-capture-custom\" [(visible)]=\"cameraDialog\" [header]=\"cameraDialogLabel\"\r\n [width]=\"photoWidth + 30\" appendTo='body' [modal]=\"true\">\r\n <sam-photo-capture [width]=\"photoWidth\" [height]=\"photoHeight\" (photoTake)=\"onPhotoTake($event)\"\r\n (error)=\"onCameraError($event)\"></sam-photo-capture>\r\n <p-footer>\r\n <s-button id=\"takePhotoBtn\" priority=\"primary\" [label]=\"cameraDialogCaptureLabel\" (click)=\"onPhotoCapture()\">\r\n </s-button>\r\n <s-button id=\"cancelBtn\" priority=\"link\" [label]=\"dialogCancelLabel\" (click)=\"onCloseCamera()\"></s-button>\r\n </p-footer>\r\n</p-dialog>\r\n\r\n<p-dialog [(visible)]=\"selectPhotoType\" [header]=\"selectPhotoTypeLabel\" [width]=\"400\" appendTo='body' [modal]=\"true\"\r\n [closable]=\"false\">\r\n <s-tile [label]=\"selectUploadTypeLabel\" [description]=\"selectUploadTypeDescription\" iconClass=\"fa fa-upload\"\r\n (click)=\"onOpenUpload()\"></s-tile>\r\n <br>\r\n <s-tile [label]=\"selectCaptureTypeLabel\" [description]=\"selectCaptureTypeLabelDescription\" iconClass=\"fa fa-camera\"\r\n (click)=\"onOpenCamera()\"></s-tile>\r\n <p-footer>\r\n <s-button id=\"cancelBtn\" priority=\"link\" [label]=\"dialogCancelLabel\" (click)=\"closeSelectPhotoType()\"></s-button>\r\n </p-footer>\r\n</p-dialog>",
246
+ template: "<input #imageInput type=\"file\" class=\"photo__input-file--hidden\" (change)=\"photoSelected($event)\" accept=\"image/*\">\r\n<s-thumbnail [size]=\"photoSize\" iconClass=\"fa fa-user\" (click)=\"changePhoto()\"\r\n [hasAction]=\"canPhotoUpload || canPhotoCapture\" [imageSource]=\"photo\" [actionIconClass]=\"actionIconClass\">\r\n</s-thumbnail>\r\n\r\n<p-dialog styleClass=\"photo-capture-custom\" [(visible)]=\"cameraDialog\" [header]=\"cameraDialogLabel\"\r\n [style]=\"{width: '700px'}\" appendTo='body' [modal]=\"true\">\r\n <sam-photo-capture [width]=\"photoWidth\" [height]=\"photoHeight\" (photoTake)=\"onPhotoTake($event)\"\r\n (error)=\"onCameraError($event)\"></sam-photo-capture>\r\n <p-footer>\r\n <s-button id=\"takePhotoBtn\" priority=\"primary\" [label]=\"cameraDialogCaptureLabel\" (click)=\"onPhotoCapture()\">\r\n </s-button>\r\n <s-button id=\"cancelBtn\" priority=\"link\" [label]=\"dialogCancelLabel\" (click)=\"onCloseCamera()\"></s-button>\r\n </p-footer>\r\n</p-dialog>\r\n\r\n<p-dialog [(visible)]=\"selectPhotoType\" [header]=\"selectPhotoTypeLabel\" [style]=\"{width: '400px'}\" appendTo='body' [modal]=\"true\"\r\n [closable]=\"false\">\r\n <s-tile [label]=\"selectUploadTypeLabel\" [description]=\"selectUploadTypeDescription\" iconClass=\"fa fa-upload\"\r\n (click)=\"onOpenUpload()\"></s-tile>\r\n <br>\r\n <s-tile [label]=\"selectCaptureTypeLabel\" [description]=\"selectCaptureTypeLabelDescription\" iconClass=\"fa fa-camera\"\r\n (click)=\"onOpenCamera()\"></s-tile>\r\n <p-footer>\r\n <s-button id=\"cancelBtn\" priority=\"link\" [label]=\"dialogCancelLabel\" (click)=\"closeSelectPhotoType()\"></s-button>\r\n </p-footer>\r\n</p-dialog>\r\n",
247
247
  providers: [
248
248
  {
249
249
  provide: NG_VALUE_ACCESSOR,
@@ -371,4 +371,4 @@ if (false) {
371
371
  */
372
372
  PhotoComponent.prototype.photoCaptureService;
373
373
  }
374
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvdG8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNhbS1zZW5pb3IvcGhvdG8vIiwic291cmNlcyI6WyJsaWIvcGhvdG8uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzFHLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDekUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFpQmhFLE1BQU0sT0FBTyxjQUFjOzs7OztJQXdDekIsWUFDVSxtQkFBd0MsRUFDeEMsbUJBQXdDO1FBRHhDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQXZDekMsUUFBRyxHQUFHLEtBQUssQ0FBQztRQUVaLG9CQUFlLEdBQUcsY0FBYyxDQUFDO1FBQ2pDLGNBQVMsR0FBRyxRQUFRLENBQUM7UUFDckIsaUJBQVksR0FBRyxDQUFDLENBQUM7UUFDakIsZUFBVSxHQUFHLEdBQUcsQ0FBQztRQUNqQixnQkFBVyxHQUFHLEdBQUcsQ0FBQztRQUNsQixtQkFBYyxHQUFHLElBQUksQ0FBQztRQUN0QixvQkFBZSxHQUFHLElBQUksQ0FBQztRQUV2QixpQkFBWSxHQUFHLFVBQVUsQ0FBQztRQUMxQix3QkFBbUIsR0FBRyxVQUFVLENBQUM7UUFDakMsc0JBQWlCLEdBQUcsVUFBVSxDQUFDO1FBRS9CLHNCQUFpQixHQUFHLFNBQVMsQ0FBQztRQUM5Qiw2QkFB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QUFvRDs7SUFDcEQsK0NBQTBDOztJQUMxQyxxREFBZ0Y7O0lBQ2hGLGdEQUE2Qzs7SUFDN0MsMkRBQXFGOztJQUNyRiwyQ0FBd0M7O0lBRXhDLG1DQUF5Qzs7SUFDekMsb0NBQTBDOztJQUMxQyxxQ0FBMkM7O0lBQzNDLHFDQUEyQzs7SUFDM0MsMENBQWdEOztJQUNoRCxtQ0FBeUM7O0lBRXpDLHNDQUFnQzs7SUFDaEMsc0NBQTRCOztJQUM1Qix5Q0FBK0I7Ozs7O0lBRS9CLGtDQUFtQzs7Ozs7SUFDbkMsbUNBQThCOzs7OztJQUc1Qiw2Q0FBZ0Q7Ozs7O0lBQ2hELDZDQUFnRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0NoaWxkLCBFdmVudEVtaXR0ZXIsIEVsZW1lbnRSZWYsIFZpZXdFbmNhcHN1bGF0aW9uLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgSW1hZ2VDcm9wcGVyU2VydmljZSB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMnO1xyXG5pbXBvcnQgeyBQaG90b0NhcHR1cmVTZXJ2aWNlIH0gZnJvbSAnQHNhbS1zZW5pb3IvcGhvdG8tY2FwdHVyZSc7XHJcblxyXG5pbXBvcnQgeyBQaG90b01vZGVsIH0gZnJvbSAnLi9waG90by5tb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NhbS1waG90bycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3Bob3RvLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9waG90by5jb21wb25lbnQuY3NzJ10sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogUGhvdG9Db21wb25lbnQsXHJcbiAgICAgIG11bHRpOiB0cnVlXHJcbiAgICB9XHJcbiAgXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQaG90b0NvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuICBAVmlld0NoaWxkKGBpbWFnZUlucHV0YCkgaW1hZ2VJbnB1dDogRWxlbWVudFJlZjtcclxuXHJcbiAgQElucHV0KCkga2V5ID0gJ2tleSc7XHJcbiAgQElucHV0KCkgcGhvdG86IHN0cmluZztcclxuICBASW5wdXQoKSBhY3Rpb25JY29uQ2xhc3MgPSAnZmEgZmEtY2FtZXJhJztcclxuICBASW5wdXQoKSBwaG90b1NpemUgPSAnbWVkaXVtJztcclxuICBASW5wdXQoKSBtYXhQaG90b1NpemUgPSAxO1xyXG4gIEBJbnB1dCgpIHBob3RvV2lkdGggPSA2NzA7XHJcbiAgQElucHV0KCkgcGhvdG9IZWlnaHQgPSA0MDA7XHJcbiAgQElucHV0KCkgY2FuUGhvdG9VcGxvYWQgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGNhblBob3RvQ2FwdHVyZSA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpIGNyb3BwZXJUaXRsZSA9IGBSZWNvcnRhcmA7XHJcbiAgQElucHV0KCkgY3JvcHBlckFjdGlvbkNhbmNlbCA9IGBDYW5jZWxhcmA7XHJcbiAgQElucHV0KCkgY3JvcHBlckFjdGlvbkNyb3AgPSBgUmVjb3J0YXJgO1xyXG5cclxuICBASW5wdXQoKSBjYW1lcmFEaWFsb2dMYWJlbCA9IGBDYXB0dXJhYDtcclxuICBASW5wdXQoKSBjYW1lcmFEaWFsb2dDYXB0dXJlTGFiZWwgPSBgQ2FwdHVyYXJgO1xyXG4gIEBJbnB1dCgpIHNlbGVjdFBob3RvVHlwZUxhYmVsID0gYFNlbGVjaW9uYXIgaW1hZ2VtYDtcclxuICBASW5wdXQoKSBzZWxlY3RVcGxvYWRUeXBlTGFiZWwgPSBgVXBsb2FkYDtcclxuICBASW5wdXQoKSBzZWxlY3RVcGxvYWRUeXBlRGVzY3JpcHRpb24gPSBgU2VsZWNpb25lIHVtYSBpbWFnZW0gZG8gc2V1IGNvbXB1dGFkb3JgO1xyXG4gIEBJbnB1dCgpIHNlbGVjdENhcHR1cmVUeXBlTGFiZWwgPSBgQ2FwdHVyYXJgO1xyXG4gIEBJbnB1dCgpIHNlbGVjdENhcHR1cmVUeXBlTGFiZWxEZXNjcmlwdGlvbiA9IGBDYXB0dXJlIHVtYSBpbWFnZW0gZG8gc2V1IGRpc3Bvc2l0aXZvYDtcclxuICBASW5wdXQoKSBkaWFsb2dDYW5jZWxMYWJlbCA9IGBDYW5jZWxhcmA7XHJcblxyXG4gIEBPdXRwdXQoKSBwaG90b0Nyb3AgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG9wZW5DYW1lcmEgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGNsb3NlQ2FtZXJhID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBjYW1lcmFFcnJvciA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgaW52YWxpZFBob3RvU2l6ZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgaXNMb2FkaW5nID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBwdWJsaWMgcGhvdG9Db250ZW50OiBQaG90b01vZGVsO1xyXG4gIHB1YmxpYyBjYW1lcmFEaWFsb2cgPSBmYWxzZTtcclxuICBwdWJsaWMgc2VsZWN0UGhvdG9UeXBlID0gZmFsc2U7XHJcblxyXG4gIHByaXZhdGUgb25DaGFuZ2UgPSAoXzogYW55KSA9PiB7IH07XHJcbiAgcHJpdmF0ZSBvblRvdWNoZWQgPSAoKSA9PiB7IH07XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBpbWFnZUNyb3BwZXJTZXJ2aWNlOiBJbWFnZUNyb3BwZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBwaG90b0NhcHR1cmVTZXJ2aWNlOiBQaG90b0NhcHR1cmVTZXJ2aWNlXHJcbiAgKSB7IH1cclxuXHJcbiAgcHVibGljIGNoYW5nZVBob3RvKCkge1xyXG4gICAgaWYgKHRoaXMuY2FuUGhvdG9DYXB0dXJlICYmIHRoaXMuY2FuUGhvdG9VcGxvYWQpIHtcclxuICAgICAgdGhpcy5zZWxlY3RQaG90b1R5cGUgPSB0cnVlO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmNhblBob3RvQ2FwdHVyZSkge1xyXG4gICAgICB0aGlzLm9uT3BlbkNhbWVyYSgpO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmNhblBob3RvVXBsb2FkKSB7XHJcbiAgICAgIHRoaXMub25PcGVuVXBsb2FkKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogKF86IGFueSkgPT4gdm9pZCk6IHZvaWQge1xyXG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy5waG90byA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uT3BlbkNhbWVyYSgpIHtcclxuICAgIHRoaXMuY2xvc2VTZWxlY3RQaG90b1R5cGUoKTtcclxuICAgIHRoaXMuY2FtZXJhRGlhbG9nID0gdHJ1ZTtcclxuICAgIHRoaXMucGhvdG9DYXB0dXJlU2VydmljZS5zZXRLZXkodGhpcy5rZXkpO1xyXG4gICAgdGhpcy5waG90b0NhcHR1cmVTZXJ2aWNlLnN0YXJ0KCk7XHJcbiAgICB0aGlzLm9wZW5DYW1lcmEuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNsb3NlU2VsZWN0UGhvdG9UeXBlKCkge1xyXG4gICAgdGhpcy5zZWxlY3RQaG90b1R5cGUgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbk9wZW5VcGxvYWQoKSB7XHJcbiAgICB0aGlzLmNsb3NlU2VsZWN0UGhvdG9UeXBlKCk7XHJcbiAgICAodGhpcy5pbWFnZUlucHV0Lm5hdGl2ZUVsZW1lbnQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWUgPSBudWxsO1xyXG4gICAgKHRoaXMuaW1hZ2VJbnB1dC5uYXRpdmVFbGVtZW50IGFzIEhUTUxJbnB1dEVsZW1lbnQpLmNsaWNrKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcGhvdG9TZWxlY3RlZChldmVudDogYW55KSB7XHJcbiAgICBjb25zdCBbZmlsZV0gPSBldmVudC5zcmNFbGVtZW50LmZpbGVzO1xyXG4gICAgdGhpcy5waG90b1JlbmRlcihmaWxlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkNsb3NlQ2FtZXJhKCkge1xyXG4gICAgdGhpcy5jYW1lcmFEaWFsb2cgPSBmYWxzZTtcclxuICAgIHRoaXMucGhvdG9DYXB0dXJlU2VydmljZS5zdG9wKCk7XHJcbiAgICB0aGlzLmNsb3NlQ2FtZXJhLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvblBob3RvQ2FwdHVyZSgpIHtcclxuICAgIHRoaXMuaXNMb2FkaW5nLmVtaXQodHJ1ZSk7XHJcbiAgICB0aGlzLnBob3RvQ2FwdHVyZVNlcnZpY2Uuc2V0S2V5KHRoaXMua2V5KTtcclxuICAgIHRoaXMucGhvdG9DYXB0dXJlU2VydmljZS50YWtlUGhvdG8oKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvblBob3RvVGFrZShwaG90bykge1xyXG4gICAgaWYgKHRoaXMucGhvdG9DYXB0dXJlU2VydmljZS5nZXRLZXkoKSA9PT0gdGhpcy5rZXkpIHtcclxuICAgICAgdGhpcy5waG90b1JlbmRlcihwaG90by5ibG9iKTtcclxuICAgICAgdGhpcy5vbkNsb3NlQ2FtZXJhKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25DYW1lcmFFcnJvcihlcnJvcikge1xyXG4gICAgaWYgKHRoaXMucGhvdG9DYXB0dXJlU2VydmljZS5nZXRLZXkoKSA9PT0gdGhpcy5rZXkpIHtcclxuICAgICAgdGhpcy5vbkNsb3NlQ2FtZXJhKCk7XHJcbiAgICAgIHRoaXMuY2FtZXJhRXJyb3IuZW1pdChlcnJvcik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHBob3RvUmVuZGVyKGZpbGUpIHtcclxuICAgIGlmIChmaWxlKSB7XHJcbiAgICAgIGNvbnN0IGZpbGVSZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xyXG4gICAgICBmaWxlUmVhZGVyLm9ubG9hZGVuZCA9XHJcbiAgICAgICAgcGhvdG9SZW5kZXIgPT4gdGhpcy5waG90b0Nob3BwZXIocGhvdG9SZW5kZXIpO1xyXG4gICAgICBmaWxlUmVhZGVyLnJlYWRBc0RhdGFVUkwoZmlsZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHBob3RvQ2hvcHBlcihwaG90b1JlbmRlcikge1xyXG4gICAgdGhpcy5pbWFnZUNyb3BwZXJTZXJ2aWNlLnNob3coe1xyXG4gICAgICBpbWFnZVNvdXJjZTogcGhvdG9SZW5kZXIudGFyZ2V0LnJlc3VsdCxcclxuICAgICAgY3JvcHBlZENhbnZhczogaW1hZ2VDYW52YXMgPT4ge1xyXG4gICAgICAgIGltYWdlQ2FudmFzLnRvQmxvYihibG9iID0+IHtcclxuICAgICAgICAgIHRoaXMuc2V0UGhvdG9Db250ZW50KGltYWdlQ2FudmFzLnRvRGF0YVVSTCgpLCBibG9iKTtcclxuICAgICAgICAgIHRoaXMub25DcmVhdGVCbG9iKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0sXHJcbiAgICAgIGhlYWRlcjogdGhpcy5jcm9wcGVyVGl0bGUsXHJcbiAgICAgIGVtcHR5U3RhdGVBY3Rpb25MYWJlbDogdGhpcy5jcm9wcGVyQWN0aW9uQ2FuY2VsLFxyXG4gICAgICBhbGxvd1NlbGVjdEFub3RoZXI6IGZhbHNlLFxyXG4gICAgICBhbGxvd1JlbW92ZTogZmFsc2UsXHJcbiAgICAgIGNyb3BMYWJlbDogdGhpcy5jcm9wcGVyQWN0aW9uQ3JvcCxcclxuICAgICAgcm91bmRlZDogdHJ1ZSxcclxuICAgICAgYXNwZWN0UmF0aW86IDMgLyA0XHJcbiAgICB9KTtcclxuICAgIHRoaXMuaXNMb2FkaW5nLmVtaXQoZmFsc2UpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBvbkNyZWF0ZUJsb2IoKSB7XHJcbiAgICBpZiAodGhpcy5nZXRNYXhTaXplSW5CaXRlcygpID4gdGhpcy5waG90b0NvbnRlbnQuYmxvYi5zaXplKSB7XHJcbiAgICAgIHRoaXMucGhvdG9Dcm9wLmVtaXQodGhpcy5waG90b0NvbnRlbnQpO1xyXG4gICAgICB0aGlzLnBob3RvID0gdGhpcy5waG90b0NvbnRlbnQuaW1hZ2U7XHJcbiAgICAgIHRoaXMub25DaGFuZ2UodGhpcy5waG90byk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmludmFsaWRQaG90b1NpemUuZW1pdCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRNYXhTaXplSW5CaXRlcygpIHtcclxuICAgIHJldHVybiAodGhpcy5tYXhQaG90b1NpemUgKiAxMDAwKSAqIDEwMDA7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFBob3RvQ29udGVudChpbWFnZVVyaSwgaW1hZ2VCbG9iKSB7XHJcbiAgICB0aGlzLnBob3RvQ29udGVudCA9IHtcclxuICAgICAgaW1hZ2U6IGltYWdlVXJpLFxyXG4gICAgICBibG9iOiBpbWFnZUJsb2JcclxuICAgIH07XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
374
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvdG8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNhbS1zZW5pb3IvcGhvdG8vIiwic291cmNlcyI6WyJsaWIvcGhvdG8uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzFHLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDekUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFpQmhFLE1BQU0sT0FBTyxjQUFjOzs7OztJQXdDekIsWUFDVSxtQkFBd0MsRUFDeEMsbUJBQXdDO1FBRHhDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQXZDekMsUUFBRyxHQUFHLEtBQUssQ0FBQztRQUVaLG9CQUFlLEdBQUcsY0FBYyxDQUFDO1FBQ2pDLGNBQVMsR0FBRyxRQUFRLENBQUM7UUFDckIsaUJBQVksR0FBRyxDQUFDLENBQUM7UUFDakIsZUFBVSxHQUFHLEdBQUcsQ0FBQztRQUNqQixnQkFBVyxHQUFHLEdBQUcsQ0FBQztRQUNsQixtQkFBYyxHQUFHLElBQUksQ0FBQztRQUN0QixvQkFBZSxHQUFHLElBQUksQ0FBQztRQUV2QixpQkFBWSxHQUFHLFVBQVUsQ0FBQztRQUMxQix3QkFBbUIsR0FBRyxVQUFVLENBQUM7UUFDakMsc0JBQWlCLEdBQUcsVUFBVSxDQUFDO1FBRS9CLHNCQUFpQixHQUFHLFNBQVMsQ0FBQztRQUM5Qiw2QkFB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QUFvRDs7SUFDcEQsK0NBQTBDOztJQUMxQyxxREFBZ0Y7O0lBQ2hGLGdEQUE2Qzs7SUFDN0MsMkRBQXFGOztJQUNyRiwyQ0FBd0M7O0lBRXhDLG1DQUF5Qzs7SUFDekMsb0NBQTBDOztJQUMxQyxxQ0FBMkM7O0lBQzNDLHFDQUEyQzs7SUFDM0MsMENBQWdEOztJQUNoRCxtQ0FBeUM7O0lBRXpDLHNDQUFnQzs7SUFDaEMsc0NBQTRCOztJQUM1Qix5Q0FBK0I7Ozs7O0lBRS9CLGtDQUFtQzs7Ozs7SUFDbkMsbUNBQThCOzs7OztJQUc1Qiw2Q0FBZ0Q7Ozs7O0lBQ2hELDZDQUFnRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0NoaWxkLCBFdmVudEVtaXR0ZXIsIEVsZW1lbnRSZWYsIFZpZXdFbmNhcHN1bGF0aW9uLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgSW1hZ2VDcm9wcGVyU2VydmljZSB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMnO1xyXG5pbXBvcnQgeyBQaG90b0NhcHR1cmVTZXJ2aWNlIH0gZnJvbSAnQHNhbS1zZW5pb3IvcGhvdG8tY2FwdHVyZSc7XHJcblxyXG5pbXBvcnQgeyBQaG90b01vZGVsIH0gZnJvbSAnLi9waG90by5tb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NhbS1waG90bycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3Bob3RvLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9waG90by5jb21wb25lbnQuY3NzJ10sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogUGhvdG9Db21wb25lbnQsXHJcbiAgICAgIG11bHRpOiB0cnVlXHJcbiAgICB9XHJcbiAgXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQaG90b0NvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuICBAVmlld0NoaWxkKGBpbWFnZUlucHV0YCkgaW1hZ2VJbnB1dDogRWxlbWVudFJlZjtcclxuXHJcbiAgQElucHV0KCkga2V5ID0gJ2tleSc7XHJcbiAgQElucHV0KCkgcGhvdG86IHN0cmluZztcclxuICBASW5wdXQoKSBhY3Rpb25JY29uQ2xhc3MgPSAnZmEgZmEtY2FtZXJhJztcclxuICBASW5wdXQoKSBwaG90b1NpemUgPSAnbWVkaXVtJztcclxuICBASW5wdXQoKSBtYXhQaG90b1NpemUgPSAxO1xyXG4gIEBJbnB1dCgpIHBob3RvV2lkdGggPSA2NzA7XHJcbiAgQElucHV0KCkgcGhvdG9IZWlnaHQgPSA0MDA7XHJcbiAgQElucHV0KCkgY2FuUGhvdG9VcGxvYWQgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGNhblBob3RvQ2FwdHVyZSA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpIGNyb3BwZXJUaXRsZSA9IGBSZWNvcnRhcmA7XHJcbiAgQElucHV0KCkgY3JvcHBlckFjdGlvbkNhbmNlbCA9IGBDYW5jZWxhcmA7XHJcbiAgQElucHV0KCkgY3JvcHBlckFjdGlvbkNyb3AgPSBgUmVjb3J0YXJgO1xyXG5cclxuICBASW5wdXQoKSBjYW1lcmFEaWFsb2dMYWJlbCA9IGBDYXB0dXJhYDtcclxuICBASW5wdXQoKSBjYW1lcmFEaWFsb2dDYXB0dXJlTGFiZWwgPSBgQ2FwdHVyYXJgO1xyXG4gIEBJbnB1dCgpIHNlbGVjdFBob3RvVHlwZUxhYmVsID0gYFNlbGVjaW9uYXIgaW1hZ2VtYDtcclxuICBASW5wdXQoKSBzZWxlY3RVcGxvYWRUeXBlTGFiZWwgPSBgVXBsb2FkYDtcclxuICBASW5wdXQoKSBzZWxlY3RVcGxvYWRUeXBlRGVzY3JpcHRpb24gPSBgU2VsZWNpb25lIHVtYSBpbWFnZW0gZG8gc2V1IGNvbXB1dGFkb3JgO1xyXG4gIEBJbnB1dCgpIHNlbGVjdENhcHR1cmVUeXBlTGFiZWwgPSBgQ2FwdHVyYXJgO1xyXG4gIEBJbnB1dCgpIHNlbGVjdENhcHR1cmVUeXBlTGFiZWxEZXNjcmlwdGlvbiA9IGBDYXB0dXJlIHVtYSBpbWFnZW0gZG8gc2V1IGRpc3Bvc2l0aXZvYDtcclxuICBASW5wdXQoKSBkaWFsb2dDYW5jZWxMYWJlbCA9IGBDYW5jZWxhcmA7XHJcblxyXG4gIEBPdXRwdXQoKSBwaG90b0Nyb3AgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG9wZW5DYW1lcmEgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGNsb3NlQ2FtZXJhID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBjYW1lcmFFcnJvciA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgaW52YWxpZFBob3RvU2l6ZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgaXNMb2FkaW5nID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBwdWJsaWMgcGhvdG9Db250ZW50OiBQaG90b01vZGVsO1xyXG4gIHB1YmxpYyBjYW1lcmFEaWFsb2cgPSBmYWxzZTtcclxuICBwdWJsaWMgc2VsZWN0UGhvdG9UeXBlID0gZmFsc2U7XHJcblxyXG4gIHByaXZhdGUgb25DaGFuZ2UgPSAoXzogYW55KSA9PiB7IH07XHJcbiAgcHJpdmF0ZSBvblRvdWNoZWQgPSAoKSA9PiB7IH07XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBpbWFnZUNyb3BwZXJTZXJ2aWNlOiBJbWFnZUNyb3BwZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBwaG90b0NhcHR1cmVTZXJ2aWNlOiBQaG90b0NhcHR1cmVTZXJ2aWNlXHJcbiAgKSB7IH1cclxuXHJcbiAgcHVibGljIGNoYW5nZVBob3RvKCkge1xyXG4gICAgaWYgKHRoaXMuY2FuUGhvdG9DYXB0dXJlICYmIHRoaXMuY2FuUGhvdG9VcGxvYWQpIHtcclxuICAgICAgdGhpcy5zZWxlY3RQaG90b1R5cGUgPSB0cnVlO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmNhblBob3RvQ2FwdHVyZSkge1xyXG4gICAgICB0aGlzLm9uT3BlbkNhbWVyYSgpO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmNhblBob3RvVXBsb2FkKSB7XHJcbiAgICAgIHRoaXMub25PcGVuVXBsb2FkKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogKF86IGFueSkgPT4gdm9pZCk6IHZvaWQge1xyXG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy5waG90byA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uT3BlbkNhbWVyYSgpIHtcclxuICAgIHRoaXMuY2xvc2VTZWxlY3RQaG90b1R5cGUoKTtcclxuICAgIHRoaXMuY2FtZXJhRGlhbG9nID0gdHJ1ZTtcclxuICAgIHRoaXMucGhvdG9DYXB0dXJlU2VydmljZS5zZXRLZXkodGhpcy5rZXkpO1xyXG4gICAgdGhpcy5waG90b0NhcHR1cmVTZXJ2aWNlLnN0YXJ0KCk7XHJcbiAgICB0aGlzLm9wZW5DYW1lcmEuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNsb3NlU2VsZWN0UGhvdG9UeXBlKCkge1xyXG4gICAgdGhpcy5zZWxlY3RQaG90b1R5cGUgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbk9wZW5VcGxvYWQoKSB7XHJcbiAgICB0aGlzLmNsb3NlU2VsZWN0UGhvdG9UeXBlKCk7XHJcbiAgICAodGhpcy5pbWFnZUlucHV0Lm5hdGl2ZUVsZW1lbnQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWUgPSBudWxsO1xyXG4gICAgKHRoaXMuaW1hZ2VJbnB1dC5uYXRpdmVFbGVtZW50IGFzIEhUTUxJbnB1dEVsZW1lbnQpLmNsaWNrKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcGhvdG9TZWxlY3RlZChldmVudDogYW55KSB7XHJcbiAgICBjb25zdCBbZmlsZV0gPSBldmVudC5zcmNFbGVtZW50LmZpbGVzO1xyXG4gICAgdGhpcy5waG90b1JlbmRlcihmaWxlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkNsb3NlQ2FtZXJhKCkge1xyXG4gICAgdGhpcy5jYW1lcmFEaWFsb2cgPSBmYWxzZTtcclxuICAgIHRoaXMucGhvdG9DYXB0dXJlU2VydmljZS5zdG9wKCk7XHJcbiAgICB0aGlzLmNsb3NlQ2FtZXJhLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvblBob3RvQ2FwdHVyZSgpIHtcclxuICAgIHRoaXMuaXNMb2FkaW5nLmVtaXQodHJ1ZSk7XHJcbiAgICB0aGlzLnBob3RvQ2FwdHVyZVNlcnZpY2Uuc2V0S2V5KHRoaXMua2V5KTtcclxuICAgIHRoaXMucGhvdG9DYXB0dXJlU2VydmljZS50YWtlUGhvdG8oKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvblBob3RvVGFrZShwaG90bykge1xyXG4gICAgaWYgKHRoaXMucGhvdG9DYXB0dXJlU2VydmljZS5nZXRLZXkoKSA9PT0gdGhpcy5rZXkpIHtcclxuICAgICAgdGhpcy5waG90b1JlbmRlcihwaG90by5ibG9iKTtcclxuICAgICAgdGhpcy5vbkNsb3NlQ2FtZXJhKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25DYW1lcmFFcnJvcihlcnJvcikge1xyXG4gICAgaWYgKHRoaXMucGhvdG9DYXB0dXJlU2VydmljZS5nZXRLZXkoKSA9PT0gdGhpcy5rZXkpIHtcclxuICAgICAgdGhpcy5vbkNsb3NlQ2FtZXJhKCk7XHJcbiAgICAgIHRoaXMuY2FtZXJhRXJyb3IuZW1pdChlcnJvcik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHBob3RvUmVuZGVyKGZpbGUpIHtcclxuICAgIGlmIChmaWxlKSB7XHJcbiAgICAgIGNvbnN0IGZpbGVSZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xyXG4gICAgICBmaWxlUmVhZGVyLm9ubG9hZGVuZCA9XHJcbiAgICAgICAgcGhvdG9SZW5kZXIgPT4gdGhpcy5waG90b0Nob3BwZXIocGhvdG9SZW5kZXIpO1xyXG4gICAgICBmaWxlUmVhZGVyLnJlYWRBc0RhdGFVUkwoZmlsZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHBob3RvQ2hvcHBlcihwaG90b1JlbmRlcikge1xyXG4gICAgdGhpcy5pbWFnZUNyb3BwZXJTZXJ2aWNlLnNob3coe1xyXG4gICAgICBpbWFnZVNvdXJjZTogcGhvdG9SZW5kZXIudGFyZ2V0LnJlc3VsdCxcclxuICAgICAgY3JvcHBlZENhbnZhczogaW1hZ2VDYW52YXMgPT4ge1xyXG4gICAgICAgIGltYWdlQ2FudmFzLnRvQmxvYihibG9iID0+IHtcclxuICAgICAgICAgIHRoaXMuc2V0UGhvdG9Db250ZW50KGltYWdlQ2FudmFzLnRvRGF0YVVSTCgpLCBibG9iKTtcclxuICAgICAgICAgIHRoaXMub25DcmVhdGVCbG9iKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0sXHJcbiAgICAgIGhlYWRlcjogdGhpcy5jcm9wcGVyVGl0bGUsXHJcbiAgICAgIGVtcHR5U3RhdGVBY3Rpb25MYWJlbDogdGhpcy5jcm9wcGVyQWN0aW9uQ2FuY2VsLFxyXG4gICAgICBhbGxvd1NlbGVjdEFub3RoZXI6IGZhbHNlLFxyXG4gICAgICBhbGxvd1JlbW92ZTogZmFsc2UsXHJcbiAgICAgIGNyb3BMYWJlbDogdGhpcy5jcm9wcGVyQWN0aW9uQ3JvcCxcclxuICAgICAgcm91bmRlZDogdHJ1ZSxcclxuICAgICAgYXNwZWN0UmF0aW86IDMgLyA0XHJcbiAgICB9KTtcclxuICAgIHRoaXMuaXNMb2FkaW5nLmVtaXQoZmFsc2UpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBvbkNyZWF0ZUJsb2IoKSB7XHJcbiAgICBpZiAodGhpcy5nZXRNYXhTaXplSW5CaXRlcygpID4gdGhpcy5waG90b0NvbnRlbnQuYmxvYi5zaXplKSB7XHJcbiAgICAgIHRoaXMucGhvdG9Dcm9wLmVtaXQodGhpcy5waG90b0NvbnRlbnQpO1xyXG4gICAgICB0aGlzLnBob3RvID0gdGhpcy5waG90b0NvbnRlbnQuaW1hZ2U7XHJcbiAgICAgIHRoaXMub25DaGFuZ2UodGhpcy5waG90byk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmludmFsaWRQaG90b1NpemUuZW1pdCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRNYXhTaXplSW5CaXRlcygpIHtcclxuICAgIHJldHVybiAodGhpcy5tYXhQaG90b1NpemUgKiAxMDAwKSAqIDEwMDA7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFBob3RvQ29udGVudChpbWFnZVVyaSwgaW1hZ2VCbG9iKSB7XHJcbiAgICB0aGlzLnBob3RvQ29udGVudCA9IHtcclxuICAgICAgaW1hZ2U6IGltYWdlVXJpLFxyXG4gICAgICBibG9iOiBpbWFnZUJsb2JcclxuICAgIH07XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
@@ -2,7 +2,7 @@
2
2
  * @fileoverview added by tsickle
3
3
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
4
  */
5
- import * as tslib_1 from "tslib";
5
+ import { __read } from "tslib";
6
6
  import { Component, ViewChild, EventEmitter, ElementRef, ViewEncapsulation } from '@angular/core';
7
7
  import { Input } from '@angular/core';
8
8
  import { Output } from '@angular/core';
@@ -142,7 +142,7 @@ var PhotoComponent = /** @class */ (function () {
142
142
  * @return {?}
143
143
  */
144
144
  function (event) {
145
- var _a = tslib_1.__read(event.srcElement.files, 1), file = _a[0];
145
+ var _a = __read(event.srcElement.files, 1), file = _a[0];
146
146
  this.photoRender(file);
147
147
  };
148
148
  /**
@@ -307,7 +307,7 @@ var PhotoComponent = /** @class */ (function () {
307
307
  PhotoComponent.decorators = [
308
308
  { type: Component, args: [{
309
309
  selector: 'sam-photo',
310
- template: "<input #imageInput type=\"file\" class=\"photo__input-file--hidden\" (change)=\"photoSelected($event)\" accept=\"image/*\">\r\n<s-thumbnail [size]=\"photoSize\" iconClass=\"fa fa-user\" (click)=\"changePhoto()\"\r\n [hasAction]=\"canPhotoUpload || canPhotoCapture\" [imageSource]=\"photo\" [actionIconClass]=\"actionIconClass\">\r\n</s-thumbnail>\r\n\r\n<p-dialog styleClass=\"photo-capture-custom\" [(visible)]=\"cameraDialog\" [header]=\"cameraDialogLabel\"\r\n [width]=\"photoWidth + 30\" appendTo='body' [modal]=\"true\">\r\n <sam-photo-capture [width]=\"photoWidth\" [height]=\"photoHeight\" (photoTake)=\"onPhotoTake($event)\"\r\n (error)=\"onCameraError($event)\"></sam-photo-capture>\r\n <p-footer>\r\n <s-button id=\"takePhotoBtn\" priority=\"primary\" [label]=\"cameraDialogCaptureLabel\" (click)=\"onPhotoCapture()\">\r\n </s-button>\r\n <s-button id=\"cancelBtn\" priority=\"link\" [label]=\"dialogCancelLabel\" (click)=\"onCloseCamera()\"></s-button>\r\n </p-footer>\r\n</p-dialog>\r\n\r\n<p-dialog [(visible)]=\"selectPhotoType\" [header]=\"selectPhotoTypeLabel\" [width]=\"400\" appendTo='body' [modal]=\"true\"\r\n [closable]=\"false\">\r\n <s-tile [label]=\"selectUploadTypeLabel\" [description]=\"selectUploadTypeDescription\" iconClass=\"fa fa-upload\"\r\n (click)=\"onOpenUpload()\"></s-tile>\r\n <br>\r\n <s-tile [label]=\"selectCaptureTypeLabel\" [description]=\"selectCaptureTypeLabelDescription\" iconClass=\"fa fa-camera\"\r\n (click)=\"onOpenCamera()\"></s-tile>\r\n <p-footer>\r\n <s-button id=\"cancelBtn\" priority=\"link\" [label]=\"dialogCancelLabel\" (click)=\"closeSelectPhotoType()\"></s-button>\r\n </p-footer>\r\n</p-dialog>",
310
+ template: "<input #imageInput type=\"file\" class=\"photo__input-file--hidden\" (change)=\"photoSelected($event)\" accept=\"image/*\">\r\n<s-thumbnail [size]=\"photoSize\" iconClass=\"fa fa-user\" (click)=\"changePhoto()\"\r\n [hasAction]=\"canPhotoUpload || canPhotoCapture\" [imageSource]=\"photo\" [actionIconClass]=\"actionIconClass\">\r\n</s-thumbnail>\r\n\r\n<p-dialog styleClass=\"photo-capture-custom\" [(visible)]=\"cameraDialog\" [header]=\"cameraDialogLabel\"\r\n [style]=\"{width: '700px'}\" appendTo='body' [modal]=\"true\">\r\n <sam-photo-capture [width]=\"photoWidth\" [height]=\"photoHeight\" (photoTake)=\"onPhotoTake($event)\"\r\n (error)=\"onCameraError($event)\"></sam-photo-capture>\r\n <p-footer>\r\n <s-button id=\"takePhotoBtn\" priority=\"primary\" [label]=\"cameraDialogCaptureLabel\" (click)=\"onPhotoCapture()\">\r\n </s-button>\r\n <s-button id=\"cancelBtn\" priority=\"link\" [label]=\"dialogCancelLabel\" (click)=\"onCloseCamera()\"></s-button>\r\n </p-footer>\r\n</p-dialog>\r\n\r\n<p-dialog [(visible)]=\"selectPhotoType\" [header]=\"selectPhotoTypeLabel\" [style]=\"{width: '400px'}\" appendTo='body' [modal]=\"true\"\r\n [closable]=\"false\">\r\n <s-tile [label]=\"selectUploadTypeLabel\" [description]=\"selectUploadTypeDescription\" iconClass=\"fa fa-upload\"\r\n (click)=\"onOpenUpload()\"></s-tile>\r\n <br>\r\n <s-tile [label]=\"selectCaptureTypeLabel\" [description]=\"selectCaptureTypeLabelDescription\" iconClass=\"fa fa-camera\"\r\n (click)=\"onOpenCamera()\"></s-tile>\r\n <p-footer>\r\n <s-button id=\"cancelBtn\" priority=\"link\" [label]=\"dialogCancelLabel\" (click)=\"closeSelectPhotoType()\"></s-button>\r\n </p-footer>\r\n</p-dialog>\r\n",
311
311
  providers: [
312
312
  {
313
313
  provide: NG_VALUE_ACCESSOR,
@@ -438,4 +438,4 @@ if (false) {
438
438
  */
439
439
  PhotoComponent.prototype.photoCaptureService;
440
440
  }
441
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvdG8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNhbS1zZW5pb3IvcGhvdG8vIiwic291cmNlcyI6WyJsaWIvcGhvdG8uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMxRyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBSWhFO0lBcURFLHdCQUNVLG1CQUF3QyxFQUN4QyxtQkFBd0M7UUFEeEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBdkN6QyxRQUFHLEdBQUcsS0FBSyxDQUFDO1FBRVosb0JBQWUsR0FBRyxjQUFjLENBQUM7UUFDakMsY0FBUyxHQUFHLFFBQVEsQ0FBQztRQUNyQixpQkFBWSxHQUFHLENBQUMsQ0FBQztRQUNqQixlQUFVLEdBQUcsR0FBRyxDQUFDO1FBQ2pCLGdCQUFXLEdBQUcsR0FBRyxDQUFDO1FBQ2xCLG1CQUFjLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLG9CQUFlLEdBQUcsSUFBSSxDQUFDO1FBRXZCLGlCQUFZLEdBQUcsVUFBVSxDQUFDO1FBQzFCLHdCQUFtQixHQUFHLFVBQVUsQ0FBQztRQUNqQyxzQkFBaUIsR0FBRyxVQUFVLENBQUM7UUFFL0Isc0JBQWlCLEdBQUcsU0FBUyxDQUFDO1FBQzlCLDZCQUF3QixHQUFHLFVBQVUsQ0FBQztR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Q3ZCLHlDQUEwQzs7SUFDMUMsbUNBQThCOztJQUM5QixzQ0FBMEI7O0lBQzFCLG9DQUEwQjs7SUFDMUIscUNBQTJCOztJQUMzQix3Q0FBK0I7O0lBQy9CLHlDQUFnQzs7SUFFaEMsc0NBQW1DOztJQUNuQyw2Q0FBMEM7O0lBQzFDLDJDQUF3Qzs7SUFFeEMsMkNBQXVDOztJQUN2QyxrREFBK0M7O0lBQy9DLDhDQUFvRDs7SUFDcEQsK0NBQTBDOztJQUMxQyxxREFBZ0Y7O0lBQ2hGLGdEQUE2Qzs7SUFDN0MsMkRBQXFGOztJQUNyRiwyQ0FBd0M7O0lBRXhDLG1DQUF5Qzs7SUFDekMsb0NBQTBDOztJQUMxQyxxQ0FBMkM7O0lBQzNDLHFDQUEyQzs7SUFDM0MsMENBQWdEOztJQUNoRCxtQ0FBeUM7O0lBRXpDLHNDQUFnQzs7SUFDaEMsc0NBQTRCOztJQUM1Qix5Q0FBK0I7Ozs7O0lBRS9CLGtDQUFtQzs7Ozs7SUFDbkMsbUNBQThCOzs7OztJQUc1Qiw2Q0FBZ0Q7Ozs7O0lBQ2hELDZDQUFnRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0NoaWxkLCBFdmVudEVtaXR0ZXIsIEVsZW1lbnRSZWYsIFZpZXdFbmNhcHN1bGF0aW9uLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgSW1hZ2VDcm9wcGVyU2VydmljZSB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMnO1xyXG5pbXBvcnQgeyBQaG90b0NhcHR1cmVTZXJ2aWNlIH0gZnJvbSAnQHNhbS1zZW5pb3IvcGhvdG8tY2FwdHVyZSc7XHJcblxyXG5pbXBvcnQgeyBQaG90b01vZGVsIH0gZnJvbSAnLi9waG90by5tb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NhbS1waG90bycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3Bob3RvLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9waG90by5jb21wb25lbnQuY3NzJ10sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogUGhvdG9Db21wb25lbnQsXHJcbiAgICAgIG11bHRpOiB0cnVlXHJcbiAgICB9XHJcbiAgXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQaG90b0NvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuICBAVmlld0NoaWxkKGBpbWFnZUlucHV0YCkgaW1hZ2VJbnB1dDogRWxlbWVudFJlZjtcclxuXHJcbiAgQElucHV0KCkga2V5ID0gJ2tleSc7XHJcbiAgQElucHV0KCkgcGhvdG86IHN0cmluZztcclxuICBASW5wdXQoKSBhY3Rpb25JY29uQ2xhc3MgPSAnZmEgZmEtY2FtZXJhJztcclxuICBASW5wdXQoKSBwaG90b1NpemUgPSAnbWVkaXVtJztcclxuICBASW5wdXQoKSBtYXhQaG90b1NpemUgPSAxO1xyXG4gIEBJbnB1dCgpIHBob3RvV2lkdGggPSA2NzA7XHJcbiAgQElucHV0KCkgcGhvdG9IZWlnaHQgPSA0MDA7XHJcbiAgQElucHV0KCkgY2FuUGhvdG9VcGxvYWQgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGNhblBob3RvQ2FwdHVyZSA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpIGNyb3BwZXJUaXRsZSA9IGBSZWNvcnRhcmA7XHJcbiAgQElucHV0KCkgY3JvcHBlckFjdGlvbkNhbmNlbCA9IGBDYW5jZWxhcmA7XHJcbiAgQElucHV0KCkgY3JvcHBlckFjdGlvbkNyb3AgPSBgUmVjb3J0YXJgO1xyXG5cclxuICBASW5wdXQoKSBjYW1lcmFEaWFsb2dMYWJlbCA9IGBDYXB0dXJhYDtcclxuICBASW5wdXQoKSBjYW1lcmFEaWFsb2dDYXB0dXJlTGFiZWwgPSBgQ2FwdHVyYXJgO1xyXG4gIEBJbnB1dCgpIHNlbGVjdFBob3RvVHlwZUxhYmVsID0gYFNlbGVjaW9uYXIgaW1hZ2VtYDtcclxuICBASW5wdXQoKSBzZWxlY3RVcGxvYWRUeXBlTGFiZWwgPSBgVXBsb2FkYDtcclxuICBASW5wdXQoKSBzZWxlY3RVcGxvYWRUeXBlRGVzY3JpcHRpb24gPSBgU2VsZWNpb25lIHVtYSBpbWFnZW0gZG8gc2V1IGNvbXB1dGFkb3JgO1xyXG4gIEBJbnB1dCgpIHNlbGVjdENhcHR1cmVUeXBlTGFiZWwgPSBgQ2FwdHVyYXJgO1xyXG4gIEBJbnB1dCgpIHNlbGVjdENhcHR1cmVUeXBlTGFiZWxEZXNjcmlwdGlvbiA9IGBDYXB0dXJlIHVtYSBpbWFnZW0gZG8gc2V1IGRpc3Bvc2l0aXZvYDtcclxuICBASW5wdXQoKSBkaWFsb2dDYW5jZWxMYWJlbCA9IGBDYW5jZWxhcmA7XHJcblxyXG4gIEBPdXRwdXQoKSBwaG90b0Nyb3AgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG9wZW5DYW1lcmEgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGNsb3NlQ2FtZXJhID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBjYW1lcmFFcnJvciA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgaW52YWxpZFBob3RvU2l6ZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgaXNMb2FkaW5nID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBwdWJsaWMgcGhvdG9Db250ZW50OiBQaG90b01vZGVsO1xyXG4gIHB1YmxpYyBjYW1lcmFEaWFsb2cgPSBmYWxzZTtcclxuICBwdWJsaWMgc2VsZWN0UGhvdG9UeXBlID0gZmFsc2U7XHJcblxyXG4gIHByaXZhdGUgb25DaGFuZ2UgPSAoXzogYW55KSA9PiB7IH07XHJcbiAgcHJpdmF0ZSBvblRvdWNoZWQgPSAoKSA9PiB7IH07XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBpbWFnZUNyb3BwZXJTZXJ2aWNlOiBJbWFnZUNyb3BwZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBwaG90b0NhcHR1cmVTZXJ2aWNlOiBQaG90b0NhcHR1cmVTZXJ2aWNlXHJcbiAgKSB7IH1cclxuXHJcbiAgcHVibGljIGNoYW5nZVBob3RvKCkge1xyXG4gICAgaWYgKHRoaXMuY2FuUGhvdG9DYXB0dXJlICYmIHRoaXMuY2FuUGhvdG9VcGxvYWQpIHtcclxuICAgICAgdGhpcy5zZWxlY3RQaG90b1R5cGUgPSB0cnVlO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmNhblBob3RvQ2FwdHVyZSkge1xyXG4gICAgICB0aGlzLm9uT3BlbkNhbWVyYSgpO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmNhblBob3RvVXBsb2FkKSB7XHJcbiAgICAgIHRoaXMub25PcGVuVXBsb2FkKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogKF86IGFueSkgPT4gdm9pZCk6IHZvaWQge1xyXG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy5waG90byA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uT3BlbkNhbWVyYSgpIHtcclxuICAgIHRoaXMuY2xvc2VTZWxlY3RQaG90b1R5cGUoKTtcclxuICAgIHRoaXMuY2FtZXJhRGlhbG9nID0gdHJ1ZTtcclxuICAgIHRoaXMucGhvdG9DYXB0dXJlU2VydmljZS5zZXRLZXkodGhpcy5rZXkpO1xyXG4gICAgdGhpcy5waG90b0NhcHR1cmVTZXJ2aWNlLnN0YXJ0KCk7XHJcbiAgICB0aGlzLm9wZW5DYW1lcmEuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNsb3NlU2VsZWN0UGhvdG9UeXBlKCkge1xyXG4gICAgdGhpcy5zZWxlY3RQaG90b1R5cGUgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbk9wZW5VcGxvYWQoKSB7XHJcbiAgICB0aGlzLmNsb3NlU2VsZWN0UGhvdG9UeXBlKCk7XHJcbiAgICAodGhpcy5pbWFnZUlucHV0Lm5hdGl2ZUVsZW1lbnQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWUgPSBudWxsO1xyXG4gICAgKHRoaXMuaW1hZ2VJbnB1dC5uYXRpdmVFbGVtZW50IGFzIEhUTUxJbnB1dEVsZW1lbnQpLmNsaWNrKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcGhvdG9TZWxlY3RlZChldmVudDogYW55KSB7XHJcbiAgICBjb25zdCBbZmlsZV0gPSBldmVudC5zcmNFbGVtZW50LmZpbGVzO1xyXG4gICAgdGhpcy5waG90b1JlbmRlcihmaWxlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkNsb3NlQ2FtZXJhKCkge1xyXG4gICAgdGhpcy5jYW1lcmFEaWFsb2cgPSBmYWxzZTtcclxuICAgIHRoaXMucGhvdG9DYXB0dXJlU2VydmljZS5zdG9wKCk7XHJcbiAgICB0aGlzLmNsb3NlQ2FtZXJhLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvblBob3RvQ2FwdHVyZSgpIHtcclxuICAgIHRoaXMuaXNMb2FkaW5nLmVtaXQodHJ1ZSk7XHJcbiAgICB0aGlzLnBob3RvQ2FwdHVyZVNlcnZpY2Uuc2V0S2V5KHRoaXMua2V5KTtcclxuICAgIHRoaXMucGhvdG9DYXB0dXJlU2VydmljZS50YWtlUGhvdG8oKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvblBob3RvVGFrZShwaG90bykge1xyXG4gICAgaWYgKHRoaXMucGhvdG9DYXB0dXJlU2VydmljZS5nZXRLZXkoKSA9PT0gdGhpcy5rZXkpIHtcclxuICAgICAgdGhpcy5waG90b1JlbmRlcihwaG90by5ibG9iKTtcclxuICAgICAgdGhpcy5vbkNsb3NlQ2FtZXJhKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25DYW1lcmFFcnJvcihlcnJvcikge1xyXG4gICAgaWYgKHRoaXMucGhvdG9DYXB0dXJlU2VydmljZS5nZXRLZXkoKSA9PT0gdGhpcy5rZXkpIHtcclxuICAgICAgdGhpcy5vbkNsb3NlQ2FtZXJhKCk7XHJcbiAgICAgIHRoaXMuY2FtZXJhRXJyb3IuZW1pdChlcnJvcik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHBob3RvUmVuZGVyKGZpbGUpIHtcclxuICAgIGlmIChmaWxlKSB7XHJcbiAgICAgIGNvbnN0IGZpbGVSZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xyXG4gICAgICBmaWxlUmVhZGVyLm9ubG9hZGVuZCA9XHJcbiAgICAgICAgcGhvdG9SZW5kZXIgPT4gdGhpcy5waG90b0Nob3BwZXIocGhvdG9SZW5kZXIpO1xyXG4gICAgICBmaWxlUmVhZGVyLnJlYWRBc0RhdGFVUkwoZmlsZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHBob3RvQ2hvcHBlcihwaG90b1JlbmRlcikge1xyXG4gICAgdGhpcy5pbWFnZUNyb3BwZXJTZXJ2aWNlLnNob3coe1xyXG4gICAgICBpbWFnZVNvdXJjZTogcGhvdG9SZW5kZXIudGFyZ2V0LnJlc3VsdCxcclxuICAgICAgY3JvcHBlZENhbnZhczogaW1hZ2VDYW52YXMgPT4ge1xyXG4gICAgICAgIGltYWdlQ2FudmFzLnRvQmxvYihibG9iID0+IHtcclxuICAgICAgICAgIHRoaXMuc2V0UGhvdG9Db250ZW50KGltYWdlQ2FudmFzLnRvRGF0YVVSTCgpLCBibG9iKTtcclxuICAgICAgICAgIHRoaXMub25DcmVhdGVCbG9iKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0sXHJcbiAgICAgIGhlYWRlcjogdGhpcy5jcm9wcGVyVGl0bGUsXHJcbiAgICAgIGVtcHR5U3RhdGVBY3Rpb25MYWJlbDogdGhpcy5jcm9wcGVyQWN0aW9uQ2FuY2VsLFxyXG4gICAgICBhbGxvd1NlbGVjdEFub3RoZXI6IGZhbHNlLFxyXG4gICAgICBhbGxvd1JlbW92ZTogZmFsc2UsXHJcbiAgICAgIGNyb3BMYWJlbDogdGhpcy5jcm9wcGVyQWN0aW9uQ3JvcCxcclxuICAgICAgcm91bmRlZDogdHJ1ZSxcclxuICAgICAgYXNwZWN0UmF0aW86IDMgLyA0XHJcbiAgICB9KTtcclxuICAgIHRoaXMuaXNMb2FkaW5nLmVtaXQoZmFsc2UpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBvbkNyZWF0ZUJsb2IoKSB7XHJcbiAgICBpZiAodGhpcy5nZXRNYXhTaXplSW5CaXRlcygpID4gdGhpcy5waG90b0NvbnRlbnQuYmxvYi5zaXplKSB7XHJcbiAgICAgIHRoaXMucGhvdG9Dcm9wLmVtaXQodGhpcy5waG90b0NvbnRlbnQpO1xyXG4gICAgICB0aGlzLnBob3RvID0gdGhpcy5waG90b0NvbnRlbnQuaW1hZ2U7XHJcbiAgICAgIHRoaXMub25DaGFuZ2UodGhpcy5waG90byk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmludmFsaWRQaG90b1NpemUuZW1pdCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRNYXhTaXplSW5CaXRlcygpIHtcclxuICAgIHJldHVybiAodGhpcy5tYXhQaG90b1NpemUgKiAxMDAwKSAqIDEwMDA7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFBob3RvQ29udGVudChpbWFnZVVyaSwgaW1hZ2VCbG9iKSB7XHJcbiAgICB0aGlzLnBob3RvQ29udGVudCA9IHtcclxuICAgICAgaW1hZ2U6IGltYWdlVXJpLFxyXG4gICAgICBibG9iOiBpbWFnZUJsb2JcclxuICAgIH07XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
441
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvdG8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNhbS1zZW5pb3IvcGhvdG8vIiwic291cmNlcyI6WyJsaWIvcGhvdG8uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMxRyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBSWhFO0lBcURFLHdCQUNVLG1CQUF3QyxFQUN4QyxtQkFBd0M7UUFEeEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBdkN6QyxRQUFHLEdBQUcsS0FBSyxDQUFDO1FBRVosb0JBQWUsR0FBRyxjQUFjLENBQUM7UUFDakMsY0FBUyxHQUFHLFFBQVEsQ0FBQztRQUNyQixpQkFBWSxHQUFHLENBQUMsQ0FBQztRQUNqQixlQUFVLEdBQUcsR0FBRyxDQUFDO1FBQ2pCLGdCQUFXLEdBQUcsR0FBRyxDQUFDO1FBQ2xCLG1CQUFjLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLG9CQUFlLEdBQUcsSUFBSSxDQUFDO1FBRXZCLGlCQUFZLEdBQUcsVUFBVSxDQUFDO1FBQzFCLHdCQUFtQixHQUFHLFVBQVUsQ0FBQztRQUNqQyxzQkFBaUIsR0FBRyxVQUFVLENBQUM7UUFFL0Isc0JBQWlCLEdBQUcsU0FBUyxDQUFDO1FBQzlCLDZCQUF3QixHQUFHLFVBQVUsQ0FBQztR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Q3ZCLHlDQUEwQzs7SUFDMUMsbUNBQThCOztJQUM5QixzQ0FBMEI7O0lBQzFCLG9DQUEwQjs7SUFDMUIscUNBQTJCOztJQUMzQix3Q0FBK0I7O0lBQy9CLHlDQUFnQzs7SUFFaEMsc0NBQW1DOztJQUNuQyw2Q0FBMEM7O0lBQzFDLDJDQUF3Qzs7SUFFeEMsMkNBQXVDOztJQUN2QyxrREFBK0M7O0lBQy9DLDhDQUFvRDs7SUFDcEQsK0NBQTBDOztJQUMxQyxxREFBZ0Y7O0lBQ2hGLGdEQUE2Qzs7SUFDN0MsMkRBQXFGOztJQUNyRiwyQ0FBd0M7O0lBRXhDLG1DQUF5Qzs7SUFDekMsb0NBQTBDOztJQUMxQyxxQ0FBMkM7O0lBQzNDLHFDQUEyQzs7SUFDM0MsMENBQWdEOztJQUNoRCxtQ0FBeUM7O0lBRXpDLHNDQUFnQzs7SUFDaEMsc0NBQTRCOztJQUM1Qix5Q0FBK0I7Ozs7O0lBRS9CLGtDQUFtQzs7Ozs7SUFDbkMsbUNBQThCOzs7OztJQUc1Qiw2Q0FBZ0Q7Ozs7O0lBQ2hELDZDQUFnRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0NoaWxkLCBFdmVudEVtaXR0ZXIsIEVsZW1lbnRSZWYsIFZpZXdFbmNhcHN1bGF0aW9uLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgSW1hZ2VDcm9wcGVyU2VydmljZSB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMnO1xyXG5pbXBvcnQgeyBQaG90b0NhcHR1cmVTZXJ2aWNlIH0gZnJvbSAnQHNhbS1zZW5pb3IvcGhvdG8tY2FwdHVyZSc7XHJcblxyXG5pbXBvcnQgeyBQaG90b01vZGVsIH0gZnJvbSAnLi9waG90by5tb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NhbS1waG90bycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3Bob3RvLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9waG90by5jb21wb25lbnQuY3NzJ10sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogUGhvdG9Db21wb25lbnQsXHJcbiAgICAgIG11bHRpOiB0cnVlXHJcbiAgICB9XHJcbiAgXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQaG90b0NvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuICBAVmlld0NoaWxkKGBpbWFnZUlucHV0YCkgaW1hZ2VJbnB1dDogRWxlbWVudFJlZjtcclxuXHJcbiAgQElucHV0KCkga2V5ID0gJ2tleSc7XHJcbiAgQElucHV0KCkgcGhvdG86IHN0cmluZztcclxuICBASW5wdXQoKSBhY3Rpb25JY29uQ2xhc3MgPSAnZmEgZmEtY2FtZXJhJztcclxuICBASW5wdXQoKSBwaG90b1NpemUgPSAnbWVkaXVtJztcclxuICBASW5wdXQoKSBtYXhQaG90b1NpemUgPSAxO1xyXG4gIEBJbnB1dCgpIHBob3RvV2lkdGggPSA2NzA7XHJcbiAgQElucHV0KCkgcGhvdG9IZWlnaHQgPSA0MDA7XHJcbiAgQElucHV0KCkgY2FuUGhvdG9VcGxvYWQgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGNhblBob3RvQ2FwdHVyZSA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpIGNyb3BwZXJUaXRsZSA9IGBSZWNvcnRhcmA7XHJcbiAgQElucHV0KCkgY3JvcHBlckFjdGlvbkNhbmNlbCA9IGBDYW5jZWxhcmA7XHJcbiAgQElucHV0KCkgY3JvcHBlckFjdGlvbkNyb3AgPSBgUmVjb3J0YXJgO1xyXG5cclxuICBASW5wdXQoKSBjYW1lcmFEaWFsb2dMYWJlbCA9IGBDYXB0dXJhYDtcclxuICBASW5wdXQoKSBjYW1lcmFEaWFsb2dDYXB0dXJlTGFiZWwgPSBgQ2FwdHVyYXJgO1xyXG4gIEBJbnB1dCgpIHNlbGVjdFBob3RvVHlwZUxhYmVsID0gYFNlbGVjaW9uYXIgaW1hZ2VtYDtcclxuICBASW5wdXQoKSBzZWxlY3RVcGxvYWRUeXBlTGFiZWwgPSBgVXBsb2FkYDtcclxuICBASW5wdXQoKSBzZWxlY3RVcGxvYWRUeXBlRGVzY3JpcHRpb24gPSBgU2VsZWNpb25lIHVtYSBpbWFnZW0gZG8gc2V1IGNvbXB1dGFkb3JgO1xyXG4gIEBJbnB1dCgpIHNlbGVjdENhcHR1cmVUeXBlTGFiZWwgPSBgQ2FwdHVyYXJgO1xyXG4gIEBJbnB1dCgpIHNlbGVjdENhcHR1cmVUeXBlTGFiZWxEZXNjcmlwdGlvbiA9IGBDYXB0dXJlIHVtYSBpbWFnZW0gZG8gc2V1IGRpc3Bvc2l0aXZvYDtcclxuICBASW5wdXQoKSBkaWFsb2dDYW5jZWxMYWJlbCA9IGBDYW5jZWxhcmA7XHJcblxyXG4gIEBPdXRwdXQoKSBwaG90b0Nyb3AgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG9wZW5DYW1lcmEgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGNsb3NlQ2FtZXJhID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBjYW1lcmFFcnJvciA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgaW52YWxpZFBob3RvU2l6ZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgaXNMb2FkaW5nID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBwdWJsaWMgcGhvdG9Db250ZW50OiBQaG90b01vZGVsO1xyXG4gIHB1YmxpYyBjYW1lcmFEaWFsb2cgPSBmYWxzZTtcclxuICBwdWJsaWMgc2VsZWN0UGhvdG9UeXBlID0gZmFsc2U7XHJcblxyXG4gIHByaXZhdGUgb25DaGFuZ2UgPSAoXzogYW55KSA9PiB7IH07XHJcbiAgcHJpdmF0ZSBvblRvdWNoZWQgPSAoKSA9PiB7IH07XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBpbWFnZUNyb3BwZXJTZXJ2aWNlOiBJbWFnZUNyb3BwZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBwaG90b0NhcHR1cmVTZXJ2aWNlOiBQaG90b0NhcHR1cmVTZXJ2aWNlXHJcbiAgKSB7IH1cclxuXHJcbiAgcHVibGljIGNoYW5nZVBob3RvKCkge1xyXG4gICAgaWYgKHRoaXMuY2FuUGhvdG9DYXB0dXJlICYmIHRoaXMuY2FuUGhvdG9VcGxvYWQpIHtcclxuICAgICAgdGhpcy5zZWxlY3RQaG90b1R5cGUgPSB0cnVlO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmNhblBob3RvQ2FwdHVyZSkge1xyXG4gICAgICB0aGlzLm9uT3BlbkNhbWVyYSgpO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmNhblBob3RvVXBsb2FkKSB7XHJcbiAgICAgIHRoaXMub25PcGVuVXBsb2FkKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogKF86IGFueSkgPT4gdm9pZCk6IHZvaWQge1xyXG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy5waG90byA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uT3BlbkNhbWVyYSgpIHtcclxuICAgIHRoaXMuY2xvc2VTZWxlY3RQaG90b1R5cGUoKTtcclxuICAgIHRoaXMuY2FtZXJhRGlhbG9nID0gdHJ1ZTtcclxuICAgIHRoaXMucGhvdG9DYXB0dXJlU2VydmljZS5zZXRLZXkodGhpcy5rZXkpO1xyXG4gICAgdGhpcy5waG90b0NhcHR1cmVTZXJ2aWNlLnN0YXJ0KCk7XHJcbiAgICB0aGlzLm9wZW5DYW1lcmEuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNsb3NlU2VsZWN0UGhvdG9UeXBlKCkge1xyXG4gICAgdGhpcy5zZWxlY3RQaG90b1R5cGUgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbk9wZW5VcGxvYWQoKSB7XHJcbiAgICB0aGlzLmNsb3NlU2VsZWN0UGhvdG9UeXBlKCk7XHJcbiAgICAodGhpcy5pbWFnZUlucHV0Lm5hdGl2ZUVsZW1lbnQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWUgPSBudWxsO1xyXG4gICAgKHRoaXMuaW1hZ2VJbnB1dC5uYXRpdmVFbGVtZW50IGFzIEhUTUxJbnB1dEVsZW1lbnQpLmNsaWNrKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcGhvdG9TZWxlY3RlZChldmVudDogYW55KSB7XHJcbiAgICBjb25zdCBbZmlsZV0gPSBldmVudC5zcmNFbGVtZW50LmZpbGVzO1xyXG4gICAgdGhpcy5waG90b1JlbmRlcihmaWxlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkNsb3NlQ2FtZXJhKCkge1xyXG4gICAgdGhpcy5jYW1lcmFEaWFsb2cgPSBmYWxzZTtcclxuICAgIHRoaXMucGhvdG9DYXB0dXJlU2VydmljZS5zdG9wKCk7XHJcbiAgICB0aGlzLmNsb3NlQ2FtZXJhLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvblBob3RvQ2FwdHVyZSgpIHtcclxuICAgIHRoaXMuaXNMb2FkaW5nLmVtaXQodHJ1ZSk7XHJcbiAgICB0aGlzLnBob3RvQ2FwdHVyZVNlcnZpY2Uuc2V0S2V5KHRoaXMua2V5KTtcclxuICAgIHRoaXMucGhvdG9DYXB0dXJlU2VydmljZS50YWtlUGhvdG8oKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvblBob3RvVGFrZShwaG90bykge1xyXG4gICAgaWYgKHRoaXMucGhvdG9DYXB0dXJlU2VydmljZS5nZXRLZXkoKSA9PT0gdGhpcy5rZXkpIHtcclxuICAgICAgdGhpcy5waG90b1JlbmRlcihwaG90by5ibG9iKTtcclxuICAgICAgdGhpcy5vbkNsb3NlQ2FtZXJhKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25DYW1lcmFFcnJvcihlcnJvcikge1xyXG4gICAgaWYgKHRoaXMucGhvdG9DYXB0dXJlU2VydmljZS5nZXRLZXkoKSA9PT0gdGhpcy5rZXkpIHtcclxuICAgICAgdGhpcy5vbkNsb3NlQ2FtZXJhKCk7XHJcbiAgICAgIHRoaXMuY2FtZXJhRXJyb3IuZW1pdChlcnJvcik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHBob3RvUmVuZGVyKGZpbGUpIHtcclxuICAgIGlmIChmaWxlKSB7XHJcbiAgICAgIGNvbnN0IGZpbGVSZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xyXG4gICAgICBmaWxlUmVhZGVyLm9ubG9hZGVuZCA9XHJcbiAgICAgICAgcGhvdG9SZW5kZXIgPT4gdGhpcy5waG90b0Nob3BwZXIocGhvdG9SZW5kZXIpO1xyXG4gICAgICBmaWxlUmVhZGVyLnJlYWRBc0RhdGFVUkwoZmlsZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHBob3RvQ2hvcHBlcihwaG90b1JlbmRlcikge1xyXG4gICAgdGhpcy5pbWFnZUNyb3BwZXJTZXJ2aWNlLnNob3coe1xyXG4gICAgICBpbWFnZVNvdXJjZTogcGhvdG9SZW5kZXIudGFyZ2V0LnJlc3VsdCxcclxuICAgICAgY3JvcHBlZENhbnZhczogaW1hZ2VDYW52YXMgPT4ge1xyXG4gICAgICAgIGltYWdlQ2FudmFzLnRvQmxvYihibG9iID0+IHtcclxuICAgICAgICAgIHRoaXMuc2V0UGhvdG9Db250ZW50KGltYWdlQ2FudmFzLnRvRGF0YVVSTCgpLCBibG9iKTtcclxuICAgICAgICAgIHRoaXMub25DcmVhdGVCbG9iKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0sXHJcbiAgICAgIGhlYWRlcjogdGhpcy5jcm9wcGVyVGl0bGUsXHJcbiAgICAgIGVtcHR5U3RhdGVBY3Rpb25MYWJlbDogdGhpcy5jcm9wcGVyQWN0aW9uQ2FuY2VsLFxyXG4gICAgICBhbGxvd1NlbGVjdEFub3RoZXI6IGZhbHNlLFxyXG4gICAgICBhbGxvd1JlbW92ZTogZmFsc2UsXHJcbiAgICAgIGNyb3BMYWJlbDogdGhpcy5jcm9wcGVyQWN0aW9uQ3JvcCxcclxuICAgICAgcm91bmRlZDogdHJ1ZSxcclxuICAgICAgYXNwZWN0UmF0aW86IDMgLyA0XHJcbiAgICB9KTtcclxuICAgIHRoaXMuaXNMb2FkaW5nLmVtaXQoZmFsc2UpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBvbkNyZWF0ZUJsb2IoKSB7XHJcbiAgICBpZiAodGhpcy5nZXRNYXhTaXplSW5CaXRlcygpID4gdGhpcy5waG90b0NvbnRlbnQuYmxvYi5zaXplKSB7XHJcbiAgICAgIHRoaXMucGhvdG9Dcm9wLmVtaXQodGhpcy5waG90b0NvbnRlbnQpO1xyXG4gICAgICB0aGlzLnBob3RvID0gdGhpcy5waG90b0NvbnRlbnQuaW1hZ2U7XHJcbiAgICAgIHRoaXMub25DaGFuZ2UodGhpcy5waG90byk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmludmFsaWRQaG90b1NpemUuZW1pdCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRNYXhTaXplSW5CaXRlcygpIHtcclxuICAgIHJldHVybiAodGhpcy5tYXhQaG90b1NpemUgKiAxMDAwKSAqIDEwMDA7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFBob3RvQ29udGVudChpbWFnZVVyaSwgaW1hZ2VCbG9iKSB7XHJcbiAgICB0aGlzLnBob3RvQ29udGVudCA9IHtcclxuICAgICAgaW1hZ2U6IGltYWdlVXJpLFxyXG4gICAgICBibG9iOiBpbWFnZUJsb2JcclxuICAgIH07XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
@@ -250,7 +250,7 @@ class PhotoComponent {
250
250
  PhotoComponent.decorators = [
251
251
  { type: Component, args: [{
252
252
  selector: 'sam-photo',
253
- template: "<input #imageInput type=\"file\" class=\"photo__input-file--hidden\" (change)=\"photoSelected($event)\" accept=\"image/*\">\r\n<s-thumbnail [size]=\"photoSize\" iconClass=\"fa fa-user\" (click)=\"changePhoto()\"\r\n [hasAction]=\"canPhotoUpload || canPhotoCapture\" [imageSource]=\"photo\" [actionIconClass]=\"actionIconClass\">\r\n</s-thumbnail>\r\n\r\n<p-dialog styleClass=\"photo-capture-custom\" [(visible)]=\"cameraDialog\" [header]=\"cameraDialogLabel\"\r\n [width]=\"photoWidth + 30\" appendTo='body' [modal]=\"true\">\r\n <sam-photo-capture [width]=\"photoWidth\" [height]=\"photoHeight\" (photoTake)=\"onPhotoTake($event)\"\r\n (error)=\"onCameraError($event)\"></sam-photo-capture>\r\n <p-footer>\r\n <s-button id=\"takePhotoBtn\" priority=\"primary\" [label]=\"cameraDialogCaptureLabel\" (click)=\"onPhotoCapture()\">\r\n </s-button>\r\n <s-button id=\"cancelBtn\" priority=\"link\" [label]=\"dialogCancelLabel\" (click)=\"onCloseCamera()\"></s-button>\r\n </p-footer>\r\n</p-dialog>\r\n\r\n<p-dialog [(visible)]=\"selectPhotoType\" [header]=\"selectPhotoTypeLabel\" [width]=\"400\" appendTo='body' [modal]=\"true\"\r\n [closable]=\"false\">\r\n <s-tile [label]=\"selectUploadTypeLabel\" [description]=\"selectUploadTypeDescription\" iconClass=\"fa fa-upload\"\r\n (click)=\"onOpenUpload()\"></s-tile>\r\n <br>\r\n <s-tile [label]=\"selectCaptureTypeLabel\" [description]=\"selectCaptureTypeLabelDescription\" iconClass=\"fa fa-camera\"\r\n (click)=\"onOpenCamera()\"></s-tile>\r\n <p-footer>\r\n <s-button id=\"cancelBtn\" priority=\"link\" [label]=\"dialogCancelLabel\" (click)=\"closeSelectPhotoType()\"></s-button>\r\n </p-footer>\r\n</p-dialog>",
253
+ template: "<input #imageInput type=\"file\" class=\"photo__input-file--hidden\" (change)=\"photoSelected($event)\" accept=\"image/*\">\r\n<s-thumbnail [size]=\"photoSize\" iconClass=\"fa fa-user\" (click)=\"changePhoto()\"\r\n [hasAction]=\"canPhotoUpload || canPhotoCapture\" [imageSource]=\"photo\" [actionIconClass]=\"actionIconClass\">\r\n</s-thumbnail>\r\n\r\n<p-dialog styleClass=\"photo-capture-custom\" [(visible)]=\"cameraDialog\" [header]=\"cameraDialogLabel\"\r\n [style]=\"{width: '700px'}\" appendTo='body' [modal]=\"true\">\r\n <sam-photo-capture [width]=\"photoWidth\" [height]=\"photoHeight\" (photoTake)=\"onPhotoTake($event)\"\r\n (error)=\"onCameraError($event)\"></sam-photo-capture>\r\n <p-footer>\r\n <s-button id=\"takePhotoBtn\" priority=\"primary\" [label]=\"cameraDialogCaptureLabel\" (click)=\"onPhotoCapture()\">\r\n </s-button>\r\n <s-button id=\"cancelBtn\" priority=\"link\" [label]=\"dialogCancelLabel\" (click)=\"onCloseCamera()\"></s-button>\r\n </p-footer>\r\n</p-dialog>\r\n\r\n<p-dialog [(visible)]=\"selectPhotoType\" [header]=\"selectPhotoTypeLabel\" [style]=\"{width: '400px'}\" appendTo='body' [modal]=\"true\"\r\n [closable]=\"false\">\r\n <s-tile [label]=\"selectUploadTypeLabel\" [description]=\"selectUploadTypeDescription\" iconClass=\"fa fa-upload\"\r\n (click)=\"onOpenUpload()\"></s-tile>\r\n <br>\r\n <s-tile [label]=\"selectCaptureTypeLabel\" [description]=\"selectCaptureTypeLabelDescription\" iconClass=\"fa fa-camera\"\r\n (click)=\"onOpenCamera()\"></s-tile>\r\n <p-footer>\r\n <s-button id=\"cancelBtn\" priority=\"link\" [label]=\"dialogCancelLabel\" (click)=\"closeSelectPhotoType()\"></s-button>\r\n </p-footer>\r\n</p-dialog>\r\n",
254
254
  providers: [
255
255
  {
256
256
  provide: NG_VALUE_ACCESSOR,
@@ -1 +1 @@
1
- {"version":3,"file":"sam-senior-photo.js.map","sources":["ng://@sam-senior/photo/lib/photo.component.ts","ng://@sam-senior/photo/lib/photo.module.ts"],"sourcesContent":["import { Component, ViewChild, EventEmitter, ElementRef, ViewEncapsulation, OnInit } from '@angular/core';\r\nimport { Input } from '@angular/core';\r\nimport { Output } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { ImageCropperService } from '@seniorsistemas/angular-components';\r\nimport { PhotoCaptureService } from '@sam-senior/photo-capture';\r\n\r\nimport { PhotoModel } from './photo.model';\r\n\r\n@Component({\r\n selector: 'sam-photo',\r\n templateUrl: './photo.component.html',\r\n styleUrls: ['./photo.component.css'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: PhotoComponent,\r\n multi: true\r\n }\r\n ],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class PhotoComponent implements ControlValueAccessor {\r\n @ViewChild(`imageInput`) imageInput: ElementRef;\r\n\r\n @Input() key = 'key';\r\n @Input() photo: string;\r\n @Input() actionIconClass = 'fa fa-camera';\r\n @Input() photoSize = 'medium';\r\n @Input() maxPhotoSize = 1;\r\n @Input() photoWidth = 670;\r\n @Input() photoHeight = 400;\r\n @Input() canPhotoUpload = true;\r\n @Input() canPhotoCapture = true;\r\n\r\n @Input() cropperTitle = `Recortar`;\r\n @Input() cropperActionCancel = `Cancelar`;\r\n @Input() cropperActionCrop = `Recortar`;\r\n\r\n @Input() cameraDialogLabel = `Captura`;\r\n @Input() cameraDialogCaptureLabel = `Capturar`;\r\n @Input() selectPhotoTypeLabel = `Selecionar imagem`;\r\n @Input() selectUploadTypeLabel = `Upload`;\r\n @Input() selectUploadTypeDescription = `Selecione uma imagem do seu computador`;\r\n @Input() selectCaptureTypeLabel = `Capturar`;\r\n @Input() selectCaptureTypeLabelDescription = `Capture uma imagem do seu dispositivo`;\r\n @Input() dialogCancelLabel = `Cancelar`;\r\n\r\n @Output() photoCrop = new EventEmitter();\r\n @Output() openCamera = new EventEmitter();\r\n @Output() closeCamera = new EventEmitter();\r\n @Output() cameraError = new EventEmitter();\r\n @Output() invalidPhotoSize = new EventEmitter();\r\n @Output() isLoading = new EventEmitter();\r\n\r\n public photoContent: PhotoModel;\r\n public cameraDialog = false;\r\n public selectPhotoType = false;\r\n\r\n private onChange = (_: any) => { };\r\n private onTouched = () => { };\r\n\r\n constructor(\r\n private imageCropperService: ImageCropperService,\r\n private photoCaptureService: PhotoCaptureService\r\n ) { }\r\n\r\n public changePhoto() {\r\n if (this.canPhotoCapture && this.canPhotoUpload) {\r\n this.selectPhotoType = true;\r\n } else if (this.canPhotoCapture) {\r\n this.onOpenCamera();\r\n } else if (this.canPhotoUpload) {\r\n this.onOpenUpload();\r\n }\r\n }\r\n\r\n public registerOnChange(fn: (_: any) => void): void {\r\n this.onChange = fn;\r\n }\r\n\r\n public registerOnTouched(fn: () => void): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n public writeValue(value: any) {\r\n this.photo = value;\r\n }\r\n\r\n public onOpenCamera() {\r\n this.closeSelectPhotoType();\r\n this.cameraDialog = true;\r\n this.photoCaptureService.setKey(this.key);\r\n this.photoCaptureService.start();\r\n this.openCamera.emit();\r\n }\r\n\r\n public closeSelectPhotoType() {\r\n this.selectPhotoType = false;\r\n }\r\n\r\n public onOpenUpload() {\r\n this.closeSelectPhotoType();\r\n (this.imageInput.nativeElement as HTMLInputElement).value = null;\r\n (this.imageInput.nativeElement as HTMLInputElement).click();\r\n }\r\n\r\n public photoSelected(event: any) {\r\n const [file] = event.srcElement.files;\r\n this.photoRender(file);\r\n }\r\n\r\n public onCloseCamera() {\r\n this.cameraDialog = false;\r\n this.photoCaptureService.stop();\r\n this.closeCamera.emit();\r\n }\r\n\r\n public onPhotoCapture() {\r\n this.isLoading.emit(true);\r\n this.photoCaptureService.setKey(this.key);\r\n this.photoCaptureService.takePhoto();\r\n }\r\n\r\n public onPhotoTake(photo) {\r\n if (this.photoCaptureService.getKey() === this.key) {\r\n this.photoRender(photo.blob);\r\n this.onCloseCamera();\r\n }\r\n }\r\n\r\n public onCameraError(error) {\r\n if (this.photoCaptureService.getKey() === this.key) {\r\n this.onCloseCamera();\r\n this.cameraError.emit(error);\r\n }\r\n }\r\n\r\n private photoRender(file) {\r\n if (file) {\r\n const fileReader = new FileReader();\r\n fileReader.onloadend =\r\n photoRender => this.photoChopper(photoRender);\r\n fileReader.readAsDataURL(file);\r\n }\r\n }\r\n\r\n private photoChopper(photoRender) {\r\n this.imageCropperService.show({\r\n imageSource: photoRender.target.result,\r\n croppedCanvas: imageCanvas => {\r\n imageCanvas.toBlob(blob => {\r\n this.setPhotoContent(imageCanvas.toDataURL(), blob);\r\n this.onCreateBlob();\r\n });\r\n },\r\n header: this.cropperTitle,\r\n emptyStateActionLabel: this.cropperActionCancel,\r\n allowSelectAnother: false,\r\n allowRemove: false,\r\n cropLabel: this.cropperActionCrop,\r\n rounded: true,\r\n aspectRatio: 3 / 4\r\n });\r\n this.isLoading.emit(false);\r\n }\r\n\r\n private onCreateBlob() {\r\n if (this.getMaxSizeInBites() > this.photoContent.blob.size) {\r\n this.photoCrop.emit(this.photoContent);\r\n this.photo = this.photoContent.image;\r\n this.onChange(this.photo);\r\n } else {\r\n this.invalidPhotoSize.emit();\r\n }\r\n }\r\n\r\n private getMaxSizeInBites() {\r\n return (this.maxPhotoSize * 1000) * 1000;\r\n }\r\n\r\n private setPhotoContent(imageUri, imageBlob) {\r\n this.photoContent = {\r\n image: imageUri,\r\n blob: imageBlob\r\n };\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { ConfirmDialogModule } from 'primeng/confirmdialog';\r\nimport { PanelModule } from 'primeng/panel';\r\nimport {\r\n ImageCropperModule,\r\n StepsModule,\r\n ObjectCardModule,\r\n ButtonModule,\r\n TileModule,\r\n ImageCropperService,\r\n LoadingStateModule\r\n} from '@seniorsistemas/angular-components';\r\nimport { DialogModule } from 'primeng/dialog';\r\nimport { PhotoCaptureModule } from '@sam-senior/photo-capture';\r\n\r\nimport { PhotoComponent } from './photo.component';\r\n\r\n@NgModule({\r\n declarations: [PhotoComponent],\r\n imports: [\r\n PanelModule,\r\n DialogModule,\r\n StepsModule,\r\n ObjectCardModule,\r\n ImageCropperModule,\r\n ConfirmDialogModule,\r\n PhotoCaptureModule,\r\n ButtonModule,\r\n TileModule,\r\n LoadingStateModule\r\n ],\r\n providers: [ImageCropperService],\r\n exports: [PhotoComponent]\r\n})\r\nexport class PhotoModule { }\r\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sam-senior-photo.js.map","sources":["ng://@sam-senior/photo/lib/photo.component.ts","ng://@sam-senior/photo/lib/photo.module.ts"],"sourcesContent":["import { Component, ViewChild, EventEmitter, ElementRef, ViewEncapsulation, OnInit } from '@angular/core';\r\nimport { Input } from '@angular/core';\r\nimport { Output } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { ImageCropperService } from '@seniorsistemas/angular-components';\r\nimport { PhotoCaptureService } from '@sam-senior/photo-capture';\r\n\r\nimport { PhotoModel } from './photo.model';\r\n\r\n@Component({\r\n selector: 'sam-photo',\r\n templateUrl: './photo.component.html',\r\n styleUrls: ['./photo.component.css'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: PhotoComponent,\r\n multi: true\r\n }\r\n ],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class PhotoComponent implements ControlValueAccessor {\r\n @ViewChild(`imageInput`) imageInput: ElementRef;\r\n\r\n @Input() key = 'key';\r\n @Input() photo: string;\r\n @Input() actionIconClass = 'fa fa-camera';\r\n @Input() photoSize = 'medium';\r\n @Input() maxPhotoSize = 1;\r\n @Input() photoWidth = 670;\r\n @Input() photoHeight = 400;\r\n @Input() canPhotoUpload = true;\r\n @Input() canPhotoCapture = true;\r\n\r\n @Input() cropperTitle = `Recortar`;\r\n @Input() cropperActionCancel = `Cancelar`;\r\n @Input() cropperActionCrop = `Recortar`;\r\n\r\n @Input() cameraDialogLabel = `Captura`;\r\n @Input() cameraDialogCaptureLabel = `Capturar`;\r\n @Input() selectPhotoTypeLabel = `Selecionar imagem`;\r\n @Input() selectUploadTypeLabel = `Upload`;\r\n @Input() selectUploadTypeDescription = `Selecione uma imagem do seu computador`;\r\n @Input() selectCaptureTypeLabel = `Capturar`;\r\n @Input() selectCaptureTypeLabelDescription = `Capture uma imagem do seu dispositivo`;\r\n @Input() dialogCancelLabel = `Cancelar`;\r\n\r\n @Output() photoCrop = new EventEmitter();\r\n @Output() openCamera = new EventEmitter();\r\n @Output() closeCamera = new EventEmitter();\r\n @Output() cameraError = new EventEmitter();\r\n @Output() invalidPhotoSize = new EventEmitter();\r\n @Output() isLoading = new EventEmitter();\r\n\r\n public photoContent: PhotoModel;\r\n public cameraDialog = false;\r\n public selectPhotoType = false;\r\n\r\n private onChange = (_: any) => { };\r\n private onTouched = () => { };\r\n\r\n constructor(\r\n private imageCropperService: ImageCropperService,\r\n private photoCaptureService: PhotoCaptureService\r\n ) { }\r\n\r\n public changePhoto() {\r\n if (this.canPhotoCapture && this.canPhotoUpload) {\r\n this.selectPhotoType = true;\r\n } else if (this.canPhotoCapture) {\r\n this.onOpenCamera();\r\n } else if (this.canPhotoUpload) {\r\n this.onOpenUpload();\r\n }\r\n }\r\n\r\n public registerOnChange(fn: (_: any) => void): void {\r\n this.onChange = fn;\r\n }\r\n\r\n public registerOnTouched(fn: () => void): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n public writeValue(value: any) {\r\n this.photo = value;\r\n }\r\n\r\n public onOpenCamera() {\r\n this.closeSelectPhotoType();\r\n this.cameraDialog = true;\r\n this.photoCaptureService.setKey(this.key);\r\n this.photoCaptureService.start();\r\n this.openCamera.emit();\r\n }\r\n\r\n public closeSelectPhotoType() {\r\n this.selectPhotoType = false;\r\n }\r\n\r\n public onOpenUpload() {\r\n this.closeSelectPhotoType();\r\n (this.imageInput.nativeElement as HTMLInputElement).value = null;\r\n (this.imageInput.nativeElement as HTMLInputElement).click();\r\n }\r\n\r\n public photoSelected(event: any) {\r\n const [file] = event.srcElement.files;\r\n this.photoRender(file);\r\n }\r\n\r\n public onCloseCamera() {\r\n this.cameraDialog = false;\r\n this.photoCaptureService.stop();\r\n this.closeCamera.emit();\r\n }\r\n\r\n public onPhotoCapture() {\r\n this.isLoading.emit(true);\r\n this.photoCaptureService.setKey(this.key);\r\n this.photoCaptureService.takePhoto();\r\n }\r\n\r\n public onPhotoTake(photo) {\r\n if (this.photoCaptureService.getKey() === this.key) {\r\n this.photoRender(photo.blob);\r\n this.onCloseCamera();\r\n }\r\n }\r\n\r\n public onCameraError(error) {\r\n if (this.photoCaptureService.getKey() === this.key) {\r\n this.onCloseCamera();\r\n this.cameraError.emit(error);\r\n }\r\n }\r\n\r\n private photoRender(file) {\r\n if (file) {\r\n const fileReader = new FileReader();\r\n fileReader.onloadend =\r\n photoRender => this.photoChopper(photoRender);\r\n fileReader.readAsDataURL(file);\r\n }\r\n }\r\n\r\n private photoChopper(photoRender) {\r\n this.imageCropperService.show({\r\n imageSource: photoRender.target.result,\r\n croppedCanvas: imageCanvas => {\r\n imageCanvas.toBlob(blob => {\r\n this.setPhotoContent(imageCanvas.toDataURL(), blob);\r\n this.onCreateBlob();\r\n });\r\n },\r\n header: this.cropperTitle,\r\n emptyStateActionLabel: this.cropperActionCancel,\r\n allowSelectAnother: false,\r\n allowRemove: false,\r\n cropLabel: this.cropperActionCrop,\r\n rounded: true,\r\n aspectRatio: 3 / 4\r\n });\r\n this.isLoading.emit(false);\r\n }\r\n\r\n private onCreateBlob() {\r\n if (this.getMaxSizeInBites() > this.photoContent.blob.size) {\r\n this.photoCrop.emit(this.photoContent);\r\n this.photo = this.photoContent.image;\r\n this.onChange(this.photo);\r\n } else {\r\n this.invalidPhotoSize.emit();\r\n }\r\n }\r\n\r\n private getMaxSizeInBites() {\r\n return (this.maxPhotoSize * 1000) * 1000;\r\n }\r\n\r\n private setPhotoContent(imageUri, imageBlob) {\r\n this.photoContent = {\r\n image: imageUri,\r\n blob: imageBlob\r\n };\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { ConfirmDialogModule } from 'primeng/confirmdialog';\r\nimport { PanelModule } from 'primeng/panel';\r\nimport {\r\n ImageCropperModule,\r\n StepsModule,\r\n ObjectCardModule,\r\n ButtonModule,\r\n TileModule,\r\n ImageCropperService,\r\n LoadingStateModule\r\n} from '@seniorsistemas/angular-components';\r\nimport { DialogModule } from 'primeng/dialog';\r\nimport { PhotoCaptureModule } from '@sam-senior/photo-capture';\r\n\r\nimport { PhotoComponent } from './photo.component';\r\n\r\n@NgModule({\r\n declarations: [PhotoComponent],\r\n imports: [\r\n PanelModule,\r\n DialogModule,\r\n StepsModule,\r\n ObjectCardModule,\r\n ImageCropperModule,\r\n ConfirmDialogModule,\r\n PhotoCaptureModule,\r\n ButtonModule,\r\n TileModule,\r\n LoadingStateModule\r\n ],\r\n providers: [ImageCropperService],\r\n exports: [PhotoComponent]\r\n})\r\nexport class PhotoModule { }\r\n"],"names":[],"mappings":"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"}
@@ -314,7 +314,7 @@ var PhotoComponent = /** @class */ (function () {
314
314
  PhotoComponent.decorators = [
315
315
  { type: Component, args: [{
316
316
  selector: 'sam-photo',
317
- template: "<input #imageInput type=\"file\" class=\"photo__input-file--hidden\" (change)=\"photoSelected($event)\" accept=\"image/*\">\r\n<s-thumbnail [size]=\"photoSize\" iconClass=\"fa fa-user\" (click)=\"changePhoto()\"\r\n [hasAction]=\"canPhotoUpload || canPhotoCapture\" [imageSource]=\"photo\" [actionIconClass]=\"actionIconClass\">\r\n</s-thumbnail>\r\n\r\n<p-dialog styleClass=\"photo-capture-custom\" [(visible)]=\"cameraDialog\" [header]=\"cameraDialogLabel\"\r\n [width]=\"photoWidth + 30\" appendTo='body' [modal]=\"true\">\r\n <sam-photo-capture [width]=\"photoWidth\" [height]=\"photoHeight\" (photoTake)=\"onPhotoTake($event)\"\r\n (error)=\"onCameraError($event)\"></sam-photo-capture>\r\n <p-footer>\r\n <s-button id=\"takePhotoBtn\" priority=\"primary\" [label]=\"cameraDialogCaptureLabel\" (click)=\"onPhotoCapture()\">\r\n </s-button>\r\n <s-button id=\"cancelBtn\" priority=\"link\" [label]=\"dialogCancelLabel\" (click)=\"onCloseCamera()\"></s-button>\r\n </p-footer>\r\n</p-dialog>\r\n\r\n<p-dialog [(visible)]=\"selectPhotoType\" [header]=\"selectPhotoTypeLabel\" [width]=\"400\" appendTo='body' [modal]=\"true\"\r\n [closable]=\"false\">\r\n <s-tile [label]=\"selectUploadTypeLabel\" [description]=\"selectUploadTypeDescription\" iconClass=\"fa fa-upload\"\r\n (click)=\"onOpenUpload()\"></s-tile>\r\n <br>\r\n <s-tile [label]=\"selectCaptureTypeLabel\" [description]=\"selectCaptureTypeLabelDescription\" iconClass=\"fa fa-camera\"\r\n (click)=\"onOpenCamera()\"></s-tile>\r\n <p-footer>\r\n <s-button id=\"cancelBtn\" priority=\"link\" [label]=\"dialogCancelLabel\" (click)=\"closeSelectPhotoType()\"></s-button>\r\n </p-footer>\r\n</p-dialog>",
317
+ template: "<input #imageInput type=\"file\" class=\"photo__input-file--hidden\" (change)=\"photoSelected($event)\" accept=\"image/*\">\r\n<s-thumbnail [size]=\"photoSize\" iconClass=\"fa fa-user\" (click)=\"changePhoto()\"\r\n [hasAction]=\"canPhotoUpload || canPhotoCapture\" [imageSource]=\"photo\" [actionIconClass]=\"actionIconClass\">\r\n</s-thumbnail>\r\n\r\n<p-dialog styleClass=\"photo-capture-custom\" [(visible)]=\"cameraDialog\" [header]=\"cameraDialogLabel\"\r\n [style]=\"{width: '700px'}\" appendTo='body' [modal]=\"true\">\r\n <sam-photo-capture [width]=\"photoWidth\" [height]=\"photoHeight\" (photoTake)=\"onPhotoTake($event)\"\r\n (error)=\"onCameraError($event)\"></sam-photo-capture>\r\n <p-footer>\r\n <s-button id=\"takePhotoBtn\" priority=\"primary\" [label]=\"cameraDialogCaptureLabel\" (click)=\"onPhotoCapture()\">\r\n </s-button>\r\n <s-button id=\"cancelBtn\" priority=\"link\" [label]=\"dialogCancelLabel\" (click)=\"onCloseCamera()\"></s-button>\r\n </p-footer>\r\n</p-dialog>\r\n\r\n<p-dialog [(visible)]=\"selectPhotoType\" [header]=\"selectPhotoTypeLabel\" [style]=\"{width: '400px'}\" appendTo='body' [modal]=\"true\"\r\n [closable]=\"false\">\r\n <s-tile [label]=\"selectUploadTypeLabel\" [description]=\"selectUploadTypeDescription\" iconClass=\"fa fa-upload\"\r\n (click)=\"onOpenUpload()\"></s-tile>\r\n <br>\r\n <s-tile [label]=\"selectCaptureTypeLabel\" [description]=\"selectCaptureTypeLabelDescription\" iconClass=\"fa fa-camera\"\r\n (click)=\"onOpenCamera()\"></s-tile>\r\n <p-footer>\r\n <s-button id=\"cancelBtn\" priority=\"link\" [label]=\"dialogCancelLabel\" (click)=\"closeSelectPhotoType()\"></s-button>\r\n </p-footer>\r\n</p-dialog>\r\n",
318
318
  providers: [
319
319
  {
320
320
  provide: NG_VALUE_ACCESSOR,
@@ -1 +1 @@
1
- {"version":3,"file":"sam-senior-photo.js.map","sources":["ng://@sam-senior/photo/lib/photo.component.ts","ng://@sam-senior/photo/lib/photo.module.ts"],"sourcesContent":["import { Component, ViewChild, EventEmitter, ElementRef, ViewEncapsulation, OnInit } from '@angular/core';\r\nimport { Input } from '@angular/core';\r\nimport { Output } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { ImageCropperService } from '@seniorsistemas/angular-components';\r\nimport { PhotoCaptureService } from '@sam-senior/photo-capture';\r\n\r\nimport { PhotoModel } from './photo.model';\r\n\r\n@Component({\r\n selector: 'sam-photo',\r\n templateUrl: './photo.component.html',\r\n styleUrls: ['./photo.component.css'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: PhotoComponent,\r\n multi: true\r\n }\r\n ],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class PhotoComponent implements ControlValueAccessor {\r\n @ViewChild(`imageInput`) imageInput: ElementRef;\r\n\r\n @Input() key = 'key';\r\n @Input() photo: string;\r\n @Input() actionIconClass = 'fa fa-camera';\r\n @Input() photoSize = 'medium';\r\n @Input() maxPhotoSize = 1;\r\n @Input() photoWidth = 670;\r\n @Input() photoHeight = 400;\r\n @Input() canPhotoUpload = true;\r\n @Input() canPhotoCapture = true;\r\n\r\n @Input() cropperTitle = `Recortar`;\r\n @Input() cropperActionCancel = `Cancelar`;\r\n @Input() cropperActionCrop = `Recortar`;\r\n\r\n @Input() cameraDialogLabel = `Captura`;\r\n @Input() cameraDialogCaptureLabel = `Capturar`;\r\n @Input() selectPhotoTypeLabel = `Selecionar imagem`;\r\n @Input() selectUploadTypeLabel = `Upload`;\r\n @Input() selectUploadTypeDescription = `Selecione uma imagem do seu computador`;\r\n @Input() selectCaptureTypeLabel = `Capturar`;\r\n @Input() selectCaptureTypeLabelDescription = `Capture uma imagem do seu dispositivo`;\r\n @Input() dialogCancelLabel = `Cancelar`;\r\n\r\n @Output() photoCrop = new EventEmitter();\r\n @Output() openCamera = new EventEmitter();\r\n @Output() closeCamera = new EventEmitter();\r\n @Output() cameraError = new EventEmitter();\r\n @Output() invalidPhotoSize = new EventEmitter();\r\n @Output() isLoading = new EventEmitter();\r\n\r\n public photoContent: PhotoModel;\r\n public cameraDialog = false;\r\n public selectPhotoType = false;\r\n\r\n private onChange = (_: any) => { };\r\n private onTouched = () => { };\r\n\r\n constructor(\r\n private imageCropperService: ImageCropperService,\r\n private photoCaptureService: PhotoCaptureService\r\n ) { }\r\n\r\n public changePhoto() {\r\n if (this.canPhotoCapture && this.canPhotoUpload) {\r\n this.selectPhotoType = true;\r\n } else if (this.canPhotoCapture) {\r\n this.onOpenCamera();\r\n } else if (this.canPhotoUpload) {\r\n this.onOpenUpload();\r\n }\r\n }\r\n\r\n public registerOnChange(fn: (_: any) => void): void {\r\n this.onChange = fn;\r\n }\r\n\r\n public registerOnTouched(fn: () => void): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n public writeValue(value: any) {\r\n this.photo = value;\r\n }\r\n\r\n public onOpenCamera() {\r\n this.closeSelectPhotoType();\r\n this.cameraDialog = true;\r\n this.photoCaptureService.setKey(this.key);\r\n this.photoCaptureService.start();\r\n this.openCamera.emit();\r\n }\r\n\r\n public closeSelectPhotoType() {\r\n this.selectPhotoType = false;\r\n }\r\n\r\n public onOpenUpload() {\r\n this.closeSelectPhotoType();\r\n (this.imageInput.nativeElement as HTMLInputElement).value = null;\r\n (this.imageInput.nativeElement as HTMLInputElement).click();\r\n }\r\n\r\n public photoSelected(event: any) {\r\n const [file] = event.srcElement.files;\r\n this.photoRender(file);\r\n }\r\n\r\n public onCloseCamera() {\r\n this.cameraDialog = false;\r\n this.photoCaptureService.stop();\r\n this.closeCamera.emit();\r\n }\r\n\r\n public onPhotoCapture() {\r\n this.isLoading.emit(true);\r\n this.photoCaptureService.setKey(this.key);\r\n this.photoCaptureService.takePhoto();\r\n }\r\n\r\n public onPhotoTake(photo) {\r\n if (this.photoCaptureService.getKey() === this.key) {\r\n this.photoRender(photo.blob);\r\n this.onCloseCamera();\r\n }\r\n }\r\n\r\n public onCameraError(error) {\r\n if (this.photoCaptureService.getKey() === this.key) {\r\n this.onCloseCamera();\r\n this.cameraError.emit(error);\r\n }\r\n }\r\n\r\n private photoRender(file) {\r\n if (file) {\r\n const fileReader = new FileReader();\r\n fileReader.onloadend =\r\n photoRender => this.photoChopper(photoRender);\r\n fileReader.readAsDataURL(file);\r\n }\r\n }\r\n\r\n private photoChopper(photoRender) {\r\n this.imageCropperService.show({\r\n imageSource: photoRender.target.result,\r\n croppedCanvas: imageCanvas => {\r\n imageCanvas.toBlob(blob => {\r\n this.setPhotoContent(imageCanvas.toDataURL(), blob);\r\n this.onCreateBlob();\r\n });\r\n },\r\n header: this.cropperTitle,\r\n emptyStateActionLabel: this.cropperActionCancel,\r\n allowSelectAnother: false,\r\n allowRemove: false,\r\n cropLabel: this.cropperActionCrop,\r\n rounded: true,\r\n aspectRatio: 3 / 4\r\n });\r\n this.isLoading.emit(false);\r\n }\r\n\r\n private onCreateBlob() {\r\n if (this.getMaxSizeInBites() > this.photoContent.blob.size) {\r\n this.photoCrop.emit(this.photoContent);\r\n this.photo = this.photoContent.image;\r\n this.onChange(this.photo);\r\n } else {\r\n this.invalidPhotoSize.emit();\r\n }\r\n }\r\n\r\n private getMaxSizeInBites() {\r\n return (this.maxPhotoSize * 1000) * 1000;\r\n }\r\n\r\n private setPhotoContent(imageUri, imageBlob) {\r\n this.photoContent = {\r\n image: imageUri,\r\n blob: imageBlob\r\n };\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { ConfirmDialogModule } from 'primeng/confirmdialog';\r\nimport { PanelModule } from 'primeng/panel';\r\nimport {\r\n ImageCropperModule,\r\n StepsModule,\r\n ObjectCardModule,\r\n ButtonModule,\r\n TileModule,\r\n ImageCropperService,\r\n LoadingStateModule\r\n} from '@seniorsistemas/angular-components';\r\nimport { DialogModule } from 'primeng/dialog';\r\nimport { PhotoCaptureModule } from '@sam-senior/photo-capture';\r\n\r\nimport { PhotoComponent } from './photo.component';\r\n\r\n@NgModule({\r\n declarations: [PhotoComponent],\r\n imports: [\r\n PanelModule,\r\n DialogModule,\r\n StepsModule,\r\n ObjectCardModule,\r\n ImageCropperModule,\r\n ConfirmDialogModule,\r\n PhotoCaptureModule,\r\n ButtonModule,\r\n TileModule,\r\n LoadingStateModule\r\n ],\r\n providers: [ImageCropperService],\r\n exports: [PhotoComponent]\r\n})\r\nexport class PhotoModule { }\r\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;IA8DE,wBACU,mBAAwC,EACxC,mBAAwC;QADxC,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,wBAAmB,GAAnB,mBAAmB,CAAqB;QAvCzC,QAAG,GAAG,KAAK,CAAC;QAEZ,oBAAe,GAAG,cAAc,CAAC;QACjC,cAAS,GAAG,QAAQ,CAAC;QACrB,iBAAY,GAAG,CAAC,CAAC;QACjB,eAAU,GAAG,GAAG,CAAC;QACjB,gBAAW,GAAG,GAAG,CAAC;QAClB,mBAAc,GAAG,IAAI,CAAC;QACtB,oBAAe,GAAG,IAAI,CAAC;QAEvB,iBAAY,GAAG,UAAU,CAAC;QAC1B,wBAAmB,GAAG,UAAU,CAAC;QACjC,sBAAiB,GAAG,UAAU,CAAC;QAE/B,sBAAiB,GAAG,SAAS,CAAC;QAC9B,6BAAwB,GAAG,UAAU,CAAC;QACtC,yBAAoB,GAAG,mBAAmB,CAAC;QAC3C,0BAAqB,GAAG,QAAQ,CAAC;QACjC,gCAA2B,GAAG,wCAAwC,CAAC;QACvE,2BAAsB,GAAG,UAAU,CAAC;QACpC,sCAAiC,GAAG,uCAAuC,CAAC;QAC5E,sBAAiB,GAAG,UAAU,CAAC;QAE9B,cAAS,GAAG,IAAI,YAAY,EAAE,CAAC;QAC/B,eAAU,GAAG,IAAI,YAAY,EAAE,CAAC;QAChC,gBAAW,GAAG,IAAI,YAAY,EAAE,CAAC;QACjC,gBAAW,GAAG,IAAI,YAAY,EAAE,CAAC;QACjC,qBAAgB,GAAG,IAAI,YAAY,EAAE,CAAC;QACtC,cAAS,GAAG,IAAI,YAAY,EAAE,CAAC;QAGlC,iBAAY,GAAG,KAAK,CAAC;QACrB,oBAAe,GAAG,KAAK,CAAC;QAEvB,aAAQ;;;;QAAG,UAAC,CAAM,KAAQ,EAAC;QAC3B,cAAS;;;QAAG,eAAS,EAAC;KAKzB;;;;IAEE,oCAAW;;;IAAlB;QACE,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,cAAc,EAAE;YAC/C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;SAC7B;aAAM,IAAI,IAAI,CAAC,eAAe,EAAE;YAC/B,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB;aAAM,IAAI,IAAI,CAAC,cAAc,EAAE;YAC9B,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB;KACF;;;;;IAEM,yCAAgB;;;;IAAvB,UAAwB,EAAoB;QAC1C,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;KACpB;;;;;IAEM,0CAAiB;;;;IAAxB,UAAyB,EAAc;QACrC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACrB;;;;;IAEM,mCAAU;;;;IAAjB,UAAkB,KAAU;QAC1B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;KACpB;;;;IAEM,qCAAY;;;IAAnB;QACE,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1C,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;QACjC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;KACxB;;;;IAEM,6CAAoB;;;IAA3B;QACE,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;KAC9B;;;;IAEM,qCAAY;;;IAAnB;QACE,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,oBAAC,IAAI,CAAC,UAAU,CAAC,aAAa,IAAsB,KAAK,GAAG,IAAI,CAAC;QACjE,oBAAC,IAAI,CAAC,UAAU,CAAC,aAAa,IAAsB,KAAK,EAAE,CAAC;KAC7D;;;;;IAEM,sCAAa;;;;IAApB,UAAqB,KAAU;QACvB,IAAA,sCAA+B,EAA9B,YAA8B;QACrC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;KACxB;;;;IAEM,sCAAa;;;IAApB;QACE,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC;QAChC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;KACzB;;;;IAEM,uCAAc;;;IAArB;QACE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1C,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,CAAC;KACtC;;;;;IAEM,oCAAW;;;;IAAlB,UAAmB,KAAK;QACtB,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,GAAG,EAAE;YAClD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC7B,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;KACF;;;;;IAEM,sCAAa;;;;IAApB,UAAqB,KAAK;QACxB,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,GAAG,EAAE;YAClD,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC9B;KACF;;;;;;IAEO,oCAAW;;;;;IAAnB,UAAoB,IAAI;QAAxB,iBAOC;QANC,IAAI,IAAI,EAAE;;gBACF,UAAU,GAAG,IAAI,UAAU,EAAE;YACnC,UAAU,CAAC,SAAS;;;;;gBAClB,UAAA,WAAW,IAAI,OAAA,KAAI,CAAC,YAAY,CAAC,WAAW,CAAC,GAAA,CAAA,CAAC;YAChD,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;SAChC;KACF;;;;;;IAEO,qCAAY;;;;;IAApB,UAAqB,WAAW;QAAhC,iBAkBC;QAjBC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC;YAC5B,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,MAAM;YACtC,aAAa;;;;YAAE,UAAA,WAAW;gBACxB,WAAW,CAAC,MAAM;;;;gBAAC,UAAA,IAAI;oBACrB,KAAI,CAAC,eAAe,CAAC,WAAW,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,CAAC;oBACpD,KAAI,CAAC,YAAY,EAAE,CAAC;iBACrB,EAAC,CAAC;aACJ,CAAA;YACD,MAAM,EAAE,IAAI,CAAC,YAAY;YACzB,qBAAqB,EAAE,IAAI,CAAC,mBAAmB;YAC/C,kBAAkB,EAAE,KAAK;YACzB,WAAW,EAAE,KAAK;YAClB,SAAS,EAAE,IAAI,CAAC,iBAAiB;YACjC,OAAO,EAAE,IAAI;YACb,WAAW,EAAE,CAAC,GAAG,CAAC;SACnB,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC5B;;;;;IAEO,qCAAY;;;;IAApB;QACE,IAAI,IAAI,CAAC,iBAAiB,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE;YAC1D,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACvC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;YACrC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC3B;aAAM;YACL,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;SAC9B;KACF;;;;;IAEO,0CAAiB;;;;IAAzB;QACE,OAAO,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,IAAI,IAAI,CAAC;KAC1C;;;;;;;IAEO,wCAAe;;;;;;IAAvB,UAAwB,QAAQ,EAAE,SAAS;QACzC,IAAI,CAAC,YAAY,GAAG;YAClB,KAAK,EAAE,QAAQ;YACf,IAAI,EAAE,SAAS;SAChB,CAAC;KACH;;gBAjLF,SAAS,SAAC;oBACT,QAAQ,EAAE,WAAW;oBACrB,wqDAAqC;oBAErC,SAAS,EAAE;wBACT;4BACE,OAAO,EAAE,iBAAiB;4BAC1B,WAAW,EAAE,cAAc;4BAC3B,KAAK,EAAE,IAAI;yBACZ;qBACF;oBACD,aAAa,EAAE,iBAAiB,CAAC,IAAI;;iBACtC;;;;gBAjBQ,mBAAmB;gBACnB,mBAAmB;;;6BAkBzB,SAAS,SAAC,YAAY;sBAEtB,KAAK;wBACL,KAAK;kCACL,KAAK;4BACL,KAAK;+BACL,KAAK;6BACL,KAAK;8BACL,KAAK;iCACL,KAAK;kCACL,KAAK;+BAEL,KAAK;sCACL,KAAK;oCACL,KAAK;oCAEL,KAAK;2CACL,KAAK;uCACL,KAAK;wCACL,KAAK;8CACL,KAAK;yCACL,KAAK;oDACL,KAAK;oCACL,KAAK;4BAEL,MAAM;6BACN,MAAM;8BACN,MAAM;8BACN,MAAM;mCACN,MAAM;4BACN,MAAM;;IAuIT,qBAAC;CAnLD;;;;;;ACTA;IAiBA;KAiB4B;;gBAjB3B,QAAQ,SAAC;oBACR,YAAY,EAAE,CAAC,cAAc,CAAC;oBAC9B,OAAO,EAAE;wBACP,WAAW;wBACX,YAAY;wBACZ,WAAW;wBACX,gBAAgB;wBAChB,kBAAkB;wBAClB,mBAAmB;wBACnB,kBAAkB;wBAClB,YAAY;wBACZ,UAAU;wBACV,kBAAkB;qBACnB;oBACD,SAAS,EAAE,CAAC,mBAAmB,CAAC;oBAChC,OAAO,EAAE,CAAC,cAAc,CAAC;iBAC1B;;IAC0B,kBAAC;CAjB5B;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"sam-senior-photo.js.map","sources":["ng://@sam-senior/photo/lib/photo.component.ts","ng://@sam-senior/photo/lib/photo.module.ts"],"sourcesContent":["import { Component, ViewChild, EventEmitter, ElementRef, ViewEncapsulation, OnInit } from '@angular/core';\r\nimport { Input } from '@angular/core';\r\nimport { Output } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { ImageCropperService } from '@seniorsistemas/angular-components';\r\nimport { PhotoCaptureService } from '@sam-senior/photo-capture';\r\n\r\nimport { PhotoModel } from './photo.model';\r\n\r\n@Component({\r\n selector: 'sam-photo',\r\n templateUrl: './photo.component.html',\r\n styleUrls: ['./photo.component.css'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: PhotoComponent,\r\n multi: true\r\n }\r\n ],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class PhotoComponent implements ControlValueAccessor {\r\n @ViewChild(`imageInput`) imageInput: ElementRef;\r\n\r\n @Input() key = 'key';\r\n @Input() photo: string;\r\n @Input() actionIconClass = 'fa fa-camera';\r\n @Input() photoSize = 'medium';\r\n @Input() maxPhotoSize = 1;\r\n @Input() photoWidth = 670;\r\n @Input() photoHeight = 400;\r\n @Input() canPhotoUpload = true;\r\n @Input() canPhotoCapture = true;\r\n\r\n @Input() cropperTitle = `Recortar`;\r\n @Input() cropperActionCancel = `Cancelar`;\r\n @Input() cropperActionCrop = `Recortar`;\r\n\r\n @Input() cameraDialogLabel = `Captura`;\r\n @Input() cameraDialogCaptureLabel = `Capturar`;\r\n @Input() selectPhotoTypeLabel = `Selecionar imagem`;\r\n @Input() selectUploadTypeLabel = `Upload`;\r\n @Input() selectUploadTypeDescription = `Selecione uma imagem do seu computador`;\r\n @Input() selectCaptureTypeLabel = `Capturar`;\r\n @Input() selectCaptureTypeLabelDescription = `Capture uma imagem do seu dispositivo`;\r\n @Input() dialogCancelLabel = `Cancelar`;\r\n\r\n @Output() photoCrop = new EventEmitter();\r\n @Output() openCamera = new EventEmitter();\r\n @Output() closeCamera = new EventEmitter();\r\n @Output() cameraError = new EventEmitter();\r\n @Output() invalidPhotoSize = new EventEmitter();\r\n @Output() isLoading = new EventEmitter();\r\n\r\n public photoContent: PhotoModel;\r\n public cameraDialog = false;\r\n public selectPhotoType = false;\r\n\r\n private onChange = (_: any) => { };\r\n private onTouched = () => { };\r\n\r\n constructor(\r\n private imageCropperService: ImageCropperService,\r\n private photoCaptureService: PhotoCaptureService\r\n ) { }\r\n\r\n public changePhoto() {\r\n if (this.canPhotoCapture && this.canPhotoUpload) {\r\n this.selectPhotoType = true;\r\n } else if (this.canPhotoCapture) {\r\n this.onOpenCamera();\r\n } else if (this.canPhotoUpload) {\r\n this.onOpenUpload();\r\n }\r\n }\r\n\r\n public registerOnChange(fn: (_: any) => void): void {\r\n this.onChange = fn;\r\n }\r\n\r\n public registerOnTouched(fn: () => void): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n public writeValue(value: any) {\r\n this.photo = value;\r\n }\r\n\r\n public onOpenCamera() {\r\n this.closeSelectPhotoType();\r\n this.cameraDialog = true;\r\n this.photoCaptureService.setKey(this.key);\r\n this.photoCaptureService.start();\r\n this.openCamera.emit();\r\n }\r\n\r\n public closeSelectPhotoType() {\r\n this.selectPhotoType = false;\r\n }\r\n\r\n public onOpenUpload() {\r\n this.closeSelectPhotoType();\r\n (this.imageInput.nativeElement as HTMLInputElement).value = null;\r\n (this.imageInput.nativeElement as HTMLInputElement).click();\r\n }\r\n\r\n public photoSelected(event: any) {\r\n const [file] = event.srcElement.files;\r\n this.photoRender(file);\r\n }\r\n\r\n public onCloseCamera() {\r\n this.cameraDialog = false;\r\n this.photoCaptureService.stop();\r\n this.closeCamera.emit();\r\n }\r\n\r\n public onPhotoCapture() {\r\n this.isLoading.emit(true);\r\n this.photoCaptureService.setKey(this.key);\r\n this.photoCaptureService.takePhoto();\r\n }\r\n\r\n public onPhotoTake(photo) {\r\n if (this.photoCaptureService.getKey() === this.key) {\r\n this.photoRender(photo.blob);\r\n this.onCloseCamera();\r\n }\r\n }\r\n\r\n public onCameraError(error) {\r\n if (this.photoCaptureService.getKey() === this.key) {\r\n this.onCloseCamera();\r\n this.cameraError.emit(error);\r\n }\r\n }\r\n\r\n private photoRender(file) {\r\n if (file) {\r\n const fileReader = new FileReader();\r\n fileReader.onloadend =\r\n photoRender => this.photoChopper(photoRender);\r\n fileReader.readAsDataURL(file);\r\n }\r\n }\r\n\r\n private photoChopper(photoRender) {\r\n this.imageCropperService.show({\r\n imageSource: photoRender.target.result,\r\n croppedCanvas: imageCanvas => {\r\n imageCanvas.toBlob(blob => {\r\n this.setPhotoContent(imageCanvas.toDataURL(), blob);\r\n this.onCreateBlob();\r\n });\r\n },\r\n header: this.cropperTitle,\r\n emptyStateActionLabel: this.cropperActionCancel,\r\n allowSelectAnother: false,\r\n allowRemove: false,\r\n cropLabel: this.cropperActionCrop,\r\n rounded: true,\r\n aspectRatio: 3 / 4\r\n });\r\n this.isLoading.emit(false);\r\n }\r\n\r\n private onCreateBlob() {\r\n if (this.getMaxSizeInBites() > this.photoContent.blob.size) {\r\n this.photoCrop.emit(this.photoContent);\r\n this.photo = this.photoContent.image;\r\n this.onChange(this.photo);\r\n } else {\r\n this.invalidPhotoSize.emit();\r\n }\r\n }\r\n\r\n private getMaxSizeInBites() {\r\n return (this.maxPhotoSize * 1000) * 1000;\r\n }\r\n\r\n private setPhotoContent(imageUri, imageBlob) {\r\n this.photoContent = {\r\n image: imageUri,\r\n blob: imageBlob\r\n };\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { ConfirmDialogModule } from 'primeng/confirmdialog';\r\nimport { PanelModule } from 'primeng/panel';\r\nimport {\r\n ImageCropperModule,\r\n StepsModule,\r\n ObjectCardModule,\r\n ButtonModule,\r\n TileModule,\r\n ImageCropperService,\r\n LoadingStateModule\r\n} from '@seniorsistemas/angular-components';\r\nimport { DialogModule } from 'primeng/dialog';\r\nimport { PhotoCaptureModule } from '@sam-senior/photo-capture';\r\n\r\nimport { PhotoComponent } from './photo.component';\r\n\r\n@NgModule({\r\n declarations: [PhotoComponent],\r\n imports: [\r\n PanelModule,\r\n DialogModule,\r\n StepsModule,\r\n ObjectCardModule,\r\n ImageCropperModule,\r\n ConfirmDialogModule,\r\n PhotoCaptureModule,\r\n ButtonModule,\r\n TileModule,\r\n LoadingStateModule\r\n ],\r\n providers: [ImageCropperService],\r\n exports: [PhotoComponent]\r\n})\r\nexport class PhotoModule { }\r\n"],"names":[],"mappings":"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"}
@@ -27,12 +27,12 @@ export declare class PhotoComponent implements ControlValueAccessor {
27
27
  selectCaptureTypeLabel: string;
28
28
  selectCaptureTypeLabelDescription: string;
29
29
  dialogCancelLabel: string;
30
- photoCrop: EventEmitter<{}>;
31
- openCamera: EventEmitter<{}>;
32
- closeCamera: EventEmitter<{}>;
33
- cameraError: EventEmitter<{}>;
34
- invalidPhotoSize: EventEmitter<{}>;
35
- isLoading: EventEmitter<{}>;
30
+ photoCrop: EventEmitter<any>;
31
+ openCamera: EventEmitter<any>;
32
+ closeCamera: EventEmitter<any>;
33
+ cameraError: EventEmitter<any>;
34
+ invalidPhotoSize: EventEmitter<any>;
35
+ isLoading: EventEmitter<any>;
36
36
  photoContent: PhotoModel;
37
37
  cameraDialog: boolean;
38
38
  selectPhotoType: boolean;
package/package.json CHANGED
@@ -1,28 +1,27 @@
1
1
  {
2
2
  "name": "@sam-senior/photo",
3
- "version": "1.2.8",
3
+ "version": "1.2.9",
4
4
  "peerDependencies": {
5
- "@angular/animations": "~7.2.0",
6
- "@angular/cdk": "7.3.2",
7
- "@angular/http": "7.1.4",
8
- "@seniorsistemas/angular-components": "~10.0.1",
9
- "@seniorsistemas/primeng-theme": "5.0.7",
10
- "@seniorsistemas/senior-platform-data": "2.0.4",
5
+ "@angular/animations": "^9.1.13",
6
+ "@angular/cdk": "^9.2.4",
7
+ "@angular/http": "~9.1.13",
8
+ "@seniorsistemas/angular-components": "17.3.10",
9
+ "@seniorsistemas/primeng-theme": "^9.0.13",
10
+ "@seniorsistemas/senior-platform-data": "5.4.0",
11
11
  "angular2-hotkeys": "2.1.4",
12
12
  "angular2-text-mask": "~9.0.0",
13
13
  "font-awesome": "~4.7.0",
14
14
  "moment": "2.24.0",
15
- "ng2-currency-mask": "5.3.1",
16
- "primeicons": "1.0.0",
17
- "primeng": "7.0.5",
18
- "rxjs": "~6.3.3",
15
+ "ng2-currency-mask": "~5.3.1",
16
+ "primeicons": "^1.0.0",
17
+ "primeng": "~9.1.13",
18
+ "rxjs": "6.6.7",
19
19
  "rxjs-compat": "~6.2.2",
20
20
  "tslib": "1.9.0",
21
21
  "zone.js": "0.8.29"
22
22
  },
23
23
  "dependencies": {
24
- "@sam-senior/photo-capture": "1.2.2",
25
- "tslib": "^1.9.0"
24
+ "@sam-senior/photo-capture": "1.2.2"
26
25
  },
27
26
  "main": "bundles/sam-senior-photo.umd.js",
28
27
  "module": "fesm5/sam-senior-photo.js",
@@ -1 +1 @@
1
- {"__symbolic":"module","version":4,"metadata":{"PhotoModel":{"__symbolic":"interface"},"PhotoComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"selector":"sam-photo","providers":[{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR","line":15,"character":15},"useExisting":{"__symbolic":"reference","name":"PhotoComponent"},"multi":true}],"encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":20,"character":17},"member":"None"},"template":"<input #imageInput type=\"file\" class=\"photo__input-file--hidden\" (change)=\"photoSelected($event)\" accept=\"image/*\">\r\n<s-thumbnail [size]=\"photoSize\" iconClass=\"fa fa-user\" (click)=\"changePhoto()\"\r\n [hasAction]=\"canPhotoUpload || canPhotoCapture\" [imageSource]=\"photo\" [actionIconClass]=\"actionIconClass\">\r\n</s-thumbnail>\r\n\r\n<p-dialog styleClass=\"photo-capture-custom\" [(visible)]=\"cameraDialog\" [header]=\"cameraDialogLabel\"\r\n [width]=\"photoWidth + 30\" appendTo='body' [modal]=\"true\">\r\n <sam-photo-capture [width]=\"photoWidth\" [height]=\"photoHeight\" (photoTake)=\"onPhotoTake($event)\"\r\n (error)=\"onCameraError($event)\"></sam-photo-capture>\r\n <p-footer>\r\n <s-button id=\"takePhotoBtn\" priority=\"primary\" [label]=\"cameraDialogCaptureLabel\" (click)=\"onPhotoCapture()\">\r\n </s-button>\r\n <s-button id=\"cancelBtn\" priority=\"link\" [label]=\"dialogCancelLabel\" (click)=\"onCloseCamera()\"></s-button>\r\n </p-footer>\r\n</p-dialog>\r\n\r\n<p-dialog [(visible)]=\"selectPhotoType\" [header]=\"selectPhotoTypeLabel\" [width]=\"400\" appendTo='body' [modal]=\"true\"\r\n [closable]=\"false\">\r\n <s-tile [label]=\"selectUploadTypeLabel\" [description]=\"selectUploadTypeDescription\" iconClass=\"fa fa-upload\"\r\n (click)=\"onOpenUpload()\"></s-tile>\r\n <br>\r\n <s-tile [label]=\"selectCaptureTypeLabel\" [description]=\"selectCaptureTypeLabelDescription\" iconClass=\"fa fa-camera\"\r\n (click)=\"onOpenCamera()\"></s-tile>\r\n <p-footer>\r\n <s-button id=\"cancelBtn\" priority=\"link\" [label]=\"dialogCancelLabel\" (click)=\"closeSelectPhotoType()\"></s-button>\r\n </p-footer>\r\n</p-dialog>","styles":[".photo__input-file--hidden{position:fixed;top:-100em}.select-photo-type-container{display:flex;flex-direction:row;align-items:center;justify-content:center}.select-photo-type-item{color:gray;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center}.select-photo-type-item:nth-child(1){border-right:1px solid #ccc}.select-photo-type-item i{font-size:80px;margin-left:40px;margin-right:40px}.select-photo-type-item span{margin-top:10px}"]}]}],"members":{"imageInput":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":23,"character":3},"arguments":["imageInput"]}]}],"key":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":3}}]}],"photo":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":3}}]}],"actionIconClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":3}}]}],"photoSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":3}}]}],"maxPhotoSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":3}}]}],"photoWidth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":3}}]}],"photoHeight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":31,"character":3}}]}],"canPhotoUpload":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":32,"character":3}}]}],"canPhotoCapture":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":3}}]}],"cropperTitle":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":35,"character":3}}]}],"cropperActionCancel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":36,"character":3}}]}],"cropperActionCrop":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":37,"character":3}}]}],"cameraDialogLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":39,"character":3}}]}],"cameraDialogCaptureLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":40,"character":3}}]}],"selectPhotoTypeLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":41,"character":3}}]}],"selectUploadTypeLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":42,"character":3}}]}],"selectUploadTypeDescription":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":43,"character":3}}]}],"selectCaptureTypeLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":44,"character":3}}]}],"selectCaptureTypeLabelDescription":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":45,"character":3}}]}],"dialogCancelLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":46,"character":3}}]}],"photoCrop":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":48,"character":3}}]}],"openCamera":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":49,"character":3}}]}],"closeCamera":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":50,"character":3}}]}],"cameraError":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":51,"character":3}}]}],"invalidPhotoSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":52,"character":3}}]}],"isLoading":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":53,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@seniorsistemas/angular-components","name":"ImageCropperService","line":63,"character":33},{"__symbolic":"reference","module":"@sam-senior/photo-capture","name":"PhotoCaptureService","line":64,"character":33}]}],"changePhoto":[{"__symbolic":"method"}],"registerOnChange":[{"__symbolic":"method"}],"registerOnTouched":[{"__symbolic":"method"}],"writeValue":[{"__symbolic":"method"}],"onOpenCamera":[{"__symbolic":"method"}],"closeSelectPhotoType":[{"__symbolic":"method"}],"onOpenUpload":[{"__symbolic":"method"}],"photoSelected":[{"__symbolic":"method"}],"onCloseCamera":[{"__symbolic":"method"}],"onPhotoCapture":[{"__symbolic":"method"}],"onPhotoTake":[{"__symbolic":"method"}],"onCameraError":[{"__symbolic":"method"}],"photoRender":[{"__symbolic":"method"}],"photoChopper":[{"__symbolic":"method"}],"onCreateBlob":[{"__symbolic":"method"}],"getMaxSizeInBites":[{"__symbolic":"method"}],"setPhotoContent":[{"__symbolic":"method"}]}},"PhotoModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":17,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"PhotoComponent"}],"imports":[{"__symbolic":"reference","module":"primeng/panel","name":"PanelModule","line":20,"character":4},{"__symbolic":"reference","module":"primeng/dialog","name":"DialogModule","line":21,"character":4},{"__symbolic":"reference","module":"@seniorsistemas/angular-components","name":"StepsModule","line":22,"character":4},{"__symbolic":"reference","module":"@seniorsistemas/angular-components","name":"ObjectCardModule","line":23,"character":4},{"__symbolic":"reference","module":"@seniorsistemas/angular-components","name":"ImageCropperModule","line":24,"character":4},{"__symbolic":"reference","module":"primeng/confirmdialog","name":"ConfirmDialogModule","line":25,"character":4},{"__symbolic":"reference","module":"@sam-senior/photo-capture","name":"PhotoCaptureModule","line":26,"character":4},{"__symbolic":"reference","module":"@seniorsistemas/angular-components","name":"ButtonModule","line":27,"character":4},{"__symbolic":"reference","module":"@seniorsistemas/angular-components","name":"TileModule","line":28,"character":4},{"__symbolic":"reference","module":"@seniorsistemas/angular-components","name":"LoadingStateModule","line":29,"character":4}],"providers":[{"__symbolic":"reference","module":"@seniorsistemas/angular-components","name":"ImageCropperService","line":31,"character":14}],"exports":[{"__symbolic":"reference","name":"PhotoComponent"}]}]}],"members":{}}},"origins":{"PhotoModel":"./lib/photo.model","PhotoComponent":"./lib/photo.component","PhotoModule":"./lib/photo.module"},"importAs":"@sam-senior/photo"}
1
+ {"__symbolic":"module","version":4,"metadata":{"PhotoModel":{"__symbolic":"interface"},"PhotoComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"selector":"sam-photo","providers":[{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR","line":15,"character":15},"useExisting":{"__symbolic":"reference","name":"PhotoComponent"},"multi":true}],"encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":20,"character":17},"member":"None"},"template":"<input #imageInput type=\"file\" class=\"photo__input-file--hidden\" (change)=\"photoSelected($event)\" accept=\"image/*\">\r\n<s-thumbnail [size]=\"photoSize\" iconClass=\"fa fa-user\" (click)=\"changePhoto()\"\r\n [hasAction]=\"canPhotoUpload || canPhotoCapture\" [imageSource]=\"photo\" [actionIconClass]=\"actionIconClass\">\r\n</s-thumbnail>\r\n\r\n<p-dialog styleClass=\"photo-capture-custom\" [(visible)]=\"cameraDialog\" [header]=\"cameraDialogLabel\"\r\n [style]=\"{width: '700px'}\" appendTo='body' [modal]=\"true\">\r\n <sam-photo-capture [width]=\"photoWidth\" [height]=\"photoHeight\" (photoTake)=\"onPhotoTake($event)\"\r\n (error)=\"onCameraError($event)\"></sam-photo-capture>\r\n <p-footer>\r\n <s-button id=\"takePhotoBtn\" priority=\"primary\" [label]=\"cameraDialogCaptureLabel\" (click)=\"onPhotoCapture()\">\r\n </s-button>\r\n <s-button id=\"cancelBtn\" priority=\"link\" [label]=\"dialogCancelLabel\" (click)=\"onCloseCamera()\"></s-button>\r\n </p-footer>\r\n</p-dialog>\r\n\r\n<p-dialog [(visible)]=\"selectPhotoType\" [header]=\"selectPhotoTypeLabel\" [style]=\"{width: '400px'}\" appendTo='body' [modal]=\"true\"\r\n [closable]=\"false\">\r\n <s-tile [label]=\"selectUploadTypeLabel\" [description]=\"selectUploadTypeDescription\" iconClass=\"fa fa-upload\"\r\n (click)=\"onOpenUpload()\"></s-tile>\r\n <br>\r\n <s-tile [label]=\"selectCaptureTypeLabel\" [description]=\"selectCaptureTypeLabelDescription\" iconClass=\"fa fa-camera\"\r\n (click)=\"onOpenCamera()\"></s-tile>\r\n <p-footer>\r\n <s-button id=\"cancelBtn\" priority=\"link\" [label]=\"dialogCancelLabel\" (click)=\"closeSelectPhotoType()\"></s-button>\r\n </p-footer>\r\n</p-dialog>\r\n","styles":[".photo__input-file--hidden{position:fixed;top:-100em}.select-photo-type-container{display:flex;flex-direction:row;align-items:center;justify-content:center}.select-photo-type-item{color:gray;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center}.select-photo-type-item:nth-child(1){border-right:1px solid #ccc}.select-photo-type-item i{font-size:80px;margin-left:40px;margin-right:40px}.select-photo-type-item span{margin-top:10px}"]}]}],"members":{"imageInput":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":23,"character":3},"arguments":["imageInput"]}]}],"key":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":3}}]}],"photo":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":3}}]}],"actionIconClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":3}}]}],"photoSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":3}}]}],"maxPhotoSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":3}}]}],"photoWidth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":3}}]}],"photoHeight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":31,"character":3}}]}],"canPhotoUpload":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":32,"character":3}}]}],"canPhotoCapture":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":3}}]}],"cropperTitle":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":35,"character":3}}]}],"cropperActionCancel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":36,"character":3}}]}],"cropperActionCrop":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":37,"character":3}}]}],"cameraDialogLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":39,"character":3}}]}],"cameraDialogCaptureLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":40,"character":3}}]}],"selectPhotoTypeLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":41,"character":3}}]}],"selectUploadTypeLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":42,"character":3}}]}],"selectUploadTypeDescription":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":43,"character":3}}]}],"selectCaptureTypeLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":44,"character":3}}]}],"selectCaptureTypeLabelDescription":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":45,"character":3}}]}],"dialogCancelLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":46,"character":3}}]}],"photoCrop":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":48,"character":3}}]}],"openCamera":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":49,"character":3}}]}],"closeCamera":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":50,"character":3}}]}],"cameraError":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":51,"character":3}}]}],"invalidPhotoSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":52,"character":3}}]}],"isLoading":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":53,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@seniorsistemas/angular-components","name":"ImageCropperService","line":63,"character":33},{"__symbolic":"reference","module":"@sam-senior/photo-capture","name":"PhotoCaptureService","line":64,"character":33}]}],"changePhoto":[{"__symbolic":"method"}],"registerOnChange":[{"__symbolic":"method"}],"registerOnTouched":[{"__symbolic":"method"}],"writeValue":[{"__symbolic":"method"}],"onOpenCamera":[{"__symbolic":"method"}],"closeSelectPhotoType":[{"__symbolic":"method"}],"onOpenUpload":[{"__symbolic":"method"}],"photoSelected":[{"__symbolic":"method"}],"onCloseCamera":[{"__symbolic":"method"}],"onPhotoCapture":[{"__symbolic":"method"}],"onPhotoTake":[{"__symbolic":"method"}],"onCameraError":[{"__symbolic":"method"}],"photoRender":[{"__symbolic":"method"}],"photoChopper":[{"__symbolic":"method"}],"onCreateBlob":[{"__symbolic":"method"}],"getMaxSizeInBites":[{"__symbolic":"method"}],"setPhotoContent":[{"__symbolic":"method"}]}},"PhotoModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":17,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"PhotoComponent"}],"imports":[{"__symbolic":"reference","module":"primeng/panel","name":"PanelModule","line":20,"character":4},{"__symbolic":"reference","module":"primeng/dialog","name":"DialogModule","line":21,"character":4},{"__symbolic":"reference","module":"@seniorsistemas/angular-components","name":"StepsModule","line":22,"character":4},{"__symbolic":"reference","module":"@seniorsistemas/angular-components","name":"ObjectCardModule","line":23,"character":4},{"__symbolic":"reference","module":"@seniorsistemas/angular-components","name":"ImageCropperModule","line":24,"character":4},{"__symbolic":"reference","module":"primeng/confirmdialog","name":"ConfirmDialogModule","line":25,"character":4},{"__symbolic":"reference","module":"@sam-senior/photo-capture","name":"PhotoCaptureModule","line":26,"character":4},{"__symbolic":"reference","module":"@seniorsistemas/angular-components","name":"ButtonModule","line":27,"character":4},{"__symbolic":"reference","module":"@seniorsistemas/angular-components","name":"TileModule","line":28,"character":4},{"__symbolic":"reference","module":"@seniorsistemas/angular-components","name":"LoadingStateModule","line":29,"character":4}],"providers":[{"__symbolic":"reference","module":"@seniorsistemas/angular-components","name":"ImageCropperService","line":31,"character":14}],"exports":[{"__symbolic":"reference","name":"PhotoComponent"}]}]}],"members":{}}},"origins":{"PhotoModel":"./lib/photo.model","PhotoComponent":"./lib/photo.component","PhotoModule":"./lib/photo.module"},"importAs":"@sam-senior/photo"}