New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

lacuna-image-viewer

Package Overview
Dependencies
Maintainers
1
Versions
21
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

lacuna-image-viewer - npm Package Compare versions

Comparing version 1.0.13-beta.3 to 1.0.13-beta.4

68

bundles/lacuna-image-viewer.umd.js
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@angular/material'), require('screenfull')) :
typeof define === 'function' && define.amd ? define('lacuna-image-viewer', ['exports', '@angular/core', '@angular/common', '@angular/material', 'screenfull'], factory) :
(global = global || self, factory(global['lacuna-image-viewer'] = {}, global.ng.core, global.ng.common, global.ng.material, global.screenfull));
}(this, function (exports, core, common, material, screenfull) { 'use strict';
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@angular/material'), require('angular-bigscreen')) :
typeof define === 'function' && define.amd ? define('lacuna-image-viewer', ['exports', '@angular/core', '@angular/common', '@angular/material', 'angular-bigscreen'], factory) :
(global = global || self, factory(global['lacuna-image-viewer'] = {}, global.ng.core, global.ng.common, global.ng.material, global.angularBigscreen));
}(this, function (exports, core, common, material, angularBigscreen) { 'use strict';

@@ -56,41 +56,2 @@ /*! *****************************************************************************

// [DEPRECATED] In LacunaImageViewer, this directive turned deprecated because it
// has a little bug: while in fullscreen mode, if we exit it by pressing "ESC", the
// "fullscreen" state, represented by the variable "isFullscreen", is not updated;
// consequently, the next time the user wants to get into fullscreen mode, it will
// be necessary to press the fullscreen button twice.
var ToggleFullscreenDirective = /** @class */ (function () {
function ToggleFullscreenDirective(el) {
this.el = el;
}
ToggleFullscreenDirective.prototype.ngOnChanges = function () {
if (isScreenFullAvailable(screenfull)) {
if (this.isFullscreen && screenfull.enabled) {
screenfull.request(this.el.nativeElement);
}
else if (screenfull.enabled) {
screenfull.exit();
}
}
else {
// Should not happen. See https://github.com/sindresorhus/screenfull.js/issues/126
console.log("[lacuna-image-viewer warning] Screenfull could not be used");
}
};
__decorate([
core.Input('ngxToggleFullscreen'),
__metadata("design:type", Boolean)
], ToggleFullscreenDirective.prototype, "isFullscreen", void 0);
ToggleFullscreenDirective = __decorate([
core.Directive({
selector: '[ngxToggleFullscreen]'
}),
__metadata("design:paramtypes", [core.ElementRef])
], ToggleFullscreenDirective);
return ToggleFullscreenDirective;
}());
function isScreenFullAvailable(sf) {
return sf.enabled !== undefined;
}
var DEFAULT_CONFIG = {

@@ -123,4 +84,5 @@ btnClass: 'mat-mini-fab',

var ImageViewerComponent = /** @class */ (function () {
function ImageViewerComponent(moduleConfig) {
function ImageViewerComponent(moduleConfig, bigScreenService) {
this.moduleConfig = moduleConfig;
this.bigScreenService = bigScreenService;
this.index = 0;

@@ -209,13 +171,7 @@ this.indexChange = new core.EventEmitter();

ImageViewerComponent.prototype.toggleFullscreen = function () {
if (isScreenFullAvailable(screenfull)) {
if (screenfull.enabled && this.config.allowFullscreen) {
screenfull.toggle(this.fullscreenElement.nativeElement);
}
else {
console.log("[lacuna-image-viewer warning] method toggleFullscreen() called, but fullscreen is disabled");
}
if (this.bigScreenService.isEnabled && this.config.allowFullscreen) {
this.bigScreenService.toggle(this.fullscreenElement.nativeElement);
}
else {
// Should not happen. See https://github.com/sindresorhus/screenfull.js/issues/126
console.log("[lacuna-image-viewer warning] Screenfull could not be used");
console.log("[lacuna-image-viewer warning] method toggleFullscreen() called, but fullscreen is disabled");
}

@@ -323,3 +279,3 @@ };

__param(0, core.Optional()), __param(0, core.Inject('config')),
__metadata("design:paramtypes", [Object])
__metadata("design:paramtypes", [Object, angularBigscreen.BigScreenService])
], ImageViewerComponent);

@@ -343,2 +299,3 @@ return ImageViewerComponent;

imports: [
angularBigscreen.BigScreenModule,
common.CommonModule,

@@ -350,7 +307,5 @@ material.MatButtonModule,

ImageViewerComponent,
ToggleFullscreenDirective
],
exports: [
ImageViewerComponent,
ToggleFullscreenDirective
]

@@ -365,3 +320,2 @@ })

exports.ImageViewerModule = ImageViewerModule;
exports.ɵa = ToggleFullscreenDirective;

@@ -368,0 +322,0 @@ Object.defineProperty(exports, '__esModule', { value: true });

2

bundles/lacuna-image-viewer.umd.min.js

@@ -1,2 +0,2 @@

!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("@angular/core"),require("@angular/common"),require("@angular/material"),require("screenfull")):"function"==typeof define&&define.amd?define("lacuna-image-viewer",["exports","@angular/core","@angular/common","@angular/material","screenfull"],n):n((t=t||self)["lacuna-image-viewer"]={},t.ng.core,t.ng.common,t.ng.material,t.screenfull)}(this,function(t,n,e,o,i){"use strict";var r=function(){return(r=Object.assign||function(t){for(var n,e=1,o=arguments.length;e<o;e++)for(var i in n=arguments[e])Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i]);return t}).apply(this,arguments)};function a(t,n,e,o){var i,r=arguments.length,a=r<3?n:null===o?o=Object.getOwnPropertyDescriptor(n,e):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,n,e,o);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(r<3?i(a):r>3?i(n,e,a):i(n,e))||a);return r>3&&a&&Object.defineProperty(n,e,a),a}function s(t,n){return function(e,o){n(e,o,t)}}function c(t,n){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,n)}var l=function(t,n){this.name=t,this.imageIndex=n},u=function(){function t(t){this.el=t}return t.prototype.ngOnChanges=function(){g(i)?this.isFullscreen&&i.enabled?i.request(this.el.nativeElement):i.enabled&&i.exit():console.log("[lacuna-image-viewer warning] Screenfull could not be used")},a([n.Input("ngxToggleFullscreen"),c("design:type",Boolean)],t.prototype,"isFullscreen",void 0),t=a([n.Directive({selector:"[ngxToggleFullscreen]"}),c("design:paramtypes",[n.ElementRef])],t)}();function g(t){return t.enabled!==undefined}var p={btnClass:"mat-mini-fab",zoomFactor:.1,containerBackgroundColor:"#ccc",allowCtrlWheelZoom:!0,allowFullscreen:!0,allowKeyboardNavigation:!0,allowDrag:!0,btnShow:{zoomIn:!0,zoomOut:!0,rotateClockwise:!0,rotateCounterClockwise:!0,next:!0,prev:!0},btnIcons:{zoomIn:"material-icons zoom-in",zoomOut:"material-icons zoom-out",rotateClockwise:"material-icons rotate-clockwise",rotateCounterClockwise:"material-icons rotate-counterclock",next:"material-icons next",prev:"material-icons prev",fullscreen:"material-icons fullscreen"}},f=function(){function t(t){this.moduleConfig=t,this.index=0,this.indexChange=new n.EventEmitter,this.configChange=new n.EventEmitter,this.customEvent=new n.EventEmitter,this.style={transform:"",msTransform:"",oTransform:"",webkitTransform:""},this.fullscreen=!1,this.loading=!0,this.scale=1,this.rotation=0,this.translateX=0,this.translateY=0,this.hovered=!1}return t.prototype.ngOnInit=function(){var t=this.mergeConfig(p,this.moduleConfig);this.config=this.mergeConfig(t,this.config),this.triggerConfigBinding()},t.prototype.nextImage=function(t){this.canNavigate(t)&&this.index<this.src.length-1&&(this.loading=!0,this.index++,this.triggerIndexBinding(),this.reset())},t.prototype.prevImage=function(t){this.canNavigate(t)&&this.index>0&&(this.loading=!0,this.index--,this.triggerIndexBinding(),this.reset())},t.prototype.zoomIn=function(){this.scale*=1+this.config.zoomFactor,this.updateStyle()},t.prototype.zoomOut=function(){this.scale>this.config.zoomFactor&&(this.scale/=1+this.config.zoomFactor),this.updateStyle()},t.prototype.scrollZoom=function(t){if(this.config.allowCtrlWheelZoom&&t.ctrlKey)return t.deltaY>0?this.zoomOut():this.zoomIn(),!1},t.prototype.rotateClockwise=function(){this.rotation+=90,this.updateStyle()},t.prototype.rotateCounterClockwise=function(){this.rotation-=90,this.updateStyle()},t.prototype.onLoad=function(){this.loading=!1},t.prototype.onLoadStart=function(){this.loading=!0},t.prototype.onDragOver=function(t){this.config.allowDrag&&(this.translateX+=t.clientX-this.prevX,this.translateY+=t.clientY-this.prevY,this.prevX=t.clientX,this.prevY=t.clientY,this.updateStyle())},t.prototype.onDragStart=function(t){this.config.allowDrag&&(t.dataTransfer&&t.dataTransfer.setDragImage&&t.dataTransfer.setDragImage(t.target.nextElementSibling,0,0),this.prevX=t.clientX,this.prevY=t.clientY)},t.prototype.toggleFullscreen=function(){g(i)?i.enabled&&this.config.allowFullscreen?i.toggle(this.fullscreenElement.nativeElement):console.log("[lacuna-image-viewer warning] method toggleFullscreen() called, but fullscreen is disabled"):console.log("[lacuna-image-viewer warning] Screenfull could not be used")},t.prototype.triggerIndexBinding=function(){this.indexChange.emit(this.index)},t.prototype.triggerConfigBinding=function(){this.configChange.next(this.config)},t.prototype.fireCustomEvent=function(t,n){this.customEvent.emit(new l(t,n))},t.prototype.reset=function(){this.scale=1,this.rotation=0,this.translateX=0,this.translateY=0,this.updateStyle()},t.prototype.onMouseOver=function(){this.hovered=!0},t.prototype.onMouseLeave=function(){this.hovered=!1},t.prototype.canNavigate=function(t){return null==t||this.config.allowKeyboardNavigation&&this.hovered},t.prototype.updateStyle=function(){this.style.transform="translate("+this.translateX+"px, "+this.translateY+"px) rotate("+this.rotation+"deg) scale("+this.scale+")",this.style.msTransform=this.style.transform,this.style.webkitTransform=this.style.transform,this.style.oTransform=this.style.transform},t.prototype.mergeConfig=function(t,n){var e=r({},t);return n&&(e=r({},t,n),n.btnIcons&&(e.btnIcons=r({},t.btnIcons,n.btnIcons))),e},a([n.Input(),c("design:type",Array)],t.prototype,"src",void 0),a([n.Input(),c("design:type",Object)],t.prototype,"index",void 0),a([n.Input(),c("design:type",Object)],t.prototype,"config",void 0),a([n.Output(),c("design:type",n.EventEmitter)],t.prototype,"indexChange",void 0),a([n.Output(),c("design:type",n.EventEmitter)],t.prototype,"configChange",void 0),a([n.Output(),c("design:type",n.EventEmitter)],t.prototype,"customEvent",void 0),a([n.ViewChild("fullscreenElement"),c("design:type",n.ElementRef)],t.prototype,"fullscreenElement",void 0),a([n.HostListener("window:keyup.ArrowRight",["$event"]),c("design:type",Function),c("design:paramtypes",[Object]),c("design:returntype",void 0)],t.prototype,"nextImage",null),a([n.HostListener("window:keyup.ArrowLeft",["$event"]),c("design:type",Function),c("design:paramtypes",[Object]),c("design:returntype",void 0)],t.prototype,"prevImage",null),a([n.HostListener("mouseover"),c("design:type",Function),c("design:paramtypes",[]),c("design:returntype",void 0)],t.prototype,"onMouseOver",null),a([n.HostListener("mouseleave"),c("design:type",Function),c("design:paramtypes",[]),c("design:returntype",void 0)],t.prototype,"onMouseLeave",null),t=a([n.Component({selector:"ngx-image-viewer",template:'<div #fullscreenElement class="img-container" [style.backgroundColor]="config.containerBackgroundColor"\n\t(wheel)="scrollZoom($event)" (dragover)="onDragOver($event)">\n\t<img [src]="src[index]" [ngStyle]="style" alt="Image not found..." (dragstart)="onDragStart($event)"\n\t\t(load)="onLoad()" (loadstart)="onLoadStart()" />\n\t\x3c!-- Div below will be used to hide the \'ghost\' image when dragging --\x3e\n\t<div></div>\n\t<div class="spinner-container" *ngIf="loading">\n\t\t<div class="spinner"></div>\n\t</div>\n\n\t<button type="button" mat-mini-fab [class]="config.btnClass" *ngIf="config.btnShow.rotateCounterClockwise"\n\t\t(click)="rotateCounterClockwise()">\n\t\t<span [class]="config.btnIcons.rotateCounterClockwise"></span>\n\t</button>\n\t<button type="button" mat-mini-fab [class]="config.btnClass" *ngIf="config.btnShow.rotateClockwise" (click)="rotateClockwise()">\n\t\t<span [class]="config.btnIcons.rotateClockwise"></span>\n\t</button>\n\n\t<button type="button" mat-mini-fab [class]="config.btnClass" *ngIf="config.btnShow.zoomOut" (click)="zoomOut()">\n\t\t<span [class]="config.btnIcons.zoomOut"></span>\n\t</button>\n\t<button type="button" mat-mini-fab [class]="config.btnClass" *ngIf="config.btnShow.zoomIn" (click)="zoomIn()">\n\t\t<span [class]="config.btnIcons.zoomIn"></span>\n\t</button>\n\n\t<button type="button" mat-mini-fab [class]="config.btnClass" *ngFor="let cBtn of config.customBtns"\n\t\t(click)="fireCustomEvent(cBtn.name, index)">\n\t\t<span [class]="cBtn.icon"></span>\n\t</button>\n\n\t<button type="button" id="ngx-fs-btn" mat-mini-fab [class]="config.btnClass" (click)="toggleFullscreen()"\n\t\t*ngIf="config.allowFullscreen">\n\t\t<span [class]="config.btnIcons.fullscreen"></span>\n\t</button>\n\n\t<div class="nav-button-container" *ngIf="src.length > 1">\n\t\t<button type="button" mat-mini-fab [class]="config.btnClass" (click)="prevImage($event)" [disabled]="index === 0">\n\t\t\t<span [class]="config.btnIcons.prev"></span>\n\t\t</button>\n\t\t<button type="button" mat-mini-fab [class]="config.btnClass" (click)="nextImage($event)"\n\t\t\t[disabled]="index === src.length - 1">\n\t\t\t<span [class]="config.btnIcons.next"></span>\n\t\t</button>\n\t</div>\n</div>\n',styles:['.img-container{height:100%;width:100%;overflow:hidden;position:relative}.img-container img{z-index:2;margin:0 auto;display:block;max-width:100%;max-height:100%}.img-container button{z-index:99;position:absolute;right:15px}.img-container button:not(:disabled){cursor:pointer}.img-container>button:nth-of-type(1):not(#ngx-fs-btn){bottom:15px}.img-container>button:nth-of-type(2):not(#ngx-fs-btn){bottom:65px}.img-container>button:nth-of-type(3):not(#ngx-fs-btn){bottom:115px}.img-container>button:nth-of-type(4):not(#ngx-fs-btn){bottom:165px}.img-container>button:nth-of-type(5):not(#ngx-fs-btn){bottom:215px}.img-container>button:nth-of-type(6):not(#ngx-fs-btn){bottom:265px}.img-container>button:nth-of-type(7):not(#ngx-fs-btn){bottom:315px}#ngx-fs-btn{top:15px}button.default{height:40px;width:40px;border:1px solid #555;border-radius:50%;background-color:#fff;opacity:.7;transition:opacity .2s}button.default:hover{opacity:1}button.default:disabled{opacity:.25}.nav-button-container>button{position:relative;right:0;margin:0 10px}.nav-button-container{text-align:center;position:absolute;z-index:98;bottom:10px;left:0;right:0}.spinner-container{position:absolute;left:0;right:0;top:0;bottom:0;width:60px;height:60px;margin:auto;padding:10px;background-color:rgba(0,0,0,.4);border-radius:25%}.spinner{border-width:7px;border-style:solid;border-color:#ccc #ccc #222;border-radius:50%;height:100%;width:100%;box-sizing:border-box;-webkit-animation:2s linear infinite rotation;animation:2s linear infinite rotation}@keyframes rotation{from{-webkit-transform:rotate(0)}to{-webkit-transform:rotate(359deg)}}@-webkit-keyframes rotation{from{-webkit-transform:rotate(0)}to{-webkit-transform:rotate(359deg)}}.zoom-in:after{content:"zoom_in"}.zoom-out:after{content:"zoom_out"}.rotate-clockwise:after{content:"rotate_right"}.rotate-counterclock:after{content:"rotate_left"}.next:after{content:"keyboard_arrow_right"}.prev:after{content:"keyboard_arrow_left"}.fullscreen:after{content:"fullscreen"}']}),s(0,n.Optional()),s(0,n.Inject("config")),c("design:paramtypes",[Object])],t)}(),d=function(){function t(){}var i;return i=t,t.forRoot=function(t){return{ngModule:i,providers:[{provide:"config",useValue:t}]}},t=i=a([n.NgModule({imports:[e.CommonModule,o.MatButtonModule,o.MatIconModule],declarations:[f,u],exports:[f,u]})],t)}();t.CustomEvent=l,t.ImageViewerComponent=f,t.ImageViewerModule=d,t.ɵa=u,Object.defineProperty(t,"__esModule",{value:!0})});
!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("@angular/core"),require("@angular/common"),require("@angular/material"),require("angular-bigscreen")):"function"==typeof define&&define.amd?define("lacuna-image-viewer",["exports","@angular/core","@angular/common","@angular/material","angular-bigscreen"],n):n((t=t||self)["lacuna-image-viewer"]={},t.ng.core,t.ng.common,t.ng.material,t.angularBigscreen)}(this,function(t,n,e,o,i){"use strict";var r=function(){return(r=Object.assign||function(t){for(var n,e=1,o=arguments.length;e<o;e++)for(var i in n=arguments[e])Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i]);return t}).apply(this,arguments)};function a(t,n,e,o){var i,r=arguments.length,a=r<3?n:null===o?o=Object.getOwnPropertyDescriptor(n,e):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,n,e,o);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(r<3?i(a):r>3?i(n,e,a):i(n,e))||a);return r>3&&a&&Object.defineProperty(n,e,a),a}function s(t,n){return function(e,o){n(e,o,t)}}function c(t,n){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,n)}var l=function(t,n){this.name=t,this.imageIndex=n},g={btnClass:"mat-mini-fab",zoomFactor:.1,containerBackgroundColor:"#ccc",allowCtrlWheelZoom:!0,allowFullscreen:!0,allowKeyboardNavigation:!0,allowDrag:!0,btnShow:{zoomIn:!0,zoomOut:!0,rotateClockwise:!0,rotateCounterClockwise:!0,next:!0,prev:!0},btnIcons:{zoomIn:"material-icons zoom-in",zoomOut:"material-icons zoom-out",rotateClockwise:"material-icons rotate-clockwise",rotateCounterClockwise:"material-icons rotate-counterclock",next:"material-icons next",prev:"material-icons prev",fullscreen:"material-icons fullscreen"}},u=function(){function t(t,e){this.moduleConfig=t,this.bigScreenService=e,this.index=0,this.indexChange=new n.EventEmitter,this.configChange=new n.EventEmitter,this.customEvent=new n.EventEmitter,this.style={transform:"",msTransform:"",oTransform:"",webkitTransform:""},this.fullscreen=!1,this.loading=!0,this.scale=1,this.rotation=0,this.translateX=0,this.translateY=0,this.hovered=!1}return t.prototype.ngOnInit=function(){var t=this.mergeConfig(g,this.moduleConfig);this.config=this.mergeConfig(t,this.config),this.triggerConfigBinding()},t.prototype.nextImage=function(t){this.canNavigate(t)&&this.index<this.src.length-1&&(this.loading=!0,this.index++,this.triggerIndexBinding(),this.reset())},t.prototype.prevImage=function(t){this.canNavigate(t)&&this.index>0&&(this.loading=!0,this.index--,this.triggerIndexBinding(),this.reset())},t.prototype.zoomIn=function(){this.scale*=1+this.config.zoomFactor,this.updateStyle()},t.prototype.zoomOut=function(){this.scale>this.config.zoomFactor&&(this.scale/=1+this.config.zoomFactor),this.updateStyle()},t.prototype.scrollZoom=function(t){if(this.config.allowCtrlWheelZoom&&t.ctrlKey)return t.deltaY>0?this.zoomOut():this.zoomIn(),!1},t.prototype.rotateClockwise=function(){this.rotation+=90,this.updateStyle()},t.prototype.rotateCounterClockwise=function(){this.rotation-=90,this.updateStyle()},t.prototype.onLoad=function(){this.loading=!1},t.prototype.onLoadStart=function(){this.loading=!0},t.prototype.onDragOver=function(t){this.config.allowDrag&&(this.translateX+=t.clientX-this.prevX,this.translateY+=t.clientY-this.prevY,this.prevX=t.clientX,this.prevY=t.clientY,this.updateStyle())},t.prototype.onDragStart=function(t){this.config.allowDrag&&(t.dataTransfer&&t.dataTransfer.setDragImage&&t.dataTransfer.setDragImage(t.target.nextElementSibling,0,0),this.prevX=t.clientX,this.prevY=t.clientY)},t.prototype.toggleFullscreen=function(){this.bigScreenService.isEnabled&&this.config.allowFullscreen?this.bigScreenService.toggle(this.fullscreenElement.nativeElement):console.log("[lacuna-image-viewer warning] method toggleFullscreen() called, but fullscreen is disabled")},t.prototype.triggerIndexBinding=function(){this.indexChange.emit(this.index)},t.prototype.triggerConfigBinding=function(){this.configChange.next(this.config)},t.prototype.fireCustomEvent=function(t,n){this.customEvent.emit(new l(t,n))},t.prototype.reset=function(){this.scale=1,this.rotation=0,this.translateX=0,this.translateY=0,this.updateStyle()},t.prototype.onMouseOver=function(){this.hovered=!0},t.prototype.onMouseLeave=function(){this.hovered=!1},t.prototype.canNavigate=function(t){return null==t||this.config.allowKeyboardNavigation&&this.hovered},t.prototype.updateStyle=function(){this.style.transform="translate("+this.translateX+"px, "+this.translateY+"px) rotate("+this.rotation+"deg) scale("+this.scale+")",this.style.msTransform=this.style.transform,this.style.webkitTransform=this.style.transform,this.style.oTransform=this.style.transform},t.prototype.mergeConfig=function(t,n){var e=r({},t);return n&&(e=r({},t,n),n.btnIcons&&(e.btnIcons=r({},t.btnIcons,n.btnIcons))),e},a([n.Input(),c("design:type",Array)],t.prototype,"src",void 0),a([n.Input(),c("design:type",Object)],t.prototype,"index",void 0),a([n.Input(),c("design:type",Object)],t.prototype,"config",void 0),a([n.Output(),c("design:type",n.EventEmitter)],t.prototype,"indexChange",void 0),a([n.Output(),c("design:type",n.EventEmitter)],t.prototype,"configChange",void 0),a([n.Output(),c("design:type",n.EventEmitter)],t.prototype,"customEvent",void 0),a([n.ViewChild("fullscreenElement"),c("design:type",n.ElementRef)],t.prototype,"fullscreenElement",void 0),a([n.HostListener("window:keyup.ArrowRight",["$event"]),c("design:type",Function),c("design:paramtypes",[Object]),c("design:returntype",void 0)],t.prototype,"nextImage",null),a([n.HostListener("window:keyup.ArrowLeft",["$event"]),c("design:type",Function),c("design:paramtypes",[Object]),c("design:returntype",void 0)],t.prototype,"prevImage",null),a([n.HostListener("mouseover"),c("design:type",Function),c("design:paramtypes",[]),c("design:returntype",void 0)],t.prototype,"onMouseOver",null),a([n.HostListener("mouseleave"),c("design:type",Function),c("design:paramtypes",[]),c("design:returntype",void 0)],t.prototype,"onMouseLeave",null),t=a([n.Component({selector:"ngx-image-viewer",template:'<div #fullscreenElement class="img-container" [style.backgroundColor]="config.containerBackgroundColor"\n\t(wheel)="scrollZoom($event)" (dragover)="onDragOver($event)">\n\t<img [src]="src[index]" [ngStyle]="style" alt="Image not found..." (dragstart)="onDragStart($event)"\n\t\t(load)="onLoad()" (loadstart)="onLoadStart()" />\n\t\x3c!-- Div below will be used to hide the \'ghost\' image when dragging --\x3e\n\t<div></div>\n\t<div class="spinner-container" *ngIf="loading">\n\t\t<div class="spinner"></div>\n\t</div>\n\n\t<button type="button" mat-mini-fab [class]="config.btnClass" *ngIf="config.btnShow.rotateCounterClockwise"\n\t\t(click)="rotateCounterClockwise()">\n\t\t<span [class]="config.btnIcons.rotateCounterClockwise"></span>\n\t</button>\n\t<button type="button" mat-mini-fab [class]="config.btnClass" *ngIf="config.btnShow.rotateClockwise" (click)="rotateClockwise()">\n\t\t<span [class]="config.btnIcons.rotateClockwise"></span>\n\t</button>\n\n\t<button type="button" mat-mini-fab [class]="config.btnClass" *ngIf="config.btnShow.zoomOut" (click)="zoomOut()">\n\t\t<span [class]="config.btnIcons.zoomOut"></span>\n\t</button>\n\t<button type="button" mat-mini-fab [class]="config.btnClass" *ngIf="config.btnShow.zoomIn" (click)="zoomIn()">\n\t\t<span [class]="config.btnIcons.zoomIn"></span>\n\t</button>\n\n\t<button type="button" mat-mini-fab [class]="config.btnClass" *ngFor="let cBtn of config.customBtns"\n\t\t(click)="fireCustomEvent(cBtn.name, index)">\n\t\t<span [class]="cBtn.icon"></span>\n\t</button>\n\n\t<button type="button" id="ngx-fs-btn" mat-mini-fab [class]="config.btnClass" (click)="toggleFullscreen()"\n\t\t*ngIf="config.allowFullscreen">\n\t\t<span [class]="config.btnIcons.fullscreen"></span>\n\t</button>\n\n\t<div class="nav-button-container" *ngIf="src.length > 1">\n\t\t<button type="button" mat-mini-fab [class]="config.btnClass" (click)="prevImage($event)" [disabled]="index === 0">\n\t\t\t<span [class]="config.btnIcons.prev"></span>\n\t\t</button>\n\t\t<button type="button" mat-mini-fab [class]="config.btnClass" (click)="nextImage($event)"\n\t\t\t[disabled]="index === src.length - 1">\n\t\t\t<span [class]="config.btnIcons.next"></span>\n\t\t</button>\n\t</div>\n</div>\n',styles:['.img-container{height:100%;width:100%;overflow:hidden;position:relative}.img-container img{z-index:2;margin:0 auto;display:block;max-width:100%;max-height:100%}.img-container button{z-index:99;position:absolute;right:15px}.img-container button:not(:disabled){cursor:pointer}.img-container>button:nth-of-type(1):not(#ngx-fs-btn){bottom:15px}.img-container>button:nth-of-type(2):not(#ngx-fs-btn){bottom:65px}.img-container>button:nth-of-type(3):not(#ngx-fs-btn){bottom:115px}.img-container>button:nth-of-type(4):not(#ngx-fs-btn){bottom:165px}.img-container>button:nth-of-type(5):not(#ngx-fs-btn){bottom:215px}.img-container>button:nth-of-type(6):not(#ngx-fs-btn){bottom:265px}.img-container>button:nth-of-type(7):not(#ngx-fs-btn){bottom:315px}#ngx-fs-btn{top:15px}button.default{height:40px;width:40px;border:1px solid #555;border-radius:50%;background-color:#fff;opacity:.7;transition:opacity .2s}button.default:hover{opacity:1}button.default:disabled{opacity:.25}.nav-button-container>button{position:relative;right:0;margin:0 10px}.nav-button-container{text-align:center;position:absolute;z-index:98;bottom:10px;left:0;right:0}.spinner-container{position:absolute;left:0;right:0;top:0;bottom:0;width:60px;height:60px;margin:auto;padding:10px;background-color:rgba(0,0,0,.4);border-radius:25%}.spinner{border-width:7px;border-style:solid;border-color:#ccc #ccc #222;border-radius:50%;height:100%;width:100%;box-sizing:border-box;-webkit-animation:2s linear infinite rotation;animation:2s linear infinite rotation}@keyframes rotation{from{-webkit-transform:rotate(0)}to{-webkit-transform:rotate(359deg)}}@-webkit-keyframes rotation{from{-webkit-transform:rotate(0)}to{-webkit-transform:rotate(359deg)}}.zoom-in:after{content:"zoom_in"}.zoom-out:after{content:"zoom_out"}.rotate-clockwise:after{content:"rotate_right"}.rotate-counterclock:after{content:"rotate_left"}.next:after{content:"keyboard_arrow_right"}.prev:after{content:"keyboard_arrow_left"}.fullscreen:after{content:"fullscreen"}']}),s(0,n.Optional()),s(0,n.Inject("config")),c("design:paramtypes",[Object,i.BigScreenService])],t)}(),p=function(){function t(){}var r;return r=t,t.forRoot=function(t){return{ngModule:r,providers:[{provide:"config",useValue:t}]}},t=r=a([n.NgModule({imports:[i.BigScreenModule,e.CommonModule,o.MatButtonModule,o.MatIconModule],declarations:[u],exports:[u]})],t)}();t.CustomEvent=l,t.ImageViewerComponent=u,t.ImageViewerModule=p,Object.defineProperty(t,"__esModule",{value:!0})});
//# sourceMappingURL=lacuna-image-viewer.umd.min.js.map

@@ -5,3 +5,2 @@ /**

export * from './public_api';
export { ToggleFullscreenDirective as ɵa } from './src/app/image-viewer/fullscreen.directive';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFjdW5hLWltYWdlLXZpZXdlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2xhY3VuYS1pbWFnZS12aWV3ZXIvIiwic291cmNlcyI6WyJsYWN1bmEtaW1hZ2Utdmlld2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUM7QUFFN0IsT0FBTyxFQUFDLHlCQUF5QixJQUFJLEVBQUUsRUFBQyxNQUFNLDZDQUE2QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuXG5leHBvcnQge1RvZ2dsZUZ1bGxzY3JlZW5EaXJlY3RpdmUgYXMgybVhfSBmcm9tICcuL3NyYy9hcHAvaW1hZ2Utdmlld2VyL2Z1bGxzY3JlZW4uZGlyZWN0aXZlJzsiXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFjdW5hLWltYWdlLXZpZXdlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2xhY3VuYS1pbWFnZS12aWV3ZXIvIiwic291cmNlcyI6WyJsYWN1bmEtaW1hZ2Utdmlld2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG4iXX0=
import * as tslib_1 from "tslib";
import { Component, Input, Optional, Inject, Output, EventEmitter, HostListener, ElementRef, ViewChild } from '@angular/core';
import { CustomEvent } from './image-viewer-config.model';
import * as screenfull from 'screenfull';
import { isScreenFullAvailable } from './fullscreen.directive';
import { BigScreenService } from 'angular-bigscreen';
const DEFAULT_CONFIG = {

@@ -33,4 +32,5 @@ btnClass: 'mat-mini-fab',

let ImageViewerComponent = class ImageViewerComponent {
constructor(moduleConfig) {
constructor(moduleConfig, bigScreenService) {
this.moduleConfig = moduleConfig;
this.bigScreenService = bigScreenService;
this.index = 0;

@@ -119,13 +119,7 @@ this.indexChange = new EventEmitter();

toggleFullscreen() {
if (isScreenFullAvailable(screenfull)) {
if (screenfull.enabled && this.config.allowFullscreen) {
screenfull.toggle(this.fullscreenElement.nativeElement);
}
else {
console.log("[lacuna-image-viewer warning] method toggleFullscreen() called, but fullscreen is disabled");
}
if (this.bigScreenService.isEnabled && this.config.allowFullscreen) {
this.bigScreenService.toggle(this.fullscreenElement.nativeElement);
}
else {
// Should not happen. See https://github.com/sindresorhus/screenfull.js/issues/126
console.log("[lacuna-image-viewer warning] Screenfull could not be used");
console.log("[lacuna-image-viewer warning] method toggleFullscreen() called, but fullscreen is disabled");
}

@@ -234,5 +228,5 @@ }

tslib_1.__param(0, Optional()), tslib_1.__param(0, Inject('config')),
tslib_1.__metadata("design:paramtypes", [Object])
tslib_1.__metadata("design:paramtypes", [Object, BigScreenService])
], ImageViewerComponent);
export { ImageViewerComponent };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2Utdmlld2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2xhY3VuYS1pbWFnZS12aWV3ZXIvIiwic291cmNlcyI6WyJzcmMvYXBwL2ltYWdlLXZpZXdlci9pbWFnZS12aWV3ZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEksT0FBTyxFQUFxQixXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUU3RSxPQUFPLEtBQUssVUFBVSxNQUFNLFlBQVksQ0FBQztBQUN6QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUUvRCxNQUFNLGNBQWMsR0FBc0I7SUFDekMsUUFBUSxFQUFFLGNBQWM7SUFDeEIsVUFBVSxFQUFFLEdBQUc7SUFDZix3QkFBd0IsRUFBRSxNQUFNO0lBQ2hDLGtCQUFrQixFQUFFLElBQUk7SUFDeEIsZUFBZSxFQUFFLElBQUk7SUFDckIsdUJBQXVCLEVBQUUsSUFBSTtJQUM3QixTQUFTLEVBQUUsSUFBSTtJQUNmLE9BQU8sRUFBRTtRQUNSLE1BQU0sRUFBRSxJQUFJO1FBQ1osT0FBTyxFQUFFLElBQUk7UUFDYixlQUFlLEVBQUUsSUFBSTtRQUNyQixzQkFBc0IsRUFBRSxJQUFJO1FBQzVCLElBQUksRUFBRSxJQUFJO1FBQ1YsSUFBSSxFQUFFLElBQUk7S0FDVjtJQUNELFFBQVEsRUFBRTtRQUNULE1BQU0sRUFBRSx3QkFBd0I7UUFDaEMsT0FBTyxFQUFFLHlCQUF5QjtRQUNsQyxlQUFlLEVBQUUsaUNBQWlDO1FBQ2xELHNCQUFzQixFQUFFLG9DQUFvQztRQUM1RCxJQUFJLEVBQUUscUJBQXFCO1FBQzNCLElBQUksRUFBRSxxQkFBcUI7UUFDM0IsVUFB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bURBQ0U7QUFHVjtJQURDLEtBQUssRUFBRTs7b0RBQ2tCO0FBRzFCO0lBREMsTUFBTSxFQUFFO3NDQUNJLFlBQVk7eURBQThCO0FBR3ZEO0lBREMsTUFBTSxFQUFFO3NDQUNLLFlBQVk7MERBQXlDO0FBR25FO0lBREMsTUFBTSxFQUFFO3NDQUNJLFlBQVk7eURBQW1DO0FBRzVEO0lBREMsU0FBUyxDQUFDLG1CQUFtQixDQUFDO3NDQUNaLFVBQVU7K0RBQUM7QUFzQjlCO0lBREMsWUFBWSxDQUFDLHlCQUF5QixFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7Ozs7cURBUW5EO0FBR0Q7SUFEQyxZQUFZLENBQUMsd0JBQXdCLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQzs7OztxREFRbEQ7QUE2RkQ7SUFEQyxZQUFZLENBQUMsV0FBVyxDQUFDOzs7O3VEQUd6QjtBQUdEO0lBREMsWUFBWSxDQUFDLFlBQVksQ0FBQzs7Ozt3REFHMUI7QUFoS1csb0JBQW9CO0lBTGhDLFNBQVMsQ0FBQztRQUNWLFFBQVEsRUFBRSxrQkFBa0I7UUFDNUIsa3lFQUE0Qzs7S0FFNUMsQ0FBQztJQW1DWSxtQkFBQSxRQUFRLEVBQUUsQ0FBQSxFQUFFLG1CQUFBLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQTs7R0FsQzdCLG9CQUFvQixDQXlMaEM7U0F6TFksb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBPcHRpb25hbCwgSW5qZWN0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBFbGVtZW50UmVmLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEltYWdlVmlld2VyQ29uZmlnLCBDdXN0b21FdmVudCB9IGZyb20gJy4vaW1hZ2Utdmlld2VyLWNvbmZpZy5tb2RlbCc7XG5pbXBvcnQgeyBTYWZlUmVzb3VyY2VVcmwsIFNhZmVVcmwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCAqIGFzIHNjcmVlbmZ1bGwgZnJvbSAnc2NyZWVuZnVsbCc7XG5pbXBvcnQgeyBpc1NjcmVlbkZ1bGxBdmFpbGFibGUgfSBmcm9tICcuL2Z1bGxzY3JlZW4uZGlyZWN0aXZlJztcblxuY29uc3QgREVGQVVMVF9DT05GSUc6IEltYWdlVmlld2VyQ29uZmlnID0ge1xuXHRidG5DbGFzczogJ21hdC1taW5pLWZhYicsIC8vIHdlIG9ic2VydmVkIHRoYXQgaXQgd2FzIHRyaWNreSB0byBvdmVycmlkZSB0aGUgYnJvd3NlciBidXR0b25cblx0em9vbUZhY3RvcjogMC4xLFxuXHRjb250YWluZXJCYWNrZ3JvdW5kQ29sb3I6ICcjY2NjJyxcblx0YWxsb3dDdHJsV2hlZWxab29tOiB0cnVlLFxuXHRhbGxvd0Z1bGxzY3JlZW46IHRydWUsXG5cdGFsbG93S2V5Ym9hcmROYXZpZ2F0aW9uOiB0cnVlLFxuXHRhbGxvd0RyYWc6IHRydWUsXG5cdGJ0blNob3c6IHtcblx0XHR6b29tSW46IHRydWUsXG5cdFx0em9vbU91dDogdHJ1ZSxcblx0XHRyb3RhdGVDbG9ja3dpc2U6IHRydWUsXG5cdFx0cm90YXRlQ291bnRlckNsb2Nrd2lzZTogdHJ1ZSxcblx0XHRuZXh0OiB0cnVlLFxuXHRcdHByZXY6IHRydWVcblx0fSxcblx0YnRuSWNvbnM6IHtcblx0XHR6b29tSW46ICdtYXRlcmlhbC1pY29ucyB6b29tLWluJyxcblx0XHR6b29tT3V0OiAnbWF0ZXJpYWwtaWNvbnMgem9vbS1vdXQnLFxuXHRcdHJvdGF0ZUNsb2Nrd2lzZTogJ21hdGVyaWFsLWljb25zIHJvdGF0ZS1jbG9ja3dpc2UnLFxuXHRcdHJvdGF0ZUNvdW50ZXJDbG9ja3dpc2U6ICdtYXRlcmlhbC1pY29ucyByb3RhdGUtY291bnRlcmNsb2NrJyxcblx0XHRuZXh0OiAnbWF0ZXJpYWwtaWNvbnMgbmV4dCcsXG5cdFx0cHJldjogJ21hdGVyaWFsLWljb25zIHByZXYnLFxuXHRcdGZ1bGxzY3JlZW46ICdtYXRlcmlhbC1pY29ucyBmdWxsc2NyZWVuJyxcblx0fVxufTtcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnbmd4LWltYWdlLXZpZXdlcicsXG5cdHRlbXBsYXRlVXJsOiAnLi9pbWFnZS12aWV3ZXIuY29tcG9uZW50Lmh0bWwnLFxuXHRzdHlsZVVybHM6IFsnLi9pbWFnZS12aWV3ZXIuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBJbWFnZVZpZXdlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cblx0QElucHV0KClcblx0c3JjOiAoc3RyaW5nIHwgU2FmZVJlc291cmNlVXJsIHwgU2FmZVVybClbXTtcblxuXHRASW5wdXQoKVxuXHRpbmRleCA9IDA7XG5cblx0QElucHV0KClcblx0Y29uZmlnOiBJbWFnZVZpZXdlckNvbmZpZztcblxuXHRAT3V0cHV0KClcblx0aW5kZXhDaGFuZ2U6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG5cdEBPdXRwdXQoKVxuXHRjb25maWdDaGFuZ2U6IEV2ZW50RW1pdHRlcjxJbWFnZVZpZXdlckNvbmZpZz4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cblx0QE91dHB1dCgpXG5cdGN1c3RvbUV2ZW50OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG5cdEBWaWV3Q2hpbGQoJ2Z1bGxzY3JlZW5FbGVtZW50Jylcblx0ZnVsbHNjcmVlbkVsZW1lbnQ6IEVsZW1lbnRSZWY7XG5cblx0cHVibGljIHN0eWxlID0geyB0cmFuc2Zvcm06ICcnLCBtc1RyYW5zZm9ybTogJycsIG9UcmFuc2Zvcm06ICcnLCB3ZWJraXRUcmFuc2Zvcm06ICcnIH07XG5cdHB1YmxpYyBmdWxsc2NyZWVuID0gZmFsc2U7XG5cdHB1YmxpYyBsb2FkaW5nID0gdHJ1ZTtcblx0cHJpdmF0ZSBzY2FsZSA9IDE7XG5cdHByaXZhdGUgcm90YXRpb24gPSAwO1xuXHRwcml2YXRlIHRyYW5zbGF0ZVggPSAwO1xuXHRwcml2YXRlIHRyYW5zbGF0ZVkgPSAwO1xuXHRwcml2YXRlIHByZXZYOiBudW1iZXI7XG5cdHByaXZhdGUgcHJldlk6IG51bWJlcjtcblx0cHJpdmF0ZSBob3ZlcmVkID0gZmFsc2U7XG5cblx0Y29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQEluamVjdCgnY29uZmlnJykgcHVibGljIG1vZHVsZUNvbmZpZzogSW1hZ2VWaWV3ZXJDb25maWcpIHsgfVxuXG5cdG5nT25Jbml0KCkge1xuXHRcdGNvbnN0IG1lcmdlZCA9IHRoaXMubWVyZ2VDb25maWcoREVGQVVMVF9DT05GSUcsIHRoaXMubW9kdWxlQ29uZmlnKTtcblx0XHR0aGlzLmNvbmZpZyA9IHRoaXMubWVyZ2VDb25maWcobWVyZ2VkLCB0aGlzLmNvbmZpZyk7XG5cdFx0dGhpcy50cmlnZ2VyQ29uZmlnQmluZGluZygpO1xuXHR9XG5cblx0QEhvc3RMaXN0ZW5lcignd2luZG93OmtleXVwLkFycm93UmlnaHQnLCBbJyRldmVudCddKVxuXHRuZXh0SW1hZ2UoZXZlbnQpIHtcblx0XHRpZiAodGhpcy5jYW5OYXZpZ2F0ZShldmVudCkgJiYgdGhpcy5pbmRleCA8IHRoaXMuc3JjLmxlbmd0aCAtIDEpIHtcblx0XHRcdHRoaXMubG9hZGluZyA9IHRydWU7XG5cdFx0XHR0aGlzLmluZGV4Kys7XG5cdFx0XHR0aGlzLnRyaWdnZXJJbmRleEJpbmRpbmcoKTtcblx0XHRcdHRoaXMucmVzZXQoKTtcblx0XHR9XG5cdH1cblxuXHRASG9zdExpc3RlbmVyKCd3aW5kb3c6a2V5dXAuQXJyb3dMZWZ0JywgWyckZXZlbnQnXSlcblx0cHJldkltYWdlKGV2ZW50KSB7XG5cdFx0aWYgKHRoaXMuY2FuTmF2aWdhdGUoZXZlbnQpICYmIHRoaXMuaW5kZXggPiAwKSB7XG5cdFx0XHR0aGlzLmxvYWRpbmcgPSB0cnVlO1xuXHRcdFx0dGhpcy5pbmRleC0tO1xuXHRcdFx0dGhpcy50cmlnZ2VySW5kZXhCaW5kaW5nKCk7XG5cdFx0XHR0aGlzLnJlc2V0KCk7XG5cdFx0fVxuXHR9XG5cblx0em9vbUluKCkge1xuXHRcdHRoaXMuc2NhbGUgKj0gKDEgKyB0aGlzLmNvbmZpZy56b29tRmFjdG9yKTtcblx0XHR0aGlzLnVwZGF0ZVN0eWxlKCk7XG5cdH1cblxuXHR6b29tT3V0KCkge1xuXHRcdGlmICh0aGlzLnNjYWxlID4gdGhpcy5jb25maWcuem9vbUZhY3Rvcikge1xuXHRcdFx0dGhpcy5zY2FsZSAvPSAoMSArIHRoaXMuY29uZmlnLnpvb21GYWN0b3IpO1xuXHRcdH1cblx0XHR0aGlzLnVwZGF0ZVN0eWxlKCk7XG5cdH1cblxuXHRzY3JvbGxab29tKGV2dDogV2hlZWxFdmVudCkge1xuXHRcdGlmICh0aGlzLmNvbmZpZy5hbGxvd0N0cmxXaGVlbFpvb20gJiYgZXZ0LmN0cmxLZXkpIHtcblx0XHRcdGV2dC5kZWx0YVkgPiAwID8gdGhpcy56b29tT3V0KCkgOiB0aGlzLnpvb21JbigpO1xuXHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdH1cblx0fVxuXG5cdHJvdGF0ZUNsb2Nrd2lzZSgpIHtcblx0XHR0aGlzLnJvdGF0aW9uICs9IDkwO1xuXHRcdHRoaXMudXBkYXRlU3R5bGUoKTtcblx0fVxuXG5cdHJvdGF0ZUNvdW50ZXJDbG9ja3dpc2UoKSB7XG5cdFx0dGhpcy5yb3RhdGlvbiAtPSA5MDtcblx0XHR0aGlzLnVwZGF0ZVN0eWxlKCk7XG5cdH1cblxuXHRvbkxvYWQoKSB7XG5cdFx0dGhpcy5sb2FkaW5nID0gZmFsc2U7XG5cdH1cblxuXHRvbkxvYWRTdGFydCgpIHtcblx0XHR0aGlzLmxvYWRpbmcgPSB0cnVlO1xuXHR9XG5cblx0b25EcmFnT3ZlcihldnQpIHtcblx0XHRpZih0aGlzLmNvbmZpZy5hbGxvd0RyYWcpe1xuXHRcdFx0dGhpcy50cmFuc2xhdGVYICs9IChldnQuY2xpZW50WCAtIHRoaXMucHJldlgpO1xuXHRcdFx0dGhpcy50cmFuc2xhdGVZICs9IChldnQuY2xpZW50WSAtIHRoaXMucHJldlkpO1xuXHRcdFx0dGhpcy5wcmV2WCA9IGV2dC5jbGllbnRYO1xuXHRcdFx0dGhpcy5wcmV2WSA9IGV2dC5jbGllbnRZO1xuXHRcdFx0dGhpcy51cGRhdGVTdHlsZSgpO1xuXHRcdH1cblx0fVxuXG5cdG9uRHJhZ1N0YXJ0KGV2dCkge1xuXHRcdGlmKHRoaXMuY29uZmlnLmFsbG93RHJhZyl7XG5cdFx0XHRpZiAoZXZ0LmRhdGFUcmFuc2ZlciAmJiBldnQuZGF0YVRyYW5zZmVyLnNldERyYWdJbWFnZSkge1xuXHRcdFx0XHRldnQuZGF0YVRyYW5zZmVyLnNldERyYWdJbWFnZShldnQudGFyZ2V0Lm5leHRFbGVtZW50U2libGluZywgMCwgMCk7XG5cdFx0XHR9XG5cdFx0XHR0aGlzLnByZXZYID0gZXZ0LmNsaWVudFg7XG5cdFx0XHR0aGlzLnByZXZZID0gZXZ0LmNsaWVudFk7XG5cdFx0fVxuXHR9XG5cblx0dG9nZ2xlRnVsbHNjcmVlbigpIHtcblx0XHRpZihpc1NjcmVlbkZ1bGxBdmFpbGFibGUoc2NyZWVuZnVsbCkpe1xuXHRcdFx0aWYoc2NyZWVuZnVsbC5lbmFibGVkICYmIHRoaXMuY29uZmlnLmFsbG93RnVsbHNjcmVlbil7XG5cdFx0XHRcdHNjcmVlbmZ1bGwudG9nZ2xlKHRoaXMuZnVsbHNjcmVlbkVsZW1lbnQubmF0aXZlRWxlbWVudCk7XG5cdFx0XHR9IGVsc2V7XG5cdFx0XHRcdGNvbnNvbGUubG9nKFwiW2xhY3VuYS1pbWFnZS12aWV3ZXIgd2FybmluZ10gbWV0aG9kIHRvZ2dsZUZ1bGxzY3JlZW4oKSBjYWxsZWQsIGJ1dCBmdWxsc2NyZWVuIGlzIGRpc2FibGVkXCIpO1xuXHRcdFx0fVxuXHRcdH0gZWxzZXtcblx0XHRcdC8vIFNob3VsZCBub3QgaGFwcGVuLiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3NpbmRyZXNvcmh1cy9zY3JlZW5mdWxsLmpzL2lzc3Vlcy8xMjZcblx0XHRcdGNvbnNvbGUubG9nKFwiW2xhY3VuYS1pbWFnZS12aWV3ZXIgd2FybmluZ10gU2NyZWVuZnVsbCBjb3VsZCBub3QgYmUgdXNlZFwiKTtcblx0XHR9XG5cdH1cblxuXHR0cmlnZ2VySW5kZXhCaW5kaW5nKCkge1xuXHRcdHRoaXMuaW5kZXhDaGFuZ2UuZW1pdCh0aGlzLmluZGV4KTtcblx0fVxuXG5cdHRyaWdnZXJDb25maWdCaW5kaW5nKCkge1xuXHRcdHRoaXMuY29uZmlnQ2hhbmdlLm5leHQodGhpcy5jb25maWcpO1xuXHR9XG5cblx0ZmlyZUN1c3RvbUV2ZW50KG5hbWUsIGltYWdlSW5kZXgpIHtcblx0XHR0aGlzLmN1c3RvbUV2ZW50LmVtaXQobmV3IEN1c3RvbUV2ZW50KG5hbWUsIGltYWdlSW5kZXgpKTtcblx0fVxuXG5cdHJlc2V0KCkge1xuXHRcdHRoaXMuc2NhbGUgPSAxO1xuXHRcdHRoaXMucm90YXRpb24gPSAwO1xuXHRcdHRoaXMudHJhbnNsYXRlWCA9IDA7XG5cdFx0dGhpcy50cmFuc2xhdGVZID0gMDtcblx0XHR0aGlzLnVwZGF0ZVN0eWxlKCk7XG5cdH1cblxuXHRASG9zdExpc3RlbmVyKCdtb3VzZW92ZXInKVxuXHRvbk1vdXNlT3ZlcigpIHtcblx0XHR0aGlzLmhvdmVyZWQgPSB0cnVlO1xuXHR9XG5cblx0QEhvc3RMaXN0ZW5lcignbW91c2VsZWF2ZScpXG5cdG9uTW91c2VMZWF2ZSgpIHtcblx0XHR0aGlzLmhvdmVyZWQgPSBmYWxzZTtcblx0fVxuXG5cdHByaXZhdGUgY2FuTmF2aWdhdGUoZXZlbnQ6IGFueSkge1xuXHRcdHJldHVybiBldmVudCA9PSBudWxsIHx8ICh0aGlzLmNvbmZpZy5hbGxvd0tleWJvYXJkTmF2aWdhdGlvbiAmJiB0aGlzLmhvdmVyZWQpO1xuXHR9XG5cblx0cHJpdmF0ZSB1cGRhdGVTdHlsZSgpIHtcblx0XHR0aGlzLnN0eWxlLnRyYW5zZm9ybSA9IGB0cmFuc2xhdGUoJHt0aGlzLnRyYW5zbGF0ZVh9cHgsICR7dGhpcy50cmFuc2xhdGVZfXB4KSByb3RhdGUoJHt0aGlzLnJvdGF0aW9ufWRlZykgc2NhbGUoJHt0aGlzLnNjYWxlfSlgO1xuXHRcdHRoaXMuc3R5bGUubXNUcmFuc2Zvcm0gPSB0aGlzLnN0eWxlLnRyYW5zZm9ybTtcblx0XHR0aGlzLnN0eWxlLndlYmtpdFRyYW5zZm9ybSA9IHRoaXMuc3R5bGUudHJhbnNmb3JtO1xuXHRcdHRoaXMuc3R5bGUub1RyYW5zZm9ybSA9IHRoaXMuc3R5bGUudHJhbnNmb3JtO1xuXHR9XG5cblx0cHJpdmF0ZSBtZXJnZUNvbmZpZyhkZWZhdWx0VmFsdWVzOiBJbWFnZVZpZXdlckNvbmZpZywgb3ZlcnJpZGVWYWx1ZXM6IEltYWdlVmlld2VyQ29uZmlnKTogSW1hZ2VWaWV3ZXJDb25maWcge1xuXHRcdGxldCByZXN1bHQ6IEltYWdlVmlld2VyQ29uZmlnID0geyAuLi5kZWZhdWx0VmFsdWVzIH07XG5cdFx0aWYgKG92ZXJyaWRlVmFsdWVzKSB7XG5cdFx0XHRyZXN1bHQgPSB7IC4uLmRlZmF1bHRWYWx1ZXMsIC4uLm92ZXJyaWRlVmFsdWVzIH07XG5cblx0XHRcdGlmIChvdmVycmlkZVZhbHVlcy5idG5JY29ucykge1xuXHRcdFx0XHRyZXN1bHQuYnRuSWNvbnMgPSB7IC4uLmRlZmF1bHRWYWx1ZXMuYnRuSWNvbnMsIC4uLm92ZXJyaWRlVmFsdWVzLmJ0bkljb25zIH07XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHJldHVybiByZXN1bHQ7XG5cdH1cblxufVxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2Utdmlld2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2xhY3VuYS1pbWFnZS12aWV3ZXIvIiwic291cmNlcyI6WyJzcmMvYXBwL2ltYWdlLXZpZXdlci9pbWFnZS12aWV3ZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEksT0FBTyxFQUFxQixXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUU3RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVyRCxNQUFNLGNBQWMsR0FBc0I7SUFDekMsUUFBUSxFQUFFLGNBQWM7SUFDeEIsVUFBVSxFQUFFLEdBQUc7SUFDZix3QkFBd0IsRUFBRSxNQUFNO0lBQ2hDLGtCQUFrQixFQUFFLElBQUk7SUFDeEIsZUFBZSxFQUFFLElBQUk7SUFDckIsdUJBQXVCLEVBQUUsSUFBSTtJQUM3QixTQUFTLEVBQUUsSUFBSTtJQUNmLE9BQU8sRUFBRTtRQUNSLE1BQU0sRUFBRSxJQUFJO1FBQ1osT0FBTyxFQUFFLElBQUk7UUFDYixlQUFlLEVBQUUsSUFBSTtRQUNyQixzQkFBc0IsRUFBRSxJQUFJO1FBQzVCLElBQUksRUFBRSxJQUFJO1FBQ1YsSUFBSSxFQUFFLElBQUk7S0FDVjtJQUNELFFBQVEsRUFBRTtRQUNULE1BQU0sRUFBRSx3QkFBd0I7UUFDaEMsT0FBTyxFQUFFLHlCQUF5QjtRQUNsQyxlQUFlLEVBQUUsaUNBQWlDO1FBQ2xELHNCQUFzQixFQUFFLG9DQUFvQztRQUM1RCxJQUFJLEVBQUUscUJBQXFCO1FBQzNCLElBQUksRUFBRSxxQkFBcUI7UUFDM0IsVUFBVSxFQUFFLDJCQUEyQjtLQUN2QztDQUNELENBQUM7QUFPRixJ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REMsTUFBTSxFQUFFO3NDQUNLLFlBQVk7MERBQXlDO0FBR25FO0lBREMsTUFBTSxFQUFFO3NDQUNJLFlBQVk7eURBQW1DO0FBRzVEO0lBREMsU0FBUyxDQUFDLG1CQUFtQixDQUFDO3NDQUNaLFVBQVU7K0RBQUM7QUF5QjlCO0lBREMsWUFBWSxDQUFDLHlCQUF5QixFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7Ozs7cURBUW5EO0FBR0Q7SUFEQyxZQUFZLENBQUMsd0JBQXdCLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQzs7OztxREFRbEQ7QUF3RkQ7SUFEQyxZQUFZLENBQUMsV0FBVyxDQUFDOzs7O3VEQUd6QjtBQUdEO0lBREMsWUFBWSxDQUFDLFlBQVksQ0FBQzs7Ozt3REFHMUI7QUE5Slcsb0JBQW9CO0lBTGhDLFNBQVMsQ0FBQztRQUNWLFFBQVEsRUFBRSxrQkFBa0I7UUFDNUIsa3lFQUE0Qzs7S0FFNUMsQ0FBQztJQW9DQyxtQkFBQSxRQUFRLEVBQUUsQ0FBQSxFQUFFLG1CQUFBLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQTtxREFDSCxnQkFBZ0I7R0FwQy9CLG9CQUFvQixDQXVMaEM7U0F2TFksb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBPcHRpb25hbCwgSW5qZWN0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBFbGVtZW50UmVmLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEltYWdlVmlld2VyQ29uZmlnLCBDdXN0b21FdmVudCB9IGZyb20gJy4vaW1hZ2Utdmlld2VyLWNvbmZpZy5tb2RlbCc7XG5pbXBvcnQgeyBTYWZlUmVzb3VyY2VVcmwsIFNhZmVVcmwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IEJpZ1NjcmVlblNlcnZpY2UgfSBmcm9tICdhbmd1bGFyLWJpZ3NjcmVlbic7XG5cbmNvbnN0IERFRkFVTFRfQ09ORklHOiBJbWFnZVZpZXdlckNvbmZpZyA9IHtcblx0YnRuQ2xhc3M6ICdtYXQtbWluaS1mYWInLCAvLyB3ZSBvYnNlcnZlZCB0aGF0IGl0IHdhcyB0cmlja3kgdG8gb3ZlcnJpZGUgdGhlIGJyb3dzZXIgYnV0dG9uXG5cdHpvb21GYWN0b3I6IDAuMSxcblx0Y29udGFpbmVyQmFja2dyb3VuZENvbG9yOiAnI2NjYycsXG5cdGFsbG93Q3RybFdoZWVsWm9vbTogdHJ1ZSxcblx0YWxsb3dGdWxsc2NyZWVuOiB0cnVlLFxuXHRhbGxvd0tleWJvYXJkTmF2aWdhdGlvbjogdHJ1ZSxcblx0YWxsb3dEcmFnOiB0cnVlLFxuXHRidG5TaG93OiB7XG5cdFx0em9vbUluOiB0cnVlLFxuXHRcdHpvb21PdXQ6IHRydWUsXG5cdFx0cm90YXRlQ2xvY2t3aXNlOiB0cnVlLFxuXHRcdHJvdGF0ZUNvdW50ZXJDbG9ja3dpc2U6IHRydWUsXG5cdFx0bmV4dDogdHJ1ZSxcblx0XHRwcmV2OiB0cnVlXG5cdH0sXG5cdGJ0bkljb25zOiB7XG5cdFx0em9vbUluOiAnbWF0ZXJpYWwtaWNvbnMgem9vbS1pbicsXG5cdFx0em9vbU91dDogJ21hdGVyaWFsLWljb25zIHpvb20tb3V0Jyxcblx0XHRyb3RhdGVDbG9ja3dpc2U6ICdtYXRlcmlhbC1pY29ucyByb3RhdGUtY2xvY2t3aXNlJyxcblx0XHRyb3RhdGVDb3VudGVyQ2xvY2t3aXNlOiAnbWF0ZXJpYWwtaWNvbnMgcm90YXRlLWNvdW50ZXJjbG9jaycsXG5cdFx0bmV4dDogJ21hdGVyaWFsLWljb25zIG5leHQnLFxuXHRcdHByZXY6ICdtYXRlcmlhbC1pY29ucyBwcmV2Jyxcblx0XHRmdWxsc2NyZWVuOiAnbWF0ZXJpYWwtaWNvbnMgZnVsbHNjcmVlbicsXG5cdH1cbn07XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ25neC1pbWFnZS12aWV3ZXInLFxuXHR0ZW1wbGF0ZVVybDogJy4vaW1hZ2Utdmlld2VyLmNvbXBvbmVudC5odG1sJyxcblx0c3R5bGVVcmxzOiBbJy4vaW1hZ2Utdmlld2VyLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgSW1hZ2VWaWV3ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG5cdEBJbnB1dCgpXG5cdHNyYzogKHN0cmluZyB8IFNhZmVSZXNvdXJjZVVybCB8IFNhZmVVcmwpW107XG5cblx0QElucHV0KClcblx0aW5kZXggPSAwO1xuXG5cdEBJbnB1dCgpXG5cdGNvbmZpZzogSW1hZ2VWaWV3ZXJDb25maWc7XG5cblx0QE91dHB1dCgpXG5cdGluZGV4Q2hhbmdlOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuXHRAT3V0cHV0KClcblx0Y29uZmlnQ2hhbmdlOiBFdmVudEVtaXR0ZXI8SW1hZ2VWaWV3ZXJDb25maWc+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG5cdEBPdXRwdXQoKVxuXHRjdXN0b21FdmVudDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuXHRAVmlld0NoaWxkKCdmdWxsc2NyZWVuRWxlbWVudCcpXG5cdGZ1bGxzY3JlZW5FbGVtZW50OiBFbGVtZW50UmVmO1xuXG5cdHB1YmxpYyBzdHlsZSA9IHsgdHJhbnNmb3JtOiAnJywgbXNUcmFuc2Zvcm06ICcnLCBvVHJhbnNmb3JtOiAnJywgd2Via2l0VHJhbnNmb3JtOiAnJyB9O1xuXHRwdWJsaWMgZnVsbHNjcmVlbiA9IGZhbHNlO1xuXHRwdWJsaWMgbG9hZGluZyA9IHRydWU7XG5cdHByaXZhdGUgc2NhbGUgPSAxO1xuXHRwcml2YXRlIHJvdGF0aW9uID0gMDtcblx0cHJpdmF0ZSB0cmFuc2xhdGVYID0gMDtcblx0cHJpdmF0ZSB0cmFuc2xhdGVZID0gMDtcblx0cHJpdmF0ZSBwcmV2WDogbnVtYmVyO1xuXHRwcml2YXRlIHByZXZZOiBudW1iZXI7XG5cdHByaXZhdGUgaG92ZXJlZCA9IGZhbHNlO1xuXG5cdGNvbnN0cnVjdG9yKFxuXHRcdEBPcHRpb25hbCgpIEBJbmplY3QoJ2NvbmZpZycpIHB1YmxpYyBtb2R1bGVDb25maWc6IEltYWdlVmlld2VyQ29uZmlnLFxuXHRcdHByaXZhdGUgYmlnU2NyZWVuU2VydmljZTogQmlnU2NyZWVuU2VydmljZVxuXHQpIHsgfVxuXG5cdG5nT25Jbml0KCkge1xuXHRcdGNvbnN0IG1lcmdlZCA9IHRoaXMubWVyZ2VDb25maWcoREVGQVVMVF9DT05GSUcsIHRoaXMubW9kdWxlQ29uZmlnKTtcblx0XHR0aGlzLmNvbmZpZyA9IHRoaXMubWVyZ2VDb25maWcobWVyZ2VkLCB0aGlzLmNvbmZpZyk7XG5cdFx0dGhpcy50cmlnZ2VyQ29uZmlnQmluZGluZygpO1xuXHR9XG5cblx0QEhvc3RMaXN0ZW5lcignd2luZG93OmtleXVwLkFycm93UmlnaHQnLCBbJyRldmVudCddKVxuXHRuZXh0SW1hZ2UoZXZlbnQpIHtcblx0XHRpZiAodGhpcy5jYW5OYXZpZ2F0ZShldmVudCkgJiYgdGhpcy5pbmRleCA8IHRoaXMuc3JjLmxlbmd0aCAtIDEpIHtcblx0XHRcdHRoaXMubG9hZGluZyA9IHRydWU7XG5cdFx0XHR0aGlzLmluZGV4Kys7XG5cdFx0XHR0aGlzLnRyaWdnZXJJbmRleEJpbmRpbmcoKTtcblx0XHRcdHRoaXMucmVzZXQoKTtcblx0XHR9XG5cdH1cblxuXHRASG9zdExpc3RlbmVyKCd3aW5kb3c6a2V5dXAuQXJyb3dMZWZ0JywgWyckZXZlbnQnXSlcblx0cHJldkltYWdlKGV2ZW50KSB7XG5cdFx0aWYgKHRoaXMuY2FuTmF2aWdhdGUoZXZlbnQpICYmIHRoaXMuaW5kZXggPiAwKSB7XG5cdFx0XHR0aGlzLmxvYWRpbmcgPSB0cnVlO1xuXHRcdFx0dGhpcy5pbmRleC0tO1xuXHRcdFx0dGhpcy50cmlnZ2VySW5kZXhCaW5kaW5nKCk7XG5cdFx0XHR0aGlzLnJlc2V0KCk7XG5cdFx0fVxuXHR9XG5cblx0em9vbUluKCkge1xuXHRcdHRoaXMuc2NhbGUgKj0gKDEgKyB0aGlzLmNvbmZpZy56b29tRmFjdG9yKTtcblx0XHR0aGlzLnVwZGF0ZVN0eWxlKCk7XG5cdH1cblxuXHR6b29tT3V0KCkge1xuXHRcdGlmICh0aGlzLnNjYWxlID4gdGhpcy5jb25maWcuem9vbUZhY3Rvcikge1xuXHRcdFx0dGhpcy5zY2FsZSAvPSAoMSArIHRoaXMuY29uZmlnLnpvb21GYWN0b3IpO1xuXHRcdH1cblx0XHR0aGlzLnVwZGF0ZVN0eWxlKCk7XG5cdH1cblxuXHRzY3JvbGxab29tKGV2dDogV2hlZWxFdmVudCkge1xuXHRcdGlmICh0aGlzLmNvbmZpZy5hbGxvd0N0cmxXaGVlbFpvb20gJiYgZXZ0LmN0cmxLZXkpIHtcblx0XHRcdGV2dC5kZWx0YVkgPiAwID8gdGhpcy56b29tT3V0KCkgOiB0aGlzLnpvb21JbigpO1xuXHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdH1cblx0fVxuXG5cdHJvdGF0ZUNsb2Nrd2lzZSgpIHtcblx0XHR0aGlzLnJvdGF0aW9uICs9IDkwO1xuXHRcdHRoaXMudXBkYXRlU3R5bGUoKTtcblx0fVxuXG5cdHJvdGF0ZUNvdW50ZXJDbG9ja3dpc2UoKSB7XG5cdFx0dGhpcy5yb3RhdGlvbiAtPSA5MDtcblx0XHR0aGlzLnVwZGF0ZVN0eWxlKCk7XG5cdH1cblxuXHRvbkxvYWQoKSB7XG5cdFx0dGhpcy5sb2FkaW5nID0gZmFsc2U7XG5cdH1cblxuXHRvbkxvYWRTdGFydCgpIHtcblx0XHR0aGlzLmxvYWRpbmcgPSB0cnVlO1xuXHR9XG5cblx0b25EcmFnT3ZlcihldnQpIHtcblx0XHRpZih0aGlzLmNvbmZpZy5hbGxvd0RyYWcpe1xuXHRcdFx0dGhpcy50cmFuc2xhdGVYICs9IChldnQuY2xpZW50WCAtIHRoaXMucHJldlgpO1xuXHRcdFx0dGhpcy50cmFuc2xhdGVZICs9IChldnQuY2xpZW50WSAtIHRoaXMucHJldlkpO1xuXHRcdFx0dGhpcy5wcmV2WCA9IGV2dC5jbGllbnRYO1xuXHRcdFx0dGhpcy5wcmV2WSA9IGV2dC5jbGllbnRZO1xuXHRcdFx0dGhpcy51cGRhdGVTdHlsZSgpO1xuXHRcdH1cblx0fVxuXG5cdG9uRHJhZ1N0YXJ0KGV2dCkge1xuXHRcdGlmKHRoaXMuY29uZmlnLmFsbG93RHJhZyl7XG5cdFx0XHRpZiAoZXZ0LmRhdGFUcmFuc2ZlciAmJiBldnQuZGF0YVRyYW5zZmVyLnNldERyYWdJbWFnZSkge1xuXHRcdFx0XHRldnQuZGF0YVRyYW5zZmVyLnNldERyYWdJbWFnZShldnQudGFyZ2V0Lm5leHRFbGVtZW50U2libGluZywgMCwgMCk7XG5cdFx0XHR9XG5cdFx0XHR0aGlzLnByZXZYID0gZXZ0LmNsaWVudFg7XG5cdFx0XHR0aGlzLnByZXZZID0gZXZ0LmNsaWVudFk7XG5cdFx0fVxuXHR9XG5cblx0dG9nZ2xlRnVsbHNjcmVlbigpIHtcblx0XHRpZih0aGlzLmJpZ1NjcmVlblNlcnZpY2UuaXNFbmFibGVkICYmIHRoaXMuY29uZmlnLmFsbG93RnVsbHNjcmVlbil7XG5cdFx0XHR0aGlzLmJpZ1NjcmVlblNlcnZpY2UudG9nZ2xlKHRoaXMuZnVsbHNjcmVlbkVsZW1lbnQubmF0aXZlRWxlbWVudCk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGNvbnNvbGUubG9nKFwiW2xhY3VuYS1pbWFnZS12aWV3ZXIgd2FybmluZ10gbWV0aG9kIHRvZ2dsZUZ1bGxzY3JlZW4oKSBjYWxsZWQsIGJ1dCBmdWxsc2NyZWVuIGlzIGRpc2FibGVkXCIpO1xuXHRcdH1cblx0fVxuXG5cdHRyaWdnZXJJbmRleEJpbmRpbmcoKSB7XG5cdFx0dGhpcy5pbmRleENoYW5nZS5lbWl0KHRoaXMuaW5kZXgpO1xuXHR9XG5cblx0dHJpZ2dlckNvbmZpZ0JpbmRpbmcoKSB7XG5cdFx0dGhpcy5jb25maWdDaGFuZ2UubmV4dCh0aGlzLmNvbmZpZyk7XG5cdH1cblxuXHRmaXJlQ3VzdG9tRXZlbnQobmFtZSwgaW1hZ2VJbmRleCkge1xuXHRcdHRoaXMuY3VzdG9tRXZlbnQuZW1pdChuZXcgQ3VzdG9tRXZlbnQobmFtZSwgaW1hZ2VJbmRleCkpO1xuXHR9XG5cblx0cmVzZXQoKSB7XG5cdFx0dGhpcy5zY2FsZSA9IDE7XG5cdFx0dGhpcy5yb3RhdGlvbiA9IDA7XG5cdFx0dGhpcy50cmFuc2xhdGVYID0gMDtcblx0XHR0aGlzLnRyYW5zbGF0ZVkgPSAwO1xuXHRcdHRoaXMudXBkYXRlU3R5bGUoKTtcblx0fVxuXG5cdEBIb3N0TGlzdGVuZXIoJ21vdXNlb3ZlcicpXG5cdG9uTW91c2VPdmVyKCkge1xuXHRcdHRoaXMuaG92ZXJlZCA9IHRydWU7XG5cdH1cblxuXHRASG9zdExpc3RlbmVyKCdtb3VzZWxlYXZlJylcblx0b25Nb3VzZUxlYXZlKCkge1xuXHRcdHRoaXMuaG92ZXJlZCA9IGZhbHNlO1xuXHR9XG5cblx0cHJpdmF0ZSBjYW5OYXZpZ2F0ZShldmVudDogYW55KSB7XG5cdFx0cmV0dXJuIGV2ZW50ID09IG51bGwgfHwgKHRoaXMuY29uZmlnLmFsbG93S2V5Ym9hcmROYXZpZ2F0aW9uICYmIHRoaXMuaG92ZXJlZCk7XG5cdH1cblxuXHRwcml2YXRlIHVwZGF0ZVN0eWxlKCkge1xuXHRcdHRoaXMuc3R5bGUudHJhbnNmb3JtID0gYHRyYW5zbGF0ZSgke3RoaXMudHJhbnNsYXRlWH1weCwgJHt0aGlzLnRyYW5zbGF0ZVl9cHgpIHJvdGF0ZSgke3RoaXMucm90YXRpb259ZGVnKSBzY2FsZSgke3RoaXMuc2NhbGV9KWA7XG5cdFx0dGhpcy5zdHlsZS5tc1RyYW5zZm9ybSA9IHRoaXMuc3R5bGUudHJhbnNmb3JtO1xuXHRcdHRoaXMuc3R5bGUud2Via2l0VHJhbnNmb3JtID0gdGhpcy5zdHlsZS50cmFuc2Zvcm07XG5cdFx0dGhpcy5zdHlsZS5vVHJhbnNmb3JtID0gdGhpcy5zdHlsZS50cmFuc2Zvcm07XG5cdH1cblxuXHRwcml2YXRlIG1lcmdlQ29uZmlnKGRlZmF1bHRWYWx1ZXM6IEltYWdlVmlld2VyQ29uZmlnLCBvdmVycmlkZVZhbHVlczogSW1hZ2VWaWV3ZXJDb25maWcpOiBJbWFnZVZpZXdlckNvbmZpZyB7XG5cdFx0bGV0IHJlc3VsdDogSW1hZ2VWaWV3ZXJDb25maWcgPSB7IC4uLmRlZmF1bHRWYWx1ZXMgfTtcblx0XHRpZiAob3ZlcnJpZGVWYWx1ZXMpIHtcblx0XHRcdHJlc3VsdCA9IHsgLi4uZGVmYXVsdFZhbHVlcywgLi4ub3ZlcnJpZGVWYWx1ZXMgfTtcblxuXHRcdFx0aWYgKG92ZXJyaWRlVmFsdWVzLmJ0bkljb25zKSB7XG5cdFx0XHRcdHJlc3VsdC5idG5JY29ucyA9IHsgLi4uZGVmYXVsdFZhbHVlcy5idG5JY29ucywgLi4ub3ZlcnJpZGVWYWx1ZXMuYnRuSWNvbnMgfTtcblx0XHRcdH1cblx0XHR9XG5cdFx0cmV0dXJuIHJlc3VsdDtcblx0fVxuXG59XG4iXX0=

@@ -6,4 +6,4 @@ import * as tslib_1 from "tslib";

import { MatButtonModule, MatIconModule } from '@angular/material';
import { BigScreenModule } from 'angular-bigscreen';
import { ImageViewerComponent } from './image-viewer.component';
import { ToggleFullscreenDirective } from './fullscreen.directive';
let ImageViewerModule = ImageViewerModule_1 = class ImageViewerModule {

@@ -20,2 +20,3 @@ static forRoot(config) {

imports: [
BigScreenModule,
CommonModule,

@@ -27,7 +28,5 @@ MatButtonModule,

ImageViewerComponent,
ToggleFullscreenDirective
],
exports: [
ImageViewerComponent,
ToggleFullscreenDirective
]

@@ -37,2 +36,2 @@ })

export { ImageViewerModule };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2Utdmlld2VyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2xhY3VuYS1pbWFnZS12aWV3ZXIvIiwic291cmNlcyI6WyJzcmMvYXBwL2ltYWdlLXZpZXdlci9pbWFnZS12aWV3ZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFbkUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFaEUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFpQm5FLElBQWEsaUJBQWlCLHlCQUE5QixNQUFhLGlCQUFpQjtJQUM3QixNQUFNLENBQUMsT0FBTyxDQUFDLE1BQTBCO1FBQ3hDLE9BQU87WUFDTixRQUFRLEVBQUUsbUJBQWlCO1lBQzNCLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLENBQUM7U0FDcEQsQ0FBQztJQUNILENBQUM7Q0FDRCxDQUFBO0FBUFksaUJBQWlCO0lBZjdCLFFBQVEsQ0FBQztRQUNULE9BQU8sRUFBRTtZQUNSLFlBQVk7WUFDWixlQUFlO1lBQ2YsYUFBYTtTQUNiO1FBQ0QsWUFBWSxFQUFFO1lBQ2Isb0JBQW9CO1lBQ3BCLHlCQUF5QjtTQUN6QjtRQUNELE9BQU8sRUFBRTtZQUNSLG9CQUFvQjtZQUNwQix5QkFBeUI7U0FDekI7S0FDRCxDQUFDO0dBQ1csaUJBQWlCLENBTzdCO1NBUFksaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIE1vZHVsZVdpdGhQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUsIE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbCc7XG5cbmltcG9ydCB7IEltYWdlVmlld2VyQ29tcG9uZW50IH0gZnJvbSAnLi9pbWFnZS12aWV3ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEltYWdlVmlld2VyQ29uZmlnIH0gZnJvbSAnLi9pbWFnZS12aWV3ZXItY29uZmlnLm1vZGVsJztcbmltcG9ydCB7IFRvZ2dsZUZ1bGxzY3JlZW5EaXJlY3RpdmUgfSBmcm9tICcuL2Z1bGxzY3JlZW4uZGlyZWN0aXZlJztcblxuQE5nTW9kdWxlKHtcblx0aW1wb3J0czogW1xuXHRcdENvbW1vbk1vZHVsZSxcblx0XHRNYXRCdXR0b25Nb2R1bGUsXG5cdFx0TWF0SWNvbk1vZHVsZSxcblx0XSxcblx0ZGVjbGFyYXRpb25zOiBbXG5cdFx0SW1hZ2VWaWV3ZXJDb21wb25lbnQsXG5cdFx0VG9nZ2xlRnVsbHNjcmVlbkRpcmVjdGl2ZVxuXHRdLFxuXHRleHBvcnRzOiBbXG5cdFx0SW1hZ2VWaWV3ZXJDb21wb25lbnQsXG5cdFx0VG9nZ2xlRnVsbHNjcmVlbkRpcmVjdGl2ZVxuXHRdXG59KVxuZXhwb3J0IGNsYXNzIEltYWdlVmlld2VyTW9kdWxlIHtcblx0c3RhdGljIGZvclJvb3QoY29uZmlnPzogSW1hZ2VWaWV3ZXJDb25maWcpOiBNb2R1bGVXaXRoUHJvdmlkZXJzIHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0bmdNb2R1bGU6IEltYWdlVmlld2VyTW9kdWxlLFxuXHRcdFx0cHJvdmlkZXJzOiBbeyBwcm92aWRlOiAnY29uZmlnJywgdXNlVmFsdWU6IGNvbmZpZyB9XVxuXHRcdH07XG5cdH1cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2Utdmlld2VyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2xhY3VuYS1pbWFnZS12aWV3ZXIvIiwic291cmNlcyI6WyJzcmMvYXBwL2ltYWdlLXZpZXdlci9pbWFnZS12aWV3ZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXBELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBaUJoRSxJQUFhLGlCQUFpQix5QkFBOUIsTUFBYSxpQkFBaUI7SUFDN0IsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUEwQjtRQUN4QyxPQUFPO1lBQ04sUUFBUSxFQUFFLG1CQUFpQjtZQUMzQixTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFDO1NBQ3BELENBQUM7SUFDSCxDQUFDO0NBQ0QsQ0FBQTtBQVBZLGlCQUFpQjtJQWQ3QixRQUFRLENBQUM7UUFDVCxPQUFPLEVBQUU7WUFDUixlQUFlO1lBQ2YsWUFBWTtZQUNaLGVBQWU7WUFDZixhQUFhO1NBQ2I7UUFDRCxZQUFZLEVBQUU7WUFDYixvQkFBb0I7U0FDcEI7UUFDRCxPQUFPLEVBQUU7WUFDUixvQkFBb0I7U0FDcEI7S0FDRCxDQUFDO0dBQ1csaUJBQWlCLENBTzdCO1NBUFksaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIE1vZHVsZVdpdGhQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUsIE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbCc7XG5pbXBvcnQgeyBCaWdTY3JlZW5Nb2R1bGUgfSBmcm9tICdhbmd1bGFyLWJpZ3NjcmVlbic7XG5cbmltcG9ydCB7IEltYWdlVmlld2VyQ29tcG9uZW50IH0gZnJvbSAnLi9pbWFnZS12aWV3ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEltYWdlVmlld2VyQ29uZmlnIH0gZnJvbSAnLi9pbWFnZS12aWV3ZXItY29uZmlnLm1vZGVsJztcblxuQE5nTW9kdWxlKHtcblx0aW1wb3J0czogW1xuXHRcdEJpZ1NjcmVlbk1vZHVsZSxcblx0XHRDb21tb25Nb2R1bGUsXG5cdFx0TWF0QnV0dG9uTW9kdWxlLFxuXHRcdE1hdEljb25Nb2R1bGUsXG5cdF0sXG5cdGRlY2xhcmF0aW9uczogW1xuXHRcdEltYWdlVmlld2VyQ29tcG9uZW50LFxuXHRdLFxuXHRleHBvcnRzOiBbXG5cdFx0SW1hZ2VWaWV3ZXJDb21wb25lbnQsXG5cdF1cbn0pXG5leHBvcnQgY2xhc3MgSW1hZ2VWaWV3ZXJNb2R1bGUge1xuXHRzdGF0aWMgZm9yUm9vdChjb25maWc/OiBJbWFnZVZpZXdlckNvbmZpZyk6IE1vZHVsZVdpdGhQcm92aWRlcnMge1xuXHRcdHJldHVybiB7XG5cdFx0XHRuZ01vZHVsZTogSW1hZ2VWaWV3ZXJNb2R1bGUsXG5cdFx0XHRwcm92aWRlcnM6IFt7IHByb3ZpZGU6ICdjb25maWcnLCB1c2VWYWx1ZTogY29uZmlnIH1dXG5cdFx0fTtcblx0fVxufVxuIl19

@@ -5,3 +5,2 @@ /**

export * from './public_api';
export { ToggleFullscreenDirective as ɵa } from './src/app/image-viewer/fullscreen.directive';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFjdW5hLWltYWdlLXZpZXdlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2xhY3VuYS1pbWFnZS12aWV3ZXIvIiwic291cmNlcyI6WyJsYWN1bmEtaW1hZ2Utdmlld2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUM7QUFFN0IsT0FBTyxFQUFDLHlCQUF5QixJQUFJLEVBQUUsRUFBQyxNQUFNLDZDQUE2QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuXG5leHBvcnQge1RvZ2dsZUZ1bGxzY3JlZW5EaXJlY3RpdmUgYXMgybVhfSBmcm9tICcuL3NyYy9hcHAvaW1hZ2Utdmlld2VyL2Z1bGxzY3JlZW4uZGlyZWN0aXZlJzsiXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFjdW5hLWltYWdlLXZpZXdlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2xhY3VuYS1pbWFnZS12aWV3ZXIvIiwic291cmNlcyI6WyJsYWN1bmEtaW1hZ2Utdmlld2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG4iXX0=
import * as tslib_1 from "tslib";
import { Component, Input, Optional, Inject, Output, EventEmitter, HostListener, ElementRef, ViewChild } from '@angular/core';
import { CustomEvent } from './image-viewer-config.model';
import * as screenfull from 'screenfull';
import { isScreenFullAvailable } from './fullscreen.directive';
import { BigScreenService } from 'angular-bigscreen';
var DEFAULT_CONFIG = {

@@ -33,4 +32,5 @@ btnClass: 'mat-mini-fab',

var ImageViewerComponent = /** @class */ (function () {
function ImageViewerComponent(moduleConfig) {
function ImageViewerComponent(moduleConfig, bigScreenService) {
this.moduleConfig = moduleConfig;
this.bigScreenService = bigScreenService;
this.index = 0;

@@ -119,13 +119,7 @@ this.indexChange = new EventEmitter();

ImageViewerComponent.prototype.toggleFullscreen = function () {
if (isScreenFullAvailable(screenfull)) {
if (screenfull.enabled && this.config.allowFullscreen) {
screenfull.toggle(this.fullscreenElement.nativeElement);
}
else {
console.log("[lacuna-image-viewer warning] method toggleFullscreen() called, but fullscreen is disabled");
}
if (this.bigScreenService.isEnabled && this.config.allowFullscreen) {
this.bigScreenService.toggle(this.fullscreenElement.nativeElement);
}
else {
// Should not happen. See https://github.com/sindresorhus/screenfull.js/issues/126
console.log("[lacuna-image-viewer warning] Screenfull could not be used");
console.log("[lacuna-image-viewer warning] method toggleFullscreen() called, but fullscreen is disabled");
}

@@ -233,3 +227,3 @@ };

tslib_1.__param(0, Optional()), tslib_1.__param(0, Inject('config')),
tslib_1.__metadata("design:paramtypes", [Object])
tslib_1.__metadata("design:paramtypes", [Object, BigScreenService])
], ImageViewerComponent);

@@ -239,2 +233,2 @@ return ImageViewerComponent;

export { ImageViewerComponent };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2Utdmlld2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2xhY3VuYS1pbWFnZS12aWV3ZXIvIiwic291cmNlcyI6WyJzcmMvYXBwL2ltYWdlLXZpZXdlci9pbWFnZS12aWV3ZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEksT0FBTyxFQUFxQixXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUU3RSxPQUFPLEtBQUssVUFBVSxNQUFNLFlBQVksQ0FBQztBQUN6QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUUvRCxJQUFNLGNBQWMsR0FBc0I7SUFDekMsUUFBUSxFQUFFLGNBQWM7SUFDeEIsVUFBVSxFQUFFLEdBQUc7SUFDZix3QkFBd0IsRUFBRSxNQUFNO0lBQ2hDLGtCQUFrQixFQUFFLElBQUk7SUFDeEIsZUFBZSxFQUFFLElBQUk7SUFDckIsdUJBQXVCLEVBQUUsSUFBSTtJQUM3QixTQUFTLEVBQUUsSUFBSTtJQUNmLE9BQU8sRUFBRTtRQUNSLE1BQU0sRUFBRSxJQUFJO1FBQ1osT0FBTyxFQUFFLElBQUk7UUFDYixlQUFlLEVBQUUsSUFBSTtRQUNyQixzQkFBc0IsRUFBRSxJQUFJO1FBQzVCLElBQUksRUFBRSxJQUFJO1FBQ1YsSUFBSSxFQUFFLElBQUk7S0FDVjtJQUNELFFBQVEsRUFBRTtRQUNULE1BQU0sRUFBRSx3QkFBd0I7UUFDaEMsT0FBTyxFQUFFLHlCQUF5QjtRQUNsQyxlQUFlLEVBQUUsaUNBQWlDO1FBQ2xELHNCQUFzQixFQUFFLG9DQUFvQztRQUM1RCxJQUFJLEVBQUUscUJBQXFCO1FBQzNCLElBQUksRUFBRSxxQkFBcUI7UUFDM0IsVUFB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QUFDO2FBQzVFO1NBQ0Q7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNmLENBQUM7SUFwTEQ7UUFEQyxLQUFLLEVBQUU7O3FEQUNvQztJQUc1QztRQURDLEtBQUssRUFBRTs7dURBQ0U7SUFHVjtRQURDLEtBQUssRUFBRTs7d0RBQ2tCO0lBRzFCO1FBREMsTUFBTSxFQUFFOzBDQUNJLFlBQVk7NkRBQThCO0lBR3ZEO1FBREMsTUFBTSxFQUFFOzBDQUNLLFlBQVk7OERBQXlDO0lBR25FO1FBREMsTUFBTSxFQUFFOzBDQUNJLFlBQVk7NkRBQW1DO0lBRzVEO1FBREMsU0FBUyxDQUFDLG1CQUFtQixDQUFDOzBDQUNaLFVBQVU7bUVBQUM7SUFzQjlCO1FBREMsWUFBWSxDQUFDLHlCQUF5QixFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7Ozs7eURBUW5EO0lBR0Q7UUFEQyxZQUFZLENBQUMsd0JBQXdCLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQzs7Ozt5REFRbEQ7SUE2RkQ7UUFEQyxZQUFZLENBQUMsV0FBVyxDQUFDOzs7OzJEQUd6QjtJQUdEO1FBREMsWUFBWSxDQUFDLFlBQVksQ0FBQzs7Ozs0REFHMUI7SUFoS1csb0JBQW9CO1FBTGhDLFNBQVMsQ0FBQztZQUNWLFFBQVEsRUFBRSxrQkFBa0I7WUFDNUIsa3lFQUE0Qzs7U0FFNUMsQ0FBQztRQW1DWSxtQkFBQSxRQUFRLEVBQUUsQ0FBQSxFQUFFLG1CQUFBLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQTs7T0FsQzdCLG9CQUFvQixDQXlMaEM7SUFBRCwyQkFBQztDQUFBLEFBekxELElBeUxDO1NBekxZLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3B0aW9uYWwsIEluamVjdCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgRWxlbWVudFJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJbWFnZVZpZXdlckNvbmZpZywgQ3VzdG9tRXZlbnQgfSBmcm9tICcuL2ltYWdlLXZpZXdlci1jb25maWcubW9kZWwnO1xuaW1wb3J0IHsgU2FmZVJlc291cmNlVXJsLCBTYWZlVXJsIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgKiBhcyBzY3JlZW5mdWxsIGZyb20gJ3NjcmVlbmZ1bGwnO1xuaW1wb3J0IHsgaXNTY3JlZW5GdWxsQXZhaWxhYmxlIH0gZnJvbSAnLi9mdWxsc2NyZWVuLmRpcmVjdGl2ZSc7XG5cbmNvbnN0IERFRkFVTFRfQ09ORklHOiBJbWFnZVZpZXdlckNvbmZpZyA9IHtcblx0YnRuQ2xhc3M6ICdtYXQtbWluaS1mYWInLCAvLyB3ZSBvYnNlcnZlZCB0aGF0IGl0IHdhcyB0cmlja3kgdG8gb3ZlcnJpZGUgdGhlIGJyb3dzZXIgYnV0dG9uXG5cdHpvb21GYWN0b3I6IDAuMSxcblx0Y29udGFpbmVyQmFja2dyb3VuZENvbG9yOiAnI2NjYycsXG5cdGFsbG93Q3RybFdoZWVsWm9vbTogdHJ1ZSxcblx0YWxsb3dGdWxsc2NyZWVuOiB0cnVlLFxuXHRhbGxvd0tleWJvYXJkTmF2aWdhdGlvbjogdHJ1ZSxcblx0YWxsb3dEcmFnOiB0cnVlLFxuXHRidG5TaG93OiB7XG5cdFx0em9vbUluOiB0cnVlLFxuXHRcdHpvb21PdXQ6IHRydWUsXG5cdFx0cm90YXRlQ2xvY2t3aXNlOiB0cnVlLFxuXHRcdHJvdGF0ZUNvdW50ZXJDbG9ja3dpc2U6IHRydWUsXG5cdFx0bmV4dDogdHJ1ZSxcblx0XHRwcmV2OiB0cnVlXG5cdH0sXG5cdGJ0bkljb25zOiB7XG5cdFx0em9vbUluOiAnbWF0ZXJpYWwtaWNvbnMgem9vbS1pbicsXG5cdFx0em9vbU91dDogJ21hdGVyaWFsLWljb25zIHpvb20tb3V0Jyxcblx0XHRyb3RhdGVDbG9ja3dpc2U6ICdtYXRlcmlhbC1pY29ucyByb3RhdGUtY2xvY2t3aXNlJyxcblx0XHRyb3RhdGVDb3VudGVyQ2xvY2t3aXNlOiAnbWF0ZXJpYWwtaWNvbnMgcm90YXRlLWNvdW50ZXJjbG9jaycsXG5cdFx0bmV4dDogJ21hdGVyaWFsLWljb25zIG5leHQnLFxuXHRcdHByZXY6ICdtYXRlcmlhbC1pY29ucyBwcmV2Jyxcblx0XHRmdWxsc2NyZWVuOiAnbWF0ZXJpYWwtaWNvbnMgZnVsbHNjcmVlbicsXG5cdH1cbn07XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ25neC1pbWFnZS12aWV3ZXInLFxuXHR0ZW1wbGF0ZVVybDogJy4vaW1hZ2Utdmlld2VyLmNvbXBvbmVudC5odG1sJyxcblx0c3R5bGVVcmxzOiBbJy4vaW1hZ2Utdmlld2VyLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgSW1hZ2VWaWV3ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG5cdEBJbnB1dCgpXG5cdHNyYzogKHN0cmluZyB8IFNhZmVSZXNvdXJjZVVybCB8IFNhZmVVcmwpW107XG5cblx0QElucHV0KClcblx0aW5kZXggPSAwO1xuXG5cdEBJbnB1dCgpXG5cdGNvbmZpZzogSW1hZ2VWaWV3ZXJDb25maWc7XG5cblx0QE91dHB1dCgpXG5cdGluZGV4Q2hhbmdlOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuXHRAT3V0cHV0KClcblx0Y29uZmlnQ2hhbmdlOiBFdmVudEVtaXR0ZXI8SW1hZ2VWaWV3ZXJDb25maWc+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG5cdEBPdXRwdXQoKVxuXHRjdXN0b21FdmVudDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuXHRAVmlld0NoaWxkKCdmdWxsc2NyZWVuRWxlbWVudCcpXG5cdGZ1bGxzY3JlZW5FbGVtZW50OiBFbGVtZW50UmVmO1xuXG5cdHB1YmxpYyBzdHlsZSA9IHsgdHJhbnNmb3JtOiAnJywgbXNUcmFuc2Zvcm06ICcnLCBvVHJhbnNmb3JtOiAnJywgd2Via2l0VHJhbnNmb3JtOiAnJyB9O1xuXHRwdWJsaWMgZnVsbHNjcmVlbiA9IGZhbHNlO1xuXHRwdWJsaWMgbG9hZGluZyA9IHRydWU7XG5cdHByaXZhdGUgc2NhbGUgPSAxO1xuXHRwcml2YXRlIHJvdGF0aW9uID0gMDtcblx0cHJpdmF0ZSB0cmFuc2xhdGVYID0gMDtcblx0cHJpdmF0ZSB0cmFuc2xhdGVZID0gMDtcblx0cHJpdmF0ZSBwcmV2WDogbnVtYmVyO1xuXHRwcml2YXRlIHByZXZZOiBudW1iZXI7XG5cdHByaXZhdGUgaG92ZXJlZCA9IGZhbHNlO1xuXG5cdGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIEBJbmplY3QoJ2NvbmZpZycpIHB1YmxpYyBtb2R1bGVDb25maWc6IEltYWdlVmlld2VyQ29uZmlnKSB7IH1cblxuXHRuZ09uSW5pdCgpIHtcblx0XHRjb25zdCBtZXJnZWQgPSB0aGlzLm1lcmdlQ29uZmlnKERFRkFVTFRfQ09ORklHLCB0aGlzLm1vZHVsZUNvbmZpZyk7XG5cdFx0dGhpcy5jb25maWcgPSB0aGlzLm1lcmdlQ29uZmlnKG1lcmdlZCwgdGhpcy5jb25maWcpO1xuXHRcdHRoaXMudHJpZ2dlckNvbmZpZ0JpbmRpbmcoKTtcblx0fVxuXG5cdEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzprZXl1cC5BcnJvd1JpZ2h0JywgWyckZXZlbnQnXSlcblx0bmV4dEltYWdlKGV2ZW50KSB7XG5cdFx0aWYgKHRoaXMuY2FuTmF2aWdhdGUoZXZlbnQpICYmIHRoaXMuaW5kZXggPCB0aGlzLnNyYy5sZW5ndGggLSAxKSB7XG5cdFx0XHR0aGlzLmxvYWRpbmcgPSB0cnVlO1xuXHRcdFx0dGhpcy5pbmRleCsrO1xuXHRcdFx0dGhpcy50cmlnZ2VySW5kZXhCaW5kaW5nKCk7XG5cdFx0XHR0aGlzLnJlc2V0KCk7XG5cdFx0fVxuXHR9XG5cblx0QEhvc3RMaXN0ZW5lcignd2luZG93OmtleXVwLkFycm93TGVmdCcsIFsnJGV2ZW50J10pXG5cdHByZXZJbWFnZShldmVudCkge1xuXHRcdGlmICh0aGlzLmNhbk5hdmlnYXRlKGV2ZW50KSAmJiB0aGlzLmluZGV4ID4gMCkge1xuXHRcdFx0dGhpcy5sb2FkaW5nID0gdHJ1ZTtcblx0XHRcdHRoaXMuaW5kZXgtLTtcblx0XHRcdHRoaXMudHJpZ2dlckluZGV4QmluZGluZygpO1xuXHRcdFx0dGhpcy5yZXNldCgpO1xuXHRcdH1cblx0fVxuXG5cdHpvb21JbigpIHtcblx0XHR0aGlzLnNjYWxlICo9ICgxICsgdGhpcy5jb25maWcuem9vbUZhY3Rvcik7XG5cdFx0dGhpcy51cGRhdGVTdHlsZSgpO1xuXHR9XG5cblx0em9vbU91dCgpIHtcblx0XHRpZiAodGhpcy5zY2FsZSA+IHRoaXMuY29uZmlnLnpvb21GYWN0b3IpIHtcblx0XHRcdHRoaXMuc2NhbGUgLz0gKDEgKyB0aGlzLmNvbmZpZy56b29tRmFjdG9yKTtcblx0XHR9XG5cdFx0dGhpcy51cGRhdGVTdHlsZSgpO1xuXHR9XG5cblx0c2Nyb2xsWm9vbShldnQ6IFdoZWVsRXZlbnQpIHtcblx0XHRpZiAodGhpcy5jb25maWcuYWxsb3dDdHJsV2hlZWxab29tICYmIGV2dC5jdHJsS2V5KSB7XG5cdFx0XHRldnQuZGVsdGFZID4gMCA/IHRoaXMuem9vbU91dCgpIDogdGhpcy56b29tSW4oKTtcblx0XHRcdHJldHVybiBmYWxzZTtcblx0XHR9XG5cdH1cblxuXHRyb3RhdGVDbG9ja3dpc2UoKSB7XG5cdFx0dGhpcy5yb3RhdGlvbiArPSA5MDtcblx0XHR0aGlzLnVwZGF0ZVN0eWxlKCk7XG5cdH1cblxuXHRyb3RhdGVDb3VudGVyQ2xvY2t3aXNlKCkge1xuXHRcdHRoaXMucm90YXRpb24gLT0gOTA7XG5cdFx0dGhpcy51cGRhdGVTdHlsZSgpO1xuXHR9XG5cblx0b25Mb2FkKCkge1xuXHRcdHRoaXMubG9hZGluZyA9IGZhbHNlO1xuXHR9XG5cblx0b25Mb2FkU3RhcnQoKSB7XG5cdFx0dGhpcy5sb2FkaW5nID0gdHJ1ZTtcblx0fVxuXG5cdG9uRHJhZ092ZXIoZXZ0KSB7XG5cdFx0aWYodGhpcy5jb25maWcuYWxsb3dEcmFnKXtcblx0XHRcdHRoaXMudHJhbnNsYXRlWCArPSAoZXZ0LmNsaWVudFggLSB0aGlzLnByZXZYKTtcblx0XHRcdHRoaXMudHJhbnNsYXRlWSArPSAoZXZ0LmNsaWVudFkgLSB0aGlzLnByZXZZKTtcblx0XHRcdHRoaXMucHJldlggPSBldnQuY2xpZW50WDtcblx0XHRcdHRoaXMucHJldlkgPSBldnQuY2xpZW50WTtcblx0XHRcdHRoaXMudXBkYXRlU3R5bGUoKTtcblx0XHR9XG5cdH1cblxuXHRvbkRyYWdTdGFydChldnQpIHtcblx0XHRpZih0aGlzLmNvbmZpZy5hbGxvd0RyYWcpe1xuXHRcdFx0aWYgKGV2dC5kYXRhVHJhbnNmZXIgJiYgZXZ0LmRhdGFUcmFuc2Zlci5zZXREcmFnSW1hZ2UpIHtcblx0XHRcdFx0ZXZ0LmRhdGFUcmFuc2Zlci5zZXREcmFnSW1hZ2UoZXZ0LnRhcmdldC5uZXh0RWxlbWVudFNpYmxpbmcsIDAsIDApO1xuXHRcdFx0fVxuXHRcdFx0dGhpcy5wcmV2WCA9IGV2dC5jbGllbnRYO1xuXHRcdFx0dGhpcy5wcmV2WSA9IGV2dC5jbGllbnRZO1xuXHRcdH1cblx0fVxuXG5cdHRvZ2dsZUZ1bGxzY3JlZW4oKSB7XG5cdFx0aWYoaXNTY3JlZW5GdWxsQXZhaWxhYmxlKHNjcmVlbmZ1bGwpKXtcblx0XHRcdGlmKHNjcmVlbmZ1bGwuZW5hYmxlZCAmJiB0aGlzLmNvbmZpZy5hbGxvd0Z1bGxzY3JlZW4pe1xuXHRcdFx0XHRzY3JlZW5mdWxsLnRvZ2dsZSh0aGlzLmZ1bGxzY3JlZW5FbGVtZW50Lm5hdGl2ZUVsZW1lbnQpO1xuXHRcdFx0fSBlbHNle1xuXHRcdFx0XHRjb25zb2xlLmxvZyhcIltsYWN1bmEtaW1hZ2Utdmlld2VyIHdhcm5pbmddIG1ldGhvZCB0b2dnbGVGdWxsc2NyZWVuKCkgY2FsbGVkLCBidXQgZnVsbHNjcmVlbiBpcyBkaXNhYmxlZFwiKTtcblx0XHRcdH1cblx0XHR9IGVsc2V7XG5cdFx0XHQvLyBTaG91bGQgbm90IGhhcHBlbi4gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9zaW5kcmVzb3JodXMvc2NyZWVuZnVsbC5qcy9pc3N1ZXMvMTI2XG5cdFx0XHRjb25zb2xlLmxvZyhcIltsYWN1bmEtaW1hZ2Utdmlld2VyIHdhcm5pbmddIFNjcmVlbmZ1bGwgY291bGQgbm90IGJlIHVzZWRcIik7XG5cdFx0fVxuXHR9XG5cblx0dHJpZ2dlckluZGV4QmluZGluZygpIHtcblx0XHR0aGlzLmluZGV4Q2hhbmdlLmVtaXQodGhpcy5pbmRleCk7XG5cdH1cblxuXHR0cmlnZ2VyQ29uZmlnQmluZGluZygpIHtcblx0XHR0aGlzLmNvbmZpZ0NoYW5nZS5uZXh0KHRoaXMuY29uZmlnKTtcblx0fVxuXG5cdGZpcmVDdXN0b21FdmVudChuYW1lLCBpbWFnZUluZGV4KSB7XG5cdFx0dGhpcy5jdXN0b21FdmVudC5lbWl0KG5ldyBDdXN0b21FdmVudChuYW1lLCBpbWFnZUluZGV4KSk7XG5cdH1cblxuXHRyZXNldCgpIHtcblx0XHR0aGlzLnNjYWxlID0gMTtcblx0XHR0aGlzLnJvdGF0aW9uID0gMDtcblx0XHR0aGlzLnRyYW5zbGF0ZVggPSAwO1xuXHRcdHRoaXMudHJhbnNsYXRlWSA9IDA7XG5cdFx0dGhpcy51cGRhdGVTdHlsZSgpO1xuXHR9XG5cblx0QEhvc3RMaXN0ZW5lcignbW91c2VvdmVyJylcblx0b25Nb3VzZU92ZXIoKSB7XG5cdFx0dGhpcy5ob3ZlcmVkID0gdHJ1ZTtcblx0fVxuXG5cdEBIb3N0TGlzdGVuZXIoJ21vdXNlbGVhdmUnKVxuXHRvbk1vdXNlTGVhdmUoKSB7XG5cdFx0dGhpcy5ob3ZlcmVkID0gZmFsc2U7XG5cdH1cblxuXHRwcml2YXRlIGNhbk5hdmlnYXRlKGV2ZW50OiBhbnkpIHtcblx0XHRyZXR1cm4gZXZlbnQgPT0gbnVsbCB8fCAodGhpcy5jb25maWcuYWxsb3dLZXlib2FyZE5hdmlnYXRpb24gJiYgdGhpcy5ob3ZlcmVkKTtcblx0fVxuXG5cdHByaXZhdGUgdXBkYXRlU3R5bGUoKSB7XG5cdFx0dGhpcy5zdHlsZS50cmFuc2Zvcm0gPSBgdHJhbnNsYXRlKCR7dGhpcy50cmFuc2xhdGVYfXB4LCAke3RoaXMudHJhbnNsYXRlWX1weCkgcm90YXRlKCR7dGhpcy5yb3RhdGlvbn1kZWcpIHNjYWxlKCR7dGhpcy5zY2FsZX0pYDtcblx0XHR0aGlzLnN0eWxlLm1zVHJhbnNmb3JtID0gdGhpcy5zdHlsZS50cmFuc2Zvcm07XG5cdFx0dGhpcy5zdHlsZS53ZWJraXRUcmFuc2Zvcm0gPSB0aGlzLnN0eWxlLnRyYW5zZm9ybTtcblx0XHR0aGlzLnN0eWxlLm9UcmFuc2Zvcm0gPSB0aGlzLnN0eWxlLnRyYW5zZm9ybTtcblx0fVxuXG5cdHByaXZhdGUgbWVyZ2VDb25maWcoZGVmYXVsdFZhbHVlczogSW1hZ2VWaWV3ZXJDb25maWcsIG92ZXJyaWRlVmFsdWVzOiBJbWFnZVZpZXdlckNvbmZpZyk6IEltYWdlVmlld2VyQ29uZmlnIHtcblx0XHRsZXQgcmVzdWx0OiBJbWFnZVZpZXdlckNvbmZpZyA9IHsgLi4uZGVmYXVsdFZhbHVlcyB9O1xuXHRcdGlmIChvdmVycmlkZVZhbHVlcykge1xuXHRcdFx0cmVzdWx0ID0geyAuLi5kZWZhdWx0VmFsdWVzLCAuLi5vdmVycmlkZVZhbHVlcyB9O1xuXG5cdFx0XHRpZiAob3ZlcnJpZGVWYWx1ZXMuYnRuSWNvbnMpIHtcblx0XHRcdFx0cmVzdWx0LmJ0bkljb25zID0geyAuLi5kZWZhdWx0VmFsdWVzLmJ0bkljb25zLCAuLi5vdmVycmlkZVZhbHVlcy5idG5JY29ucyB9O1xuXHRcdFx0fVxuXHRcdH1cblx0XHRyZXR1cm4gcmVzdWx0O1xuXHR9XG5cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2Utdmlld2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2xhY3VuYS1pbWFnZS12aWV3ZXIvIiwic291cmNlcyI6WyJzcmMvYXBwL2ltYWdlLXZpZXdlci9pbWFnZS12aWV3ZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEksT0FBTyxFQUFxQixXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUU3RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVyRCxJQUFNLGNBQWMsR0FBc0I7SUFDekMsUUFBUSxFQUFFLGNBQWM7SUFDeEIsVUFBVSxFQUFFLEdBQUc7SUFDZix3QkFBd0IsRUFBRSxNQUFNO0lBQ2hDLGtCQUFrQixFQUFFLElBQUk7SUFDeEIsZUFBZSxFQUFFLElBQUk7SUFDckIsdUJBQXVCLEVBQUUsSUFBSTtJQUM3QixTQUFTLEVBQUUsSUFBSTtJQUNmLE9BQU8sRUFBRTtRQUNSLE1BQU0sRUFBRSxJQUFJO1FBQ1osT0FBTyxFQUFFLElBQUk7UUFDYixlQUFlLEVBQUUsSUFBSTtRQUNyQixzQkFBc0IsRUFBRSxJQUFJO1FBQzVCLElBQUksRUFBRSxJQUFJO1FBQ1YsSUFBSSxFQUFFLElBQUk7S0FDVjtJQUNELFFBQVEsRUFBRTtRQUNULE1BQU0sRUFBRSx3QkFBd0I7UUFDaEMsT0FBTyxFQUFFLHlCQUF5QjtRQUNsQyxlQUFlLEVBQUUsaUNBQWlDO1FBQ2xELHNCQUFzQixFQUFFLG9DQUFvQztRQUM1RCxJQUFJLEVBQUUscUJBQXFCO1FBQzNCLElBQUksRUFBRSxxQkFBcUI7UUFDM0IsVUFBVSxFQUFFLDJCQUEyQjtLQUN2QztDQUNELENBQUM7QUFPRjtJ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QURDLEtBQUssRUFBRTs7dURBQ0U7SUFHVjtRQURDLEtBQUssRUFBRTs7d0RBQ2tCO0lBRzFCO1FBREMsTUFBTSxFQUFFOzBDQUNJLFlBQVk7NkRBQThCO0lBR3ZEO1FBREMsTUFBTSxFQUFFOzBDQUNLLFlBQVk7OERBQXlDO0lBR25FO1FBREMsTUFBTSxFQUFFOzBDQUNJLFlBQVk7NkRBQW1DO0lBRzVEO1FBREMsU0FBUyxDQUFDLG1CQUFtQixDQUFDOzBDQUNaLFVBQVU7bUVBQUM7SUF5QjlCO1FBREMsWUFBWSxDQUFDLHlCQUF5QixFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7Ozs7eURBUW5EO0lBR0Q7UUFEQyxZQUFZLENBQUMsd0JBQXdCLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQzs7Ozt5REFRbEQ7SUF3RkQ7UUFEQyxZQUFZLENBQUMsV0FBVyxDQUFDOzs7OzJEQUd6QjtJQUdEO1FBREMsWUFBWSxDQUFDLFlBQVksQ0FBQzs7Ozs0REFHMUI7SUE5Slcsb0JBQW9CO1FBTGhDLFNBQVMsQ0FBQztZQUNWLFFBQVEsRUFBRSxrQkFBa0I7WUFDNUIsa3lFQUE0Qzs7U0FFNUMsQ0FBQztRQW9DQyxtQkFBQSxRQUFRLEVBQUUsQ0FBQSxFQUFFLG1CQUFBLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQTt5REFDSCxnQkFBZ0I7T0FwQy9CLG9CQUFvQixDQXVMaEM7SUFBRCwyQkFBQztDQUFBLEFBdkxELElBdUxDO1NBdkxZLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3B0aW9uYWwsIEluamVjdCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgRWxlbWVudFJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJbWFnZVZpZXdlckNvbmZpZywgQ3VzdG9tRXZlbnQgfSBmcm9tICcuL2ltYWdlLXZpZXdlci1jb25maWcubW9kZWwnO1xuaW1wb3J0IHsgU2FmZVJlc291cmNlVXJsLCBTYWZlVXJsIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBCaWdTY3JlZW5TZXJ2aWNlIH0gZnJvbSAnYW5ndWxhci1iaWdzY3JlZW4nO1xuXG5jb25zdCBERUZBVUxUX0NPTkZJRzogSW1hZ2VWaWV3ZXJDb25maWcgPSB7XG5cdGJ0bkNsYXNzOiAnbWF0LW1pbmktZmFiJywgLy8gd2Ugb2JzZXJ2ZWQgdGhhdCBpdCB3YXMgdHJpY2t5IHRvIG92ZXJyaWRlIHRoZSBicm93c2VyIGJ1dHRvblxuXHR6b29tRmFjdG9yOiAwLjEsXG5cdGNvbnRhaW5lckJhY2tncm91bmRDb2xvcjogJyNjY2MnLFxuXHRhbGxvd0N0cmxXaGVlbFpvb206IHRydWUsXG5cdGFsbG93RnVsbHNjcmVlbjogdHJ1ZSxcblx0YWxsb3dLZXlib2FyZE5hdmlnYXRpb246IHRydWUsXG5cdGFsbG93RHJhZzogdHJ1ZSxcblx0YnRuU2hvdzoge1xuXHRcdHpvb21JbjogdHJ1ZSxcblx0XHR6b29tT3V0OiB0cnVlLFxuXHRcdHJvdGF0ZUNsb2Nrd2lzZTogdHJ1ZSxcblx0XHRyb3RhdGVDb3VudGVyQ2xvY2t3aXNlOiB0cnVlLFxuXHRcdG5leHQ6IHRydWUsXG5cdFx0cHJldjogdHJ1ZVxuXHR9LFxuXHRidG5JY29uczoge1xuXHRcdHpvb21JbjogJ21hdGVyaWFsLWljb25zIHpvb20taW4nLFxuXHRcdHpvb21PdXQ6ICdtYXRlcmlhbC1pY29ucyB6b29tLW91dCcsXG5cdFx0cm90YXRlQ2xvY2t3aXNlOiAnbWF0ZXJpYWwtaWNvbnMgcm90YXRlLWNsb2Nrd2lzZScsXG5cdFx0cm90YXRlQ291bnRlckNsb2Nrd2lzZTogJ21hdGVyaWFsLWljb25zIHJvdGF0ZS1jb3VudGVyY2xvY2snLFxuXHRcdG5leHQ6ICdtYXRlcmlhbC1pY29ucyBuZXh0Jyxcblx0XHRwcmV2OiAnbWF0ZXJpYWwtaWNvbnMgcHJldicsXG5cdFx0ZnVsbHNjcmVlbjogJ21hdGVyaWFsLWljb25zIGZ1bGxzY3JlZW4nLFxuXHR9XG59O1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICduZ3gtaW1hZ2Utdmlld2VyJyxcblx0dGVtcGxhdGVVcmw6ICcuL2ltYWdlLXZpZXdlci5jb21wb25lbnQuaHRtbCcsXG5cdHN0eWxlVXJsczogWycuL2ltYWdlLXZpZXdlci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEltYWdlVmlld2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuXHRASW5wdXQoKVxuXHRzcmM6IChzdHJpbmcgfCBTYWZlUmVzb3VyY2VVcmwgfCBTYWZlVXJsKVtdO1xuXG5cdEBJbnB1dCgpXG5cdGluZGV4ID0gMDtcblxuXHRASW5wdXQoKVxuXHRjb25maWc6IEltYWdlVmlld2VyQ29uZmlnO1xuXG5cdEBPdXRwdXQoKVxuXHRpbmRleENoYW5nZTogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cblx0QE91dHB1dCgpXG5cdGNvbmZpZ0NoYW5nZTogRXZlbnRFbWl0dGVyPEltYWdlVmlld2VyQ29uZmlnPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuXHRAT3V0cHV0KClcblx0Y3VzdG9tRXZlbnQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cblx0QFZpZXdDaGlsZCgnZnVsbHNjcmVlbkVsZW1lbnQnKVxuXHRmdWxsc2NyZWVuRWxlbWVudDogRWxlbWVudFJlZjtcblxuXHRwdWJsaWMgc3R5bGUgPSB7IHRyYW5zZm9ybTogJycsIG1zVHJhbnNmb3JtOiAnJywgb1RyYW5zZm9ybTogJycsIHdlYmtpdFRyYW5zZm9ybTogJycgfTtcblx0cHVibGljIGZ1bGxzY3JlZW4gPSBmYWxzZTtcblx0cHVibGljIGxvYWRpbmcgPSB0cnVlO1xuXHRwcml2YXRlIHNjYWxlID0gMTtcblx0cHJpdmF0ZSByb3RhdGlvbiA9IDA7XG5cdHByaXZhdGUgdHJhbnNsYXRlWCA9IDA7XG5cdHByaXZhdGUgdHJhbnNsYXRlWSA9IDA7XG5cdHByaXZhdGUgcHJldlg6IG51bWJlcjtcblx0cHJpdmF0ZSBwcmV2WTogbnVtYmVyO1xuXHRwcml2YXRlIGhvdmVyZWQgPSBmYWxzZTtcblxuXHRjb25zdHJ1Y3Rvcihcblx0XHRAT3B0aW9uYWwoKSBASW5qZWN0KCdjb25maWcnKSBwdWJsaWMgbW9kdWxlQ29uZmlnOiBJbWFnZVZpZXdlckNvbmZpZyxcblx0XHRwcml2YXRlIGJpZ1NjcmVlblNlcnZpY2U6IEJpZ1NjcmVlblNlcnZpY2Vcblx0KSB7IH1cblxuXHRuZ09uSW5pdCgpIHtcblx0XHRjb25zdCBtZXJnZWQgPSB0aGlzLm1lcmdlQ29uZmlnKERFRkFVTFRfQ09ORklHLCB0aGlzLm1vZHVsZUNvbmZpZyk7XG5cdFx0dGhpcy5jb25maWcgPSB0aGlzLm1lcmdlQ29uZmlnKG1lcmdlZCwgdGhpcy5jb25maWcpO1xuXHRcdHRoaXMudHJpZ2dlckNvbmZpZ0JpbmRpbmcoKTtcblx0fVxuXG5cdEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzprZXl1cC5BcnJvd1JpZ2h0JywgWyckZXZlbnQnXSlcblx0bmV4dEltYWdlKGV2ZW50KSB7XG5cdFx0aWYgKHRoaXMuY2FuTmF2aWdhdGUoZXZlbnQpICYmIHRoaXMuaW5kZXggPCB0aGlzLnNyYy5sZW5ndGggLSAxKSB7XG5cdFx0XHR0aGlzLmxvYWRpbmcgPSB0cnVlO1xuXHRcdFx0dGhpcy5pbmRleCsrO1xuXHRcdFx0dGhpcy50cmlnZ2VySW5kZXhCaW5kaW5nKCk7XG5cdFx0XHR0aGlzLnJlc2V0KCk7XG5cdFx0fVxuXHR9XG5cblx0QEhvc3RMaXN0ZW5lcignd2luZG93OmtleXVwLkFycm93TGVmdCcsIFsnJGV2ZW50J10pXG5cdHByZXZJbWFnZShldmVudCkge1xuXHRcdGlmICh0aGlzLmNhbk5hdmlnYXRlKGV2ZW50KSAmJiB0aGlzLmluZGV4ID4gMCkge1xuXHRcdFx0dGhpcy5sb2FkaW5nID0gdHJ1ZTtcblx0XHRcdHRoaXMuaW5kZXgtLTtcblx0XHRcdHRoaXMudHJpZ2dlckluZGV4QmluZGluZygpO1xuXHRcdFx0dGhpcy5yZXNldCgpO1xuXHRcdH1cblx0fVxuXG5cdHpvb21JbigpIHtcblx0XHR0aGlzLnNjYWxlICo9ICgxICsgdGhpcy5jb25maWcuem9vbUZhY3Rvcik7XG5cdFx0dGhpcy51cGRhdGVTdHlsZSgpO1xuXHR9XG5cblx0em9vbU91dCgpIHtcblx0XHRpZiAodGhpcy5zY2FsZSA+IHRoaXMuY29uZmlnLnpvb21GYWN0b3IpIHtcblx0XHRcdHRoaXMuc2NhbGUgLz0gKDEgKyB0aGlzLmNvbmZpZy56b29tRmFjdG9yKTtcblx0XHR9XG5cdFx0dGhpcy51cGRhdGVTdHlsZSgpO1xuXHR9XG5cblx0c2Nyb2xsWm9vbShldnQ6IFdoZWVsRXZlbnQpIHtcblx0XHRpZiAodGhpcy5jb25maWcuYWxsb3dDdHJsV2hlZWxab29tICYmIGV2dC5jdHJsS2V5KSB7XG5cdFx0XHRldnQuZGVsdGFZID4gMCA/IHRoaXMuem9vbU91dCgpIDogdGhpcy56b29tSW4oKTtcblx0XHRcdHJldHVybiBmYWxzZTtcblx0XHR9XG5cdH1cblxuXHRyb3RhdGVDbG9ja3dpc2UoKSB7XG5cdFx0dGhpcy5yb3RhdGlvbiArPSA5MDtcblx0XHR0aGlzLnVwZGF0ZVN0eWxlKCk7XG5cdH1cblxuXHRyb3RhdGVDb3VudGVyQ2xvY2t3aXNlKCkge1xuXHRcdHRoaXMucm90YXRpb24gLT0gOTA7XG5cdFx0dGhpcy51cGRhdGVTdHlsZSgpO1xuXHR9XG5cblx0b25Mb2FkKCkge1xuXHRcdHRoaXMubG9hZGluZyA9IGZhbHNlO1xuXHR9XG5cblx0b25Mb2FkU3RhcnQoKSB7XG5cdFx0dGhpcy5sb2FkaW5nID0gdHJ1ZTtcblx0fVxuXG5cdG9uRHJhZ092ZXIoZXZ0KSB7XG5cdFx0aWYodGhpcy5jb25maWcuYWxsb3dEcmFnKXtcblx0XHRcdHRoaXMudHJhbnNsYXRlWCArPSAoZXZ0LmNsaWVudFggLSB0aGlzLnByZXZYKTtcblx0XHRcdHRoaXMudHJhbnNsYXRlWSArPSAoZXZ0LmNsaWVudFkgLSB0aGlzLnByZXZZKTtcblx0XHRcdHRoaXMucHJldlggPSBldnQuY2xpZW50WDtcblx0XHRcdHRoaXMucHJldlkgPSBldnQuY2xpZW50WTtcblx0XHRcdHRoaXMudXBkYXRlU3R5bGUoKTtcblx0XHR9XG5cdH1cblxuXHRvbkRyYWdTdGFydChldnQpIHtcblx0XHRpZih0aGlzLmNvbmZpZy5hbGxvd0RyYWcpe1xuXHRcdFx0aWYgKGV2dC5kYXRhVHJhbnNmZXIgJiYgZXZ0LmRhdGFUcmFuc2Zlci5zZXREcmFnSW1hZ2UpIHtcblx0XHRcdFx0ZXZ0LmRhdGFUcmFuc2Zlci5zZXREcmFnSW1hZ2UoZXZ0LnRhcmdldC5uZXh0RWxlbWVudFNpYmxpbmcsIDAsIDApO1xuXHRcdFx0fVxuXHRcdFx0dGhpcy5wcmV2WCA9IGV2dC5jbGllbnRYO1xuXHRcdFx0dGhpcy5wcmV2WSA9IGV2dC5jbGllbnRZO1xuXHRcdH1cblx0fVxuXG5cdHRvZ2dsZUZ1bGxzY3JlZW4oKSB7XG5cdFx0aWYodGhpcy5iaWdTY3JlZW5TZXJ2aWNlLmlzRW5hYmxlZCAmJiB0aGlzLmNvbmZpZy5hbGxvd0Z1bGxzY3JlZW4pe1xuXHRcdFx0dGhpcy5iaWdTY3JlZW5TZXJ2aWNlLnRvZ2dsZSh0aGlzLmZ1bGxzY3JlZW5FbGVtZW50Lm5hdGl2ZUVsZW1lbnQpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRjb25zb2xlLmxvZyhcIltsYWN1bmEtaW1hZ2Utdmlld2VyIHdhcm5pbmddIG1ldGhvZCB0b2dnbGVGdWxsc2NyZWVuKCkgY2FsbGVkLCBidXQgZnVsbHNjcmVlbiBpcyBkaXNhYmxlZFwiKTtcblx0XHR9XG5cdH1cblxuXHR0cmlnZ2VySW5kZXhCaW5kaW5nKCkge1xuXHRcdHRoaXMuaW5kZXhDaGFuZ2UuZW1pdCh0aGlzLmluZGV4KTtcblx0fVxuXG5cdHRyaWdnZXJDb25maWdCaW5kaW5nKCkge1xuXHRcdHRoaXMuY29uZmlnQ2hhbmdlLm5leHQodGhpcy5jb25maWcpO1xuXHR9XG5cblx0ZmlyZUN1c3RvbUV2ZW50KG5hbWUsIGltYWdlSW5kZXgpIHtcblx0XHR0aGlzLmN1c3RvbUV2ZW50LmVtaXQobmV3IEN1c3RvbUV2ZW50KG5hbWUsIGltYWdlSW5kZXgpKTtcblx0fVxuXG5cdHJlc2V0KCkge1xuXHRcdHRoaXMuc2NhbGUgPSAxO1xuXHRcdHRoaXMucm90YXRpb24gPSAwO1xuXHRcdHRoaXMudHJhbnNsYXRlWCA9IDA7XG5cdFx0dGhpcy50cmFuc2xhdGVZID0gMDtcblx0XHR0aGlzLnVwZGF0ZVN0eWxlKCk7XG5cdH1cblxuXHRASG9zdExpc3RlbmVyKCdtb3VzZW92ZXInKVxuXHRvbk1vdXNlT3ZlcigpIHtcblx0XHR0aGlzLmhvdmVyZWQgPSB0cnVlO1xuXHR9XG5cblx0QEhvc3RMaXN0ZW5lcignbW91c2VsZWF2ZScpXG5cdG9uTW91c2VMZWF2ZSgpIHtcblx0XHR0aGlzLmhvdmVyZWQgPSBmYWxzZTtcblx0fVxuXG5cdHByaXZhdGUgY2FuTmF2aWdhdGUoZXZlbnQ6IGFueSkge1xuXHRcdHJldHVybiBldmVudCA9PSBudWxsIHx8ICh0aGlzLmNvbmZpZy5hbGxvd0tleWJvYXJkTmF2aWdhdGlvbiAmJiB0aGlzLmhvdmVyZWQpO1xuXHR9XG5cblx0cHJpdmF0ZSB1cGRhdGVTdHlsZSgpIHtcblx0XHR0aGlzLnN0eWxlLnRyYW5zZm9ybSA9IGB0cmFuc2xhdGUoJHt0aGlzLnRyYW5zbGF0ZVh9cHgsICR7dGhpcy50cmFuc2xhdGVZfXB4KSByb3RhdGUoJHt0aGlzLnJvdGF0aW9ufWRlZykgc2NhbGUoJHt0aGlzLnNjYWxlfSlgO1xuXHRcdHRoaXMuc3R5bGUubXNUcmFuc2Zvcm0gPSB0aGlzLnN0eWxlLnRyYW5zZm9ybTtcblx0XHR0aGlzLnN0eWxlLndlYmtpdFRyYW5zZm9ybSA9IHRoaXMuc3R5bGUudHJhbnNmb3JtO1xuXHRcdHRoaXMuc3R5bGUub1RyYW5zZm9ybSA9IHRoaXMuc3R5bGUudHJhbnNmb3JtO1xuXHR9XG5cblx0cHJpdmF0ZSBtZXJnZUNvbmZpZyhkZWZhdWx0VmFsdWVzOiBJbWFnZVZpZXdlckNvbmZpZywgb3ZlcnJpZGVWYWx1ZXM6IEltYWdlVmlld2VyQ29uZmlnKTogSW1hZ2VWaWV3ZXJDb25maWcge1xuXHRcdGxldCByZXN1bHQ6IEltYWdlVmlld2VyQ29uZmlnID0geyAuLi5kZWZhdWx0VmFsdWVzIH07XG5cdFx0aWYgKG92ZXJyaWRlVmFsdWVzKSB7XG5cdFx0XHRyZXN1bHQgPSB7IC4uLmRlZmF1bHRWYWx1ZXMsIC4uLm92ZXJyaWRlVmFsdWVzIH07XG5cblx0XHRcdGlmIChvdmVycmlkZVZhbHVlcy5idG5JY29ucykge1xuXHRcdFx0XHRyZXN1bHQuYnRuSWNvbnMgPSB7IC4uLmRlZmF1bHRWYWx1ZXMuYnRuSWNvbnMsIC4uLm92ZXJyaWRlVmFsdWVzLmJ0bkljb25zIH07XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHJldHVybiByZXN1bHQ7XG5cdH1cblxufVxuIl19

@@ -5,4 +5,4 @@ import * as tslib_1 from "tslib";

import { MatButtonModule, MatIconModule } from '@angular/material';
import { BigScreenModule } from 'angular-bigscreen';
import { ImageViewerComponent } from './image-viewer.component';
import { ToggleFullscreenDirective } from './fullscreen.directive';
var ImageViewerModule = /** @class */ (function () {

@@ -22,2 +22,3 @@ function ImageViewerModule() {

imports: [
BigScreenModule,
CommonModule,

@@ -29,7 +30,5 @@ MatButtonModule,

ImageViewerComponent,
ToggleFullscreenDirective
],
exports: [
ImageViewerComponent,
ToggleFullscreenDirective
]

@@ -41,2 +40,2 @@ })

export { ImageViewerModule };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2Utdmlld2VyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2xhY3VuYS1pbWFnZS12aWV3ZXIvIiwic291cmNlcyI6WyJzcmMvYXBwL2ltYWdlLXZpZXdlci9pbWFnZS12aWV3ZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUF1QixNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVuRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVoRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQWlCbkU7SUFBQTtJQU9BLENBQUM7MEJBUFksaUJBQWlCO0lBQ3RCLHlCQUFPLEdBQWQsVUFBZSxNQUEwQjtRQUN4QyxPQUFPO1lBQ04sUUFBUSxFQUFFLG1CQUFpQjtZQUMzQixTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFDO1NBQ3BELENBQUM7SUFDSCxDQUFDOztJQU5XLGlCQUFpQjtRQWY3QixRQUFRLENBQUM7WUFDVCxPQUFPLEVBQUU7Z0JBQ1IsWUFBWTtnQkFDWixlQUFlO2dCQUNmLGFBQWE7YUFDYjtZQUNELFlBQVksRUFBRTtnQkFDYixvQkFBb0I7Z0JBQ3BCLHlCQUF5QjthQUN6QjtZQUNELE9BQU8sRUFBRTtnQkFDUixvQkFBb0I7Z0JBQ3BCLHlCQUF5QjthQUN6QjtTQUNELENBQUM7T0FDVyxpQkFBaUIsQ0FPN0I7SUFBRCx3QkFBQztDQUFBLEFBUEQsSUFPQztTQVBZLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBNb2R1bGVXaXRoUHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlLCBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwnO1xuXG5pbXBvcnQgeyBJbWFnZVZpZXdlckNvbXBvbmVudCB9IGZyb20gJy4vaW1hZ2Utdmlld2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJbWFnZVZpZXdlckNvbmZpZyB9IGZyb20gJy4vaW1hZ2Utdmlld2VyLWNvbmZpZy5tb2RlbCc7XG5pbXBvcnQgeyBUb2dnbGVGdWxsc2NyZWVuRGlyZWN0aXZlIH0gZnJvbSAnLi9mdWxsc2NyZWVuLmRpcmVjdGl2ZSc7XG5cbkBOZ01vZHVsZSh7XG5cdGltcG9ydHM6IFtcblx0XHRDb21tb25Nb2R1bGUsXG5cdFx0TWF0QnV0dG9uTW9kdWxlLFxuXHRcdE1hdEljb25Nb2R1bGUsXG5cdF0sXG5cdGRlY2xhcmF0aW9uczogW1xuXHRcdEltYWdlVmlld2VyQ29tcG9uZW50LFxuXHRcdFRvZ2dsZUZ1bGxzY3JlZW5EaXJlY3RpdmVcblx0XSxcblx0ZXhwb3J0czogW1xuXHRcdEltYWdlVmlld2VyQ29tcG9uZW50LFxuXHRcdFRvZ2dsZUZ1bGxzY3JlZW5EaXJlY3RpdmVcblx0XVxufSlcbmV4cG9ydCBjbGFzcyBJbWFnZVZpZXdlck1vZHVsZSB7XG5cdHN0YXRpYyBmb3JSb290KGNvbmZpZz86IEltYWdlVmlld2VyQ29uZmlnKTogTW9kdWxlV2l0aFByb3ZpZGVycyB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdG5nTW9kdWxlOiBJbWFnZVZpZXdlck1vZHVsZSxcblx0XHRcdHByb3ZpZGVyczogW3sgcHJvdmlkZTogJ2NvbmZpZycsIHVzZVZhbHVlOiBjb25maWcgfV1cblx0XHR9O1xuXHR9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2Utdmlld2VyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2xhY3VuYS1pbWFnZS12aWV3ZXIvIiwic291cmNlcyI6WyJzcmMvYXBwL2ltYWdlLXZpZXdlci9pbWFnZS12aWV3ZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUF1QixNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFcEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFpQmhFO0lBQUE7SUFPQSxDQUFDOzBCQVBZLGlCQUFpQjtJQUN0Qix5QkFBTyxHQUFkLFVBQWUsTUFBMEI7UUFDeEMsT0FBTztZQUNOLFFBQVEsRUFBRSxtQkFBaUI7WUFDM0IsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsQ0FBQztTQUNwRCxDQUFDO0lBQ0gsQ0FBQzs7SUFOVyxpQkFBaUI7UUFkN0IsUUFBUSxDQUFDO1lBQ1QsT0FBTyxFQUFFO2dCQUNSLGVBQWU7Z0JBQ2YsWUFBWTtnQkFDWixlQUFlO2dCQUNmLGFBQWE7YUFDYjtZQUNELFlBQVksRUFBRTtnQkFDYixvQkFBb0I7YUFDcEI7WUFDRCxPQUFPLEVBQUU7Z0JBQ1Isb0JBQW9CO2FBQ3BCO1NBQ0QsQ0FBQztPQUNXLGlCQUFpQixDQU83QjtJQUFELHdCQUFDO0NBQUEsQUFQRCxJQU9DO1NBUFksaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIE1vZHVsZVdpdGhQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUsIE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbCc7XG5pbXBvcnQgeyBCaWdTY3JlZW5Nb2R1bGUgfSBmcm9tICdhbmd1bGFyLWJpZ3NjcmVlbic7XG5cbmltcG9ydCB7IEltYWdlVmlld2VyQ29tcG9uZW50IH0gZnJvbSAnLi9pbWFnZS12aWV3ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEltYWdlVmlld2VyQ29uZmlnIH0gZnJvbSAnLi9pbWFnZS12aWV3ZXItY29uZmlnLm1vZGVsJztcblxuQE5nTW9kdWxlKHtcblx0aW1wb3J0czogW1xuXHRcdEJpZ1NjcmVlbk1vZHVsZSxcblx0XHRDb21tb25Nb2R1bGUsXG5cdFx0TWF0QnV0dG9uTW9kdWxlLFxuXHRcdE1hdEljb25Nb2R1bGUsXG5cdF0sXG5cdGRlY2xhcmF0aW9uczogW1xuXHRcdEltYWdlVmlld2VyQ29tcG9uZW50LFxuXHRdLFxuXHRleHBvcnRzOiBbXG5cdFx0SW1hZ2VWaWV3ZXJDb21wb25lbnQsXG5cdF1cbn0pXG5leHBvcnQgY2xhc3MgSW1hZ2VWaWV3ZXJNb2R1bGUge1xuXHRzdGF0aWMgZm9yUm9vdChjb25maWc/OiBJbWFnZVZpZXdlckNvbmZpZyk6IE1vZHVsZVdpdGhQcm92aWRlcnMge1xuXHRcdHJldHVybiB7XG5cdFx0XHRuZ01vZHVsZTogSW1hZ2VWaWV3ZXJNb2R1bGUsXG5cdFx0XHRwcm92aWRlcnM6IFt7IHByb3ZpZGU6ICdjb25maWcnLCB1c2VWYWx1ZTogY29uZmlnIH1dXG5cdFx0fTtcblx0fVxufVxuIl19
import { __decorate, __metadata, __param } from 'tslib';
import { Input, Directive, ElementRef, EventEmitter, Output, ViewChild, HostListener, Component, Optional, Inject, NgModule } from '@angular/core';
import { EventEmitter, Input, Output, ViewChild, ElementRef, HostListener, Component, Optional, Inject, NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { MatButtonModule, MatIconModule } from '@angular/material';
import * as screenfull from 'screenfull';
import { enabled, request, exit, toggle } from 'screenfull';
import { BigScreenService, BigScreenModule } from 'angular-bigscreen';

@@ -15,40 +14,2 @@ class CustomEvent {

// [DEPRECATED] In LacunaImageViewer, this directive turned deprecated because it
// has a little bug: while in fullscreen mode, if we exit it by pressing "ESC", the
// "fullscreen" state, represented by the variable "isFullscreen", is not updated;
// consequently, the next time the user wants to get into fullscreen mode, it will
// be necessary to press the fullscreen button twice.
let ToggleFullscreenDirective = class ToggleFullscreenDirective {
constructor(el) {
this.el = el;
}
ngOnChanges() {
if (isScreenFullAvailable(screenfull)) {
if (this.isFullscreen && enabled) {
request(this.el.nativeElement);
}
else if (enabled) {
exit();
}
}
else {
// Should not happen. See https://github.com/sindresorhus/screenfull.js/issues/126
console.log("[lacuna-image-viewer warning] Screenfull could not be used");
}
}
};
__decorate([
Input('ngxToggleFullscreen'),
__metadata("design:type", Boolean)
], ToggleFullscreenDirective.prototype, "isFullscreen", void 0);
ToggleFullscreenDirective = __decorate([
Directive({
selector: '[ngxToggleFullscreen]'
}),
__metadata("design:paramtypes", [ElementRef])
], ToggleFullscreenDirective);
function isScreenFullAvailable(sf) {
return sf.enabled !== undefined;
}
const DEFAULT_CONFIG = {

@@ -81,4 +42,5 @@ btnClass: 'mat-mini-fab',

let ImageViewerComponent = class ImageViewerComponent {
constructor(moduleConfig) {
constructor(moduleConfig, bigScreenService) {
this.moduleConfig = moduleConfig;
this.bigScreenService = bigScreenService;
this.index = 0;

@@ -167,13 +129,7 @@ this.indexChange = new EventEmitter();

toggleFullscreen() {
if (isScreenFullAvailable(screenfull)) {
if (enabled && this.config.allowFullscreen) {
toggle(this.fullscreenElement.nativeElement);
}
else {
console.log("[lacuna-image-viewer warning] method toggleFullscreen() called, but fullscreen is disabled");
}
if (this.bigScreenService.isEnabled && this.config.allowFullscreen) {
this.bigScreenService.toggle(this.fullscreenElement.nativeElement);
}
else {
// Should not happen. See https://github.com/sindresorhus/screenfull.js/issues/126
console.log("[lacuna-image-viewer warning] Screenfull could not be used");
console.log("[lacuna-image-viewer warning] method toggleFullscreen() called, but fullscreen is disabled");
}

@@ -282,3 +238,3 @@ }

__param(0, Optional()), __param(0, Inject('config')),
__metadata("design:paramtypes", [Object])
__metadata("design:paramtypes", [Object, BigScreenService])
], ImageViewerComponent);

@@ -298,2 +254,3 @@

imports: [
BigScreenModule,
CommonModule,

@@ -305,7 +262,5 @@ MatButtonModule,

ImageViewerComponent,
ToggleFullscreenDirective
],
exports: [
ImageViewerComponent,
ToggleFullscreenDirective
]

@@ -315,3 +270,3 @@ })

export { CustomEvent, ImageViewerComponent, ImageViewerModule, ToggleFullscreenDirective as ɵa };
export { CustomEvent, ImageViewerComponent, ImageViewerModule };
//# sourceMappingURL=lacuna-image-viewer.js.map

@@ -1,7 +0,6 @@

import { __decorate, __metadata, __assign, __param } from 'tslib';
import { Input, Directive, ElementRef, Output, EventEmitter, ViewChild, HostListener, Component, Optional, Inject, NgModule } from '@angular/core';
import { __assign, __decorate, __metadata, __param } from 'tslib';
import { Input, Output, EventEmitter, ViewChild, ElementRef, HostListener, Component, Optional, Inject, NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { MatButtonModule, MatIconModule } from '@angular/material';
import * as screenfull from 'screenfull';
import { enabled, request, exit, toggle } from 'screenfull';
import { BigScreenService, BigScreenModule } from 'angular-bigscreen';

@@ -16,41 +15,2 @@ var CustomEvent = /** @class */ (function () {

// [DEPRECATED] In LacunaImageViewer, this directive turned deprecated because it
// has a little bug: while in fullscreen mode, if we exit it by pressing "ESC", the
// "fullscreen" state, represented by the variable "isFullscreen", is not updated;
// consequently, the next time the user wants to get into fullscreen mode, it will
// be necessary to press the fullscreen button twice.
var ToggleFullscreenDirective = /** @class */ (function () {
function ToggleFullscreenDirective(el) {
this.el = el;
}
ToggleFullscreenDirective.prototype.ngOnChanges = function () {
if (isScreenFullAvailable(screenfull)) {
if (this.isFullscreen && enabled) {
request(this.el.nativeElement);
}
else if (enabled) {
exit();
}
}
else {
// Should not happen. See https://github.com/sindresorhus/screenfull.js/issues/126
console.log("[lacuna-image-viewer warning] Screenfull could not be used");
}
};
__decorate([
Input('ngxToggleFullscreen'),
__metadata("design:type", Boolean)
], ToggleFullscreenDirective.prototype, "isFullscreen", void 0);
ToggleFullscreenDirective = __decorate([
Directive({
selector: '[ngxToggleFullscreen]'
}),
__metadata("design:paramtypes", [ElementRef])
], ToggleFullscreenDirective);
return ToggleFullscreenDirective;
}());
function isScreenFullAvailable(sf) {
return sf.enabled !== undefined;
}
var DEFAULT_CONFIG = {

@@ -83,4 +43,5 @@ btnClass: 'mat-mini-fab',

var ImageViewerComponent = /** @class */ (function () {
function ImageViewerComponent(moduleConfig) {
function ImageViewerComponent(moduleConfig, bigScreenService) {
this.moduleConfig = moduleConfig;
this.bigScreenService = bigScreenService;
this.index = 0;

@@ -169,13 +130,7 @@ this.indexChange = new EventEmitter();

ImageViewerComponent.prototype.toggleFullscreen = function () {
if (isScreenFullAvailable(screenfull)) {
if (enabled && this.config.allowFullscreen) {
toggle(this.fullscreenElement.nativeElement);
}
else {
console.log("[lacuna-image-viewer warning] method toggleFullscreen() called, but fullscreen is disabled");
}
if (this.bigScreenService.isEnabled && this.config.allowFullscreen) {
this.bigScreenService.toggle(this.fullscreenElement.nativeElement);
}
else {
// Should not happen. See https://github.com/sindresorhus/screenfull.js/issues/126
console.log("[lacuna-image-viewer warning] Screenfull could not be used");
console.log("[lacuna-image-viewer warning] method toggleFullscreen() called, but fullscreen is disabled");
}

@@ -283,3 +238,3 @@ };

__param(0, Optional()), __param(0, Inject('config')),
__metadata("design:paramtypes", [Object])
__metadata("design:paramtypes", [Object, BigScreenService])
], ImageViewerComponent);

@@ -303,2 +258,3 @@ return ImageViewerComponent;

imports: [
BigScreenModule,
CommonModule,

@@ -310,7 +266,5 @@ MatButtonModule,

ImageViewerComponent,
ToggleFullscreenDirective
],
exports: [
ImageViewerComponent,
ToggleFullscreenDirective
]

@@ -322,3 +276,3 @@ })

export { CustomEvent, ImageViewerComponent, ImageViewerModule, ToggleFullscreenDirective as ɵa };
export { CustomEvent, ImageViewerComponent, ImageViewerModule };
//# sourceMappingURL=lacuna-image-viewer.js.map

@@ -5,2 +5,1 @@ /**

export * from './public_api';
export { ToggleFullscreenDirective as ɵa } from './src/app/image-viewer/fullscreen.directive';

@@ -1,1 +0,1 @@

{"__symbolic":"module","version":4,"metadata":{"ImageViewerModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":8,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":10,"character":2},{"__symbolic":"reference","module":"@angular/material","name":"MatButtonModule","line":11,"character":2},{"__symbolic":"reference","module":"@angular/material","name":"MatIconModule","line":12,"character":2}],"declarations":[{"__symbolic":"reference","name":"ImageViewerComponent"},{"__symbolic":"reference","name":"ɵa"}],"exports":[{"__symbolic":"reference","name":"ImageViewerComponent"},{"__symbolic":"reference","name":"ɵa"}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":["config"],"value":{"ngModule":{"__symbolic":"reference","name":"ImageViewerModule"},"providers":[{"provide":"config","useValue":{"__symbolic":"reference","name":"config"}}]}}}},"ImageViewerComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":33,"character":1},"arguments":[{"selector":"ngx-image-viewer","template":"<div #fullscreenElement class=\"img-container\" [style.backgroundColor]=\"config.containerBackgroundColor\"\n\t(wheel)=\"scrollZoom($event)\" (dragover)=\"onDragOver($event)\">\n\t<img [src]=\"src[index]\" [ngStyle]=\"style\" alt=\"Image not found...\" (dragstart)=\"onDragStart($event)\"\n\t\t(load)=\"onLoad()\" (loadstart)=\"onLoadStart()\" />\n\t<!-- Div below will be used to hide the 'ghost' image when dragging -->\n\t<div></div>\n\t<div class=\"spinner-container\" *ngIf=\"loading\">\n\t\t<div class=\"spinner\"></div>\n\t</div>\n\n\t<button type=\"button\" mat-mini-fab [class]=\"config.btnClass\" *ngIf=\"config.btnShow.rotateCounterClockwise\"\n\t\t(click)=\"rotateCounterClockwise()\">\n\t\t<span [class]=\"config.btnIcons.rotateCounterClockwise\"></span>\n\t</button>\n\t<button type=\"button\" mat-mini-fab [class]=\"config.btnClass\" *ngIf=\"config.btnShow.rotateClockwise\" (click)=\"rotateClockwise()\">\n\t\t<span [class]=\"config.btnIcons.rotateClockwise\"></span>\n\t</button>\n\n\t<button type=\"button\" mat-mini-fab [class]=\"config.btnClass\" *ngIf=\"config.btnShow.zoomOut\" (click)=\"zoomOut()\">\n\t\t<span [class]=\"config.btnIcons.zoomOut\"></span>\n\t</button>\n\t<button type=\"button\" mat-mini-fab [class]=\"config.btnClass\" *ngIf=\"config.btnShow.zoomIn\" (click)=\"zoomIn()\">\n\t\t<span [class]=\"config.btnIcons.zoomIn\"></span>\n\t</button>\n\n\t<button type=\"button\" mat-mini-fab [class]=\"config.btnClass\" *ngFor=\"let cBtn of config.customBtns\"\n\t\t(click)=\"fireCustomEvent(cBtn.name, index)\">\n\t\t<span [class]=\"cBtn.icon\"></span>\n\t</button>\n\n\t<button type=\"button\" id=\"ngx-fs-btn\" mat-mini-fab [class]=\"config.btnClass\" (click)=\"toggleFullscreen()\"\n\t\t*ngIf=\"config.allowFullscreen\">\n\t\t<span [class]=\"config.btnIcons.fullscreen\"></span>\n\t</button>\n\n\t<div class=\"nav-button-container\" *ngIf=\"src.length > 1\">\n\t\t<button type=\"button\" mat-mini-fab [class]=\"config.btnClass\" (click)=\"prevImage($event)\" [disabled]=\"index === 0\">\n\t\t\t<span [class]=\"config.btnIcons.prev\"></span>\n\t\t</button>\n\t\t<button type=\"button\" mat-mini-fab [class]=\"config.btnClass\" (click)=\"nextImage($event)\"\n\t\t\t[disabled]=\"index === src.length - 1\">\n\t\t\t<span [class]=\"config.btnIcons.next\"></span>\n\t\t</button>\n\t</div>\n</div>\n","styles":[".img-container{height:100%;width:100%;overflow:hidden;position:relative}.img-container img{z-index:2;margin:0 auto;display:block;max-width:100%;max-height:100%}.img-container button{z-index:99;position:absolute;right:15px}.img-container button:not(:disabled){cursor:pointer}.img-container>button:nth-of-type(1):not(#ngx-fs-btn){bottom:15px}.img-container>button:nth-of-type(2):not(#ngx-fs-btn){bottom:65px}.img-container>button:nth-of-type(3):not(#ngx-fs-btn){bottom:115px}.img-container>button:nth-of-type(4):not(#ngx-fs-btn){bottom:165px}.img-container>button:nth-of-type(5):not(#ngx-fs-btn){bottom:215px}.img-container>button:nth-of-type(6):not(#ngx-fs-btn){bottom:265px}.img-container>button:nth-of-type(7):not(#ngx-fs-btn){bottom:315px}#ngx-fs-btn{top:15px}button.default{height:40px;width:40px;border:1px solid #555;border-radius:50%;background-color:#fff;opacity:.7;transition:opacity .2s}button.default:hover{opacity:1}button.default:disabled{opacity:.25}.nav-button-container>button{position:relative;right:0;margin:0 10px}.nav-button-container{text-align:center;position:absolute;z-index:98;bottom:10px;left:0;right:0}.spinner-container{position:absolute;left:0;right:0;top:0;bottom:0;width:60px;height:60px;margin:auto;padding:10px;background-color:rgba(0,0,0,.4);border-radius:25%}.spinner{border-width:7px;border-style:solid;border-color:#ccc #ccc #222;border-radius:50%;height:100%;width:100%;box-sizing:border-box;-webkit-animation:2s linear infinite rotation;animation:2s linear infinite rotation}@keyframes rotation{from{-webkit-transform:rotate(0)}to{-webkit-transform:rotate(359deg)}}@-webkit-keyframes rotation{from{-webkit-transform:rotate(0)}to{-webkit-transform:rotate(359deg)}}.zoom-in:after{content:\"zoom_in\"}.zoom-out:after{content:\"zoom_out\"}.rotate-clockwise:after{content:\"rotate_right\"}.rotate-counterclock:after{content:\"rotate_left\"}.next:after{content:\"keyboard_arrow_right\"}.prev:after{content:\"keyboard_arrow_left\"}.fullscreen:after{content:\"fullscreen\"}"]}]}],"members":{"src":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":40,"character":2}}]}],"index":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":43,"character":2}}]}],"config":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":46,"character":2}}]}],"indexChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":49,"character":2}}]}],"configChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":52,"character":2}}]}],"customEvent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":55,"character":2}}]}],"fullscreenElement":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":58,"character":2},"arguments":["fullscreenElement"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":72,"character":14}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":72,"character":26},"arguments":["config"]}]],"parameters":[{"__symbolic":"reference","name":"ImageViewerConfig"}]}],"ngOnInit":[{"__symbolic":"method"}],"nextImage":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":80,"character":2},"arguments":["window:keyup.ArrowRight",["$event"]]}]}],"prevImage":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":90,"character":2},"arguments":["window:keyup.ArrowLeft",["$event"]]}]}],"zoomIn":[{"__symbolic":"method"}],"zoomOut":[{"__symbolic":"method"}],"scrollZoom":[{"__symbolic":"method"}],"rotateClockwise":[{"__symbolic":"method"}],"rotateCounterClockwise":[{"__symbolic":"method"}],"onLoad":[{"__symbolic":"method"}],"onLoadStart":[{"__symbolic":"method"}],"onDragOver":[{"__symbolic":"method"}],"onDragStart":[{"__symbolic":"method"}],"toggleFullscreen":[{"__symbolic":"method"}],"triggerIndexBinding":[{"__symbolic":"method"}],"triggerConfigBinding":[{"__symbolic":"method"}],"fireCustomEvent":[{"__symbolic":"method"}],"reset":[{"__symbolic":"method"}],"onMouseOver":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":190,"character":2},"arguments":["mouseover"]}]}],"onMouseLeave":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":195,"character":2},"arguments":["mouseleave"]}]}],"canNavigate":[{"__symbolic":"method"}],"updateStyle":[{"__symbolic":"method"}],"mergeConfig":[{"__symbolic":"method"}]}},"ImageViewerConfig":{"__symbolic":"interface"},"CustomEvent":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[null,null]}]}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":9,"character":1},"arguments":[{"selector":"[ngxToggleFullscreen]"}]}],"members":{"isFullscreen":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":2},"arguments":["ngxToggleFullscreen"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":17,"character":25}]}],"ngOnChanges":[{"__symbolic":"method"}]}}},"origins":{"ImageViewerModule":"./src/app/image-viewer/image-viewer.module","ImageViewerComponent":"./src/app/image-viewer/image-viewer.component","ImageViewerConfig":"./src/app/image-viewer/image-viewer-config.model","CustomEvent":"./src/app/image-viewer/image-viewer-config.model","ɵa":"./src/app/image-viewer/fullscreen.directive"},"importAs":"lacuna-image-viewer"}
{"__symbolic":"module","version":4,"metadata":{"ImageViewerModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":8,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"angular-bigscreen","name":"BigScreenModule","line":10,"character":2},{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":11,"character":2},{"__symbolic":"reference","module":"@angular/material","name":"MatButtonModule","line":12,"character":2},{"__symbolic":"reference","module":"@angular/material","name":"MatIconModule","line":13,"character":2}],"declarations":[{"__symbolic":"reference","name":"ImageViewerComponent"}],"exports":[{"__symbolic":"reference","name":"ImageViewerComponent"}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":["config"],"value":{"ngModule":{"__symbolic":"reference","name":"ImageViewerModule"},"providers":[{"provide":"config","useValue":{"__symbolic":"reference","name":"config"}}]}}}},"ImageViewerComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":32,"character":1},"arguments":[{"selector":"ngx-image-viewer","template":"<div #fullscreenElement class=\"img-container\" [style.backgroundColor]=\"config.containerBackgroundColor\"\n\t(wheel)=\"scrollZoom($event)\" (dragover)=\"onDragOver($event)\">\n\t<img [src]=\"src[index]\" [ngStyle]=\"style\" alt=\"Image not found...\" (dragstart)=\"onDragStart($event)\"\n\t\t(load)=\"onLoad()\" (loadstart)=\"onLoadStart()\" />\n\t<!-- Div below will be used to hide the 'ghost' image when dragging -->\n\t<div></div>\n\t<div class=\"spinner-container\" *ngIf=\"loading\">\n\t\t<div class=\"spinner\"></div>\n\t</div>\n\n\t<button type=\"button\" mat-mini-fab [class]=\"config.btnClass\" *ngIf=\"config.btnShow.rotateCounterClockwise\"\n\t\t(click)=\"rotateCounterClockwise()\">\n\t\t<span [class]=\"config.btnIcons.rotateCounterClockwise\"></span>\n\t</button>\n\t<button type=\"button\" mat-mini-fab [class]=\"config.btnClass\" *ngIf=\"config.btnShow.rotateClockwise\" (click)=\"rotateClockwise()\">\n\t\t<span [class]=\"config.btnIcons.rotateClockwise\"></span>\n\t</button>\n\n\t<button type=\"button\" mat-mini-fab [class]=\"config.btnClass\" *ngIf=\"config.btnShow.zoomOut\" (click)=\"zoomOut()\">\n\t\t<span [class]=\"config.btnIcons.zoomOut\"></span>\n\t</button>\n\t<button type=\"button\" mat-mini-fab [class]=\"config.btnClass\" *ngIf=\"config.btnShow.zoomIn\" (click)=\"zoomIn()\">\n\t\t<span [class]=\"config.btnIcons.zoomIn\"></span>\n\t</button>\n\n\t<button type=\"button\" mat-mini-fab [class]=\"config.btnClass\" *ngFor=\"let cBtn of config.customBtns\"\n\t\t(click)=\"fireCustomEvent(cBtn.name, index)\">\n\t\t<span [class]=\"cBtn.icon\"></span>\n\t</button>\n\n\t<button type=\"button\" id=\"ngx-fs-btn\" mat-mini-fab [class]=\"config.btnClass\" (click)=\"toggleFullscreen()\"\n\t\t*ngIf=\"config.allowFullscreen\">\n\t\t<span [class]=\"config.btnIcons.fullscreen\"></span>\n\t</button>\n\n\t<div class=\"nav-button-container\" *ngIf=\"src.length > 1\">\n\t\t<button type=\"button\" mat-mini-fab [class]=\"config.btnClass\" (click)=\"prevImage($event)\" [disabled]=\"index === 0\">\n\t\t\t<span [class]=\"config.btnIcons.prev\"></span>\n\t\t</button>\n\t\t<button type=\"button\" mat-mini-fab [class]=\"config.btnClass\" (click)=\"nextImage($event)\"\n\t\t\t[disabled]=\"index === src.length - 1\">\n\t\t\t<span [class]=\"config.btnIcons.next\"></span>\n\t\t</button>\n\t</div>\n</div>\n","styles":[".img-container{height:100%;width:100%;overflow:hidden;position:relative}.img-container img{z-index:2;margin:0 auto;display:block;max-width:100%;max-height:100%}.img-container button{z-index:99;position:absolute;right:15px}.img-container button:not(:disabled){cursor:pointer}.img-container>button:nth-of-type(1):not(#ngx-fs-btn){bottom:15px}.img-container>button:nth-of-type(2):not(#ngx-fs-btn){bottom:65px}.img-container>button:nth-of-type(3):not(#ngx-fs-btn){bottom:115px}.img-container>button:nth-of-type(4):not(#ngx-fs-btn){bottom:165px}.img-container>button:nth-of-type(5):not(#ngx-fs-btn){bottom:215px}.img-container>button:nth-of-type(6):not(#ngx-fs-btn){bottom:265px}.img-container>button:nth-of-type(7):not(#ngx-fs-btn){bottom:315px}#ngx-fs-btn{top:15px}button.default{height:40px;width:40px;border:1px solid #555;border-radius:50%;background-color:#fff;opacity:.7;transition:opacity .2s}button.default:hover{opacity:1}button.default:disabled{opacity:.25}.nav-button-container>button{position:relative;right:0;margin:0 10px}.nav-button-container{text-align:center;position:absolute;z-index:98;bottom:10px;left:0;right:0}.spinner-container{position:absolute;left:0;right:0;top:0;bottom:0;width:60px;height:60px;margin:auto;padding:10px;background-color:rgba(0,0,0,.4);border-radius:25%}.spinner{border-width:7px;border-style:solid;border-color:#ccc #ccc #222;border-radius:50%;height:100%;width:100%;box-sizing:border-box;-webkit-animation:2s linear infinite rotation;animation:2s linear infinite rotation}@keyframes rotation{from{-webkit-transform:rotate(0)}to{-webkit-transform:rotate(359deg)}}@-webkit-keyframes rotation{from{-webkit-transform:rotate(0)}to{-webkit-transform:rotate(359deg)}}.zoom-in:after{content:\"zoom_in\"}.zoom-out:after{content:\"zoom_out\"}.rotate-clockwise:after{content:\"rotate_right\"}.rotate-counterclock:after{content:\"rotate_left\"}.next:after{content:\"keyboard_arrow_right\"}.prev:after{content:\"keyboard_arrow_left\"}.fullscreen:after{content:\"fullscreen\"}"]}]}],"members":{"src":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":39,"character":2}}]}],"index":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":42,"character":2}}]}],"config":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":45,"character":2}}]}],"indexChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":48,"character":2}}]}],"configChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":51,"character":2}}]}],"customEvent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":54,"character":2}}]}],"fullscreenElement":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":57,"character":2},"arguments":["fullscreenElement"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":72,"character":3}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":72,"character":15},"arguments":["config"]}],null],"parameters":[{"__symbolic":"reference","name":"ImageViewerConfig"},{"__symbolic":"reference","module":"angular-bigscreen","name":"BigScreenService","line":73,"character":28}]}],"ngOnInit":[{"__symbolic":"method"}],"nextImage":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":82,"character":2},"arguments":["window:keyup.ArrowRight",["$event"]]}]}],"prevImage":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":92,"character":2},"arguments":["window:keyup.ArrowLeft",["$event"]]}]}],"zoomIn":[{"__symbolic":"method"}],"zoomOut":[{"__symbolic":"method"}],"scrollZoom":[{"__symbolic":"method"}],"rotateClockwise":[{"__symbolic":"method"}],"rotateCounterClockwise":[{"__symbolic":"method"}],"onLoad":[{"__symbolic":"method"}],"onLoadStart":[{"__symbolic":"method"}],"onDragOver":[{"__symbolic":"method"}],"onDragStart":[{"__symbolic":"method"}],"toggleFullscreen":[{"__symbolic":"method"}],"triggerIndexBinding":[{"__symbolic":"method"}],"triggerConfigBinding":[{"__symbolic":"method"}],"fireCustomEvent":[{"__symbolic":"method"}],"reset":[{"__symbolic":"method"}],"onMouseOver":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":187,"character":2},"arguments":["mouseover"]}]}],"onMouseLeave":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":192,"character":2},"arguments":["mouseleave"]}]}],"canNavigate":[{"__symbolic":"method"}],"updateStyle":[{"__symbolic":"method"}],"mergeConfig":[{"__symbolic":"method"}]}},"ImageViewerConfig":{"__symbolic":"interface"},"CustomEvent":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[null,null]}]}}},"origins":{"ImageViewerModule":"./src/app/image-viewer/image-viewer.module","ImageViewerComponent":"./src/app/image-viewer/image-viewer.component","ImageViewerConfig":"./src/app/image-viewer/image-viewer-config.model","CustomEvent":"./src/app/image-viewer/image-viewer-config.model"},"importAs":"lacuna-image-viewer"}
{
"name": "lacuna-image-viewer",
"version": "1.0.13-beta.3",
"version": "1.0.13-beta.4",
"license": "MIT",

@@ -51,3 +51,3 @@ "private": false,

"dependencies": {
"screenfull": "^4.2.0",
"angular-bigscreen": "~3.2.0",
"tslib": "^1.9.0"

@@ -54,0 +54,0 @@ },

@@ -6,10 +6,10 @@ # LacunaImageViewer

What LacunaImageViewer has improved in NgxImageViewer:
* Updated Angular to 7.x (it was previously at version 5.x) and some other packages, such as ng-packagr;
* Started using Material as default for the buttons and icons, instead of Font-awesome;
* Made it possible to use SafeUrl and SafeResourceUrl as source;
* Updated `Angular` to 7.x (it was previously at version 5.x) and some other packages, such as `ng-packagr`;
* Started using `Material` as default for the buttons and icons, instead of `Font-awesome`;
* Made it possible to use `SafeUrl` and `SafeResourceUrl` as source;
* Made it possible to disable dragging (`allowDrag`);
* Made the wheel zoom work only when ctrl is pressed, to follow the way other viewers work, such as Adobe Reader (the config `wheelZoom` was renamed to `allowCtrlWheelZoom` as well);
* Fixed the runtime error caused by screenfull;
* Fixed some build errors that showed up after we updated ng-packagr (errors related to private properties that were being used in the template, and also to callbacks with the wrong signature);
* Fixed a bug that happened when a user was in fullscreen mode, and exited by pressing "ESC"; when doing so, the user would need to press the fullscreen button twice to activate it again.
* Since the package `screenfull` was causing some errors in runtime, we replaced it by the package `angular-bigscreen`, which is simpler to use, and, as `screenfull`, is a wrapper of the HTML5 fullscreen API;
* Fixed some build errors that showed up after we updated `ng-packagr` (errors related to private properties that were being used in the template, and also to callbacks with the wrong signature);
* Fixed a bug that happened when a user was in fullscreen mode, and exited by pressing "ESC"; when doing so, the user would need to press the fullscreen button twice to activate it again. We did it by deleting ToggleFullscreenDirective and simplifying the logic of the method toggleFullscreen, from ImageViewerComponent.

@@ -24,3 +24,3 @@ ## NgxImageViewer Features:

## DEMO
## NgxImageViewer DEMO

@@ -27,0 +27,0 @@ https://angular-2wrbwp.stackblitz.io/

import { OnInit, EventEmitter, ElementRef } from '@angular/core';
import { ImageViewerConfig, CustomEvent } from './image-viewer-config.model';
import { SafeResourceUrl, SafeUrl } from '@angular/platform-browser';
import { BigScreenService } from 'angular-bigscreen';
export declare class ImageViewerComponent implements OnInit {
moduleConfig: ImageViewerConfig;
private bigScreenService;
src: (string | SafeResourceUrl | SafeUrl)[];

@@ -28,3 +30,3 @@ index: number;

private hovered;
constructor(moduleConfig: ImageViewerConfig);
constructor(moduleConfig: ImageViewerConfig, bigScreenService: BigScreenService);
ngOnInit(): void;

@@ -31,0 +33,0 @@ nextImage(event: any): void;

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc