{"version":3,"file":"main.min.js","mappings":"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","sources":["webpack://vp/./node_modules/@vpsoftware/vprealestate-www/modernizr.js","webpack://vp/./src/cards-slider.js","webpack://vp/./src/owl.carousel.min.js","webpack://vp/webpack/bootstrap","webpack://vp/webpack/runtime/define property getters","webpack://vp/webpack/runtime/hasOwnProperty shorthand","webpack://vp/webpack/runtime/make namespace object","webpack://vp/external var \"bootstrap\"","webpack://vp/./node_modules/@vpsoftware/vprealestate-www/main.mjs","webpack://vp/./src/plan.custom.ts","webpack://vp/./src/main.ts"],"sourcesContent":["/*! modernizr 3.6.0 (Custom Build) | MIT *\n * https://modernizr.com/download/?-webp-setclasses !*/\n!function(e,n,A){function o(e){var n=r.className,A=Modernizr._config.classPrefix||\"\";if(l&&(n=n.baseVal),Modernizr._config.enableJSClass){var o=new RegExp(\"(^|\\\\s)\"+A+\"no-js(\\\\s|$)\");n=n.replace(o,\"$1\"+A+\"js$2\")}Modernizr._config.enableClasses&&(n+=\" \"+A+e.join(\" \"+A),l?r.className.baseVal=n:r.className=n)}function t(e,n){return typeof e===n}function a(){var e,n,A,o,a,i,r;for(var l in f)if(f.hasOwnProperty(l)){if(e=[],n=f[l],n.name&&(e.push(n.name.toLowerCase()),n.options&&n.options.aliases&&n.options.aliases.length))for(A=0;A1||a.items.merge,f[d]=e?b*c:this._items[d].width();this._widths=f}},{filter:[\"items\",\"settings\"],run:function(){var b=[],c=this._items,d=this.settings,e=Math.max(2*d.items,4),f=2*Math.ceil(c.length/2),g=d.loop&&c.length?d.rewind?e:Math.max(e,f):0,h=\"\",i=\"\";for(g/=2;g>0;)b.push(this.normalize(b.length/2,!0)),h+=c[b[b.length-1]][0].outerHTML,b.push(this.normalize(c.length-1-(b.length-1)/2,!0)),i=c[b[b.length-1]][0].outerHTML+i,g-=1;this._clones=b,a(h).addClass(\"cloned\").appendTo(this.$stage),a(i).addClass(\"cloned\").prependTo(this.$stage)}},{filter:[\"width\",\"items\",\"settings\"],run:function(){for(var a=this.settings.rtl?1:-1,b=this._clones.length+this._items.length,c=-1,d=0,e=0,f=[];++c\",h)||this.op(b,\"<\",g)&&this.op(b,\">\",h))&&i.push(c);this.$stage.children(\".active\").removeClass(\"active\"),this.$stage.children(\":eq(\"+i.join(\"), :eq(\")+\")\").addClass(\"active\"),this.$stage.children(\".center\").removeClass(\"center\"),this.settings.center&&this.$stage.children().eq(this.current()).addClass(\"center\")}}],e.prototype.initializeStage=function(){this.$stage=this.$element.find(\".\"+this.settings.stageClass),this.$stage.length||(this.$element.addClass(this.options.loadingClass),this.$stage=a(\"<\"+this.settings.stageElement+\">\",{class:this.settings.stageClass}).wrap(a(\"
\",{class:this.settings.stageOuterClass})),this.$element.append(this.$stage.parent()))},e.prototype.initializeItems=function(){var b=this.$element.find(\".owl-item\");if(b.length)return this._items=b.get().map(function(b){return a(b)}),this._mergers=this._items.map(function(){return 1}),void this.refresh();this.replace(this.$element.children().not(this.$stage.parent())),this.isVisible()?this.refresh():this.invalidate(\"width\"),this.$element.removeClass(this.options.loadingClass).addClass(this.options.loadedClass)},e.prototype.initialize=function(){if(this.enter(\"initializing\"),this.trigger(\"initialize\"),this.$element.toggleClass(this.settings.rtlClass,this.settings.rtl),this.settings.autoWidth&&!this.is(\"pre-loading\")){var a,b,c;a=this.$element.find(\"img\"),b=this.settings.nestedItemSelector?\".\"+this.settings.nestedItemSelector:d,c=this.$element.children(b).width(),a.length&&c<=0&&this.preloadAutoWidthImages(a)}this.initializeStage(),this.initializeItems(),this.registerEventHandlers(),this.leave(\"initializing\"),this.trigger(\"initialized\")},e.prototype.isVisible=function(){return!this.settings.checkVisibility||this.$element.is(\":visible\")},e.prototype.setup=function(){var b=this.viewport(),c=this.options.responsive,d=-1,e=null;c?(a.each(c,function(a){a<=b&&a>d&&(d=Number(a))}),e=a.extend({},this.options,c[d]),\"function\"==typeof e.stagePadding&&(e.stagePadding=e.stagePadding()),delete e.responsive,e.responsiveClass&&this.$element.attr(\"class\",this.$element.attr(\"class\").replace(new RegExp(\"(\"+this.options.responsiveClass+\"-)\\\\S+\\\\s\",\"g\"),\"$1\"+d))):e=a.extend({},this.options),this.trigger(\"change\",{property:{name:\"settings\",value:e}}),this._breakpoint=d,this.settings=e,this.invalidate(\"settings\"),this.trigger(\"changed\",{property:{name:\"settings\",value:this.settings}})},e.prototype.optionsLogic=function(){this.settings.autoWidth&&(this.settings.stagePadding=!1,this.settings.merge=!1)},e.prototype.prepare=function(b){var c=this.trigger(\"prepare\",{content:b});return c.data||(c.data=a(\"<\"+this.settings.itemElement+\"/>\").addClass(this.options.itemClass).append(b)),this.trigger(\"prepared\",{content:c.data}),c.data},e.prototype.update=function(){for(var b=0,c=this._pipe.length,d=a.proxy(function(a){return this[a]},this._invalidated),e={};b0)&&this._pipe[b].run(e),b++;this._invalidated={},!this.is(\"valid\")&&this.enter(\"valid\")},e.prototype.width=function(a){switch(a=a||e.Width.Default){case e.Width.Inner:case e.Width.Outer:return this._width;default:return this._width-2*this.settings.stagePadding+this.settings.margin}},e.prototype.refresh=function(){this.enter(\"refreshing\"),this.trigger(\"refresh\"),this.setup(),this.optionsLogic(),this.$element.addClass(this.options.refreshClass),this.update(),this.$element.removeClass(this.options.refreshClass),this.leave(\"refreshing\"),this.trigger(\"refreshed\")},e.prototype.onThrottledResize=function(){b.clearTimeout(this.resizeTimer),this.resizeTimer=b.setTimeout(this._handlers.onResize,this.settings.responsiveRefreshRate)},e.prototype.onResize=function(){return!!this._items.length&&(this._width!==this.$element.width()&&(!!this.isVisible()&&(this.enter(\"resizing\"),this.trigger(\"resize\").isDefaultPrevented()?(this.leave(\"resizing\"),!1):(this.invalidate(\"width\"),this.refresh(),this.leave(\"resizing\"),void this.trigger(\"resized\")))))},e.prototype.registerEventHandlers=function(){a.support.transition&&this.$stage.on(a.support.transition.end+\".owl.core\",a.proxy(this.onTransitionEnd,this)),!1!==this.settings.responsive&&this.on(b,\"resize\",this._handlers.onThrottledResize),this.settings.mouseDrag&&(this.$element.addClass(this.options.dragClass),this.$stage.on(\"mousedown.owl.core\",a.proxy(this.onDragStart,this)),this.$stage.on(\"dragstart.owl.core selectstart.owl.core\",function(){return!1})),this.settings.touchDrag&&(this.$stage.on(\"touchstart.owl.core\",a.proxy(this.onDragStart,this)),this.$stage.on(\"touchcancel.owl.core\",a.proxy(this.onDragEnd,this)))},e.prototype.onDragStart=function(b){var d=null;3!==b.which&&(a.support.transform?(d=this.$stage.css(\"transform\").replace(/.*\\(|\\)| /g,\"\").split(\",\"),d={x:d[16===d.length?12:4],y:d[16===d.length?13:5]}):(d=this.$stage.position(),d={x:this.settings.rtl?d.left+this.$stage.width()-this.width()+this.settings.margin:d.left,y:d.top}),this.is(\"animating\")&&(a.support.transform?this.animate(d.x):this.$stage.stop(),this.invalidate(\"position\")),this.$element.toggleClass(this.options.grabClass,\"mousedown\"===b.type),this.speed(0),this._drag.time=(new Date).getTime(),this._drag.target=a(b.target),this._drag.stage.start=d,this._drag.stage.current=d,this._drag.pointer=this.pointer(b),a(c).on(\"mouseup.owl.core touchend.owl.core\",a.proxy(this.onDragEnd,this)),a(c).one(\"mousemove.owl.core touchmove.owl.core\",a.proxy(function(b){var d=this.difference(this._drag.pointer,this.pointer(b));a(c).on(\"mousemove.owl.core touchmove.owl.core\",a.proxy(this.onDragMove,this)),Math.abs(d.x)0^this.settings.rtl?\"left\":\"right\";a(c).off(\".owl.core\"),this.$element.removeClass(this.options.grabClass),(0!==d.x&&this.is(\"dragging\")||!this.is(\"valid\"))&&(this.speed(this.settings.dragEndSpeed||this.settings.smartSpeed),this.current(this.closest(e.x,0!==d.x?f:this._drag.direction)),this.invalidate(\"position\"),this.update(),this._drag.direction=f,(Math.abs(d.x)>3||(new Date).getTime()-this._drag.time>300)&&this._drag.target.one(\"click.owl.core\",function(){return!1})),this.is(\"dragging\")&&(this.leave(\"dragging\"),this.trigger(\"dragged\"))},e.prototype.closest=function(b,c){var e=-1,f=30,g=this.width(),h=this.coordinates();return this.settings.freeDrag||a.each(h,a.proxy(function(a,i){return\"left\"===c&&b>i-f&&bi-g-f&&b\",h[a+1]!==d?h[a+1]:i-g)&&(e=\"left\"===c?a+1:a),-1===e},this)),this.settings.loop||(this.op(b,\">\",h[this.minimum()])?e=b=this.minimum():this.op(b,\"<\",h[this.maximum()])&&(e=b=this.maximum())),e},e.prototype.animate=function(b){var c=this.speed()>0;this.is(\"animating\")&&this.onTransitionEnd(),c&&(this.enter(\"animating\"),this.trigger(\"translate\")),a.support.transform3d&&a.support.transition?this.$stage.css({transform:\"translate3d(\"+b+\"px,0px,0px)\",transition:this.speed()/1e3+\"s\"+(this.settings.slideTransition?\" \"+this.settings.slideTransition:\"\")}):c?this.$stage.animate({left:b+\"px\"},this.speed(),this.settings.fallbackEasing,a.proxy(this.onTransitionEnd,this)):this.$stage.css({left:b+\"px\"})},e.prototype.is=function(a){return this._states.current[a]&&this._states.current[a]>0},e.prototype.current=function(a){if(a===d)return this._current;if(0===this._items.length)return d;if(a=this.normalize(a),this._current!==a){var b=this.trigger(\"change\",{property:{name:\"position\",value:a}});b.data!==d&&(a=this.normalize(b.data)),this._current=a,this.invalidate(\"position\"),this.trigger(\"changed\",{property:{name:\"position\",value:this._current}})}return this._current},e.prototype.invalidate=function(b){return\"string\"===a.type(b)&&(this._invalidated[b]=!0,this.is(\"valid\")&&this.leave(\"valid\")),a.map(this._invalidated,function(a,b){return b})},e.prototype.reset=function(a){(a=this.normalize(a))!==d&&(this._speed=0,this._current=a,this.suppress([\"translate\",\"translated\"]),this.animate(this.coordinates(a)),this.release([\"translate\",\"translated\"]))},e.prototype.normalize=function(a,b){var c=this._items.length,e=b?0:this._clones.length;return!this.isNumeric(a)||c<1?a=d:(a<0||a>=c+e)&&(a=((a-e/2)%c+c)%c+e/2),a},e.prototype.relative=function(a){return a-=this._clones.length/2,this.normalize(a,!0)},e.prototype.maximum=function(a){var b,c,d,e=this.settings,f=this._coordinates.length;if(e.loop)f=this._clones.length/2+this._items.length-1;else if(e.autoWidth||e.merge){if(b=this._items.length)for(c=this._items[--b].width(),d=this.$element.width();b--&&!((c+=this._items[b].width()+this.settings.margin)>d););f=b+1}else f=e.center?this._items.length-1:this._items.length-e.items;return a&&(f-=this._clones.length/2),Math.max(f,0)},e.prototype.minimum=function(a){return a?0:this._clones.length/2},e.prototype.items=function(a){return a===d?this._items.slice():(a=this.normalize(a,!0),this._items[a])},e.prototype.mergers=function(a){return a===d?this._mergers.slice():(a=this.normalize(a,!0),this._mergers[a])},e.prototype.clones=function(b){var c=this._clones.length/2,e=c+this._items.length,f=function(a){return a%2==0?e+a/2:c-(a+1)/2};return b===d?a.map(this._clones,function(a,b){return f(b)}):a.map(this._clones,function(a,c){return a===b?f(c):null})},e.prototype.speed=function(a){return a!==d&&(this._speed=a),this._speed},e.prototype.coordinates=function(b){var c,e=1,f=b-1;return b===d?a.map(this._coordinates,a.proxy(function(a,b){return this.coordinates(b)},this)):(this.settings.center?(this.settings.rtl&&(e=-1,f=b+1),c=this._coordinates[b],c+=(this.width()-c+(this._coordinates[f]||0))/2*e):c=this._coordinates[f]||0,c=Math.ceil(c))},e.prototype.duration=function(a,b,c){return 0===c?0:Math.min(Math.max(Math.abs(b-a),1),6)*Math.abs(c||this.settings.smartSpeed)},e.prototype.to=function(a,b){var c=this.current(),d=null,e=a-this.relative(c),f=(e>0)-(e<0),g=this._items.length,h=this.minimum(),i=this.maximum();this.settings.loop?(!this.settings.rewind&&Math.abs(e)>g/2&&(e+=-1*f*g),a=c+e,(d=((a-h)%g+g)%g+h)!==a&&d-e<=i&&d-e>0&&(c=d-e,a=d,this.reset(c))):this.settings.rewind?(i+=1,a=(a%i+i)%i):a=Math.max(h,Math.min(i,a)),this.speed(this.duration(c,a,b)),this.current(a),this.isVisible()&&this.update()},e.prototype.next=function(a){a=a||!1,this.to(this.relative(this.current())+1,a)},e.prototype.prev=function(a){a=a||!1,this.to(this.relative(this.current())-1,a)},e.prototype.onTransitionEnd=function(a){if(a!==d&&(a.stopPropagation(),(a.target||a.srcElement||a.originalTarget)!==this.$stage.get(0)))return!1;this.leave(\"animating\"),this.trigger(\"translated\")},e.prototype.viewport=function(){var d;return this.options.responsiveBaseElement!==b?d=a(this.options.responsiveBaseElement).width():b.innerWidth?d=b.innerWidth:c.documentElement&&c.documentElement.clientWidth?d=c.documentElement.clientWidth:console.warn(\"Can not detect viewport width.\"),d},e.prototype.replace=function(b){this.$stage.empty(),this._items=[],b&&(b=b instanceof jQuery?b:a(b)),this.settings.nestedItemSelector&&(b=b.find(\".\"+this.settings.nestedItemSelector)),b.filter(function(){return 1===this.nodeType}).each(a.proxy(function(a,b){b=this.prepare(b),this.$stage.append(b),this._items.push(b),this._mergers.push(1*b.find(\"[data-merge]\").addBack(\"[data-merge]\").attr(\"data-merge\")||1)},this)),this.reset(this.isNumeric(this.settings.startPosition)?this.settings.startPosition:0),this.invalidate(\"items\")},e.prototype.add=function(b,c){var e=this.relative(this._current);c=c===d?this._items.length:this.normalize(c,!0),b=b instanceof jQuery?b:a(b),this.trigger(\"add\",{content:b,position:c}),b=this.prepare(b),0===this._items.length||c===this._items.length?(0===this._items.length&&this.$stage.append(b),0!==this._items.length&&this._items[c-1].after(b),this._items.push(b),this._mergers.push(1*b.find(\"[data-merge]\").addBack(\"[data-merge]\").attr(\"data-merge\")||1)):(this._items[c].before(b),this._items.splice(c,0,b),this._mergers.splice(c,0,1*b.find(\"[data-merge]\").addBack(\"[data-merge]\").attr(\"data-merge\")||1)),this._items[e]&&this.reset(this._items[e].index()),this.invalidate(\"items\"),this.trigger(\"added\",{content:b,position:c})},e.prototype.remove=function(a){(a=this.normalize(a,!0))!==d&&(this.trigger(\"remove\",{content:this._items[a],position:a}),this._items[a].remove(),this._items.splice(a,1),this._mergers.splice(a,1),this.invalidate(\"items\"),this.trigger(\"removed\",{content:null,position:a}))},e.prototype.preloadAutoWidthImages=function(b){b.each(a.proxy(function(b,c){this.enter(\"pre-loading\"),c=a(c),a(new Image).one(\"load\",a.proxy(function(a){c.attr(\"src\",a.target.src),c.css(\"opacity\",1),this.leave(\"pre-loading\"),!this.is(\"pre-loading\")&&!this.is(\"initializing\")&&this.refresh()},this)).attr(\"src\",c.attr(\"src\")||c.attr(\"data-src\")||c.attr(\"data-src-retina\"))},this))},e.prototype.destroy=function(){this.$element.off(\".owl.core\"),this.$stage.off(\".owl.core\"),a(c).off(\".owl.core\"),!1!==this.settings.responsive&&(b.clearTimeout(this.resizeTimer),this.off(b,\"resize\",this._handlers.onThrottledResize));for(var d in this._plugins)this._plugins[d].destroy();this.$stage.children(\".cloned\").remove(),this.$stage.unwrap(),this.$stage.children().contents().unwrap(),this.$stage.children().unwrap(),this.$stage.remove(),this.$element.removeClass(this.options.refreshClass).removeClass(this.options.loadingClass).removeClass(this.options.loadedClass).removeClass(this.options.rtlClass).removeClass(this.options.dragClass).removeClass(this.options.grabClass).attr(\"class\",this.$element.attr(\"class\").replace(new RegExp(this.options.responsiveClass+\"-\\\\S+\\\\s\",\"g\"),\"\")).removeData(\"owl.carousel\")},e.prototype.op=function(a,b,c){var d=this.settings.rtl;switch(b){case\"<\":return d?a>c:a\":return d?ac;case\">=\":return d?a<=c:a>=c;case\"<=\":return d?a>=c:a<=c}},e.prototype.on=function(a,b,c,d){a.addEventListener?a.addEventListener(b,c,d):a.attachEvent&&a.attachEvent(\"on\"+b,c)},e.prototype.off=function(a,b,c,d){a.removeEventListener?a.removeEventListener(b,c,d):a.detachEvent&&a.detachEvent(\"on\"+b,c)},e.prototype.trigger=function(b,c,d,f,g){var h={item:{count:this._items.length,index:this.current()}},i=a.camelCase(a.grep([\"on\",b,d],function(a){return a}).join(\"-\").toLowerCase()),j=a.Event([b,\"owl\",d||\"carousel\"].join(\".\").toLowerCase(),a.extend({relatedTarget:this},h,c));return this._supress[b]||(a.each(this._plugins,function(a,b){b.onTrigger&&b.onTrigger(j)}),this.register({type:e.Type.Event,name:b}),this.$element.trigger(j),this.settings&&\"function\"==typeof this.settings[i]&&this.settings[i].call(this,j)),j},e.prototype.enter=function(b){a.each([b].concat(this._states.tags[b]||[]),a.proxy(function(a,b){this._states.current[b]===d&&(this._states.current[b]=0),this._states.current[b]++},this))},e.prototype.leave=function(b){a.each([b].concat(this._states.tags[b]||[]),a.proxy(function(a,b){this._states.current[b]--},this))},e.prototype.register=function(b){if(b.type===e.Type.Event){if(a.event.special[b.name]||(a.event.special[b.name]={}),!a.event.special[b.name].owl){var c=a.event.special[b.name]._default;a.event.special[b.name]._default=function(a){return!c||!c.apply||a.namespace&&-1!==a.namespace.indexOf(\"owl\")?a.namespace&&a.namespace.indexOf(\"owl\")>-1:c.apply(this,arguments)},a.event.special[b.name].owl=!0}}else b.type===e.Type.State&&(this._states.tags[b.name]?this._states.tags[b.name]=this._states.tags[b.name].concat(b.tags):this._states.tags[b.name]=b.tags,this._states.tags[b.name]=a.grep(this._states.tags[b.name],a.proxy(function(c,d){return a.inArray(c,this._states.tags[b.name])===d},this)))},e.prototype.suppress=function(b){a.each(b,a.proxy(function(a,b){this._supress[b]=!0},this))},e.prototype.release=function(b){a.each(b,a.proxy(function(a,b){delete this._supress[b]},this))},e.prototype.pointer=function(a){var c={x:null,y:null};return a=a.originalEvent||a||b.event,a=a.touches&&a.touches.length?a.touches[0]:a.changedTouches&&a.changedTouches.length?a.changedTouches[0]:a,a.pageX?(c.x=a.pageX,c.y=a.pageY):(c.x=a.clientX,c.y=a.clientY),c},e.prototype.isNumeric=function(a){return!isNaN(parseFloat(a))},e.prototype.difference=function(a,b){return{x:a.x-b.x,y:a.y-b.y}},a.fn.owlCarousel=function(b){var c=Array.prototype.slice.call(arguments,1);return this.each(function(){var d=a(this),f=d.data(\"owl.carousel\");f||(f=new e(this,\"object\"==typeof b&&b),d.data(\"owl.carousel\",f),a.each([\"next\",\"prev\",\"to\",\"destroy\",\"refresh\",\"replace\",\"add\",\"remove\"],function(b,c){f.register({type:e.Type.Event,name:c}),f.$element.on(c+\".owl.carousel.core\",a.proxy(function(a){a.namespace&&a.relatedTarget!==this&&(this.suppress([c]),f[c].apply(this,[].slice.call(arguments,1)),this.release([c]))},f))})),\"string\"==typeof b&&\"_\"!==b.charAt(0)&&f[b].apply(f,c)})},a.fn.owlCarousel.Constructor=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this._core=b,this._interval=null,this._visible=null,this._handlers={\"initialized.owl.carousel\":a.proxy(function(a){a.namespace&&this._core.settings.autoRefresh&&this.watch()},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this._core.$element.on(this._handlers)};e.Defaults={autoRefresh:!0,autoRefreshInterval:500},e.prototype.watch=function(){this._interval||(this._visible=this._core.isVisible(),this._interval=b.setInterval(a.proxy(this.refresh,this),this._core.settings.autoRefreshInterval))},e.prototype.refresh=function(){this._core.isVisible()!==this._visible&&(this._visible=!this._visible,this._core.$element.toggleClass(\"owl-hidden\",!this._visible),this._visible&&this._core.invalidate(\"width\")&&this._core.refresh())},e.prototype.destroy=function(){var a,c;b.clearInterval(this._interval);for(a in this._handlers)this._core.$element.off(a,this._handlers[a]);for(c in Object.getOwnPropertyNames(this))\"function\"!=typeof this[c]&&(this[c]=null)},a.fn.owlCarousel.Constructor.Plugins.AutoRefresh=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this._core=b,this._loaded=[],this._handlers={\"initialized.owl.carousel change.owl.carousel resized.owl.carousel\":a.proxy(function(b){if(b.namespace&&this._core.settings&&this._core.settings.lazyLoad&&(b.property&&\"position\"==b.property.name||\"initialized\"==b.type)){var c=this._core.settings,e=c.center&&Math.ceil(c.items/2)||c.items,f=c.center&&-1*e||0,g=(b.property&&b.property.value!==d?b.property.value:this._core.current())+f,h=this._core.clones().length,i=a.proxy(function(a,b){this.load(b)},this);for(c.lazyLoadEager>0&&(e+=c.lazyLoadEager,c.loop&&(g-=c.lazyLoadEager,e++));f++-1||(e.each(a.proxy(function(c,d){var e,f=a(d),g=b.devicePixelRatio>1&&f.attr(\"data-src-retina\")||f.attr(\"data-src\")||f.attr(\"data-srcset\");this._core.trigger(\"load\",{element:f,url:g},\"lazy\"),f.is(\"img\")?f.one(\"load.owl.lazy\",a.proxy(function(){f.css(\"opacity\",1),this._core.trigger(\"loaded\",{element:f,url:g},\"lazy\")},this)).attr(\"src\",g):f.is(\"source\")?f.one(\"load.owl.lazy\",a.proxy(function(){this._core.trigger(\"loaded\",{element:f,url:g},\"lazy\")},this)).attr(\"srcset\",g):(e=new Image,e.onload=a.proxy(function(){f.css({\"background-image\":'url(\"'+g+'\")',opacity:\"1\"}),this._core.trigger(\"loaded\",{element:f,url:g},\"lazy\")},this),e.src=g)},this)),this._loaded.push(d.get(0)))},e.prototype.destroy=function(){var a,b;for(a in this.handlers)this._core.$element.off(a,this.handlers[a]);for(b in Object.getOwnPropertyNames(this))\"function\"!=typeof this[b]&&(this[b]=null)},a.fn.owlCarousel.Constructor.Plugins.Lazy=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(c){this._core=c,this._previousHeight=null,this._handlers={\"initialized.owl.carousel refreshed.owl.carousel\":a.proxy(function(a){a.namespace&&this._core.settings.autoHeight&&this.update()},this),\"changed.owl.carousel\":a.proxy(function(a){a.namespace&&this._core.settings.autoHeight&&\"position\"===a.property.name&&this.update()},this),\"loaded.owl.lazy\":a.proxy(function(a){a.namespace&&this._core.settings.autoHeight&&a.element.closest(\".\"+this._core.settings.itemClass).index()===this._core.current()&&this.update()},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this._core.$element.on(this._handlers),this._intervalId=null;var d=this;a(b).on(\"load\",function(){d._core.settings.autoHeight&&d.update()}),a(b).resize(function(){d._core.settings.autoHeight&&(null!=d._intervalId&&clearTimeout(d._intervalId),d._intervalId=setTimeout(function(){d.update()},250))})};e.Defaults={autoHeight:!1,autoHeightClass:\"owl-height\"},e.prototype.update=function(){var b=this._core._current,c=b+this._core.settings.items,d=this._core.settings.lazyLoad,e=this._core.$stage.children().toArray().slice(b,c),f=[],g=0;a.each(e,function(b,c){f.push(a(c).height())}),g=Math.max.apply(null,f),g<=1&&d&&this._previousHeight&&(g=this._previousHeight),this._previousHeight=g,this._core.$stage.parent().height(g).addClass(this._core.settings.autoHeightClass)},e.prototype.destroy=function(){var a,b;for(a in this._handlers)this._core.$element.off(a,this._handlers[a]);for(b in Object.getOwnPropertyNames(this))\"function\"!=typeof this[b]&&(this[b]=null)},a.fn.owlCarousel.Constructor.Plugins.AutoHeight=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this._core=b,this._videos={},this._playing=null,this._handlers={\"initialized.owl.carousel\":a.proxy(function(a){a.namespace&&this._core.register({type:\"state\",name:\"playing\",tags:[\"interacting\"]})},this),\"resize.owl.carousel\":a.proxy(function(a){a.namespace&&this._core.settings.video&&this.isInFullScreen()&&a.preventDefault()},this),\"refreshed.owl.carousel\":a.proxy(function(a){a.namespace&&this._core.is(\"resizing\")&&this._core.$stage.find(\".cloned .owl-video-frame\").remove()},this),\"changed.owl.carousel\":a.proxy(function(a){a.namespace&&\"position\"===a.property.name&&this._playing&&this.stop()},this),\"prepared.owl.carousel\":a.proxy(function(b){if(b.namespace){var c=a(b.content).find(\".owl-video\");c.length&&(c.css(\"display\",\"none\"),this.fetch(c,a(b.content)))}},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this._core.$element.on(this._handlers),this._core.$element.on(\"click.owl.video\",\".owl-video-play-icon\",a.proxy(function(a){this.play(a)},this))};e.Defaults={video:!1,videoHeight:!1,videoWidth:!1},e.prototype.fetch=function(a,b){var c=function(){return a.attr(\"data-vimeo-id\")?\"vimeo\":a.attr(\"data-vzaar-id\")?\"vzaar\":\"youtube\"}(),d=a.attr(\"data-vimeo-id\")||a.attr(\"data-youtube-id\")||a.attr(\"data-vzaar-id\"),e=a.attr(\"data-width\")||this._core.settings.videoWidth,f=a.attr(\"data-height\")||this._core.settings.videoHeight,g=a.attr(\"href\");if(!g)throw new Error(\"Missing video URL.\");if(d=g.match(/(http:|https:|)\\/\\/(player.|www.|app.)?(vimeo\\.com|youtu(be\\.com|\\.be|be\\.googleapis\\.com|be\\-nocookie\\.com)|vzaar\\.com)\\/(video\\/|videos\\/|embed\\/|channels\\/.+\\/|groups\\/.+\\/|watch\\?v=|v\\/)?([A-Za-z0-9._%-]*)(\\&\\S+)?/),d[3].indexOf(\"youtu\")>-1)c=\"youtube\";else if(d[3].indexOf(\"vimeo\")>-1)c=\"vimeo\";else{if(!(d[3].indexOf(\"vzaar\")>-1))throw new Error(\"Video URL not supported.\");c=\"vzaar\"}d=d[6],this._videos[g]={type:c,id:d,width:e,height:f},b.attr(\"data-video\",g),this.thumbnail(a,this._videos[g])},e.prototype.thumbnail=function(b,c){var d,e,f,g=c.width&&c.height?\"width:\"+c.width+\"px;height:\"+c.height+\"px;\":\"\",h=b.find(\"img\"),i=\"src\",j=\"\",k=this._core.settings,l=function(c){e='
',d=k.lazyLoad?a(\"
\",{class:\"owl-video-tn \"+j,srcType:c}):a(\"
\",{class:\"owl-video-tn\",style:\"opacity:1;background-image:url(\"+c+\")\"}),b.after(d),b.after(e)};if(b.wrap(a(\"
\",{class:\"owl-video-wrapper\",style:g})),this._core.settings.lazyLoad&&(i=\"data-src\",j=\"owl-lazy\"),h.length)return l(h.attr(i)),h.remove(),!1;\"youtube\"===c.type?(f=\"//img.youtube.com/vi/\"+c.id+\"/hqdefault.jpg\",l(f)):\"vimeo\"===c.type?a.ajax({type:\"GET\",url:\"//vimeo.com/api/v2/video/\"+c.id+\".json\",jsonp:\"callback\",dataType:\"jsonp\",success:function(a){f=a[0].thumbnail_large,l(f)}}):\"vzaar\"===c.type&&a.ajax({type:\"GET\",url:\"//vzaar.com/api/videos/\"+c.id+\".json\",jsonp:\"callback\",dataType:\"jsonp\",success:function(a){f=a.framegrab_url,l(f)}})},e.prototype.stop=function(){this._core.trigger(\"stop\",null,\"video\"),this._playing.find(\".owl-video-frame\").remove(),this._playing.removeClass(\"owl-video-playing\"),this._playing=null,this._core.leave(\"playing\"),this._core.trigger(\"stopped\",null,\"video\")},e.prototype.play=function(b){var c,d=a(b.target),e=d.closest(\".\"+this._core.settings.itemClass),f=this._videos[e.attr(\"data-video\")],g=f.width||\"100%\",h=f.height||this._core.$stage.height();this._playing||(this._core.enter(\"playing\"),this._core.trigger(\"play\",null,\"video\"),e=this._core.items(this._core.relative(e.index())),this._core.reset(e.index()),c=a(''),c.attr(\"height\",h),c.attr(\"width\",g),\"youtube\"===f.type?c.attr(\"src\",\"//www.youtube.com/embed/\"+f.id+\"?autoplay=1&rel=0&v=\"+f.id):\"vimeo\"===f.type?c.attr(\"src\",\"//player.vimeo.com/video/\"+f.id+\"?autoplay=1\"):\"vzaar\"===f.type&&c.attr(\"src\",\"//view.vzaar.com/\"+f.id+\"/player?autoplay=true\"),a(c).wrap('
').insertAfter(e.find(\".owl-video\")),this._playing=e.addClass(\"owl-video-playing\"))},e.prototype.isInFullScreen=function(){var b=c.fullscreenElement||c.mozFullScreenElement||c.webkitFullscreenElement;return b&&a(b).parent().hasClass(\"owl-video-frame\")},e.prototype.destroy=function(){var a,b;this._core.$element.off(\"click.owl.video\");for(a in this._handlers)this._core.$element.off(a,this._handlers[a]);for(b in Object.getOwnPropertyNames(this))\"function\"!=typeof this[b]&&(this[b]=null)},a.fn.owlCarousel.Constructor.Plugins.Video=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this.core=b,this.core.options=a.extend({},e.Defaults,this.core.options),this.swapping=!0,this.previous=d,this.next=d,this.handlers={\"change.owl.carousel\":a.proxy(function(a){a.namespace&&\"position\"==a.property.name&&(this.previous=this.core.current(),this.next=a.property.value)},this),\"drag.owl.carousel dragged.owl.carousel translated.owl.carousel\":a.proxy(function(a){a.namespace&&(this.swapping=\"translated\"==a.type)},this),\"translate.owl.carousel\":a.proxy(function(a){a.namespace&&this.swapping&&(this.core.options.animateOut||this.core.options.animateIn)&&this.swap()},this)},this.core.$element.on(this.handlers)};e.Defaults={animateOut:!1,\nanimateIn:!1},e.prototype.swap=function(){if(1===this.core.settings.items&&a.support.animation&&a.support.transition){this.core.speed(0);var b,c=a.proxy(this.clear,this),d=this.core.$stage.children().eq(this.previous),e=this.core.$stage.children().eq(this.next),f=this.core.settings.animateIn,g=this.core.settings.animateOut;this.core.current()!==this.previous&&(g&&(b=this.core.coordinates(this.previous)-this.core.coordinates(this.next),d.one(a.support.animation.end,c).css({left:b+\"px\"}).addClass(\"animated owl-animated-out\").addClass(g)),f&&e.one(a.support.animation.end,c).addClass(\"animated owl-animated-in\").addClass(f))}},e.prototype.clear=function(b){a(b.target).css({left:\"\"}).removeClass(\"animated owl-animated-out owl-animated-in\").removeClass(this.core.settings.animateIn).removeClass(this.core.settings.animateOut),this.core.onTransitionEnd()},e.prototype.destroy=function(){var a,b;for(a in this.handlers)this.core.$element.off(a,this.handlers[a]);for(b in Object.getOwnPropertyNames(this))\"function\"!=typeof this[b]&&(this[b]=null)},a.fn.owlCarousel.Constructor.Plugins.Animate=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this._core=b,this._call=null,this._time=0,this._timeout=0,this._paused=!0,this._handlers={\"changed.owl.carousel\":a.proxy(function(a){a.namespace&&\"settings\"===a.property.name?this._core.settings.autoplay?this.play():this.stop():a.namespace&&\"position\"===a.property.name&&this._paused&&(this._time=0)},this),\"initialized.owl.carousel\":a.proxy(function(a){a.namespace&&this._core.settings.autoplay&&this.play()},this),\"play.owl.autoplay\":a.proxy(function(a,b,c){a.namespace&&this.play(b,c)},this),\"stop.owl.autoplay\":a.proxy(function(a){a.namespace&&this.stop()},this),\"mouseover.owl.autoplay\":a.proxy(function(){this._core.settings.autoplayHoverPause&&this._core.is(\"rotating\")&&this.pause()},this),\"mouseleave.owl.autoplay\":a.proxy(function(){this._core.settings.autoplayHoverPause&&this._core.is(\"rotating\")&&this.play()},this),\"touchstart.owl.core\":a.proxy(function(){this._core.settings.autoplayHoverPause&&this._core.is(\"rotating\")&&this.pause()},this),\"touchend.owl.core\":a.proxy(function(){this._core.settings.autoplayHoverPause&&this.play()},this)},this._core.$element.on(this._handlers),this._core.options=a.extend({},e.Defaults,this._core.options)};e.Defaults={autoplay:!1,autoplayTimeout:5e3,autoplayHoverPause:!1,autoplaySpeed:!1},e.prototype._next=function(d){this._call=b.setTimeout(a.proxy(this._next,this,d),this._timeout*(Math.round(this.read()/this._timeout)+1)-this.read()),this._core.is(\"interacting\")||c.hidden||this._core.next(d||this._core.settings.autoplaySpeed)},e.prototype.read=function(){return(new Date).getTime()-this._time},e.prototype.play=function(c,d){var e;this._core.is(\"rotating\")||this._core.enter(\"rotating\"),c=c||this._core.settings.autoplayTimeout,e=Math.min(this._time%(this._timeout||c),c),this._paused?(this._time=this.read(),this._paused=!1):b.clearTimeout(this._call),this._time+=this.read()%c-e,this._timeout=c,this._call=b.setTimeout(a.proxy(this._next,this,d),c-e)},e.prototype.stop=function(){this._core.is(\"rotating\")&&(this._time=0,this._paused=!0,b.clearTimeout(this._call),this._core.leave(\"rotating\"))},e.prototype.pause=function(){this._core.is(\"rotating\")&&!this._paused&&(this._time=this.read(),this._paused=!0,b.clearTimeout(this._call))},e.prototype.destroy=function(){var a,b;this.stop();for(a in this._handlers)this._core.$element.off(a,this._handlers[a]);for(b in Object.getOwnPropertyNames(this))\"function\"!=typeof this[b]&&(this[b]=null)},a.fn.owlCarousel.Constructor.Plugins.autoplay=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){\"use strict\";var e=function(b){this._core=b,this._initialized=!1,this._pages=[],this._controls={},this._templates=[],this.$element=this._core.$element,this._overrides={next:this._core.next,prev:this._core.prev,to:this._core.to},this._handlers={\"prepared.owl.carousel\":a.proxy(function(b){b.namespace&&this._core.settings.dotsData&&this._templates.push('
'+a(b.content).find(\"[data-dot]\").addBack(\"[data-dot]\").attr(\"data-dot\")+\"
\")},this),\"added.owl.carousel\":a.proxy(function(a){a.namespace&&this._core.settings.dotsData&&this._templates.splice(a.position,0,this._templates.pop())},this),\"remove.owl.carousel\":a.proxy(function(a){a.namespace&&this._core.settings.dotsData&&this._templates.splice(a.position,1)},this),\"changed.owl.carousel\":a.proxy(function(a){a.namespace&&\"position\"==a.property.name&&this.draw()},this),\"initialized.owl.carousel\":a.proxy(function(a){a.namespace&&!this._initialized&&(this._core.trigger(\"initialize\",null,\"navigation\"),this.initialize(),this.update(),this.draw(),this._initialized=!0,this._core.trigger(\"initialized\",null,\"navigation\"))},this),\"refreshed.owl.carousel\":a.proxy(function(a){a.namespace&&this._initialized&&(this._core.trigger(\"refresh\",null,\"navigation\"),this.update(),this.draw(),this._core.trigger(\"refreshed\",null,\"navigation\"))},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this.$element.on(this._handlers)};e.Defaults={nav:!1,navText:['',''],navSpeed:!1,navElement:'button type=\"button\" role=\"presentation\"',navContainer:!1,navContainerClass:\"owl-nav\",navClass:[\"owl-prev\",\"owl-next\"],slideBy:1,dotClass:\"owl-dot\",dotsClass:\"owl-dots\",dots:!0,dotsEach:!1,dotsData:!1,dotsSpeed:!1,dotsContainer:!1},e.prototype.initialize=function(){var b,c=this._core.settings;this._controls.$relative=(c.navContainer?a(c.navContainer):a(\"
\").addClass(c.navContainerClass).appendTo(this.$element)).addClass(\"disabled\"),this._controls.$previous=a(\"<\"+c.navElement+\">\").addClass(c.navClass[0]).html(c.navText[0]).prependTo(this._controls.$relative).on(\"click\",a.proxy(function(a){this.prev(c.navSpeed)},this)),this._controls.$next=a(\"<\"+c.navElement+\">\").addClass(c.navClass[1]).html(c.navText[1]).appendTo(this._controls.$relative).on(\"click\",a.proxy(function(a){this.next(c.navSpeed)},this)),c.dotsData||(this._templates=[a('\");\n this.domNodes.counter = document.createElement('div');\n this.domNodes.counter.classList.add('sl-counter');\n this.domNodes.counter.innerHTML = '/';\n this.domNodes.download = document.createElement('div');\n this.domNodes.download.classList.add('sl-download');\n this.domNodes.downloadLink = document.createElement('a');\n this.domNodes.downloadLink.setAttribute('download', '');\n this.domNodes.downloadLink.textContent = this.options.download;\n this.domNodes.download.appendChild(this.domNodes.downloadLink);\n this.domNodes.caption = document.createElement('div');\n this.domNodes.caption.classList.add('sl-caption', 'pos-' + this.options.captionPosition);\n if (this.options.captionClass) {\n var _this$domNodes$captio;\n var captionClasses = this.options.captionClass.split(/[\\s,]+/);\n (_this$domNodes$captio = this.domNodes.caption.classList).add.apply(_this$domNodes$captio, _toConsumableArray(captionClasses));\n }\n this.domNodes.image = document.createElement('div');\n this.domNodes.image.classList.add('sl-image');\n this.domNodes.wrapper = document.createElement('div');\n this.domNodes.wrapper.classList.add('sl-wrapper');\n this.domNodes.wrapper.setAttribute('tabindex', -1);\n this.domNodes.wrapper.setAttribute('role', 'dialog');\n this.domNodes.wrapper.setAttribute('aria-hidden', false);\n if (this.options.className) {\n this.domNodes.wrapper.classList.add(this.options.className);\n }\n if (this.options.rtl) {\n this.domNodes.wrapper.classList.add('sl-dir-rtl');\n }\n }\n }, {\n key: \"throttle\",\n value: function throttle(func, limit) {\n var inThrottle;\n return function () {\n if (!inThrottle) {\n func.apply(this, arguments);\n inThrottle = true;\n setTimeout(function () {\n return inThrottle = false;\n }, limit);\n }\n };\n }\n }, {\n key: \"isValidLink\",\n value: function isValidLink(element) {\n return !this.options.fileExt || element.getAttribute(this.options.sourceAttr) && new RegExp('(' + this.options.fileExt + ')($|\\\\?.*$)', 'i').test(element.getAttribute(this.options.sourceAttr));\n }\n }, {\n key: \"calculateTransitionPrefix\",\n value: function calculateTransitionPrefix() {\n var s = (document.body || document.documentElement).style;\n return 'transition' in s ? '' : 'WebkitTransition' in s ? '-webkit-' : 'MozTransition' in s ? '-moz-' : 'OTransition' in s ? '-o' : false;\n }\n }, {\n key: \"getScrollbarWidth\",\n value: function getScrollbarWidth() {\n var scrollbarWidth = 0;\n var scrollDiv = document.createElement('div');\n scrollDiv.classList.add('sl-scrollbar-measure');\n document.body.appendChild(scrollDiv);\n scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;\n document.body.removeChild(scrollDiv);\n return scrollbarWidth;\n }\n }, {\n key: \"toggleScrollbar\",\n value: function toggleScrollbar(type) {\n var scrollbarWidth = 0;\n var fixedElements = [].slice.call(document.querySelectorAll('.' + this.options.fixedClass));\n if (type === 'hide') {\n var fullWindowWidth = window.innerWidth;\n if (!fullWindowWidth) {\n var documentElementRect = document.documentElement.getBoundingClientRect();\n fullWindowWidth = documentElementRect.right - Math.abs(documentElementRect.left);\n }\n if (document.body.clientWidth < fullWindowWidth || this.isAppleDevice) {\n var paddingRight = parseInt(window.getComputedStyle(document.body).paddingRight || 0, 10);\n scrollbarWidth = this.getScrollbarWidth();\n document.body.dataset.originalPaddingRight = paddingRight;\n if (scrollbarWidth > 0 || scrollbarWidth == 0 && this.isAppleDevice) {\n document.body.classList.add('hidden-scroll');\n document.body.style.paddingRight = paddingRight + scrollbarWidth + 'px';\n fixedElements.forEach(function (element) {\n var actualPadding = element.style.paddingRight;\n var calculatedPadding = window.getComputedStyle(element)['padding-right'];\n element.dataset.originalPaddingRight = actualPadding;\n element.style.paddingRight = \"\".concat(parseFloat(calculatedPadding) + scrollbarWidth, \"px\");\n });\n }\n }\n } else {\n document.body.classList.remove('hidden-scroll');\n document.body.style.paddingRight = document.body.dataset.originalPaddingRight + 'px';\n fixedElements.forEach(function (element) {\n var padding = element.dataset.originalPaddingRight;\n if (typeof padding !== 'undefined') {\n element.style.paddingRight = padding;\n }\n });\n }\n return scrollbarWidth;\n }\n }, {\n key: \"close\",\n value: function close() {\n var _this2 = this;\n if (!this.isOpen || this.isAnimating || this.isClosing) {\n return false;\n }\n this.isClosing = true;\n var element = this.relatedElements[this.currentImageIndex];\n element.dispatchEvent(new Event('close.simplelightbox'));\n if (this.options.history) {\n this.historyHasChanges = false;\n if (!this.hashReseted) {\n this.resetHash();\n }\n }\n this.removeEventListener(document, 'focusin.' + this.eventNamespace);\n this.fadeOut(this.domNodes.overlay, this.options.fadeSpeed);\n this.fadeOut(document.querySelectorAll('.sl-image img, .sl-close, .sl-navigation, .sl-image .sl-caption, .sl-counter'), this.options.fadeSpeed, function () {\n if (_this2.options.disableScroll) {\n _this2.toggleScrollbar('show');\n }\n if (_this2.options.htmlClass && _this2.options.htmlClass !== '') {\n document.querySelector('html').classList.remove(_this2.options.htmlClass);\n }\n document.body.removeChild(_this2.domNodes.wrapper);\n if (_this2.options.overlay) {\n document.body.removeChild(_this2.domNodes.overlay);\n }\n _this2.domNodes.additionalHtml = null;\n _this2.domNodes.download = null;\n element.dispatchEvent(new Event('closed.simplelightbox'));\n _this2.isClosing = false;\n });\n this.currentImage = null;\n this.isOpen = false;\n this.isAnimating = false;\n\n // reset touchcontrol coordinates\n for (var key in this.controlCoordinates) {\n this.controlCoordinates[key] = 0;\n }\n this.controlCoordinates.mousedown = false;\n this.controlCoordinates.zoomed = false;\n this.controlCoordinates.capture = false;\n this.controlCoordinates.initialScale = this.minMax(1, 1, this.options.maxZoom);\n this.controlCoordinates.doubleTapped = false;\n }\n }, {\n key: \"hash\",\n get: function get() {\n return window.location.hash.substring(1);\n }\n }, {\n key: \"preload\",\n value: function preload() {\n var _this3 = this;\n var index = this.currentImageIndex,\n length = this.relatedElements.length,\n next = index + 1 < 0 ? length - 1 : index + 1 >= length - 1 ? 0 : index + 1,\n prev = index - 1 < 0 ? length - 1 : index - 1 >= length - 1 ? 0 : index - 1,\n nextImage = new Image(),\n prevImage = new Image();\n nextImage.addEventListener('load', function (event) {\n var src = event.target.getAttribute('src');\n if (_this3.loadedImages.indexOf(src) === -1) {\n //is this condition even required... setting multiple times will not change usage...\n _this3.loadedImages.push(src);\n }\n _this3.relatedElements[index].dispatchEvent(new Event('nextImageLoaded.' + _this3.eventNamespace));\n });\n nextImage.setAttribute('src', this.relatedElements[next].getAttribute(this.options.sourceAttr));\n prevImage.addEventListener('load', function (event) {\n var src = event.target.getAttribute('src');\n if (_this3.loadedImages.indexOf(src) === -1) {\n _this3.loadedImages.push(src);\n }\n _this3.relatedElements[index].dispatchEvent(new Event('prevImageLoaded.' + _this3.eventNamespace));\n });\n prevImage.setAttribute('src', this.relatedElements[prev].getAttribute(this.options.sourceAttr));\n }\n }, {\n key: \"loadImage\",\n value: function loadImage(direction) {\n var _this4 = this;\n var slideDirection = direction;\n if (this.options.rtl) {\n direction = -direction;\n }\n this.relatedElements[this.currentImageIndex].dispatchEvent(new Event('change.' + this.eventNamespace));\n this.relatedElements[this.currentImageIndex].dispatchEvent(new Event((direction === 1 ? 'next' : 'prev') + '.' + this.eventNamespace));\n var newIndex = this.currentImageIndex + direction;\n if (this.isAnimating || (newIndex < 0 || newIndex >= this.relatedElements.length) && this.options.loop === false) {\n return false;\n }\n this.currentImageIndex = newIndex < 0 ? this.relatedElements.length - 1 : newIndex > this.relatedElements.length - 1 ? 0 : newIndex;\n this.domNodes.counter.querySelector('.sl-current').innerHTML = this.currentImageIndex + 1;\n if (this.options.animationSlide) {\n this.slide(this.options.animationSpeed / 1000, -100 * slideDirection - this.controlCoordinates.swipeDiff + 'px');\n }\n this.fadeOut(this.domNodes.image, this.options.fadeSpeed, function () {\n _this4.isAnimating = true;\n if (!_this4.isClosing) {\n setTimeout(function () {\n var element = _this4.relatedElements[_this4.currentImageIndex];\n if (!_this4.currentImage) return;\n _this4.currentImage.setAttribute('src', element.getAttribute(_this4.options.sourceAttr));\n if (_this4.loadedImages.indexOf(element.getAttribute(_this4.options.sourceAttr)) === -1) {\n _this4.show(_this4.domNodes.spinner);\n }\n if (_this4.domNodes.image.contains(_this4.domNodes.caption)) {\n _this4.domNodes.image.removeChild(_this4.domNodes.caption);\n }\n _this4.adjustImage(slideDirection);\n if (_this4.options.preloading) _this4.preload();\n }, 100);\n } else {\n _this4.isAnimating = false;\n }\n });\n }\n }, {\n key: \"adjustImage\",\n value: function adjustImage(direction) {\n var _this5 = this;\n if (!this.currentImage) {\n return false;\n }\n var tmpImage = new Image(),\n windowWidth = window.innerWidth * this.options.widthRatio,\n windowHeight = window.innerHeight * this.options.heightRatio;\n tmpImage.setAttribute('src', this.currentImage.getAttribute('src'));\n this.currentImage.dataset.scale = 1;\n this.currentImage.dataset.translateX = 0;\n this.currentImage.dataset.translateY = 0;\n this.zoomPanElement(0, 0, 1);\n tmpImage.addEventListener('error', function (event) {\n _this5.relatedElements[_this5.currentImageIndex].dispatchEvent(new Event('error.' + _this5.eventNamespace));\n _this5.isAnimating = false;\n _this5.isOpen = true;\n _this5.domNodes.spinner.style.display = 'none';\n var dirIsDefined = direction === 1 || direction === -1;\n if (_this5.initialImageIndex === _this5.currentImageIndex && dirIsDefined) {\n return _this5.close();\n }\n if (_this5.options.alertError) {\n alert(_this5.options.alertErrorMessage);\n }\n _this5.loadImage(dirIsDefined ? direction : 1);\n });\n tmpImage.addEventListener('load', function (event) {\n if (typeof direction !== 'undefined') {\n _this5.relatedElements[_this5.currentImageIndex].dispatchEvent(new Event('changed.' + _this5.eventNamespace));\n _this5.relatedElements[_this5.currentImageIndex].dispatchEvent(new Event((direction === 1 ? 'nextDone' : 'prevDone') + '.' + _this5.eventNamespace));\n }\n\n // history\n if (_this5.options.history) {\n _this5.updateURL();\n }\n if (_this5.loadedImages.indexOf(_this5.currentImage.getAttribute('src')) === -1) {\n _this5.loadedImages.push(_this5.currentImage.getAttribute('src'));\n }\n var imageWidth = event.target.width,\n imageHeight = event.target.height;\n if (_this5.options.scaleImageToRatio || imageWidth > windowWidth || imageHeight > windowHeight) {\n var ratio = imageWidth / imageHeight > windowWidth / windowHeight ? imageWidth / windowWidth : imageHeight / windowHeight;\n imageWidth /= ratio;\n imageHeight /= ratio;\n }\n _this5.domNodes.image.style.top = (window.innerHeight - imageHeight) / 2 + 'px';\n _this5.domNodes.image.style.left = (window.innerWidth - imageWidth - _this5.globalScrollbarWidth) / 2 + 'px';\n _this5.domNodes.image.style.width = imageWidth + 'px';\n _this5.domNodes.image.style.height = imageHeight + 'px';\n _this5.domNodes.spinner.style.display = 'none';\n if (_this5.options.focus) {\n _this5.forceFocus();\n }\n _this5.fadeIn(_this5.currentImage, _this5.options.fadeSpeed, function () {\n if (_this5.options.focus) {\n _this5.domNodes.wrapper.focus();\n }\n });\n _this5.isOpen = true;\n var captionContainer, captionText;\n if (typeof _this5.options.captionSelector === 'string') {\n captionContainer = _this5.options.captionSelector === 'self' ? _this5.relatedElements[_this5.currentImageIndex] : _this5.getCaptionElement(_this5.relatedElements[_this5.currentImageIndex]);\n } else if (typeof _this5.options.captionSelector === 'function') {\n captionContainer = _this5.options.captionSelector(_this5.relatedElements[_this5.currentImageIndex]);\n }\n if (_this5.options.captions && captionContainer) {\n if (_this5.options.captionType === 'data') {\n captionText = captionContainer.dataset[_this5.options.captionsData];\n } else if (_this5.options.captionType === 'text') {\n captionText = captionContainer.innerHTML;\n } else {\n captionText = captionContainer.getAttribute(_this5.options.captionsData);\n }\n }\n if (!_this5.options.loop) {\n if (_this5.currentImageIndex === 0) {\n _this5.hide(_this5.domNodes.navigation.querySelector('.sl-prev'));\n }\n if (_this5.currentImageIndex >= _this5.relatedElements.length - 1) {\n _this5.hide(_this5.domNodes.navigation.querySelector('.sl-next'));\n }\n if (_this5.currentImageIndex > 0) {\n _this5.show(_this5.domNodes.navigation.querySelector('.sl-prev'));\n }\n if (_this5.currentImageIndex < _this5.relatedElements.length - 1) {\n _this5.show(_this5.domNodes.navigation.querySelector('.sl-next'));\n }\n } else {\n if (_this5.relatedElements.length === 1) {\n _this5.hide(_this5.domNodes.navigation.querySelectorAll('.sl-prev, .sl-next'));\n } else {\n _this5.show(_this5.domNodes.navigation.querySelectorAll('.sl-prev, .sl-next'));\n }\n }\n if (direction === 1 || direction === -1) {\n if (_this5.options.animationSlide) {\n _this5.slide(0, 100 * direction + 'px');\n setTimeout(function () {\n _this5.slide(_this5.options.animationSpeed / 1000, 0 + 'px');\n }, 50);\n }\n _this5.fadeIn(_this5.domNodes.image, _this5.options.fadeSpeed, function () {\n _this5.isAnimating = false;\n _this5.setCaption(captionText, imageWidth);\n });\n } else {\n _this5.isAnimating = false;\n _this5.setCaption(captionText, imageWidth);\n }\n if (_this5.options.additionalHtml && !_this5.domNodes.additionalHtml) {\n _this5.domNodes.additionalHtml = document.createElement('div');\n _this5.domNodes.additionalHtml.classList.add('sl-additional-html');\n _this5.domNodes.additionalHtml.innerHTML = _this5.options.additionalHtml;\n _this5.domNodes.image.appendChild(_this5.domNodes.additionalHtml);\n }\n if (_this5.options.download) {\n _this5.domNodes.downloadLink.setAttribute('href', _this5.currentImage.getAttribute('src'));\n }\n });\n }\n }, {\n key: \"zoomPanElement\",\n value: function zoomPanElement(targetOffsetX, targetOffsetY, targetScale) {\n this.currentImage.style[this.transitionPrefix + 'transform'] = 'translate(' + targetOffsetX + ',' + targetOffsetY + ') scale(' + targetScale + ')';\n }\n }, {\n key: \"minMax\",\n value: function minMax(value, min, max) {\n return value < min ? min : value > max ? max : value;\n }\n }, {\n key: \"setZoomData\",\n value: function setZoomData(initialScale, targetOffsetX, targetOffsetY) {\n this.currentImage.dataset.scale = initialScale;\n this.currentImage.dataset.translateX = targetOffsetX;\n this.currentImage.dataset.translateY = targetOffsetY;\n }\n }, {\n key: \"hashchangeHandler\",\n value: function hashchangeHandler() {\n if (this.isOpen && this.hash === this.initialLocationHash) {\n this.hashReseted = true;\n this.close();\n }\n }\n }, {\n key: \"addEvents\",\n value: function addEvents() {\n var _this6 = this;\n // resize/responsive\n this.addEventListener(window, 'resize.' + this.eventNamespace, function (event) {\n //this.adjustImage.bind(this)\n if (_this6.isOpen) {\n _this6.adjustImage();\n }\n });\n this.addEventListener(this.domNodes.closeButton, ['click.' + this.eventNamespace, 'touchstart.' + this.eventNamespace], this.close.bind(this));\n if (this.options.history) {\n setTimeout(function () {\n _this6.addEventListener(window, 'hashchange.' + _this6.eventNamespace, function (event) {\n if (_this6.isOpen) {\n _this6.hashchangeHandler();\n }\n });\n }, 40);\n }\n this.addEventListener(this.domNodes.navigation.getElementsByTagName('button'), 'click.' + this.eventNamespace, function (event) {\n if (!event.currentTarget.tagName.match(/button/i)) {\n return true;\n }\n event.preventDefault();\n _this6.controlCoordinates.swipeDiff = 0;\n _this6.loadImage(event.currentTarget.classList.contains('sl-next') ? 1 : -1);\n });\n if (this.options.scrollZoom) {\n var scale = 1;\n this.addEventListener(this.domNodes.image, ['mousewheel', 'DOMMouseScroll'], function (event) {\n if (_this6.controlCoordinates.mousedown || _this6.isAnimating || _this6.isClosing || !_this6.isOpen) {\n return true;\n }\n if (_this6.controlCoordinates.containerHeight == 0) {\n _this6.controlCoordinates.containerHeight = _this6.getDimensions(_this6.domNodes.image).height;\n _this6.controlCoordinates.containerWidth = _this6.getDimensions(_this6.domNodes.image).width;\n _this6.controlCoordinates.imgHeight = _this6.getDimensions(_this6.currentImage).height;\n _this6.controlCoordinates.imgWidth = _this6.getDimensions(_this6.currentImage).width;\n _this6.controlCoordinates.containerOffsetX = _this6.domNodes.image.offsetLeft;\n _this6.controlCoordinates.containerOffsetY = _this6.domNodes.image.offsetTop;\n _this6.controlCoordinates.initialOffsetX = parseFloat(_this6.currentImage.dataset.translateX);\n _this6.controlCoordinates.initialOffsetY = parseFloat(_this6.currentImage.dataset.translateY);\n }\n // event.preventDefault();\n\n var delta = event.delta || event.wheelDelta;\n if (delta === undefined) {\n //we are on firefox\n delta = event.detail;\n }\n delta = Math.max(-1, Math.min(1, delta)); // cap the delta to [-1,1] for cross browser consistency\n\n // apply zoom\n scale += delta * _this6.options.scrollZoomFactor * scale;\n scale = Math.max(1, Math.min(_this6.options.maxZoom, scale));\n _this6.controlCoordinates.targetScale = scale;\n var scrollTopPos = document.documentElement.scrollTop || document.body.scrollTop;\n _this6.controlCoordinates.pinchOffsetX = event.pageX;\n _this6.controlCoordinates.pinchOffsetY = event.pageY - scrollTopPos || 0; // need to substract the scroll position\n\n _this6.controlCoordinates.limitOffsetX = (_this6.controlCoordinates.imgWidth * _this6.controlCoordinates.targetScale - _this6.controlCoordinates.containerWidth) / 2;\n _this6.controlCoordinates.limitOffsetY = (_this6.controlCoordinates.imgHeight * _this6.controlCoordinates.targetScale - _this6.controlCoordinates.containerHeight) / 2;\n _this6.controlCoordinates.scaleDifference = _this6.controlCoordinates.targetScale - _this6.controlCoordinates.initialScale;\n _this6.controlCoordinates.targetOffsetX = _this6.controlCoordinates.imgWidth * _this6.controlCoordinates.targetScale <= _this6.controlCoordinates.containerWidth ? 0 : _this6.minMax(_this6.controlCoordinates.initialOffsetX - (_this6.controlCoordinates.pinchOffsetX - _this6.controlCoordinates.containerOffsetX - _this6.controlCoordinates.containerWidth / 2 - _this6.controlCoordinates.initialOffsetX) / (_this6.controlCoordinates.targetScale - _this6.controlCoordinates.scaleDifference) * _this6.controlCoordinates.scaleDifference, _this6.controlCoordinates.limitOffsetX * -1, _this6.controlCoordinates.limitOffsetX);\n _this6.controlCoordinates.targetOffsetY = _this6.controlCoordinates.imgHeight * _this6.controlCoordinates.targetScale <= _this6.controlCoordinates.containerHeight ? 0 : _this6.minMax(_this6.controlCoordinates.initialOffsetY - (_this6.controlCoordinates.pinchOffsetY - _this6.controlCoordinates.containerOffsetY - _this6.controlCoordinates.containerHeight / 2 - _this6.controlCoordinates.initialOffsetY) / (_this6.controlCoordinates.targetScale - _this6.controlCoordinates.scaleDifference) * _this6.controlCoordinates.scaleDifference, _this6.controlCoordinates.limitOffsetY * -1, _this6.controlCoordinates.limitOffsetY);\n _this6.zoomPanElement(_this6.controlCoordinates.targetOffsetX + \"px\", _this6.controlCoordinates.targetOffsetY + \"px\", _this6.controlCoordinates.targetScale);\n if (_this6.controlCoordinates.targetScale > 1) {\n _this6.controlCoordinates.zoomed = true;\n if ((!_this6.domNodes.caption.style.opacity || _this6.domNodes.caption.style.opacity > 0) && _this6.domNodes.caption.style.display !== 'none') {\n _this6.fadeOut(_this6.domNodes.caption, _this6.options.fadeSpeed);\n }\n } else {\n if (_this6.controlCoordinates.initialScale === 1) {\n _this6.controlCoordinates.zoomed = false;\n if (_this6.domNodes.caption.style.display === 'none') {\n _this6.fadeIn(_this6.domNodes.caption, _this6.options.fadeSpeed);\n }\n }\n _this6.controlCoordinates.initialPinchDistance = null;\n _this6.controlCoordinates.capture = false;\n }\n _this6.controlCoordinates.initialPinchDistance = _this6.controlCoordinates.targetPinchDistance;\n _this6.controlCoordinates.initialScale = _this6.controlCoordinates.targetScale;\n _this6.controlCoordinates.initialOffsetX = _this6.controlCoordinates.targetOffsetX;\n _this6.controlCoordinates.initialOffsetY = _this6.controlCoordinates.targetOffsetY;\n _this6.setZoomData(_this6.controlCoordinates.targetScale, _this6.controlCoordinates.targetOffsetX, _this6.controlCoordinates.targetOffsetY);\n _this6.zoomPanElement(_this6.controlCoordinates.targetOffsetX + \"px\", _this6.controlCoordinates.targetOffsetY + \"px\", _this6.controlCoordinates.targetScale);\n });\n }\n this.addEventListener(this.domNodes.image, ['touchstart.' + this.eventNamespace, 'mousedown.' + this.eventNamespace], function (event) {\n if (event.target.tagName === 'A' && event.type === 'touchstart') {\n return true;\n }\n if (event.type === 'mousedown') {\n event.preventDefault();\n _this6.controlCoordinates.initialPointerOffsetX = event.clientX;\n _this6.controlCoordinates.initialPointerOffsetY = event.clientY;\n _this6.controlCoordinates.containerHeight = _this6.getDimensions(_this6.domNodes.image).height;\n _this6.controlCoordinates.containerWidth = _this6.getDimensions(_this6.domNodes.image).width;\n _this6.controlCoordinates.imgHeight = _this6.getDimensions(_this6.currentImage).height;\n _this6.controlCoordinates.imgWidth = _this6.getDimensions(_this6.currentImage).width;\n _this6.controlCoordinates.containerOffsetX = _this6.domNodes.image.offsetLeft;\n _this6.controlCoordinates.containerOffsetY = _this6.domNodes.image.offsetTop;\n _this6.controlCoordinates.initialOffsetX = parseFloat(_this6.currentImage.dataset.translateX);\n _this6.controlCoordinates.initialOffsetY = parseFloat(_this6.currentImage.dataset.translateY);\n _this6.controlCoordinates.capture = true;\n } else {\n _this6.controlCoordinates.touchCount = event.touches.length;\n _this6.controlCoordinates.initialPointerOffsetX = event.touches[0].clientX;\n _this6.controlCoordinates.initialPointerOffsetY = event.touches[0].clientY;\n _this6.controlCoordinates.containerHeight = _this6.getDimensions(_this6.domNodes.image).height;\n _this6.controlCoordinates.containerWidth = _this6.getDimensions(_this6.domNodes.image).width;\n _this6.controlCoordinates.imgHeight = _this6.getDimensions(_this6.currentImage).height;\n _this6.controlCoordinates.imgWidth = _this6.getDimensions(_this6.currentImage).width;\n _this6.controlCoordinates.containerOffsetX = _this6.domNodes.image.offsetLeft;\n _this6.controlCoordinates.containerOffsetY = _this6.domNodes.image.offsetTop;\n if (_this6.controlCoordinates.touchCount === 1) /* Single touch */{\n if (!_this6.controlCoordinates.doubleTapped) {\n _this6.controlCoordinates.doubleTapped = true;\n setTimeout(function () {\n _this6.controlCoordinates.doubleTapped = false;\n }, 300);\n } else {\n _this6.currentImage.classList.add('sl-transition');\n if (!_this6.controlCoordinates.zoomed) {\n _this6.controlCoordinates.initialScale = _this6.options.doubleTapZoom;\n _this6.setZoomData(_this6.controlCoordinates.initialScale, 0, 0);\n _this6.zoomPanElement(0 + \"px\", 0 + \"px\", _this6.controlCoordinates.initialScale);\n if ((!_this6.domNodes.caption.style.opacity || _this6.domNodes.caption.style.opacity > 0) && _this6.domNodes.caption.style.display !== 'none') {\n _this6.fadeOut(_this6.domNodes.caption, _this6.options.fadeSpeed);\n }\n _this6.controlCoordinates.zoomed = true;\n } else {\n _this6.controlCoordinates.initialScale = 1;\n _this6.setZoomData(_this6.controlCoordinates.initialScale, 0, 0);\n _this6.zoomPanElement(0 + \"px\", 0 + \"px\", _this6.controlCoordinates.initialScale);\n _this6.controlCoordinates.zoomed = false;\n }\n setTimeout(function () {\n if (_this6.currentImage) {\n _this6.currentImage.classList.remove('sl-transition');\n }\n }, 200);\n return false;\n }\n _this6.controlCoordinates.initialOffsetX = parseFloat(_this6.currentImage.dataset.translateX);\n _this6.controlCoordinates.initialOffsetY = parseFloat(_this6.currentImage.dataset.translateY);\n } else if (_this6.controlCoordinates.touchCount === 2) /* Pinch */{\n _this6.controlCoordinates.initialPointerOffsetX2 = event.touches[1].clientX;\n _this6.controlCoordinates.initialPointerOffsetY2 = event.touches[1].clientY;\n _this6.controlCoordinates.initialOffsetX = parseFloat(_this6.currentImage.dataset.translateX);\n _this6.controlCoordinates.initialOffsetY = parseFloat(_this6.currentImage.dataset.translateY);\n _this6.controlCoordinates.pinchOffsetX = (_this6.controlCoordinates.initialPointerOffsetX + _this6.controlCoordinates.initialPointerOffsetX2) / 2;\n _this6.controlCoordinates.pinchOffsetY = (_this6.controlCoordinates.initialPointerOffsetY + _this6.controlCoordinates.initialPointerOffsetY2) / 2;\n _this6.controlCoordinates.initialPinchDistance = Math.sqrt((_this6.controlCoordinates.initialPointerOffsetX - _this6.controlCoordinates.initialPointerOffsetX2) * (_this6.controlCoordinates.initialPointerOffsetX - _this6.controlCoordinates.initialPointerOffsetX2) + (_this6.controlCoordinates.initialPointerOffsetY - _this6.controlCoordinates.initialPointerOffsetY2) * (_this6.controlCoordinates.initialPointerOffsetY - _this6.controlCoordinates.initialPointerOffsetY2));\n }\n _this6.controlCoordinates.capture = true;\n }\n if (_this6.controlCoordinates.mousedown) return true;\n if (_this6.transitionCapable) {\n _this6.controlCoordinates.imageLeft = parseInt(_this6.domNodes.image.style.left, 10);\n }\n _this6.controlCoordinates.mousedown = true;\n _this6.controlCoordinates.swipeDiff = 0;\n _this6.controlCoordinates.swipeYDiff = 0;\n _this6.controlCoordinates.swipeStart = event.pageX || event.touches[0].pageX;\n _this6.controlCoordinates.swipeYStart = event.pageY || event.touches[0].pageY;\n return false;\n });\n this.addEventListener(this.domNodes.image, ['touchmove.' + this.eventNamespace, 'mousemove.' + this.eventNamespace, 'MSPointerMove'], function (event) {\n if (!_this6.controlCoordinates.mousedown) {\n return true;\n }\n if (event.type === 'touchmove') {\n if (_this6.controlCoordinates.capture === false) {\n return false;\n }\n _this6.controlCoordinates.pointerOffsetX = event.touches[0].clientX;\n _this6.controlCoordinates.pointerOffsetY = event.touches[0].clientY;\n _this6.controlCoordinates.touchCount = event.touches.length;\n _this6.controlCoordinates.touchmoveCount++;\n if (_this6.controlCoordinates.touchCount > 1) /* Pinch */{\n _this6.controlCoordinates.pointerOffsetX2 = event.touches[1].clientX;\n _this6.controlCoordinates.pointerOffsetY2 = event.touches[1].clientY;\n _this6.controlCoordinates.targetPinchDistance = Math.sqrt((_this6.controlCoordinates.pointerOffsetX - _this6.controlCoordinates.pointerOffsetX2) * (_this6.controlCoordinates.pointerOffsetX - _this6.controlCoordinates.pointerOffsetX2) + (_this6.controlCoordinates.pointerOffsetY - _this6.controlCoordinates.pointerOffsetY2) * (_this6.controlCoordinates.pointerOffsetY - _this6.controlCoordinates.pointerOffsetY2));\n if (_this6.controlCoordinates.initialPinchDistance === null) {\n _this6.controlCoordinates.initialPinchDistance = _this6.controlCoordinates.targetPinchDistance;\n }\n if (Math.abs(_this6.controlCoordinates.initialPinchDistance - _this6.controlCoordinates.targetPinchDistance) >= 1) {\n /* Initialize helpers */\n _this6.controlCoordinates.targetScale = _this6.minMax(_this6.controlCoordinates.targetPinchDistance / _this6.controlCoordinates.initialPinchDistance * _this6.controlCoordinates.initialScale, 1, _this6.options.maxZoom);\n _this6.controlCoordinates.limitOffsetX = (_this6.controlCoordinates.imgWidth * _this6.controlCoordinates.targetScale - _this6.controlCoordinates.containerWidth) / 2;\n _this6.controlCoordinates.limitOffsetY = (_this6.controlCoordinates.imgHeight * _this6.controlCoordinates.targetScale - _this6.controlCoordinates.containerHeight) / 2;\n _this6.controlCoordinates.scaleDifference = _this6.controlCoordinates.targetScale - _this6.controlCoordinates.initialScale;\n _this6.controlCoordinates.targetOffsetX = _this6.controlCoordinates.imgWidth * _this6.controlCoordinates.targetScale <= _this6.controlCoordinates.containerWidth ? 0 : _this6.minMax(_this6.controlCoordinates.initialOffsetX - (_this6.controlCoordinates.pinchOffsetX - _this6.controlCoordinates.containerOffsetX - _this6.controlCoordinates.containerWidth / 2 - _this6.controlCoordinates.initialOffsetX) / (_this6.controlCoordinates.targetScale - _this6.controlCoordinates.scaleDifference) * _this6.controlCoordinates.scaleDifference, _this6.controlCoordinates.limitOffsetX * -1, _this6.controlCoordinates.limitOffsetX);\n _this6.controlCoordinates.targetOffsetY = _this6.controlCoordinates.imgHeight * _this6.controlCoordinates.targetScale <= _this6.controlCoordinates.containerHeight ? 0 : _this6.minMax(_this6.controlCoordinates.initialOffsetY - (_this6.controlCoordinates.pinchOffsetY - _this6.controlCoordinates.containerOffsetY - _this6.controlCoordinates.containerHeight / 2 - _this6.controlCoordinates.initialOffsetY) / (_this6.controlCoordinates.targetScale - _this6.controlCoordinates.scaleDifference) * _this6.controlCoordinates.scaleDifference, _this6.controlCoordinates.limitOffsetY * -1, _this6.controlCoordinates.limitOffsetY);\n _this6.zoomPanElement(_this6.controlCoordinates.targetOffsetX + \"px\", _this6.controlCoordinates.targetOffsetY + \"px\", _this6.controlCoordinates.targetScale);\n if (_this6.controlCoordinates.targetScale > 1) {\n _this6.controlCoordinates.zoomed = true;\n if ((!_this6.domNodes.caption.style.opacity || _this6.domNodes.caption.style.opacity > 0) && _this6.domNodes.caption.style.display !== 'none') {\n _this6.fadeOut(_this6.domNodes.caption, _this6.options.fadeSpeed);\n }\n }\n _this6.controlCoordinates.initialPinchDistance = _this6.controlCoordinates.targetPinchDistance;\n _this6.controlCoordinates.initialScale = _this6.controlCoordinates.targetScale;\n _this6.controlCoordinates.initialOffsetX = _this6.controlCoordinates.targetOffsetX;\n _this6.controlCoordinates.initialOffsetY = _this6.controlCoordinates.targetOffsetY;\n }\n } else {\n _this6.controlCoordinates.targetScale = _this6.controlCoordinates.initialScale;\n _this6.controlCoordinates.limitOffsetX = (_this6.controlCoordinates.imgWidth * _this6.controlCoordinates.targetScale - _this6.controlCoordinates.containerWidth) / 2;\n _this6.controlCoordinates.limitOffsetY = (_this6.controlCoordinates.imgHeight * _this6.controlCoordinates.targetScale - _this6.controlCoordinates.containerHeight) / 2;\n _this6.controlCoordinates.targetOffsetX = _this6.controlCoordinates.imgWidth * _this6.controlCoordinates.targetScale <= _this6.controlCoordinates.containerWidth ? 0 : _this6.minMax(_this6.controlCoordinates.pointerOffsetX - (_this6.controlCoordinates.initialPointerOffsetX - _this6.controlCoordinates.initialOffsetX), _this6.controlCoordinates.limitOffsetX * -1, _this6.controlCoordinates.limitOffsetX);\n _this6.controlCoordinates.targetOffsetY = _this6.controlCoordinates.imgHeight * _this6.controlCoordinates.targetScale <= _this6.controlCoordinates.containerHeight ? 0 : _this6.minMax(_this6.controlCoordinates.pointerOffsetY - (_this6.controlCoordinates.initialPointerOffsetY - _this6.controlCoordinates.initialOffsetY), _this6.controlCoordinates.limitOffsetY * -1, _this6.controlCoordinates.limitOffsetY);\n if (Math.abs(_this6.controlCoordinates.targetOffsetX) === Math.abs(_this6.controlCoordinates.limitOffsetX)) {\n _this6.controlCoordinates.initialOffsetX = _this6.controlCoordinates.targetOffsetX;\n _this6.controlCoordinates.initialPointerOffsetX = _this6.controlCoordinates.pointerOffsetX;\n }\n if (Math.abs(_this6.controlCoordinates.targetOffsetY) === Math.abs(_this6.controlCoordinates.limitOffsetY)) {\n _this6.controlCoordinates.initialOffsetY = _this6.controlCoordinates.targetOffsetY;\n _this6.controlCoordinates.initialPointerOffsetY = _this6.controlCoordinates.pointerOffsetY;\n }\n _this6.setZoomData(_this6.controlCoordinates.initialScale, _this6.controlCoordinates.targetOffsetX, _this6.controlCoordinates.targetOffsetY);\n _this6.zoomPanElement(_this6.controlCoordinates.targetOffsetX + \"px\", _this6.controlCoordinates.targetOffsetY + \"px\", _this6.controlCoordinates.targetScale);\n }\n }\n\n /* Mouse Move implementation */\n if (event.type === 'mousemove' && _this6.controlCoordinates.mousedown) {\n if (event.type == 'touchmove') return true;\n event.preventDefault();\n if (_this6.controlCoordinates.capture === false) return false;\n _this6.controlCoordinates.pointerOffsetX = event.clientX;\n _this6.controlCoordinates.pointerOffsetY = event.clientY;\n _this6.controlCoordinates.targetScale = _this6.controlCoordinates.initialScale;\n _this6.controlCoordinates.limitOffsetX = (_this6.controlCoordinates.imgWidth * _this6.controlCoordinates.targetScale - _this6.controlCoordinates.containerWidth) / 2;\n _this6.controlCoordinates.limitOffsetY = (_this6.controlCoordinates.imgHeight * _this6.controlCoordinates.targetScale - _this6.controlCoordinates.containerHeight) / 2;\n _this6.controlCoordinates.targetOffsetX = _this6.controlCoordinates.imgWidth * _this6.controlCoordinates.targetScale <= _this6.controlCoordinates.containerWidth ? 0 : _this6.minMax(_this6.controlCoordinates.pointerOffsetX - (_this6.controlCoordinates.initialPointerOffsetX - _this6.controlCoordinates.initialOffsetX), _this6.controlCoordinates.limitOffsetX * -1, _this6.controlCoordinates.limitOffsetX);\n _this6.controlCoordinates.targetOffsetY = _this6.controlCoordinates.imgHeight * _this6.controlCoordinates.targetScale <= _this6.controlCoordinates.containerHeight ? 0 : _this6.minMax(_this6.controlCoordinates.pointerOffsetY - (_this6.controlCoordinates.initialPointerOffsetY - _this6.controlCoordinates.initialOffsetY), _this6.controlCoordinates.limitOffsetY * -1, _this6.controlCoordinates.limitOffsetY);\n if (Math.abs(_this6.controlCoordinates.targetOffsetX) === Math.abs(_this6.controlCoordinates.limitOffsetX)) {\n _this6.controlCoordinates.initialOffsetX = _this6.controlCoordinates.targetOffsetX;\n _this6.controlCoordinates.initialPointerOffsetX = _this6.controlCoordinates.pointerOffsetX;\n }\n if (Math.abs(_this6.controlCoordinates.targetOffsetY) === Math.abs(_this6.controlCoordinates.limitOffsetY)) {\n _this6.controlCoordinates.initialOffsetY = _this6.controlCoordinates.targetOffsetY;\n _this6.controlCoordinates.initialPointerOffsetY = _this6.controlCoordinates.pointerOffsetY;\n }\n _this6.setZoomData(_this6.controlCoordinates.initialScale, _this6.controlCoordinates.targetOffsetX, _this6.controlCoordinates.targetOffsetY);\n _this6.zoomPanElement(_this6.controlCoordinates.targetOffsetX + \"px\", _this6.controlCoordinates.targetOffsetY + \"px\", _this6.controlCoordinates.targetScale);\n }\n if (!_this6.controlCoordinates.zoomed) {\n _this6.controlCoordinates.swipeEnd = event.pageX || event.touches[0].pageX;\n _this6.controlCoordinates.swipeYEnd = event.pageY || event.touches[0].pageY;\n _this6.controlCoordinates.swipeDiff = _this6.controlCoordinates.swipeStart - _this6.controlCoordinates.swipeEnd;\n _this6.controlCoordinates.swipeYDiff = _this6.controlCoordinates.swipeYStart - _this6.controlCoordinates.swipeYEnd;\n if (_this6.options.animationSlide) {\n _this6.slide(0, -_this6.controlCoordinates.swipeDiff + 'px');\n }\n }\n });\n this.addEventListener(this.domNodes.image, ['touchend.' + this.eventNamespace, 'mouseup.' + this.eventNamespace, 'touchcancel.' + this.eventNamespace, 'mouseleave.' + this.eventNamespace, 'pointerup', 'pointercancel', 'MSPointerUp', 'MSPointerCancel'], function (event) {\n if (_this6.isTouchDevice && event.type === 'touchend') {\n _this6.controlCoordinates.touchCount = event.touches.length;\n if (_this6.controlCoordinates.touchCount === 0) /* No touch */{\n /* Set attributes */\n if (_this6.currentImage) {\n _this6.setZoomData(_this6.controlCoordinates.initialScale, _this6.controlCoordinates.targetOffsetX, _this6.controlCoordinates.targetOffsetY);\n }\n if (_this6.controlCoordinates.initialScale === 1) {\n _this6.controlCoordinates.zoomed = false;\n if (_this6.domNodes.caption.style.display === 'none') {\n _this6.fadeIn(_this6.domNodes.caption, _this6.options.fadeSpeed);\n }\n }\n _this6.controlCoordinates.initialPinchDistance = null;\n _this6.controlCoordinates.capture = false;\n } else if (_this6.controlCoordinates.touchCount === 1) /* Single touch */{\n _this6.controlCoordinates.initialPointerOffsetX = event.touches[0].clientX;\n _this6.controlCoordinates.initialPointerOffsetY = event.touches[0].clientY;\n } else if (_this6.controlCoordinates.touchCount > 1) /* Pinch */{\n _this6.controlCoordinates.initialPinchDistance = null;\n }\n }\n if (_this6.controlCoordinates.mousedown) {\n _this6.controlCoordinates.mousedown = false;\n var possibleDir = true;\n if (!_this6.options.loop) {\n if (_this6.currentImageIndex === 0 && _this6.controlCoordinates.swipeDiff < 0) {\n possibleDir = false;\n }\n if (_this6.currentImageIndex >= _this6.relatedElements.length - 1 && _this6.controlCoordinates.swipeDiff > 0) {\n possibleDir = false;\n }\n }\n if (Math.abs(_this6.controlCoordinates.swipeDiff) > _this6.options.swipeTolerance && possibleDir) {\n _this6.loadImage(_this6.controlCoordinates.swipeDiff > 0 ? 1 : -1);\n } else if (_this6.options.animationSlide) {\n _this6.slide(_this6.options.animationSpeed / 1000, 0 + 'px');\n }\n if (_this6.options.swipeClose && Math.abs(_this6.controlCoordinates.swipeYDiff) > 50 && Math.abs(_this6.controlCoordinates.swipeDiff) < _this6.options.swipeTolerance) {\n _this6.close();\n }\n }\n });\n this.addEventListener(this.domNodes.image, ['dblclick'], function (event) {\n if (_this6.isTouchDevice) return;\n _this6.controlCoordinates.initialPointerOffsetX = event.clientX;\n _this6.controlCoordinates.initialPointerOffsetY = event.clientY;\n _this6.controlCoordinates.containerHeight = _this6.getDimensions(_this6.domNodes.image).height;\n _this6.controlCoordinates.containerWidth = _this6.getDimensions(_this6.domNodes.image).width;\n _this6.controlCoordinates.imgHeight = _this6.getDimensions(_this6.currentImage).height;\n _this6.controlCoordinates.imgWidth = _this6.getDimensions(_this6.currentImage).width;\n _this6.controlCoordinates.containerOffsetX = _this6.domNodes.image.offsetLeft;\n _this6.controlCoordinates.containerOffsetY = _this6.domNodes.image.offsetTop;\n _this6.currentImage.classList.add('sl-transition');\n if (!_this6.controlCoordinates.zoomed) {\n _this6.controlCoordinates.initialScale = _this6.options.doubleTapZoom;\n _this6.setZoomData(_this6.controlCoordinates.initialScale, 0, 0);\n _this6.zoomPanElement(0 + \"px\", 0 + \"px\", _this6.controlCoordinates.initialScale);\n if ((!_this6.domNodes.caption.style.opacity || _this6.domNodes.caption.style.opacity > 0) && _this6.domNodes.caption.style.display !== 'none') {\n _this6.fadeOut(_this6.domNodes.caption, _this6.options.fadeSpeed);\n }\n _this6.controlCoordinates.zoomed = true;\n } else {\n _this6.controlCoordinates.initialScale = 1;\n _this6.setZoomData(_this6.controlCoordinates.initialScale, 0, 0);\n _this6.zoomPanElement(0 + \"px\", 0 + \"px\", _this6.controlCoordinates.initialScale);\n _this6.controlCoordinates.zoomed = false;\n if (_this6.domNodes.caption.style.display === 'none') {\n _this6.fadeIn(_this6.domNodes.caption, _this6.options.fadeSpeed);\n }\n }\n setTimeout(function () {\n if (_this6.currentImage) {\n _this6.currentImage.classList.remove('sl-transition');\n _this6.currentImage.style[_this6.transitionPrefix + 'transform-origin'] = null;\n }\n }, 200);\n _this6.controlCoordinates.capture = true;\n return false;\n });\n }\n }, {\n key: \"getDimensions\",\n value: function getDimensions(element) {\n var styles = window.getComputedStyle(element),\n height = element.offsetHeight,\n width = element.offsetWidth,\n borderTopWidth = parseFloat(styles.borderTopWidth),\n borderBottomWidth = parseFloat(styles.borderBottomWidth),\n paddingTop = parseFloat(styles.paddingTop),\n paddingBottom = parseFloat(styles.paddingBottom),\n borderLeftWidth = parseFloat(styles.borderLeftWidth),\n borderRightWidth = parseFloat(styles.borderRightWidth),\n paddingLeft = parseFloat(styles.paddingLeft),\n paddingRight = parseFloat(styles.paddingRight);\n return {\n height: height - borderBottomWidth - borderTopWidth - paddingTop - paddingBottom,\n width: width - borderLeftWidth - borderRightWidth - paddingLeft - paddingRight\n };\n }\n }, {\n key: \"updateHash\",\n value: function updateHash() {\n var newHash = 'pid=' + (this.currentImageIndex + 1),\n newURL = window.location.href.split('#')[0] + '#' + newHash;\n this.hashReseted = false;\n if (this.pushStateSupport) {\n window.history[this.historyHasChanges ? 'replaceState' : 'pushState']('', document.title, newURL);\n } else {\n // what is the browser target of this?\n if (this.historyHasChanges) {\n window.location.replace(newURL);\n } else {\n window.location.hash = newHash;\n }\n }\n if (!this.historyHasChanges) {\n this.urlChangedOnce = true;\n }\n this.historyHasChanges = true;\n }\n }, {\n key: \"resetHash\",\n value: function resetHash() {\n this.hashReseted = true;\n if (this.urlChangedOnce) {\n history.back();\n } else {\n if (this.pushStateSupport) {\n history.pushState('', document.title, window.location.pathname + window.location.search);\n } else {\n window.location.hash = '';\n }\n }\n //\n //in case an history operation is still pending\n clearTimeout(this.historyUpdateTimeout);\n }\n }, {\n key: \"updateURL\",\n value: function updateURL() {\n clearTimeout(this.historyUpdateTimeout);\n if (!this.historyHasChanges) {\n this.updateHash(); // first time\n } else {\n this.historyUpdateTimeout = setTimeout(this.updateHash.bind(this), 800);\n }\n }\n }, {\n key: \"setCaption\",\n value: function setCaption(captionText, imageWidth, allowHTML) {\n var _this7 = this;\n if (this.options.captions && captionText && captionText !== '' && typeof captionText !== \"undefined\") {\n var _ref;\n var property = ((_ref = allowHTML !== null && allowHTML !== void 0 ? allowHTML : this.options.captionHTML) !== null && _ref !== void 0 ? _ref : true) ? 'innerHTML' : 'innerText';\n this.hide(this.domNodes.caption);\n this.domNodes.caption.style.width = imageWidth + 'px';\n this.domNodes.caption[property] = captionText;\n this.domNodes.image.appendChild(this.domNodes.caption);\n setTimeout(function () {\n _this7.fadeIn(_this7.domNodes.caption, _this7.options.fadeSpeed);\n }, this.options.captionDelay);\n }\n }\n }, {\n key: \"slide\",\n value: function slide(speed, pos) {\n if (!this.transitionCapable) {\n return this.domNodes.image.style.left = pos;\n }\n this.domNodes.image.style[this.transitionPrefix + 'transform'] = 'translateX(' + pos + ')';\n this.domNodes.image.style[this.transitionPrefix + 'transition'] = this.transitionPrefix + 'transform ' + speed + 's linear';\n }\n }, {\n key: \"getRelated\",\n value: function getRelated(rel) {\n var elems;\n if (rel && rel !== false && rel !== 'nofollow') {\n elems = Array.from(this.elements).filter(function (element) {\n return element.getAttribute('rel') === rel;\n });\n } else {\n elems = this.elements;\n }\n return elems;\n }\n }, {\n key: \"openImage\",\n value: function openImage(element) {\n var _this8 = this;\n element.dispatchEvent(new Event('show.' + this.eventNamespace));\n this.globalScrollbarWidth = this.getScrollbarWidth();\n if (this.options.disableScroll) {\n this.toggleScrollbar('hide');\n this.globalScrollbarWidth = 0;\n }\n if (this.options.htmlClass && this.options.htmlClass !== '') {\n document.querySelector('html').classList.add(this.options.htmlClass);\n }\n document.body.appendChild(this.domNodes.wrapper);\n this.domNodes.wrapper.appendChild(this.domNodes.image);\n if (this.options.overlay) {\n document.body.appendChild(this.domNodes.overlay);\n }\n this.relatedElements = this.getRelated(element.rel);\n if (this.options.showCounter) {\n if (this.relatedElements.length == 1 && this.domNodes.wrapper.contains(this.domNodes.counter)) {\n this.domNodes.wrapper.removeChild(this.domNodes.counter);\n } else if (this.relatedElements.length > 1 && !this.domNodes.wrapper.contains(this.domNodes.counter)) {\n this.domNodes.wrapper.appendChild(this.domNodes.counter);\n }\n }\n if (this.options.download && this.domNodes.download) {\n this.domNodes.wrapper.appendChild(this.domNodes.download);\n }\n this.isAnimating = true;\n this.currentImageIndex = this.relatedElements.indexOf(element);\n var targetURL = element.getAttribute(this.options.sourceAttr);\n this.currentImage = document.createElement('img');\n this.currentImage.style.display = 'none';\n this.currentImage.setAttribute('src', targetURL);\n this.currentImage.dataset.scale = 1;\n this.currentImage.dataset.translateX = 0;\n this.currentImage.dataset.translateY = 0;\n if (this.loadedImages.indexOf(targetURL) === -1) {\n this.loadedImages.push(targetURL);\n }\n this.domNodes.image.innerHTML = '';\n this.domNodes.image.setAttribute('style', '');\n this.domNodes.image.appendChild(this.currentImage);\n this.fadeIn(this.domNodes.overlay, this.options.fadeSpeed);\n this.fadeIn([this.domNodes.counter, this.domNodes.navigation, this.domNodes.closeButton, this.domNodes.download], this.options.fadeSpeed);\n this.show(this.domNodes.spinner);\n this.domNodes.counter.querySelector('.sl-current').innerHTML = this.currentImageIndex + 1;\n this.domNodes.counter.querySelector('.sl-total').innerHTML = this.relatedElements.length;\n this.adjustImage();\n if (this.options.preloading) {\n this.preload();\n }\n setTimeout(function () {\n element.dispatchEvent(new Event('shown.' + _this8.eventNamespace));\n }, this.options.animationSpeed);\n }\n }, {\n key: \"forceFocus\",\n value: function forceFocus() {\n var _this9 = this;\n this.removeEventListener(document, 'focusin.' + this.eventNamespace);\n this.addEventListener(document, 'focusin.' + this.eventNamespace, function (event) {\n if (document !== event.target && _this9.domNodes.wrapper !== event.target && !_this9.domNodes.wrapper.contains(event.target)) {\n _this9.domNodes.wrapper.focus();\n }\n });\n }\n\n // utility\n }, {\n key: \"addEventListener\",\n value: function addEventListener(elements, events, callback, opts) {\n elements = this.wrap(elements);\n events = this.wrap(events);\n var _iterator = _createForOfIteratorHelper(elements),\n _step;\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var element = _step.value;\n if (!element.namespaces) {\n element.namespaces = {};\n } // save the namespaces addEventListener the DOM element itself\n var _iterator2 = _createForOfIteratorHelper(events),\n _step2;\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var event = _step2.value;\n var options = opts || false;\n var needsPassiveFix = ['touchstart', 'touchmove', 'mousewheel', 'DOMMouseScroll'].indexOf(event.split('.')[0]) >= 0;\n if (needsPassiveFix && this.isPassiveEventsSupported) {\n if (_typeof(options) === 'object') {\n options.passive = true;\n } else {\n options = {\n passive: true\n };\n }\n }\n element.namespaces[event] = callback;\n element.addEventListener(event.split('.')[0], callback, options);\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n }, {\n key: \"removeEventListener\",\n value: function removeEventListener(elements, events) {\n elements = this.wrap(elements);\n events = this.wrap(events);\n var _iterator3 = _createForOfIteratorHelper(elements),\n _step3;\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var element = _step3.value;\n var _iterator4 = _createForOfIteratorHelper(events),\n _step4;\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var event = _step4.value;\n if (element.namespaces && element.namespaces[event]) {\n element.removeEventListener(event.split('.')[0], element.namespaces[event]);\n delete element.namespaces[event];\n }\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n }\n }, {\n key: \"fadeOut\",\n value: function fadeOut(elements, duration, callback) {\n var _this10 = this;\n elements = this.wrap(elements);\n var _iterator5 = _createForOfIteratorHelper(elements),\n _step5;\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n var element = _step5.value;\n element.style.opacity = parseFloat(element) || window.getComputedStyle(element).getPropertyValue(\"opacity\");\n }\n } catch (err) {\n _iterator5.e(err);\n } finally {\n _iterator5.f();\n }\n this.isFadeIn = false;\n var step = 16.66666 / (duration || this.options.fadeSpeed),\n _fade = function fade() {\n var currentOpacity = parseFloat(elements[0].style.opacity);\n if ((currentOpacity -= step) < 0) {\n var _iterator6 = _createForOfIteratorHelper(elements),\n _step6;\n try {\n for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\n var element = _step6.value;\n element.style.display = \"none\";\n // element.style.opacity = '';\n element.style.opacity = 1;\n }\n } catch (err) {\n _iterator6.e(err);\n } finally {\n _iterator6.f();\n }\n callback && callback.call(_this10, elements);\n } else {\n var _iterator7 = _createForOfIteratorHelper(elements),\n _step7;\n try {\n for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {\n var _element = _step7.value;\n _element.style.opacity = currentOpacity;\n }\n } catch (err) {\n _iterator7.e(err);\n } finally {\n _iterator7.f();\n }\n requestAnimationFrame(_fade);\n }\n };\n _fade();\n }\n }, {\n key: \"fadeIn\",\n value: function fadeIn(elements, duration, callback, display) {\n var _this11 = this;\n elements = this.wrap(elements);\n var _iterator8 = _createForOfIteratorHelper(elements),\n _step8;\n try {\n for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {\n var element = _step8.value;\n if (element) {\n element.style.opacity = 0;\n element.style.display = display || \"block\";\n }\n }\n } catch (err) {\n _iterator8.e(err);\n } finally {\n _iterator8.f();\n }\n this.isFadeIn = true;\n var opacityTarget = parseFloat(elements[0].dataset.opacityTarget || 1),\n step = 16.66666 * opacityTarget / (duration || this.options.fadeSpeed),\n _fade2 = function fade() {\n var currentOpacity = parseFloat(elements[0].style.opacity);\n if (!((currentOpacity += step) > opacityTarget)) {\n var _iterator9 = _createForOfIteratorHelper(elements),\n _step9;\n try {\n for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {\n var element = _step9.value;\n if (element) {\n element.style.opacity = currentOpacity;\n }\n }\n } catch (err) {\n _iterator9.e(err);\n } finally {\n _iterator9.f();\n }\n if (!_this11.isFadeIn) return;\n requestAnimationFrame(_fade2);\n } else {\n var _iterator10 = _createForOfIteratorHelper(elements),\n _step10;\n try {\n for (_iterator10.s(); !(_step10 = _iterator10.n()).done;) {\n var _element2 = _step10.value;\n if (_element2) {\n _element2.style.opacity = opacityTarget;\n }\n }\n } catch (err) {\n _iterator10.e(err);\n } finally {\n _iterator10.f();\n }\n callback && callback.call(_this11, elements);\n }\n };\n _fade2();\n }\n }, {\n key: \"hide\",\n value: function hide(elements) {\n elements = this.wrap(elements);\n var _iterator11 = _createForOfIteratorHelper(elements),\n _step11;\n try {\n for (_iterator11.s(); !(_step11 = _iterator11.n()).done;) {\n var element = _step11.value;\n if (element.style.display != 'none') {\n element.dataset.initialDisplay = element.style.display;\n }\n element.style.display = 'none';\n }\n } catch (err) {\n _iterator11.e(err);\n } finally {\n _iterator11.f();\n }\n }\n }, {\n key: \"show\",\n value: function show(elements, display) {\n elements = this.wrap(elements);\n var _iterator12 = _createForOfIteratorHelper(elements),\n _step12;\n try {\n for (_iterator12.s(); !(_step12 = _iterator12.n()).done;) {\n var element = _step12.value;\n element.style.display = element.dataset.initialDisplay || display || 'block';\n }\n } catch (err) {\n _iterator12.e(err);\n } finally {\n _iterator12.f();\n }\n }\n }, {\n key: \"wrap\",\n value: function wrap(input) {\n return typeof input[Symbol.iterator] === 'function' && typeof input !== 'string' ? input : [input];\n }\n }, {\n key: \"on\",\n value: function on(events, callback) {\n events = this.wrap(events);\n var _iterator13 = _createForOfIteratorHelper(this.elements),\n _step13;\n try {\n for (_iterator13.s(); !(_step13 = _iterator13.n()).done;) {\n var element = _step13.value;\n if (!element.fullyNamespacedEvents) {\n element.fullyNamespacedEvents = {};\n }\n var _iterator14 = _createForOfIteratorHelper(events),\n _step14;\n try {\n for (_iterator14.s(); !(_step14 = _iterator14.n()).done;) {\n var event = _step14.value;\n element.fullyNamespacedEvents[event] = callback;\n element.addEventListener(event, callback);\n }\n } catch (err) {\n _iterator14.e(err);\n } finally {\n _iterator14.f();\n }\n }\n } catch (err) {\n _iterator13.e(err);\n } finally {\n _iterator13.f();\n }\n return this;\n }\n }, {\n key: \"off\",\n value: function off(events) {\n events = this.wrap(events);\n var _iterator15 = _createForOfIteratorHelper(this.elements),\n _step15;\n try {\n for (_iterator15.s(); !(_step15 = _iterator15.n()).done;) {\n var element = _step15.value;\n var _iterator16 = _createForOfIteratorHelper(events),\n _step16;\n try {\n for (_iterator16.s(); !(_step16 = _iterator16.n()).done;) {\n var event = _step16.value;\n if (typeof element.fullyNamespacedEvents !== 'undefined' && event in element.fullyNamespacedEvents) {\n element.removeEventListener(event, element.fullyNamespacedEvents[event]);\n }\n }\n } catch (err) {\n _iterator16.e(err);\n } finally {\n _iterator16.f();\n }\n }\n } catch (err) {\n _iterator15.e(err);\n } finally {\n _iterator15.f();\n }\n return this;\n }\n\n // api\n }, {\n key: \"open\",\n value: function open(elem) {\n var position = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n elem = elem || this.elements[0];\n if (typeof jQuery !== \"undefined\" && elem instanceof jQuery) {\n elem = elem.get(0);\n }\n if (position > 0) {\n elem = this.elements[position];\n }\n this.initialImageIndex = this.elements.indexOf(elem);\n if (this.initialImageIndex > -1) {\n this.openImage(elem);\n }\n }\n }, {\n key: \"openPosition\",\n value: function openPosition(position) {\n var elem = this.elements[position];\n this.open(elem, position);\n }\n }, {\n key: \"next\",\n value: function next() {\n this.loadImage(1);\n }\n }, {\n key: \"prev\",\n value: function prev() {\n this.loadImage(-1);\n }\n\n // get some useful data\n }, {\n key: \"getLighboxData\",\n value: function getLighboxData() {\n return {\n currentImageIndex: this.currentImageIndex,\n currentImage: this.currentImage,\n globalScrollbarWidth: this.globalScrollbarWidth\n };\n }\n\n //close is exposed anyways..\n }, {\n key: \"destroy\",\n value: function destroy() {\n //remove all custom event listeners from elements\n this.off(['close.' + this.eventNamespace, 'closed.' + this.eventNamespace, 'nextImageLoaded.' + this.eventNamespace, 'prevImageLoaded.' + this.eventNamespace, 'change.' + this.eventNamespace, 'nextDone.' + this.eventNamespace, 'prevDone.' + this.eventNamespace, 'error.' + this.eventNamespace, 'changed.' + this.eventNamespace, 'next.' + this.eventNamespace, 'prev.' + this.eventNamespace, 'show.' + this.eventNamespace, 'shown.' + this.eventNamespace]);\n this.removeEventListener(this.elements, 'click.' + this.eventNamespace);\n this.removeEventListener(document, 'focusin.' + this.eventNamespace);\n this.removeEventListener(document.body, 'contextmenu.' + this.eventNamespace);\n this.removeEventListener(document.body, 'keyup.' + this.eventNamespace);\n this.removeEventListener(this.domNodes.navigation.getElementsByTagName('button'), 'click.' + this.eventNamespace);\n this.removeEventListener(this.domNodes.closeButton, 'click.' + this.eventNamespace);\n this.removeEventListener(window, 'resize.' + this.eventNamespace);\n this.removeEventListener(window, 'hashchange.' + this.eventNamespace);\n this.close();\n if (this.isOpen) {\n document.body.removeChild(this.domNodes.wrapper);\n document.body.removeChild(this.domNodes.overlay);\n }\n this.elements = null;\n }\n }, {\n key: \"refresh\",\n value: function refresh() {\n if (!this.initialSelector) {\n throw 'refreshing only works when you initialize using a selector!';\n }\n var options = this.options,\n selector = this.initialSelector;\n this.destroy();\n this.constructor(selector, options);\n return this;\n }\n }]);\n}();\n/* harmony default export */ const simple_lightbox_esm = ((/* unused pure expression or super */ null && (simple_lightbox_esm_SimpleLightbox)));\n__webpack_require__.g.SimpleLightbox = simple_lightbox_esm_SimpleLightbox;\n;// CONCATENATED MODULE: ./src/lightbox.ts\n\n\nfunction generateLightbox(id, images) {\n let imagesMarkup = '';\n for (let image of images) {\n imagesMarkup += `\n \n \n \n \"Plan\"\n \n \n `;\n }\n return `\n
\n ${imagesMarkup}\n
`;\n}\nfunction initGalleries(selector, elementSelector) {\n let sourceAttr = 'href';\n if (Modernizr.webp) {\n sourceAttr = 'data-gal-webp';\n }\n elementSelector ??= 'a';\n let items = document.querySelectorAll(selector);\n items.forEach(item => {\n let elements = Array.from(item.querySelectorAll(elementSelector));\n if (elements.length > 0) {\n new SimpleLightbox(elements, {\n sourceAttr,\n fileExt: false,\n alertErrorMessage: 'Błąd ładowania obrazka'\n });\n }\n });\n}\n\n;// CONCATENATED MODULE: ./src/plan.ts\n\nvar PlanElementType;\n(function (PlanElementType) {\n PlanElementType[\"BlockOfFlats\"] = \"bf\";\n PlanElementType[\"MultiPremises\"] = \"mp\";\n PlanElementType[\"MultiPremisesDouble\"] = \"mpd\";\n PlanElementType[\"House\"] = \"h\";\n PlanElementType[\"DoubleHouse\"] = \"dh\";\n PlanElementType[\"TerracedHouse\"] = \"th\";\n PlanElementType[\"Floor\"] = \"fl\";\n PlanElementType[\"Property\"] = \"pr\";\n})(PlanElementType || (PlanElementType = {}));\nvar PropertyType;\n(function (PropertyType) {\n PropertyType[\"Flat\"] = \"f\";\n PropertyType[\"Cellar\"] = \"c\";\n PropertyType[\"StorageRoom\"] = \"sr\";\n PropertyType[\"House\"] = \"h\";\n PropertyType[\"Premises\"] = \"p\";\n PropertyType[\"LowerPlatform\"] = \"pl\";\n PropertyType[\"UpperPlatform\"] = \"pu\";\n PropertyType[\"ParkingLot\"] = \"lot\";\n PropertyType[\"BicycleBox\"] = \"bb\";\n PropertyType[\"Garage\"] = \"g\";\n PropertyType[\"ExternalLot\"] = \"el\";\n})(PropertyType || (PropertyType = {}));\nfunction isBuilding(element) {\n return [\n PlanElementType.BlockOfFlats,\n PlanElementType.DoubleHouse,\n PlanElementType.House,\n PlanElementType.MultiPremises,\n PlanElementType.MultiPremisesDouble,\n PlanElementType.TerracedHouse\n ].includes(element.t);\n}\nfunction isBlockOfFlats(element) {\n return element.t === PlanElementType.BlockOfFlats;\n}\nfunction isFloor(element) {\n return element.t === PlanElementType.Floor;\n}\nfunction isBuildingMultiPremises(element) {\n return element.t === PlanElementType.MultiPremises;\n}\nfunction isProperty(element) {\n return element.t === PlanElementType.Property;\n}\nfunction propertyTypeToString(propertyType) {\n switch (propertyType) {\n case PropertyType.BicycleBox:\n return 'Boks rowerowy';\n case PropertyType.Cellar:\n return 'Piwnica';\n case PropertyType.ExternalLot:\n return 'Miejsce postojowe zewnętrzne';\n case PropertyType.Flat:\n return 'Mieszkanie';\n case PropertyType.Garage:\n return 'Garaż';\n case PropertyType.LowerPlatform:\n return 'Platforma postjowa dolna';\n case PropertyType.House:\n return 'Dom';\n case PropertyType.ParkingLot:\n return 'Miejsce postojowe';\n case PropertyType.Premises:\n return 'Lokal usługowy';\n case PropertyType.StorageRoom:\n return 'Schowek';\n case PropertyType.UpperPlatform:\n return 'Platforma postojowa górna';\n default:\n return '';\n }\n}\nasync function initializePlans(selectorOrOptions, optionsArg) {\n let selector = 'picture[data-path]';\n let options;\n if (typeof selectorOrOptions === 'string') {\n if (!optionsArg)\n throw new Error('Must provide options');\n selector = selectorOrOptions;\n options = optionsArg;\n }\n else {\n options = selectorOrOptions;\n }\n let planElements = document.querySelectorAll(selector);\n let planArr = Array.from(planElements);\n let results = [];\n for (let planElement of planArr) {\n let planData = planElement.dataset['path'];\n if (planData == null)\n continue;\n let decoded = JSON.parse(atob(planData));\n results.push(initializePlan(planElement, decoded, options));\n }\n return await Promise.all(results);\n}\nasync function initializePlan(planElement, data, options) {\n let plan = await PropertyPlan.create(planElement, options, data);\n return plan;\n}\nclass PropertyPlan {\n pictureTag;\n _options;\n _data;\n wrapper;\n elements;\n _width;\n _height;\n resizeObserver;\n img;\n _activeObject;\n get data() {\n return this._data;\n }\n get options() {\n return this._options;\n }\n static async create(pictureTag, options, planData) {\n if (!pictureTag || !(pictureTag instanceof HTMLPictureElement) || !pictureTag.parentElement)\n throw new Error('Invalid investment plan element');\n const image = await PropertyPlan.prepareElement(pictureTag);\n const wrapper = PropertyPlan.setupWrapper(pictureTag);\n let plan = new PropertyPlan(pictureTag, options, planData, image, wrapper);\n if (options.popoversEnabled ?? true) {\n plan.initPopovers();\n }\n return plan;\n }\n static async prepareElement(pictureTag) {\n let image = pictureTag.querySelector('img');\n if (!image)\n throw new Error('Cannot find img element');\n if (!image.complete) {\n await new Promise((resolve, reject) => {\n image.addEventListener('load', () => {\n resolve();\n });\n image.addEventListener('error', () => {\n reject(new Error('Cannot initialize property plan. Image could not be loaded.'));\n });\n });\n }\n if (image.naturalHeight === 0)\n throw new Error('Cannot initialize property plan. Image could not be loaded.');\n return image;\n }\n static setupWrapper(picture) {\n let wrapper = document.createElement('div');\n wrapper.style.position = 'relative';\n wrapper.style.display = 'inline-block';\n picture.parentElement.insertBefore(wrapper, picture);\n picture.remove();\n wrapper.appendChild(picture);\n return wrapper;\n }\n constructor(pictureTag, options, data, image, wrapper) {\n this.pictureTag = pictureTag;\n this._options = options;\n this._data = data;\n this.img = image;\n this._width = this.img.clientWidth;\n this._height = this.img.clientHeight;\n if (isNaN(this._width) || isNaN(this._height)) {\n throw new Error('Image element must have width and height attributes set');\n }\n this.wrapper = wrapper;\n this.elements = this.prepareObjects();\n this.setupResizeObserver();\n this.updateDimensions();\n this.img.addEventListener('mousemove', evt => this.handleMouseMove(evt));\n this.img.addEventListener('mouseleave', () => this.handleMouseLeave());\n this.img.addEventListener('click', evt => this.handleMouseClick(evt));\n let onClick = options.onClick;\n if (onClick) {\n this.element.addEventListener('objectclick', (evt) => {\n onClick.apply(this, [evt.detail.object]);\n });\n }\n }\n setupResizeObserver() {\n if (window.ResizeObserver) {\n this.resizeObserver = new ResizeObserver(() => {\n this.updateDimensions();\n });\n this.resizeObserver.observe(this.img);\n }\n else {\n window.addEventListener('resize', () => {\n this.updateDimensions();\n });\n }\n }\n activePopovers = new WeakMap();\n initPopovers() {\n if (!this.element)\n throw new Error('Call initialize first');\n if (!this.options.getPopoverContent)\n throw new Error('getPopoverContent must be set if showPopover is set');\n if (!this.options.getPopoverTitle)\n throw new Error('getPopoverTitle must be set if showPopover is set');\n window.addEventListener('hide.bs.popover', evt => {\n let state = this.activePopovers.get(evt.target);\n if (!state)\n return;\n state.status = 'showing';\n });\n window.addEventListener('show.bs.popover', evt => {\n let state = this.activePopovers.get(evt.target);\n if (!state)\n return;\n state.status = 'showing';\n });\n window.addEventListener('hidden.bs.popover', evt => {\n let state = this.activePopovers.get(evt.target);\n if (!state)\n return;\n state.status = undefined;\n if (state.targetStatus === 'shown') {\n setTimeout(() => {\n state.popover.show();\n }, 0);\n }\n });\n window.addEventListener('shown.bs.popover', evt => {\n let state = this.activePopovers.get(evt.target);\n if (!state)\n return;\n state.status = undefined;\n if (state.targetStatus === 'hidden') {\n setTimeout(() => {\n state.popover.hide();\n }, 0);\n }\n });\n this.element.addEventListener('objectenter', (evt) => {\n this.showPopover(evt.detail);\n const popover = this.activePopovers.get(evt.detail.canvas)?.popover;\n const popoverElement = popover.tip;\n if (popoverElement) {\n popoverElement.addEventListener('mouseleave', () => {\n this.hidePopover(evt.detail);\n });\n }\n });\n this.element.addEventListener('objectleave', (evt) => {\n setTimeout(() => {\n const popover = this.activePopovers.get(evt.detail.canvas)?.popover;\n if (!popover.tip?.matches(':hover')) {\n this.hidePopover(evt.detail);\n }\n }, 100);\n });\n }\n hidePopover(planLayer) {\n let popover = this.activePopovers.get(planLayer.canvas);\n if (!popover)\n return;\n popover.targetStatus = 'hidden';\n if (popover.status === undefined) {\n popover.popover.hide();\n }\n }\n showPopover(planLayer) {\n const getContent = this.options.getPopoverContent;\n const getTitle = this.options.getPopoverTitle;\n if (!getContent || !getTitle) {\n return;\n }\n let placement = this.options.popoverPlacement ?? 'right';\n if (this.options.shouldShowPopover) {\n if (!this.options.shouldShowPopover(planLayer.object))\n return;\n }\n let popoverState = this.activePopovers.get(planLayer.canvas);\n let customClass = '';\n if (this.options.popoverClass) {\n customClass = this.options.popoverClass(planLayer.object) || '';\n }\n let popover = popoverState?.popover;\n if (!popover) {\n popover = new bootstrap.Popover(planLayer.canvas, {\n html: true,\n content: () => getContent(planLayer.object),\n title: () => getTitle(planLayer.object),\n trigger: 'manual',\n allowList: PropertyPlan._getAllowList(),\n container: 'body',\n placement,\n customClass\n });\n popoverState = { popover };\n this.activePopovers.set(planLayer.canvas, popoverState);\n }\n popoverState.targetStatus = 'shown';\n if (popoverState.status === undefined) {\n popover.show();\n }\n }\n getStyle(object) {\n let styleName = this.options.getElementStyle(object);\n return this.options.styles[styleName];\n }\n static _getAllowList() {\n let allowList = bootstrap.Popover.Default.allowList;\n allowList.table = [];\n allowList.td = ['colspan'];\n allowList.tr = [];\n allowList.tbody = [];\n return allowList;\n }\n prepareObjects() {\n const elements = [];\n for (let object of this._data) {\n const bflElement = object;\n const ielElement = object;\n if (this.options.markMultiPremHouseFlatDirectly && (object.t == 'mp' || object.t == 'mpd') && bflElement.bfl?.length)\n this.preparePlanPathLayers(elements, bflElement.bfl);\n else if (object.pd != null)\n this.preparePlanPathLayers(elements, [object]);\n else if (ielElement.iel?.length)\n this.preparePlanPathLayers(elements, ielElement.iel);\n }\n return elements;\n }\n preparePlanPathLayers(data, planElements) {\n for (let flatObject of planElements) {\n if (flatObject.pd != null && flatObject.pd?.length) {\n const element = new PlanPathLayer(flatObject, this);\n data.push(element);\n if (!!element.canvas) {\n this.wrapper.insertBefore(element.canvas, this.pictureTag);\n }\n }\n }\n }\n updateDimensions() {\n this._width = this.img.clientWidth;\n this._height = this.img.clientHeight;\n for (let elem of this.childElements) {\n elem.updateBounds();\n }\n }\n translateEventCoords(event) {\n let rect = this.element.getBoundingClientRect();\n let x = event.clientX - rect.left;\n let y = event.clientY - rect.top;\n x /= this.width;\n y /= this.height;\n return { x, y };\n }\n handleMouseMove(evt) {\n let coords = this.translateEventCoords(evt);\n for (let child of this.childElements) {\n let object = child.object;\n if (!object.pd)\n continue;\n let newActive = this.isInside(coords, object.pd);\n if (newActive) {\n if (this._activeObject === child)\n return;\n this.clearActiveObject();\n this._activeObject = child;\n child.isActive = true;\n let event = new CustomEvent('objectenter', { detail: child });\n this.element.dispatchEvent(event);\n return;\n }\n }\n this.clearActiveObject();\n }\n handleMouseLeave() {\n this.clearActiveObject();\n }\n handleMouseClick(evt) {\n let coords = this.translateEventCoords(evt);\n for (let child of this.childElements) {\n let object = child.object;\n if (object.pd && this.isInside(coords, object.pd)) {\n let event = new CustomEvent('objectclick', { detail: child });\n this.element.dispatchEvent(event);\n return;\n }\n }\n }\n isInside(point, vs) {\n if (!vs)\n return;\n let x = point.x, y = point.y;\n let inside = false;\n for (let i = 0, j = vs.length - 1; i < vs.length; j = i++) {\n let xi = vs[i].x, yi = vs[i].y;\n let xj = vs[j].x, yj = vs[j].y;\n let intersect = ((yi > y) != (yj > y))\n && (x < (xj - xi) * (y - yi) / (yj - yi) + xi);\n if (intersect)\n inside = !inside;\n }\n return inside;\n }\n clearActiveObject() {\n if (this._activeObject != null) {\n this._activeObject.isActive = false;\n let event = new CustomEvent('objectleave', { detail: this._activeObject });\n this._activeObject = undefined;\n this.element.dispatchEvent(event);\n }\n }\n get width() {\n return this._width;\n }\n get height() {\n return this._height;\n }\n get element() {\n return this.wrapper;\n }\n get childElements() {\n return [...this.elements];\n }\n}\nclass PlanPathLayer {\n _canvas;\n _plan;\n _object;\n bounds;\n isForcedActive = false;\n _isActive = false;\n constructor(object, plan) {\n this._object = object;\n this._plan = plan;\n this._canvas = document.createElement('canvas');\n }\n updateBounds() {\n this.bounds = this.getObjectBounds();\n this._canvas.setAttribute('width', '' + this.bounds.width);\n this._canvas.setAttribute('height', '' + this.bounds.height);\n this._canvas.style.left = this.bounds.x + 'px';\n this._canvas.style.top = this.bounds.y + 'px';\n this._canvas.style.position = 'absolute';\n this._canvas.style.pointerEvents = 'none';\n this.draw();\n }\n draw() {\n if (!this._canvas || !this.bounds || !this._object.pd)\n return;\n const context = this._canvas.getContext('2d');\n if (!context)\n throw new Error('Unable to get drawing context');\n context.clearRect(0, 0, this.bounds.width, this.bounds.height);\n const active = this._isActive || this.isForcedActive;\n let style = this.plan.getStyle(this.object);\n context.fillStyle = active ? (style.fillHover ?? style.fill) : style.fill;\n context.strokeStyle = active ? (style.strokeHover ?? style.stroke) : style.stroke;\n context.lineWidth = active ? (style.thicknessHover ?? style.thickness ?? 4) : (style.thickness ?? 4);\n context.lineCap = 'round';\n context.lineJoin = 'round';\n context.beginPath();\n context.moveTo(this._object.pd[0].x * this._plan.width - this.bounds.x, this._object.pd[0].y * this._plan.height - this.bounds.y);\n for (let i = 1; i < this._object.pd.length; ++i) {\n context.lineTo(this._object.pd[i].x * this._plan.width - this.bounds.x, this._object.pd[i].y * this._plan.height - this.bounds.y);\n }\n context.closePath();\n context.fill();\n context.stroke();\n }\n getObjectBounds() {\n if (!this._object.pd)\n throw new Error('Path data not set');\n let minx = this._object.pd[0].x;\n let miny = this._object.pd[0].y;\n let maxx = this._object.pd[0].x;\n let maxy = this._object.pd[0].y;\n for (let point of this._object.pd) {\n if (point.x < minx)\n minx = point.x;\n if (point.x > maxx)\n maxx = point.x;\n if (point.y < miny)\n miny = point.y;\n if (point.y > maxy)\n maxy = point.y;\n }\n minx *= this._plan.width;\n miny *= this._plan.height;\n maxx *= this._plan.width;\n maxy *= this._plan.height;\n return { x: minx, y: miny, width: maxx - minx, height: maxy - miny };\n }\n get plan() {\n return this._plan;\n }\n get canvas() {\n return this._canvas;\n }\n get object() {\n return this._object;\n }\n get forceActive() {\n return this.isForcedActive;\n }\n set forceActive(value) {\n this.isForcedActive = value;\n this.draw();\n }\n get isActive() {\n return this._isActive;\n }\n set isActive(value) {\n this._isActive = value;\n this.draw();\n }\n}\nfunction initPlanButtons(config) {\n let activeClass = config.activeClass ?? 'active';\n let buttons = document.querySelectorAll(config.buttonsSelector);\n let mappedObjects = new Map();\n for (let obj of config.plan.childElements) {\n let v = config.accessorFn(obj.object);\n mappedObjects.set(v, obj);\n }\n buttons.forEach(b => {\n let propValue = b.dataset[config.dataProperty];\n if (!propValue)\n return;\n let layer = mappedObjects.get(propValue);\n if (!layer)\n return;\n b.addEventListener('mouseover', () => {\n layer.forceActive = true;\n config.plan.showPopover(layer);\n });\n b.addEventListener('mouseleave', () => {\n layer.forceActive = false;\n config.plan.hidePopover(layer);\n });\n });\n config.plan.element.addEventListener('objectenter', (evt) => {\n let val = config.accessorFn(evt.detail.object);\n buttons.forEach(b => {\n b.classList.toggle(activeClass, b.dataset[config.dataProperty] === val);\n });\n });\n config.plan.element.addEventListener('objectleave', (evt) => {\n let val = config.accessorFn(evt.detail.object);\n buttons.forEach(b => {\n b.classList.remove(activeClass);\n });\n });\n}\n\n;// CONCATENATED MODULE: ./src/table.ts\nconst tableState = new WeakMap();\nfunction initTable(tableConfig) {\n const tableElements = document.querySelectorAll(tableConfig.tableSelector);\n for (let i = 0; i < tableElements.length; ++i) {\n const table = tableElements[i];\n table.classList.add('vp-table');\n const theads = Array.from(table.querySelectorAll('thead th[data-sort]'));\n const tbody = table.querySelector('tbody');\n if (!tbody)\n throw new Error('Cannot find tbody element');\n const stateObj = { rows: [], sid: 0, heads: theads, tbody };\n for (let th of theads) {\n th.classList.add(tableConfig.sortableClass ?? 'sortable');\n if (th.dataset['sort'] === table.dataset['sortDefault'])\n th.classList.add(tableConfig.sortClass ?? 'sort');\n th.addEventListener('click', e => {\n initializeSorting(table, th);\n e.preventDefault();\n });\n }\n const isTouchSupport = 'ontouchstart' in window;\n const dataRows = Array.from(table.querySelectorAll('tbody tr'));\n for (let dRow of dataRows) {\n let value = dRow.dataset['value'];\n if (!value)\n continue;\n let data = JSON.parse(atob(value));\n let expansionElement = undefined;\n if (tableConfig.hasExpansionRow) {\n let potentialDataRow = dRow.nextElementSibling;\n if (potentialDataRow && potentialDataRow.tagName === 'TR' && !potentialDataRow.dataset['value']) {\n expansionElement = potentialDataRow;\n }\n }\n stateObj.rows.push({ element: dRow, data, expansionElement });\n let gotoObj = dRow.querySelector('.goto');\n if (!!gotoObj) {\n gotoObj.addEventListener('click', evt => {\n evt.preventDefault();\n document.location = data.url;\n });\n if (isTouchSupport) {\n dRow.addEventListener('click', evt => {\n if (evt instanceof PointerEvent && evt.pointerType === 'touch') {\n evt.preventDefault();\n document.location = data.url;\n }\n });\n }\n }\n }\n tbody.addEventListener('transitionend', _ => {\n if (tbody.classList.contains('sorting')) {\n updateSorting(stateObj);\n tbody.classList.remove('sorting');\n tbody.classList.add('sorted');\n }\n else {\n tbody.classList.remove('sorted');\n }\n });\n tableState.set(table, stateObj);\n }\n}\nfunction initializeSorting(table, th) {\n let sortProperty = th.dataset['sort'];\n if (!sortProperty)\n return;\n let state = tableState.get(table);\n if (!state)\n throw new Error('Cannot initialize sorting');\n if (state.tbody.classList.contains('sorting') || state.tbody.classList.contains('sorted')) {\n return;\n }\n state.tbody.classList.add('sorting');\n let desc = false;\n if (th.classList.contains('sort')) {\n if (!th.classList.contains('desc')) {\n desc = true;\n th.classList.add('desc');\n }\n else {\n th.classList.remove('desc');\n }\n }\n else {\n for (let th of state.heads) {\n th.classList.remove('sort', 'desc');\n }\n th.classList.add('sort');\n }\n state.sortContext = {\n sortProperty,\n desc\n };\n}\nfunction updateSorting(state) {\n if (!state.sortContext)\n throw new Error('Unexpected empty sort context');\n let desc = state.sortContext.desc;\n let sortProperty = state.sortContext.sortProperty;\n while (state.tbody.lastChild) {\n state.tbody.removeChild(state.tbody.lastChild);\n }\n let resultOrder = state.rows;\n for (let prop of sortProperty.split('|').reverse()) {\n state.rows.sort((r1, r2) => {\n const val1 = r1.data[prop];\n const val2 = r2.data[prop];\n let result = 0;\n if (val1 == null) {\n if (val2 == null)\n return 0;\n result = -1;\n }\n else if (val2 == null) {\n result = 1;\n }\n if (result === 0) {\n if (typeof val1 === 'number' && typeof val2 == 'number') {\n result = val1 - val2;\n }\n else {\n result = val1.localeCompare(val2);\n }\n }\n if (desc)\n result = -result;\n return result;\n });\n }\n for (let sortedRow of resultOrder) {\n state.tbody.appendChild(sortedRow.element);\n if (sortedRow.expansionElement) {\n state.tbody.appendChild(sortedRow.expansionElement);\n }\n }\n}\nfunction filterTables(tableSelector, predicate) {\n predicate ??= () => true;\n const tableElements = Array.from(document.querySelectorAll(tableSelector));\n let result = false;\n for (let table of tableElements) {\n let state = tableState.get(table);\n if (!state) {\n throw new Error('Table not properly initialized');\n }\n let atLeastOneVisible = false;\n for (let row of Array.from(table.querySelectorAll('tbody tr'))) {\n if (row.classList.contains('details')) {\n row.classList.add('collapsed');\n continue;\n }\n let d = state.rows.find(x => x.element === row);\n let meetsCriteria = !!d && predicate(d.data);\n row.classList.toggle('d-none', !meetsCriteria);\n atLeastOneVisible = atLeastOneVisible || meetsCriteria;\n result = result || meetsCriteria;\n }\n let closestRow = table.closest('section');\n if (!closestRow)\n return;\n if (!atLeastOneVisible) {\n closestRow.classList.add('d-none');\n }\n else {\n closestRow.classList.remove('d-none');\n }\n }\n return result;\n}\n\n;// CONCATENATED MODULE: ./src/utils.ts\nconst MoneyFormat = Intl.NumberFormat('pl-PL', { maximumFractionDigits: 0, useGrouping: true });\nconst AreaFormat = Intl.NumberFormat('pl-PL', {\n minimumFractionDigits: 2,\n maximumFractionDigits: 2,\n useGrouping: true\n});\nlet existingIds = new Set();\nfunction randomId(prefix) {\n while (true) {\n let tmpId = Math.random().toString(36).replace('0.', prefix || '');\n if (!existingIds.has(tmpId)) {\n existingIds.add(tmpId);\n return tmpId;\n }\n }\n}\nfunction escapeHtml(unsafe) {\n return unsafe.replaceAll('&', '&').replaceAll('<', '<').replaceAll('>', '>').replaceAll('\"', '"').replaceAll(\"'\", ''');\n}\n\n;// CONCATENATED MODULE: ./src/index.ts\n\n\n\n\n\n\nvar __webpack_exports__AreaFormat = __webpack_exports__.JJ;\nvar __webpack_exports__DefaultPermissions = __webpack_exports__.Eg;\nvar __webpack_exports__MoneyFormat = __webpack_exports__.Ex;\nvar __webpack_exports__PlanElementType = __webpack_exports__.w0;\nvar __webpack_exports__PlanPathLayer = __webpack_exports__.YQ;\nvar __webpack_exports__PropertyPlan = __webpack_exports__.BH;\nvar __webpack_exports__PropertyType = __webpack_exports__.Ut;\nvar __webpack_exports__escapeHtml = __webpack_exports__.ZD;\nvar __webpack_exports__filterTables = __webpack_exports__.Mo;\nvar __webpack_exports__generateLightbox = __webpack_exports__.XK;\nvar __webpack_exports__initCookieConsent = __webpack_exports__.H1;\nvar __webpack_exports__initGalleries = __webpack_exports__.Dm;\nvar __webpack_exports__initPlanButtons = __webpack_exports__.hA;\nvar __webpack_exports__initTable = __webpack_exports__.fx;\nvar __webpack_exports__initializePlan = __webpack_exports__.qY;\nvar __webpack_exports__initializePlans = __webpack_exports__.FW;\nvar __webpack_exports__isBlockOfFlats = __webpack_exports__.XT;\nvar __webpack_exports__isBuilding = __webpack_exports__.Hf;\nvar __webpack_exports__isBuildingMultiPremises = __webpack_exports__.Gp;\nvar __webpack_exports__isFloor = __webpack_exports__.b5;\nvar __webpack_exports__isProperty = __webpack_exports__.uM;\nvar __webpack_exports__propertyTypeToString = __webpack_exports__.Ad;\nvar __webpack_exports__randomId = __webpack_exports__.zE;\nexport { __webpack_exports__AreaFormat as AreaFormat, __webpack_exports__DefaultPermissions as DefaultPermissions, __webpack_exports__MoneyFormat as MoneyFormat, __webpack_exports__PlanElementType as PlanElementType, __webpack_exports__PlanPathLayer as PlanPathLayer, __webpack_exports__PropertyPlan as PropertyPlan, __webpack_exports__PropertyType as PropertyType, __webpack_exports__escapeHtml as escapeHtml, __webpack_exports__filterTables as filterTables, __webpack_exports__generateLightbox as generateLightbox, __webpack_exports__initCookieConsent as initCookieConsent, __webpack_exports__initGalleries as initGalleries, __webpack_exports__initPlanButtons as initPlanButtons, __webpack_exports__initTable as initTable, __webpack_exports__initializePlan as initializePlan, __webpack_exports__initializePlans as initializePlans, __webpack_exports__isBlockOfFlats as isBlockOfFlats, __webpack_exports__isBuilding as isBuilding, __webpack_exports__isBuildingMultiPremises as isBuildingMultiPremises, __webpack_exports__isFloor as isFloor, __webpack_exports__isProperty as isProperty, __webpack_exports__propertyTypeToString as propertyTypeToString, __webpack_exports__randomId as randomId };\n\n//# sourceMappingURL=main.mjs.map","import {\n FloorPlanElement,\n initializePlan,\n isBlockOfFlats,\n isFloor,\n isBuildingMultiPremises,\n isProperty,\n PlanElement,\n PlanOptions,\n PropertyStats,\n PropertyType,\n AreaFormat, MoneyFormat, propertyTypeToString, escapeHtml,\n filterTables, isBuilding, BuildingFlatListElement,\n BuildingMultiPremisesElement\n} from \"@vpsoftware/vprealestate-www\";\n\nexport const planOptions: PlanOptions = {\n styles: {\n Regular: { fill: 'rgb(247, 215, 128, 0)', stroke: 'rgb(247, 215, 128, 0.8)', fillHover: 'rgb(247, 215, 128, 0.4)', strokeHover: 'rgb(247, 215, 128, 1)', thickness: 2},\n Available: { fill: 'rgb(0, 215, 0, 0)', stroke: 'rgb(0, 215, 0, 0.4)', fillHover: 'rgb(0, 215, 0, 0.4)', strokeHover: 'rgb(0, 215, 0, 1)', thickness: 2},\n Reserved: { fill: 'rgb(255, 255, 0, 0)', stroke: 'rgb(255, 255, 0, 0.4)', fillHover: 'rgb(255, 255, 0, 0.4)', strokeHover: 'rgb(255, 255, 0, 0.4)', thickness: 2},\n Sold: { fill: 'rgb(255, 0, 0, 0)', stroke: 'rgb(255, 0, 0, 0.4)', fillHover: 'rgb(255, 0, 0, 0.4)', strokeHover: 'rgb(255, 0, 0, 0.4)', thickness: 2}\n },\n getPopoverTitle: popoverTitle,\n getPopoverContent: popoverContent,\n onClick: elementClick,\n getElementStyle\n};\n\nexport const bflPlanOptions: PlanOptions = {\n styles: {\n Regular: { fill: 'rgb(247, 215, 128, 0)', stroke: 'rgb(247, 215, 128, 0)', fillHover: 'rgb(247, 215, 128, 0)', strokeHover: 'rgb(247, 215, 128, 0.4)'},\n Available: { fill: 'rgb(0, 215, 0, 0)', stroke: 'rgb(0, 215, 0, 0)', fillHover: 'rgb(0, 215, 0, 0)', strokeHover: 'rgb(0, 215, 0, 0.4)'},\n Reserved: { fill: 'rgb(255, 255, 0, 0)', stroke: 'rgb(255, 255, 0, 0)', fillHover: 'rgb(255, 255, 0, 0)', strokeHover: 'rgb(255, 255, 0, 0.4)'},\n Sold: { fill: 'rgb(255, 0, 0, 0.03)', stroke: 'rgb(255, 0, 0, 0)', fillHover: 'rgb(255, 0, 0, 0.1)', strokeHover: 'rgb(255, 0, 0, 0.4)'}\n },\n getPopoverTitle: popoverTitle,\n getPopoverContent: popoverContent,\n onClick: elementClick,\n getElementStyle\n};\n\nexport const flootPlanOptions: PlanOptions = {\n styles: {\n Regular: { fill: 'rgb(247, 215, 128, 0.2)', stroke: 'rgb(247, 215, 128, 0.8)', fillHover: 'rgb(247, 215, 128, 0.4)', strokeHover: 'rgb(247, 215, 128, 1)', thickness: 2},\n Available: { fill: 'rgb(0, 215, 0, 0.2)', stroke: 'rgb(0, 215, 0, 0.4)', fillHover: 'rgb(0, 215, 0, 0.4)', strokeHover: 'rgb(0, 215, 0, 1)', thickness: 2},\n Reserved: { fill: 'rgb(255, 255, 0, 0.2)', stroke: 'rgb(255, 255, 0, 0.4)', fillHover: 'rgb(255, 255, 0, 0.4)', strokeHover: 'rgb(255, 255, 0, 0.4)', thickness: 2},\n Sold: { fill: 'rgb(255, 0, 0, 0.2)', stroke: 'rgb(255, 0, 0, 0.4)', fillHover: 'rgb(255, 0, 0, 0.4)', strokeHover: 'rgb(255, 0, 0, 0.4)', thickness: 2}\n },\n getPopoverTitle: popoverTitle,\n getPopoverContent: popoverContent,\n onClick: elementClick,\n getElementStyle\n};\n\nfunction getElementStyle(element: PlanElement) {\n if (isProperty(element)) {\n return element.st;\n }\n return 'Regular';\n}\n\nfunction elementClick(element: PlanElement) {\n if (isFloor(element)) {\n loadFloor(element);\n return;\n }\n if (isBuildingMultiPremises(element)) {\n // loadBuildingMultiPremises(element);\n return;\n }\n \n if (!element.url) return;\n document.location = element.url;\n\n}\n\nexport function loadBuildingMultiPremises(building: BuildingMultiPremisesElement) {\n let buildingViewContainer = document.getElementById('buildingView')\n Array.from(buildingViewContainer.children).filter(c => c.classList.contains(\"plan-container\"))\n .forEach(c => (c as HTMLElement).classList.add('d-none'));\n if (!building.pl || !building.sl) return;\n\n let hasPrev = false;\n buildingViewContainer.childNodes.forEach(x => {\n if (!(x instanceof HTMLElement)) return;\n if (x.dataset.slug === building.sl) {\n x.classList.remove('d-none');\n buildingViewContainer.scrollIntoView({behavior: 'smooth', block: 'end'});\n hasPrev = true;\n }\n });\n if (hasPrev) return;\n \n let row = document.createElement('div');\n row.className = 'row plan-container';\n row.dataset.slug = '' + building.sl;\n\n let col = document.createElement('div');\n col.className = 'col text-center';\n\n let newPicture = document.createElement('picture');\n newPicture.innerHTML = `\n \n \"Budynek`;\n\n col.appendChild(newPicture);\n row.appendChild(col);\n buildingViewContainer.appendChild(row);\n\n initializePlan(newPicture, building.bfl, bflPlanOptions);\n\n const img = newPicture.querySelector('img');\n if (img) {\n img.onload = () => {\n row.scrollIntoView({ behavior: 'smooth', block: 'end' });\n };\n \n if (img.complete) {\n img.onload = null;\n row.scrollIntoView({ behavior: 'smooth', block: 'end' });\n }\n }\n}\n\nexport function loadFloor(floor: FloorPlanElement) {\n filterTables('table.offer-table', obj => obj.f === floor.fl);\n document.querySelectorAll(\"table.offer-table .table-details\").forEach(toggleElement =>{\n toggleElement.classList.toggle('open', false);\n toggleElement.closest('tr').nextElementSibling.classList.remove('d-none');\n toggleElement.closest('tr').nextElementSibling.classList.remove('more-info-house-open');\n });\n let floorPlanContainer = document.getElementById('floor-plan-container');\n Array.from(floorPlanContainer.children).forEach(c => (c as HTMLElement).classList.add('d-none'));\n if (!floor.plUrl || !floor.pr) {\n return;\n }\n\n \n let hasPrev = false;\n floorPlanContainer.childNodes.forEach(x => {\n if (!(x instanceof HTMLElement)) return;\n if (x.dataset.floor === '' + floor.fl) {\n x.classList.remove('d-none');\n hasPrev = true;\n }\n });\n if (hasPrev) return;\n let newPicture = document.createElement('picture');\n newPicture.innerHTML = `\n \n \"${floor.n}`;\n\n newPicture.classList.add('floor-plan', 'clickable-plan', 'plan-image');\n newPicture.dataset.floor = '' + floor.fl;\n\n floorPlanContainer.appendChild(newPicture);\n initializePlan(newPicture, floor.pr, flootPlanOptions);\n floorPlanContainer.scrollIntoView({behavior: 'smooth', block: 'center'});\n \n let estateEntries = document.querySelectorAll('.estate-list-section .estate-list-row');\n estateEntries.forEach(e => {\n e.classList.toggle('d-none', e.dataset.floor !== '' + floor.fl); \n });\n}\n\nexport function loadFloorLevel(level: number) {\n filterTables('table.offer-table', obj => obj.f === level);\n let floorPlanContainer = document.getElementById('floor-plan-container');\n Array.from(floorPlanContainer.children).forEach(c => (c as HTMLElement).classList.add('d-none'));\n}\n\nfunction popoverTitle(_: PlanElement) {\n return null;\n}\n\nfunction popoverContent(obj: PlanElement) {\n if (isBlockOfFlats(obj) || isFloor(obj)) {\n return formatPropertyStats(obj);\n }\n if (isProperty(obj)) {\n let result = '
';\n let typeStr = propertyTypeToString(obj.pt);\n let numberStr = obj.pn ? `${typeStr} nr ${obj.pn}` : `${obj.n}`;\n result += `
${escapeHtml(numberStr)}
`;\n\n if (obj.a) {\n result += `
Powierzchnia:
${AreaFormat.format(obj.a)} m²
`;\n }\n\n if (obj.tr) {\n if (obj.pt === PropertyType.Premises) {\n result += `
Ilość pomieszczeń:
${obj.tr}
`;\n } else {\n result += `
Ilość pokoi:
${obj.tr}
`;\n }\n }\n\n if (obj.pr) {\n result += `
Cena brutto:
`;\n\n if (obj.orgPr && obj.orgPr > obj.pr) {\n result += `
${MoneyFormat.format(obj.orgPr)} zł
`;\n }\n result += `
${MoneyFormat.format(obj.pr)} zł
`;\n }\n\n if (obj.npr) {\n result += `
Cena netto:
`;\n\n if (obj.npr && obj.norgPr > obj.npr) {\n result += `
${MoneyFormat.format(obj.norgPr)} zł
`;\n }\n result += `
${MoneyFormat.format(obj.npr)} zł
`;\n }\n \n switch (obj.st) {\n case \"Reserved\":\n result += `
Status:
Rezerwacja
`;\n break;\n case \"Sold\":\n result += `
Status:
Sprzedane
`;\n break;\n }\n \n if (obj.st?.length) {\n result += \n `
\n Zobacz\n
`;\n }\n \n result += '
';\n return result;\n }\n if (isBuilding(obj) && obj.t === 'mp') {\n let result = '
';\n const flatList = obj as BuildingFlatListElement;\n if (flatList.bfl?.length) {\n for (let flatObject of flatList.bfl.sort((x, y) => x.n.localeCompare(y.n))) {\n const marginTop = flatList.bfl.length > 1 ? 'mt-3' : '';\n result += `
${flatObject.n}
`;\n\n if (flatObject.a) {\n result += `
Powierzchnia:
${AreaFormat.format(flatObject.a)} m²
`;\n }\n\n if (flatObject.tr) {\n if (flatObject.pt === PropertyType.Premises) {\n result += `
Ilość pomieszczeń:
${flatObject.tr}
`;\n } else {\n result += `
Ilość pokoi:
${flatObject.tr}
`;\n }\n }\n\n if (flatObject.pr ) {\n result += `
Cena brutto:
`;\n\n if (flatObject.orgPr && flatObject.orgPr > flatObject.pr) {\n result += `
${MoneyFormat.format(flatObject.orgPr)} zł
`;\n }\n result += `
${MoneyFormat.format(flatObject.pr)} zł
`;\n }\n\n if (flatObject.npr) {\n result += `
Cena netto:
`;\n\n if (flatObject.npr && flatObject.norgPr > flatObject.npr) {\n result += `
${MoneyFormat.format(flatObject.norgPr)} zł
`;\n }\n result += `
${MoneyFormat.format(flatObject.npr)} zł
`;\n }\n\n switch (flatObject.st) {\n case \"Reserved\":\n result += `
Status:
Rezerwacja
`;\n break;\n case \"Sold\":\n result += `
Status:
Sprzedane
`;\n break;\n }\n\n if (flatObject.st?.length) {\n result +=\n `
\n Zobacz\n
`;\n }\n }\n } else {\n result += `
Dom dwulokalowy
`;\n }\n \n result += '
';\n return result;\n } \n \n}\n\nfunction formatPropertyStats(obj: {ps?: PropertyStats, n: string}) {\n let result = '
';\n \n result += `
${escapeHtml(obj.n)}
`;\n if (obj.ps) {\n let atLeastOne = false;\n if (obj.ps.fl > 0) {\n result += `
Dostępne mieszkania:
${obj.ps.fl}
`;\n atLeastOne = true;\n }\n if (obj.ps.pr > 0) {\n result += `
Dostępne lokale usługowe:
${obj.ps.pr}
`;\n atLeastOne = true;\n }\n if (obj.ps.gr > 0) {\n result += `
Dostępne garaże:
${obj.ps.gr}
`;\n atLeastOne = true;\n }\n if (!atLeastOne) {\n result += `
Wyprzedane
`;\n }\n }\n\n result += `
`;\n return result;\n}\n","import * as bootstrap from 'bootstrap';\nimport \"@vpsoftware/vprealestate-www/modernizr\";\nimport './owl.carousel.min.js';\nimport './cards-slider.js';\n\nimport './style.scss';\nimport {BuildingElement, DefaultPermissions, initCookieConsent, initializePlans, initPlanButtons, initGalleries, initTable,\n FloorPlanElement, isFloor} from \"@vpsoftware/vprealestate-www\";\nimport {loadFloor, loadFloorLevel, planOptions} from \"./plan.custom\";\n\ndeclare const vpcCaptchaPublicKey: string;\n\ndocument.addEventListener('DOMContentLoaded', () => {\n initNavbar();\n initContactForm();\n initCookieConsent(DefaultPermissions);\n initTables();\n applyButtonAttrToSliderAnchor();\n initGalleries('.decoration-gallery');\n initRealizationVisualization();\n initPopovers();\n});\n\nfunction initNavbar() {\n refreshNavbarShrink();\n window.addEventListener('scroll', () => {\n refreshNavbarShrink();\n })\n}\n\nfunction initPopovers() {\n $('[data-bs-toggle=\"popover\"]').popover({\n container: 'body'\n })\n}\n\nfunction refreshNavbarShrink() {\n let navbar = document.querySelector('.main-navbar')\n if (document.documentElement.scrollTop > 10) {\n navbar.classList.add('shrink');\n } else {\n navbar.classList.remove('shrink');\n }\n}\n\nfunction applyButtonAttrToSliderAnchor(){\n let allSliderButtons = document.querySelectorAll('.slider-main-content > p:last-child a');\n allSliderButtons.forEach(button => button.setAttribute('type', 'button'));\n}\n\nfunction initTables() {\n initTable({\n 'tableSelector': 'table.offer-table',\n hasExpansionRow: false\n });\n \n document.querySelectorAll(\"table.offer-table .table-details\").forEach(toggle => {\n toggle.addEventListener(\"click\", (e) => {\n let open = toggle.classList.toggle(\"open\");\n toggle.closest('tr').nextElementSibling.classList.toggle('more-info-house-open', open);\n });\n });\n \n initGalleries('table.offer-table tbody tr.more-info-house', 'a[data-gal-webp]');\n}\n\nexport function initPrivacyPolicy() {\n let toggles = document.querySelectorAll('.politics-toggle');\n toggles.forEach(toggle => {\n toggle.addEventListener('click', (evt) => {\n if ((evt.target as HTMLElement).closest('.politics-desc')) return;\n let active = toggle.classList.toggle('politics-active');\n let icon = toggle.querySelector('.politics-icon');\n if (active) {\n icon.classList.add('bi-dash');\n icon.classList.remove('bi-plus');\n } else {\n icon.classList.remove('bi-dash');\n icon.classList.add('bi-plus');\n }\n });\n });\n}\n\nexport async function initializeDefaultPlan(markMultiPremHouseFlatDirectly?: boolean) {\n let plans = await initializePlans('picture[data-path]', {\n ...planOptions,\n markMultiPremHouseFlatDirectly: markMultiPremHouseFlatDirectly\n });\n if (plans[0]){\n initPlanButtons(\n {\n plan: plans[0],\n buttonsSelector: 'a[data-building-slug]',\n dataProperty: 'buildingSlug',\n accessorFn: (x: BuildingElement) => x.sl\n });\n }\n \n}\n\nexport async function initializeBuildingPlan() {\n let plans = await initializePlans('picture[data-path]', planOptions);\n if (plans[0]){\n initPlanButtons(\n {\n plan: plans[0],\n buttonsSelector: 'a[data-level]',\n dataProperty: 'level',\n accessorFn: (x: FloorPlanElement) => \"\"+x.fl\n });\n document.querySelectorAll('.floor-button').forEach(btn => {\n btn.addEventListener('click', () => {\n let floorNum = Number(btn.dataset['level']);\n let floorLayer = plans[0].childElements.find(l => isFloor(l.object) && l.object.fl === floorNum);\n if (floorLayer) {\n loadFloor(floorLayer.object as FloorPlanElement); \n } else {\n loadFloorLevel(floorNum);\n }\n });\n });\n }\n\n}\n\n\nfunction initContactForm() {\n let form = document.getElementById('contactForm') as HTMLFormElement;\n if (!form) return;\n // setup requirement for either email or phone number\n const contactModalElement = document.getElementById('contactModal');\n const modal = bootstrap.Modal.getOrCreateInstance(contactModalElement);\n\n let submitButton = form.querySelector('button[type=\"submit\"]');\n form.addEventListener('submit', function (event) {\n debugger;\n event.preventDefault();\n submitButton.setAttribute('disabled', 'disabled');\n const xhr = new XMLHttpRequest();\n let controls = ['name', 'email', 'message'].map(x => form.querySelector(`[name='${x}']`));\n let request = '';\n\n function resetForm() {\n for (let control of controls) {\n control.removeAttribute('disabled');\n }\n submitButton.removeAttribute('disabled');\n }\n\n for (let control of controls) {\n request += control.name + \"=\" + encodeURIComponent(control.value) + '&';\n control.setAttribute('disabled', 'disabled');\n }\n let tokenInput = form.querySelector('input[name=\"__RequestVerificationToken\"]');\n request += '__RequestVerificationToken=' + tokenInput.value;\n xhr.addEventListener('loadend', function () {\n resetForm();\n let status = xhr.status;\n let body = contactModalElement.querySelector('.modal-body');\n if (status !== 200 && status !== 204) {\n body.innerText = 'Nie udało się wysłać prośby o kontakt';\n } else {\n body.innerText = 'Prośba o kontakt została wysłana';\n for (let control of controls) {\n control.value = '';\n }\n }\n modal.show();\n });\n if (typeof vpcCaptchaPublicKey !== 'undefined') {\n grecaptcha.ready(function () {\n grecaptcha.execute(vpcCaptchaPublicKey, {action: 'submit'}).then(\n function (token) {\n request += '&token=' + token;\n xhr.open('POST', '/Kontakt-Wyslij', true);\n xhr.setRequestHeader(\"Content-type\", \"application/x-www-form-urlencoded\");\n xhr.send(request);\n }, err => {\n console.error(err);\n alert('Błąd wysyłki prośby o kontakt');\n });\n });\n } else {\n xhr.open('POST', '/Kontakt-Wyslij', true);\n xhr.setRequestHeader(\"Content-type\", \"application/x-www-form-urlencoded\");\n xhr.send(request);\n }\n });\n}\n\nfunction initRealizationVisualization() {\n let carouselElement = document.querySelector('.owl-carousel-container.realization-visualization');\n if (!carouselElement) return;\n \n carouselElement.addEventListener('mousemove', updateSplit);\n carouselElement.addEventListener('touchmove', updateSplit);\n let width = carouselElement.clientWidth;\n \n carouselElement.style.setProperty('--slide-position', `${width / 2}px`);\n\n function updateSplit(event: MouseEvent | TouchEvent) {\n \n let targetX = 0;\n let leftX = carouselElement.offsetLeft; \n \n if (event instanceof MouseEvent) {\n targetX = event.clientX - leftX;\n } else {\n targetX = event.touches[0].clientX - leftX;\n }\n if (targetX < 1) {\n targetX = 1;\n }\n \n carouselElement.style.setProperty('--slide-position', `${targetX}px`);\n }\n}"],"names":["e","n","o","r","className","A","Modernizr","_config","classPrefix","l","baseVal","enableJSClass","RegExp","replace","enableClasses","join","t","i","c","toLowerCase","split","a","length","Boolean","_trigger","s","documentElement","nodeName","f","u","_version","usePrefixes","_q","on","this","setTimeout","addTest","push","name","fn","options","addAsyncTest","prototype","hasOwnProperty","call","constructor","_l","type","width","Image","onerror","onload","src","uri","shift","aliases","p","window","document","$","ready","carousel","owlCarousel","loop","center","margin","nav","dots","autoplay","autoplayTimeout","autoplayHoverPause","items","responsive","click","trigger","stagePadding","touchDrag","evt","stopPropagation","autoHeight","b","d","settings","extend","Defaults","$element","_handlers","_plugins","_supress","_current","_speed","_coordinates","_breakpoint","_width","_items","_clones","_mergers","_widths","_invalidated","_pipe","_drag","time","target","pointer","stage","start","current","direction","_states","tags","initializing","animating","dragging","each","proxy","Plugins","charAt","slice","Workers","filter","run","setup","initialize","rewind","checkVisibility","mouseDrag","pullDrag","freeDrag","merge","mergeFit","autoWidth","startPosition","rtl","smartSpeed","fluidSpeed","dragEndSpeed","responsiveRefreshRate","responsiveBaseElement","fallbackEasing","slideTransition","info","nestedItemSelector","itemElement","stageElement","refreshClass","loadedClass","loadingClass","rtlClass","responsiveClass","dragClass","itemClass","stageClass","stageOuterClass","grabClass","Width","Default","Inner","Outer","Type","Event","State","relative","$stage","children","remove","css","toFixed","Math","min","max","ceil","g","h","normalize","outerHTML","addClass","appendTo","prependTo","abs","eq","removeAttr","index","minimum","maximum","reset","animate","coordinates","op","removeClass","initializeStage","find","class","wrap","append","parent","initializeItems","get","map","refresh","not","isVisible","invalidate","enter","toggleClass","is","preloadAutoWidthImages","registerEventHandlers","leave","viewport","Number","attr","property","value","optionsLogic","prepare","content","data","update","all","grep","onThrottledResize","clearTimeout","resizeTimer","onResize","isDefaultPrevented","support","transition","end","onTransitionEnd","onDragStart","onDragEnd","which","transform","x","y","position","left","top","stop","speed","Date","getTime","one","difference","onDragMove","preventDefault","off","closest","transform3d","suppress","release","isNumeric","mergers","clones","duration","to","next","prev","srcElement","originalTarget","innerWidth","clientWidth","console","warn","empty","jQuery","nodeType","addBack","add","after","before","splice","destroy","unwrap","contents","removeData","addEventListener","attachEvent","removeEventListener","detachEvent","item","count","camelCase","j","relatedTarget","onTrigger","register","concat","event","special","owl","_default","apply","namespace","indexOf","arguments","inArray","originalEvent","touches","changedTouches","pageX","pageY","clientX","clientY","isNaN","parseFloat","Array","_typeof","Constructor","Zepto","_core","_interval","_visible","autoRefresh","watch","autoRefreshInterval","setInterval","clearInterval","Object","getOwnPropertyNames","AutoRefresh","_loaded","lazyLoad","load","lazyLoadEager","devicePixelRatio","element","url","opacity","handlers","Lazy","_previousHeight","_intervalId","resize","autoHeightClass","toArray","height","AutoHeight","_videos","_playing","video","isInFullScreen","fetch","play","videoHeight","videoWidth","Error","match","id","thumbnail","k","srcType","style","ajax","jsonp","dataType","success","thumbnail_large","framegrab_url","insertAfter","fullscreenElement","mozFullScreenElement","webkitFullscreenElement","hasClass","Video","core","swapping","previous","animateOut","animateIn","swap","animation","clear","Animate","_call","_time","_timeout","_paused","pause","autoplaySpeed","_next","round","read","hidden","_initialized","_pages","_controls","_templates","_overrides","dotsData","dotClass","pop","draw","navText","navSpeed","navElement","navContainer","navContainerClass","navClass","slideBy","dotsClass","dotsEach","dotsSpeed","dotsContainer","$relative","$previous","html","$next","prop","$absolute","overides","page","size","getPosition","Navigation","_hashes","location","hash","substring","URLhashListener","Hash","toUpperCase","WebkitTransition","MozTransition","OTransition","WebkitAnimation","MozAnimation","OAnimation","String","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","definition","key","defineProperty","enumerable","obj","Symbol","toStringTag","bootstrap","globalThis","Function","JJ","Eg","Ex","w0","YQ","BH","Ut","ZD","Mo","XK","H1","Dm","hA","fx","qY","FW","XT","Hf","Gp","b5","uM","Ad","zE","CookieName","DefaultPermissions","initCookieConsent","defaultPermissions","querySelectorAll","forEach","confirmButton","confirmButtonClicked","adjustButton","querySelector","HTMLButtonElement","popup","classList","acc","getElementsByClassName","toggle","panel","maxHeight","scrollHeight","gtag","cookiePermits","getCookie","perm","structuredClone","confirmInputs","input","some","dataset","checked","initializePermitValues","button","currentTarget","HTMLElement","cookieAllPermit","permitValues","HTMLInputElement","expires","cookieString","expiresMatch","exec","expiresValue","trim","getCookieExpireString","cookie","toUTCString","encodeURIComponent","href","nameLenPlus","decodeURIComponent","iterator","_createForOfIteratorHelper","isArray","_unsupportedIterableToArray","_n","F","done","TypeError","_arrayLikeToArray","toString","from","test","_defineProperties","configurable","writable","_toPropertyKey","_defineProperty","toPrimitive","_toPrimitive","PlanElementType","PropertyType","simple_lightbox_esm_SimpleLightbox","SimpleLightbox","elements","_this","_classCallCheck","sourceAttr","overlay","overlayOpacity","spinner","captions","captionDelay","captionSelector","captionType","captionsData","captionPosition","captionClass","captionHTML","close","closeText","swipeClose","showCounter","fileExt","animationSlide","animationSpeed","preloading","enableKeyboard","rel","docClose","swipeTolerance","widthRatio","heightRatio","scaleImageToRatio","disableRightClick","disableScroll","alertError","alertErrorMessage","additionalHtml","history","throttleInterval","doubleTapZoom","maxZoom","htmlClass","fixedClass","fadeSpeed","uniqueImages","focus","scrollZoom","scrollZoomFactor","download","navigator","platform","swipeDiff","swipeYDiff","swipeStart","swipeEnd","swipeYStart","swipeYEnd","mousedown","imageLeft","zoomed","containerHeight","containerWidth","containerOffsetX","containerOffsetY","imgHeight","imgWidth","capture","initialOffsetX","initialOffsetY","initialPointerOffsetX","initialPointerOffsetY","initialPointerOffsetX2","initialPointerOffsetY2","initialScale","initialPinchDistance","pointerOffsetX","pointerOffsetY","pointerOffsetX2","pointerOffsetY2","targetOffsetX","targetOffsetY","targetScale","pinchOffsetX","pinchOffsetY","limitOffsetX","limitOffsetY","scaleDifference","targetPinchDistance","touchCount","doubleTapped","touchmoveCount","assign","defaultOptions","isPassiveEventsSupported","checkPassiveEventsSupport","initialSelector","relatedElements","transitionPrefix","calculateTransitionPrefix","transitionCapable","initialLocationHash","getRelated","imgArr","getAttribute","createDomNodes","domNodes","wrapper","appendChild","closeButton","navigation","eventNamespace","isValidLink","isAnimating","initialImageIndex","openImage","isOpen","body","parentElement","contains","throttle","controlCoordinates","currentImage","setAttribute","loadImage","addEvents","supportsPassive","opts","elem","startsWith","selector","trimStart","sibling","nextElementSibling","matches","_selector","tagName","parentNode","str","classes","childIndex","previousElementSibling","generateQuerySelector","createElement","opacityTarget","innerHTML","counter","downloadLink","textContent","caption","_this$domNodes$captio","captionClasses","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","_toConsumableArray","image","func","limit","inThrottle","scrollbarWidth","scrollDiv","offsetWidth","removeChild","fixedElements","fullWindowWidth","documentElementRect","getBoundingClientRect","right","isAppleDevice","paddingRight","parseInt","getComputedStyle","getScrollbarWidth","originalPaddingRight","actualPadding","calculatedPadding","padding","_this2","isClosing","currentImageIndex","dispatchEvent","historyHasChanges","hashReseted","resetHash","fadeOut","toggleScrollbar","minMax","_this3","nextImage","prevImage","loadedImages","_this4","slideDirection","newIndex","slide","show","adjustImage","preload","_this5","tmpImage","windowWidth","windowHeight","innerHeight","scale","translateX","translateY","zoomPanElement","display","dirIsDefined","alert","updateURL","captionContainer","captionText","imageWidth","imageHeight","ratio","globalScrollbarWidth","forceFocus","fadeIn","getCaptionElement","hide","setCaption","_this6","bind","hashchangeHandler","getElementsByTagName","getDimensions","offsetLeft","offsetTop","delta","wheelDelta","detail","scrollTopPos","scrollTop","setZoomData","sqrt","isTouchDevice","possibleDir","styles","offsetHeight","borderTopWidth","borderBottomWidth","paddingTop","paddingBottom","borderLeftWidth","borderRightWidth","paddingLeft","newHash","newURL","pushStateSupport","title","urlChangedOnce","back","pushState","pathname","search","historyUpdateTimeout","updateHash","allowHTML","_this7","_ref","pos","_this8","targetURL","_this9","events","callback","_step","_iterator","namespaces","_step2","_iterator2","passive","err","_step3","_iterator3","_step4","_iterator4","_step5","_this10","_iterator5","getPropertyValue","isFadeIn","step","_fade","currentOpacity","_step6","_iterator6","_step7","_iterator7","requestAnimationFrame","_step8","_this11","_iterator8","_fade2","_step10","_iterator10","_element2","_step9","_iterator9","_step11","_iterator11","initialDisplay","_step12","_iterator12","_step13","_iterator13","fullyNamespacedEvents","_step14","_iterator14","_step15","_iterator15","_step16","_iterator16","open","generateLightbox","images","imagesMarkup","jpg","webp","initGalleries","elementSelector","isBuilding","BlockOfFlats","DoubleHouse","House","MultiPremises","MultiPremisesDouble","TerracedHouse","includes","isBlockOfFlats","isFloor","Floor","isBuildingMultiPremises","isProperty","Property","propertyTypeToString","propertyType","BicycleBox","Cellar","ExternalLot","Flat","Garage","LowerPlatform","ParkingLot","Premises","StorageRoom","UpperPlatform","async","initializePlans","selectorOrOptions","optionsArg","planElements","planArr","results","planElement","planData","decoded","JSON","parse","atob","Promise","PropertyPlan","create","pictureTag","_options","_data","_height","resizeObserver","img","_activeObject","HTMLPictureElement","prepareElement","setupWrapper","plan","popoversEnabled","initPopovers","complete","resolve","reject","naturalHeight","picture","insertBefore","clientHeight","prepareObjects","setupResizeObserver","updateDimensions","handleMouseMove","handleMouseLeave","handleMouseClick","onClick","object","ResizeObserver","observe","activePopovers","WeakMap","getPopoverContent","getPopoverTitle","state","status","targetStatus","popover","showPopover","canvas","popoverElement","tip","hidePopover","planLayer","getContent","getTitle","placement","popoverPlacement","shouldShowPopover","popoverState","customClass","popoverClass","Popover","allowList","_getAllowList","container","set","getStyle","styleName","getElementStyle","table","td","tr","tbody","bflElement","ielElement","markMultiPremHouseFlatDirectly","bfl","preparePlanPathLayers","pd","iel","flatObject","PlanPathLayer","childElements","updateBounds","translateEventCoords","rect","coords","child","isInside","clearActiveObject","isActive","CustomEvent","point","vs","inside","xi","yi","xj","yj","_canvas","_plan","_object","bounds","isForcedActive","_isActive","getObjectBounds","pointerEvents","context","getContext","clearRect","active","fillStyle","fillHover","fill","strokeStyle","strokeHover","stroke","lineWidth","thicknessHover","thickness","lineCap","lineJoin","beginPath","moveTo","lineTo","closePath","minx","miny","maxx","maxy","forceActive","initPlanButtons","config","activeClass","buttons","buttonsSelector","mappedObjects","Map","v","accessorFn","propValue","dataProperty","layer","val","tableState","initTable","tableConfig","tableElements","tableSelector","theads","stateObj","rows","sid","heads","th","sortableClass","sortClass","initializeSorting","isTouchSupport","dataRows","dRow","expansionElement","hasExpansionRow","potentialDataRow","gotoObj","PointerEvent","pointerType","_","updateSorting","sortProperty","desc","sortContext","lastChild","resultOrder","reverse","sort","r1","r2","val1","val2","result","localeCompare","sortedRow","filterTables","predicate","atLeastOneVisible","row","meetsCriteria","closestRow","MoneyFormat","Intl","NumberFormat","maximumFractionDigits","useGrouping","AreaFormat","minimumFractionDigits","existingIds","Set","randomId","prefix","tmpId","random","has","escapeHtml","unsafe","replaceAll","__webpack_exports__AreaFormat","__webpack_exports__DefaultPermissions","__webpack_exports__MoneyFormat","__webpack_exports__PropertyType","__webpack_exports__escapeHtml","__webpack_exports__filterTables","__webpack_exports__initCookieConsent","__webpack_exports__initGalleries","__webpack_exports__initPlanButtons","__webpack_exports__initTable","__webpack_exports__initializePlan","__webpack_exports__initializePlans","__webpack_exports__isBlockOfFlats","__webpack_exports__isBuilding","__webpack_exports__isBuildingMultiPremises","__webpack_exports__isFloor","__webpack_exports__isProperty","__webpack_exports__propertyTypeToString","planOptions","Regular","Available","Reserved","Sold","popoverTitle","popoverContent","elementClick","flootPlanOptions","st","loadFloor","floor","fl","toggleElement","floorPlanContainer","getElementById","plUrl","pr","hasPrev","childNodes","newPicture","scrollIntoView","behavior","block","ps","atLeastOne","gr","formatPropertyStats","typeStr","pt","numberStr","pn","format","orgPr","npr","norgPr","flatList","refreshNavbarShrink","navbar","initPrivacyPolicy","icon","initializeDefaultPlan","plans","sl","initializeBuildingPlan","btn","floorNum","floorLayer","level","loadFloorLevel","form","contactModalElement","modal","getOrCreateInstance","submitButton","xhr","XMLHttpRequest","controls","request","control","tokenInput","removeAttribute","resetForm","innerText","vpcCaptchaPublicKey","grecaptcha","execute","action","then","token","setRequestHeader","send","error","initContactForm","carouselElement","updateSplit","targetX","leftX","MouseEvent","setProperty","initRealizationVisualization"],"sourceRoot":""}