slabs-rails 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +5 -0
- data/LICENSE.txt +21 -0
- data/README.md +32 -0
- data/assets/images/ajax-loader.gif +0 -0
- data/assets/images/arrow1-blue.png +0 -0
- data/assets/images/arrow1.png +0 -0
- data/assets/images/arrow2-blue.png +0 -0
- data/assets/images/arrow2.png +0 -0
- data/assets/images/arrow3-blue.png +0 -0
- data/assets/images/arrow3.png +0 -0
- data/assets/images/arrow4-blue.png +0 -0
- data/assets/images/arrow4.png +0 -0
- data/assets/images/btn-play.png +0 -0
- data/assets/images/circle1-blue.png +0 -0
- data/assets/images/circle1.png +0 -0
- data/assets/images/circle2-blue.png +0 -0
- data/assets/images/circle2.png +0 -0
- data/assets/images/circle3-blue.png +0 -0
- data/assets/images/circle3.png +0 -0
- data/assets/images/circle4-blue.png +0 -0
- data/assets/images/circle4.png +0 -0
- data/assets/javascripts/slabs-sprockets.js +4 -0
- data/assets/javascripts/slabs.js +3401 -0
- data/assets/javascripts/slabs.min.js +7 -0
- data/assets/javascripts/slabs/ekko-lightbox.js +446 -0
- data/assets/javascripts/slabs/slabs.headers.js +51 -0
- data/assets/javascripts/slabs/slabs.js +4 -0
- data/assets/javascripts/slabs/slick.js +2892 -0
- data/assets/stylesheets/_slabs-mincer.scss +18 -0
- data/assets/stylesheets/_slabs-sprockets.scss +5 -0
- data/assets/stylesheets/_slabs.scss +40 -0
- data/assets/stylesheets/slabs/_backgrounds.scss +5 -0
- data/assets/stylesheets/slabs/_buttons.scss +25 -0
- data/assets/stylesheets/slabs/_mixins.scss +7 -0
- data/assets/stylesheets/slabs/_sweet_hacks.scss +19 -0
- data/assets/stylesheets/slabs/_typo.scss +27 -0
- data/assets/stylesheets/slabs/_variables.scss +114 -0
- data/assets/stylesheets/slabs/_wells.scss +9 -0
- data/assets/stylesheets/slabs/commons/_headers.scss +37 -0
- data/assets/stylesheets/slabs/commons/ekko-lightbox.scss +127 -0
- data/assets/stylesheets/slabs/commons/slick.scss +312 -0
- data/assets/stylesheets/slabs/contents/_content-1.scss +45 -0
- data/assets/stylesheets/slabs/contents/_content-10.scss +18 -0
- data/assets/stylesheets/slabs/contents/_content-11.scss +18 -0
- data/assets/stylesheets/slabs/contents/_content-12.scss +42 -0
- data/assets/stylesheets/slabs/contents/_content-13.scss +64 -0
- data/assets/stylesheets/slabs/contents/_content-2.scss +11 -0
- data/assets/stylesheets/slabs/contents/_content-3.scss +23 -0
- data/assets/stylesheets/slabs/contents/_content-4.scss +54 -0
- data/assets/stylesheets/slabs/contents/_content-5.scss +27 -0
- data/assets/stylesheets/slabs/contents/_content-6.scss +63 -0
- data/assets/stylesheets/slabs/contents/_content-7.scss +71 -0
- data/assets/stylesheets/slabs/contents/_content-8.scss +22 -0
- data/assets/stylesheets/slabs/contents/_content-9.scss +46 -0
- data/assets/stylesheets/slabs/footers/_footer-1.scss +60 -0
- data/assets/stylesheets/slabs/footers/_footer-2.scss +29 -0
- data/assets/stylesheets/slabs/headers/_header-1.scss +97 -0
- data/assets/stylesheets/slabs/headers/_header-2.scss +134 -0
- data/assets/stylesheets/slabs/mixins/_backgrounds.scss +12 -0
- data/assets/stylesheets/slabs/mixins/_breakpoints.scss +108 -0
- data/assets/stylesheets/slabs/mixins/_buttons.scss +28 -0
- data/assets/stylesheets/slabs/mixins/_transitions.scss +128 -0
- data/assets/stylesheets/slabs/people/_people-1.scss +52 -0
- data/assets/stylesheets/slabs/people/_people-2.scss +51 -0
- data/lib/slabs-rails.rb +51 -0
- data/lib/slabs-rails/engine.rb +11 -0
- data/slabs-rails.gemspec +20 -0
- metadata +139 -0
@@ -0,0 +1,7 @@
|
|
1
|
+
/*!
|
2
|
+
* Slabs v1.0.0 (https://github.com/Boltech/slabs)
|
3
|
+
* Copyright 2016-2016 Boltech
|
4
|
+
* Licensed under the license
|
5
|
+
*/
|
6
|
+
window.slabs={name:"Slabs",version:"1.0.0"};var checkNavScroll;slabs.headers=slabs.headers||{},slabs.headers.header2=function(){return $(".header-2").slick({dots:!0,infinite:!0,autoplaySpeed:8e3,speed:500,prevArrow:'<i class="slick_prev fa fa-angle-left"></i>',nextArrow:'<i class="slick_next fa fa-angle-right"></i>',autoplay:!0,fade:!0})},function(a){return a(function(){var a,b;for(a in slabs.headers)return a=a,b=a.slice(6),void(0!==jQuery(".header-"+b).length&&slabs.headers[a]())})}(jQuery),checkNavScroll=function(){var a;a=2*$(".navbar-transparent").height(),$(window).scrollTop()>a?$(".navbar-transparent").addClass("scrolled"):$(".navbar-transparent").removeClass("scrolled")},$(function(){return $(".navbar-transparent").length>0?(console.log("Starting!!!"),$(window).on("scroll load resize",function(){checkNavScroll()})):void 0}),function(){"use strict";var a,b;a=jQuery,b=function(b,c){var d,e,f;return this.options=a.extend({title:null,footer:null,remote:null},a.fn.ekkoLightbox.defaults,c||{}),this.$element=a(b),d="",this.modal_id=this.options.modal_id?this.options.modal_id:"ekkoLightbox-"+Math.floor(1e3*Math.random()+1),f='<div class="modal-header"'+(this.options.title||this.options.always_show_close?"":' style="display:none"')+'><button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button><h4 class="modal-title">'+(this.options.title||" ")+"</h4></div>",e='<div class="modal-footer"'+(this.options.footer?"":' style="display:none"')+">"+this.options.footer+"</div>",a(document.body).append('<div id="'+this.modal_id+'" class="ekko-lightbox modal fade" tabindex="-1"><div class="modal-dialog"><div class="modal-content">'+f+'<div class="modal-body"><div class="ekko-lightbox-container"><div></div></div></div>'+e+"</div></div></div>"),this.modal=a("#"+this.modal_id),this.modal_dialog=this.modal.find(".modal-dialog").first(),this.modal_content=this.modal.find(".modal-content").first(),this.modal_body=this.modal.find(".modal-body").first(),this.modal_header=this.modal.find(".modal-header").first(),this.modal_footer=this.modal.find(".modal-footer").first(),this.lightbox_container=this.modal_body.find(".ekko-lightbox-container").first(),this.lightbox_body=this.lightbox_container.find("> div:first-child").first(),this.showLoading(),this.modal_arrows=null,this.border={top:parseFloat(this.modal_dialog.css("border-top-width"))+parseFloat(this.modal_content.css("border-top-width"))+parseFloat(this.modal_body.css("border-top-width")),right:parseFloat(this.modal_dialog.css("border-right-width"))+parseFloat(this.modal_content.css("border-right-width"))+parseFloat(this.modal_body.css("border-right-width")),bottom:parseFloat(this.modal_dialog.css("border-bottom-width"))+parseFloat(this.modal_content.css("border-bottom-width"))+parseFloat(this.modal_body.css("border-bottom-width")),left:parseFloat(this.modal_dialog.css("border-left-width"))+parseFloat(this.modal_content.css("border-left-width"))+parseFloat(this.modal_body.css("border-left-width"))},this.padding={top:parseFloat(this.modal_dialog.css("padding-top"))+parseFloat(this.modal_content.css("padding-top"))+parseFloat(this.modal_body.css("padding-top")),right:parseFloat(this.modal_dialog.css("padding-right"))+parseFloat(this.modal_content.css("padding-right"))+parseFloat(this.modal_body.css("padding-right")),bottom:parseFloat(this.modal_dialog.css("padding-bottom"))+parseFloat(this.modal_content.css("padding-bottom"))+parseFloat(this.modal_body.css("padding-bottom")),left:parseFloat(this.modal_dialog.css("padding-left"))+parseFloat(this.modal_content.css("padding-left"))+parseFloat(this.modal_body.css("padding-left"))},this.modal.on("show.bs.modal",this.options.onShow.bind(this)).on("shown.bs.modal",function(a){return function(){return a.modal_shown(),a.options.onShown.call(a)}}(this)).on("hide.bs.modal",this.options.onHide.bind(this)).on("hidden.bs.modal",function(b){return function(){return b.gallery&&a(document).off("keydown.ekkoLightbox"),b.modal.remove(),b.options.onHidden.call(b)}}(this)).modal("show",c),this.modal},b.prototype={modal_shown:function(){var b;return this.options.remote?(this.gallery=this.$element.data("gallery"),this.gallery&&("document.body"===this.options.gallery_parent_selector||""===this.options.gallery_parent_selector?this.gallery_items=a(document.body).find('*[data-gallery="'+this.gallery+'"]'):this.gallery_items=this.$element.parents(this.options.gallery_parent_selector).first().find('*[data-gallery="'+this.gallery+'"]'),this.gallery_index=this.gallery_items.index(this.$element),a(document).on("keydown.ekkoLightbox",this.navigate.bind(this)),this.options.directional_arrows&&this.gallery_items.length>1&&(this.lightbox_container.append('<div class="ekko-lightbox-nav-overlay"><a href="#" class="'+this.strip_stops(this.options.left_arrow_class)+'"></a><a href="#" class="'+this.strip_stops(this.options.right_arrow_class)+'"></a></div>'),this.modal_arrows=this.lightbox_container.find("div.ekko-lightbox-nav-overlay").first(),this.lightbox_container.find("a"+this.strip_spaces(this.options.left_arrow_class)).on("click",function(a){return function(b){return b.preventDefault(),a.navigate_left()}}(this)),this.lightbox_container.find("a"+this.strip_spaces(this.options.right_arrow_class)).on("click",function(a){return function(b){return b.preventDefault(),a.navigate_right()}}(this)))),this.options.type?"image"===this.options.type?this.preloadImage(this.options.remote,!0):"youtube"===this.options.type&&(b=this.getYoutubeId(this.options.remote))?this.showYoutubeVideo(b):"vimeo"===this.options.type?this.showVimeoVideo(this.options.remote):"instagram"===this.options.type?this.showInstagramVideo(this.options.remote):"url"===this.options.type?this.loadRemoteContent(this.options.remote):"video"===this.options.type?this.showVideoIframe(this.options.remote):this.error('Could not detect remote target type. Force the type using data-type="image|youtube|vimeo|instagram|url|video"'):this.detectRemoteType(this.options.remote)):this.error("No remote target given")},strip_stops:function(a){return a.replace(/\./g,"")},strip_spaces:function(a){return a.replace(/\s/g,"")},isImage:function(a){return a.match(/(^data:image\/.*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg)((\?|#).*)?$)/i)},isSwf:function(a){return a.match(/\.(swf)((\?|#).*)?$/i)},getYoutubeId:function(a){var b;return b=a.match(/^.*(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=|\&v=)([^#\&\?]*).*/),b&&11===b[2].length?b[2]:!1},getVimeoId:function(a){return a.indexOf("vimeo")>0?a:!1},getInstagramId:function(a){return a.indexOf("instagram")>0?a:!1},navigate:function(a){if(a=a||window.event,39===a.keyCode||37===a.keyCode){if(39===a.keyCode)return this.navigate_right();if(37===a.keyCode)return this.navigate_left()}},navigateTo:function(b){var c,d;return 0>b||b>this.gallery_items.length-1?this:(this.showLoading(),this.gallery_index=b,this.$element=a(this.gallery_items.get(this.gallery_index)),this.updateTitleAndFooter(),d=this.$element.attr("data-remote")||this.$element.attr("href"),this.detectRemoteType(d,this.$element.attr("data-type")||!1),this.gallery_index+1<this.gallery_items.length&&(c=a(this.gallery_items.get(this.gallery_index+1),!1),d=c.attr("data-remote")||c.attr("href"),"image"===c.attr("data-type")||this.isImage(d))?this.preloadImage(d,!1):void 0)},navigate_left:function(){return 1!==this.gallery_items.length?(0===this.gallery_index?this.gallery_index=this.gallery_items.length-1:this.gallery_index--,this.options.onNavigate.call(this,"left",this.gallery_index),this.navigateTo(this.gallery_index)):void 0},navigate_right:function(){return 1!==this.gallery_items.length?(this.gallery_index===this.gallery_items.length-1?this.gallery_index=0:this.gallery_index++,this.options.onNavigate.call(this,"right",this.gallery_index),this.navigateTo(this.gallery_index)):void 0},detectRemoteType:function(a,b){var c;return b=b||!1,"image"===b||this.isImage(a)?(this.options.type="image",this.preloadImage(a,!0)):"youtube"===b||(c=this.getYoutubeId(a))?(this.options.type="youtube",this.showYoutubeVideo(c)):"vimeo"===b||(c=this.getVimeoId(a))?(this.options.type="vimeo",this.showVimeoVideo(c)):"instagram"===b||(c=this.getInstagramId(a))?(this.options.type="instagram",this.showInstagramVideo(c)):"video"===b?(this.options.type="video",this.showVideoIframe(c)):(this.options.type="url",this.loadRemoteContent(a))},updateTitleAndFooter:function(){var a,b,c,d;return c=this.modal_content.find(".modal-header"),b=this.modal_content.find(".modal-footer"),d=this.$element.data("title")||"",a=this.$element.data("footer")||"",d||this.options.always_show_close?c.css("display","").find(".modal-title").html(d||" "):c.css("display","none"),a?b.css("display","").html(a):b.css("display","none"),this},showLoading:function(){return this.lightbox_body.html('<div class="modal-loading">'+this.options.loadingMessage+"</div>"),this},showYoutubeVideo:function(a){var b,c,d;return c=null!=this.$element.attr("data-norelated")||this.options.no_related?"&rel=0":"",d=this.checkDimensions(this.$element.data("width")||560),b=d/(560/315),this.showVideoIframe("//www.youtube.com/embed/"+a+"?badge=0&autoplay=1&html5=1"+c,d,b)},showVimeoVideo:function(a){var b,c;return c=this.checkDimensions(this.$element.data("width")||560),b=c/(500/281),this.showVideoIframe(a+"?autoplay=1",c,b)},showInstagramVideo:function(a){var b,c;return c=this.checkDimensions(this.$element.data("width")||612),this.resize(c),b=c+80,this.lightbox_body.html('<iframe width="'+c+'" height="'+b+'" src="'+this.addTrailingSlash(a)+'embed/" frameborder="0" allowfullscreen></iframe>'),this.options.onContentLoaded.call(this),this.modal_arrows?this.modal_arrows.css("display","none"):void 0},showVideoIframe:function(a,b,c){return c=c||b,this.resize(b),this.lightbox_body.html('<div class="embed-responsive embed-responsive-16by9"><iframe width="'+b+'" height="'+c+'" src="'+a+'" frameborder="0" allowfullscreen class="embed-responsive-item"></iframe></div>'),this.options.onContentLoaded.call(this),this.modal_arrows&&this.modal_arrows.css("display","none"),this},loadRemoteContent:function(b){var c,d;return d=this.$element.data("width")||560,this.resize(d),c=this.$element.data("disableExternalCheck")||!1,c||this.isExternal(b)?(this.lightbox_body.html('<iframe width="'+d+'" height="'+d+'" src="'+b+'" frameborder="0" allowfullscreen></iframe>'),this.options.onContentLoaded.call(this)):this.lightbox_body.load(b,a.proxy(function(a){return function(){return a.$element.trigger("loaded.bs.modal")}}(this))),this.modal_arrows&&this.modal_arrows.css("display","none"),this},isExternal:function(a){var b;return b=a.match(/^([^:\/?#]+:)?(?:\/\/([^\/?#]*))?([^?#]+)?(\?[^#]*)?(#.*)?/),"string"==typeof b[1]&&b[1].length>0&&b[1].toLowerCase()!==location.protocol?!0:"string"==typeof b[2]&&b[2].length>0&&b[2].replace(new RegExp(":("+{"http:":80,"https:":443}[location.protocol]+")?$"),"")!==location.host},error:function(a){return this.lightbox_body.html(a),this},preloadImage:function(b,c){var d;return d=new Image,null!=c&&c!==!0||(d.onload=function(b){return function(){var c;return c=a("<img />"),c.attr("src",d.src),c.addClass("img-responsive"),b.lightbox_body.html(c),b.modal_arrows&&b.modal_arrows.css("display","block"),c.load(function(){return b.options.scale_height?b.scaleHeight(d.height,d.width):b.resize(d.width),b.options.onContentLoaded.call(b)})}}(this),d.onerror=function(a){return function(){return a.error("Failed to load image: "+b)}}(this)),d.src=b,d},scaleHeight:function(b,c){var d,e,f,g,h,i;return g=this.modal_header.outerHeight(!0)||0,f=this.modal_footer.outerHeight(!0)||0,this.modal_footer.is(":visible")||(f=0),this.modal_header.is(":visible")||(g=0),d=this.border.top+this.border.bottom+this.padding.top+this.padding.bottom,h=parseFloat(this.modal_dialog.css("margin-top"))+parseFloat(this.modal_dialog.css("margin-bottom")),i=a(window).height()-d-h-g-f,e=Math.min(i/b,1),this.modal_dialog.css("height","auto").css("max-height",i),this.resize(e*c)},resize:function(b){var c;return c=b+this.border.left+this.padding.left+this.padding.right+this.border.right,this.modal_dialog.css("width","auto").css("max-width",c),this.lightbox_container.find("a").css("line-height",function(){return a(this).parent().height()+"px"}),this},checkDimensions:function(a){var b,c;return c=a+this.border.left+this.padding.left+this.padding.right+this.border.right,b=document.body.clientWidth,c>b&&(a=this.modal_body.width()),a},close:function(){return this.modal.modal("hide")},addTrailingSlash:function(a){return"/"!==a.substr(-1)&&(a+="/"),a}},a.fn.ekkoLightbox=function(c){return this.each(function(){var d;return d=a(this),c=a.extend({remote:d.attr("data-remote")||d.attr("href"),gallery_parent_selector:d.attr("data-parent"),type:d.attr("data-type")},c,d.data()),new b(this,c),this})},a.fn.ekkoLightbox.defaults={gallery_parent_selector:"document.body",left_arrow_class:".glyphicon .glyphicon-chevron-left",right_arrow_class:".glyphicon .glyphicon-chevron-right",directional_arrows:!0,type:null,always_show_close:!0,no_related:!1,scale_height:!0,loadingMessage:"Loading...",onShow:function(){},onShown:function(){},onHide:function(){},onHidden:function(){},onNavigate:function(){},onContentLoaded:function(){}}}.call(this),$(document).delegate('*[data-toggle="lightbox"]',"click",function(a){a.preventDefault(),$(this).ekkoLightbox()}),function(a){"use strict";"function"==typeof define&&define.amd?define(["jquery"],a):"undefined"!=typeof exports?module.exports=a(require("jquery")):a(jQuery)}(function(a){"use strict";var b=window.Slick||{};b=function(){function b(b,d){var e,f=this;f.defaults={accessibility:!0,adaptiveHeight:!1,appendArrows:a(b),appendDots:a(b),arrows:!0,asNavFor:null,prevArrow:'<button type="button" data-role="none" class="slick-prev" aria-label="Previous" tabindex="0" role="button">Previous</button>',nextArrow:'<button type="button" data-role="none" class="slick-next" aria-label="Next" tabindex="0" role="button">Next</button>',autoplay:!1,autoplaySpeed:3e3,centerMode:!1,centerPadding:"50px",cssEase:"ease",customPaging:function(b,c){return a('<button type="button" data-role="none" role="button" tabindex="0" />').text(c+1)},dots:!1,dotsClass:"slick-dots",draggable:!0,easing:"linear",edgeFriction:.35,fade:!1,focusOnSelect:!1,infinite:!0,initialSlide:0,lazyLoad:"ondemand",mobileFirst:!1,pauseOnHover:!0,pauseOnFocus:!0,pauseOnDotsHover:!1,respondTo:"window",responsive:null,rows:1,rtl:!1,slide:"",slidesPerRow:1,slidesToShow:1,slidesToScroll:1,speed:500,swipe:!0,swipeToSlide:!1,touchMove:!0,touchThreshold:5,useCSS:!0,useTransform:!0,variableWidth:!1,vertical:!1,verticalSwiping:!1,waitForAnimate:!0,zIndex:1e3},f.initials={animating:!1,dragging:!1,autoPlayTimer:null,currentDirection:0,currentLeft:null,currentSlide:0,direction:1,$dots:null,listWidth:null,listHeight:null,loadIndex:0,$nextArrow:null,$prevArrow:null,slideCount:null,slideWidth:null,$slideTrack:null,$slides:null,sliding:!1,slideOffset:0,swipeLeft:null,$list:null,touchObject:{},transformsEnabled:!1,unslicked:!1},a.extend(f,f.initials),f.activeBreakpoint=null,f.animType=null,f.animProp=null,f.breakpoints=[],f.breakpointSettings=[],f.cssTransitions=!1,f.focussed=!1,f.interrupted=!1,f.hidden="hidden",f.paused=!0,f.positionProp=null,f.respondTo=null,f.rowCount=1,f.shouldClick=!0,f.$slider=a(b),f.$slidesCache=null,f.transformType=null,f.transitionType=null,f.visibilityChange="visibilitychange",f.windowWidth=0,f.windowTimer=null,e=a(b).data("slick")||{},f.options=a.extend({},f.defaults,d,e),f.currentSlide=f.options.initialSlide,f.originalSettings=f.options,"undefined"!=typeof document.mozHidden?(f.hidden="mozHidden",f.visibilityChange="mozvisibilitychange"):"undefined"!=typeof document.webkitHidden&&(f.hidden="webkitHidden",f.visibilityChange="webkitvisibilitychange"),f.autoPlay=a.proxy(f.autoPlay,f),f.autoPlayClear=a.proxy(f.autoPlayClear,f),f.autoPlayIterator=a.proxy(f.autoPlayIterator,f),f.changeSlide=a.proxy(f.changeSlide,f),f.clickHandler=a.proxy(f.clickHandler,f),f.selectHandler=a.proxy(f.selectHandler,f),f.setPosition=a.proxy(f.setPosition,f),f.swipeHandler=a.proxy(f.swipeHandler,f),f.dragHandler=a.proxy(f.dragHandler,f),f.keyHandler=a.proxy(f.keyHandler,f),f.instanceUid=c++,f.htmlExpr=/^(?:\s*(<[\w\W]+>)[^>]*)$/,f.registerBreakpoints(),f.init(!0)}var c=0;return b}(),b.prototype.activateADA=function(){var a=this;a.$slideTrack.find(".slick-active").attr({"aria-hidden":"false"}).find("a, input, button, select").attr({tabindex:"0"})},b.prototype.addSlide=b.prototype.slickAdd=function(b,c,d){var e=this;if("boolean"==typeof c)d=c,c=null;else if(0>c||c>=e.slideCount)return!1;e.unload(),"number"==typeof c?0===c&&0===e.$slides.length?a(b).appendTo(e.$slideTrack):d?a(b).insertBefore(e.$slides.eq(c)):a(b).insertAfter(e.$slides.eq(c)):d===!0?a(b).prependTo(e.$slideTrack):a(b).appendTo(e.$slideTrack),e.$slides=e.$slideTrack.children(this.options.slide),e.$slideTrack.children(this.options.slide).detach(),e.$slideTrack.append(e.$slides),e.$slides.each(function(b,c){a(c).attr("data-slick-index",b)}),e.$slidesCache=e.$slides,e.reinit()},b.prototype.animateHeight=function(){var a=this;if(1===a.options.slidesToShow&&a.options.adaptiveHeight===!0&&a.options.vertical===!1){var b=a.$slides.eq(a.currentSlide).outerHeight(!0);a.$list.animate({height:b},a.options.speed)}},b.prototype.animateSlide=function(b,c){var d={},e=this;e.animateHeight(),e.options.rtl===!0&&e.options.vertical===!1&&(b=-b),e.transformsEnabled===!1?e.options.vertical===!1?e.$slideTrack.animate({left:b},e.options.speed,e.options.easing,c):e.$slideTrack.animate({top:b},e.options.speed,e.options.easing,c):e.cssTransitions===!1?(e.options.rtl===!0&&(e.currentLeft=-e.currentLeft),a({animStart:e.currentLeft}).animate({animStart:b},{duration:e.options.speed,easing:e.options.easing,step:function(a){a=Math.ceil(a),e.options.vertical===!1?(d[e.animType]="translate("+a+"px, 0px)",e.$slideTrack.css(d)):(d[e.animType]="translate(0px,"+a+"px)",e.$slideTrack.css(d))},complete:function(){c&&c.call()}})):(e.applyTransition(),b=Math.ceil(b),e.options.vertical===!1?d[e.animType]="translate3d("+b+"px, 0px, 0px)":d[e.animType]="translate3d(0px,"+b+"px, 0px)",e.$slideTrack.css(d),c&&setTimeout(function(){e.disableTransition(),c.call()},e.options.speed))},b.prototype.getNavTarget=function(){var b=this,c=b.options.asNavFor;return c&&null!==c&&(c=a(c).not(b.$slider)),c},b.prototype.asNavFor=function(b){var c=this,d=c.getNavTarget();null!==d&&"object"==typeof d&&d.each(function(){var c=a(this).slick("getSlick");c.unslicked||c.slideHandler(b,!0)})},b.prototype.applyTransition=function(a){var b=this,c={};b.options.fade===!1?c[b.transitionType]=b.transformType+" "+b.options.speed+"ms "+b.options.cssEase:c[b.transitionType]="opacity "+b.options.speed+"ms "+b.options.cssEase,b.options.fade===!1?b.$slideTrack.css(c):b.$slides.eq(a).css(c)},b.prototype.autoPlay=function(){var a=this;a.autoPlayClear(),a.slideCount>a.options.slidesToShow&&(a.autoPlayTimer=setInterval(a.autoPlayIterator,a.options.autoplaySpeed))},b.prototype.autoPlayClear=function(){var a=this;a.autoPlayTimer&&clearInterval(a.autoPlayTimer)},b.prototype.autoPlayIterator=function(){var a=this,b=a.currentSlide+a.options.slidesToScroll;a.paused||a.interrupted||a.focussed||(a.options.infinite===!1&&(1===a.direction&&a.currentSlide+1===a.slideCount-1?a.direction=0:0===a.direction&&(b=a.currentSlide-a.options.slidesToScroll,a.currentSlide-1===0&&(a.direction=1))),a.slideHandler(b))},b.prototype.buildArrows=function(){var b=this;b.options.arrows===!0&&(b.$prevArrow=a(b.options.prevArrow).addClass("slick-arrow"),b.$nextArrow=a(b.options.nextArrow).addClass("slick-arrow"),b.slideCount>b.options.slidesToShow?(b.$prevArrow.removeClass("slick-hidden").removeAttr("aria-hidden tabindex"),b.$nextArrow.removeClass("slick-hidden").removeAttr("aria-hidden tabindex"),b.htmlExpr.test(b.options.prevArrow)&&b.$prevArrow.prependTo(b.options.appendArrows),b.htmlExpr.test(b.options.nextArrow)&&b.$nextArrow.appendTo(b.options.appendArrows),b.options.infinite!==!0&&b.$prevArrow.addClass("slick-disabled").attr("aria-disabled","true")):b.$prevArrow.add(b.$nextArrow).addClass("slick-hidden").attr({"aria-disabled":"true",tabindex:"-1"}))},b.prototype.buildDots=function(){var b,c,d=this;if(d.options.dots===!0&&d.slideCount>d.options.slidesToShow){for(d.$slider.addClass("slick-dotted"),c=a("<ul />").addClass(d.options.dotsClass),b=0;b<=d.getDotCount();b+=1)c.append(a("<li />").append(d.options.customPaging.call(this,d,b)));d.$dots=c.appendTo(d.options.appendDots),d.$dots.find("li").first().addClass("slick-active").attr("aria-hidden","false")}},b.prototype.buildOut=function(){var b=this;b.$slides=b.$slider.children(b.options.slide+":not(.slick-cloned)").addClass("slick-slide"),b.slideCount=b.$slides.length,b.$slides.each(function(b,c){a(c).attr("data-slick-index",b).data("originalStyling",a(c).attr("style")||"")}),b.$slider.addClass("slick-slider"),b.$slideTrack=0===b.slideCount?a('<div class="slick-track"/>').appendTo(b.$slider):b.$slides.wrapAll('<div class="slick-track"/>').parent(),b.$list=b.$slideTrack.wrap('<div aria-live="polite" class="slick-list"/>').parent(),b.$slideTrack.css("opacity",0),b.options.centerMode!==!0&&b.options.swipeToSlide!==!0||(b.options.slidesToScroll=1),a("img[data-lazy]",b.$slider).not("[src]").addClass("slick-loading"),b.setupInfinite(),b.buildArrows(),b.buildDots(),b.updateDots(),b.setSlideClasses("number"==typeof b.currentSlide?b.currentSlide:0),b.options.draggable===!0&&b.$list.addClass("draggable")},b.prototype.buildRows=function(){var a,b,c,d,e,f,g,h=this;if(d=document.createDocumentFragment(),f=h.$slider.children(),h.options.rows>1){for(g=h.options.slidesPerRow*h.options.rows,e=Math.ceil(f.length/g),a=0;e>a;a++){var i=document.createElement("div");for(b=0;b<h.options.rows;b++){var j=document.createElement("div");for(c=0;c<h.options.slidesPerRow;c++){var k=a*g+(b*h.options.slidesPerRow+c);f.get(k)&&j.appendChild(f.get(k))}i.appendChild(j)}d.appendChild(i)}h.$slider.empty().append(d),h.$slider.children().children().children().css({width:100/h.options.slidesPerRow+"%",display:"inline-block"})}},b.prototype.checkResponsive=function(b,c){var d,e,f,g=this,h=!1,i=g.$slider.width(),j=window.innerWidth||a(window).width();if("window"===g.respondTo?f=j:"slider"===g.respondTo?f=i:"min"===g.respondTo&&(f=Math.min(j,i)),g.options.responsive&&g.options.responsive.length&&null!==g.options.responsive){e=null;for(d in g.breakpoints)g.breakpoints.hasOwnProperty(d)&&(g.originalSettings.mobileFirst===!1?f<g.breakpoints[d]&&(e=g.breakpoints[d]):f>g.breakpoints[d]&&(e=g.breakpoints[d]));null!==e?null!==g.activeBreakpoint?(e!==g.activeBreakpoint||c)&&(g.activeBreakpoint=e,"unslick"===g.breakpointSettings[e]?g.unslick(e):(g.options=a.extend({},g.originalSettings,g.breakpointSettings[e]),b===!0&&(g.currentSlide=g.options.initialSlide),g.refresh(b)),h=e):(g.activeBreakpoint=e,"unslick"===g.breakpointSettings[e]?g.unslick(e):(g.options=a.extend({},g.originalSettings,g.breakpointSettings[e]),b===!0&&(g.currentSlide=g.options.initialSlide),g.refresh(b)),h=e):null!==g.activeBreakpoint&&(g.activeBreakpoint=null,g.options=g.originalSettings,b===!0&&(g.currentSlide=g.options.initialSlide),g.refresh(b),h=e),b||h===!1||g.$slider.trigger("breakpoint",[g,h])}},b.prototype.changeSlide=function(b,c){var d,e,f,g=this,h=a(b.currentTarget);switch(h.is("a")&&b.preventDefault(),h.is("li")||(h=h.closest("li")),f=g.slideCount%g.options.slidesToScroll!==0,d=f?0:(g.slideCount-g.currentSlide)%g.options.slidesToScroll,b.data.message){case"previous":e=0===d?g.options.slidesToScroll:g.options.slidesToShow-d,g.slideCount>g.options.slidesToShow&&g.slideHandler(g.currentSlide-e,!1,c);break;case"next":e=0===d?g.options.slidesToScroll:d,g.slideCount>g.options.slidesToShow&&g.slideHandler(g.currentSlide+e,!1,c);break;case"index":var i=0===b.data.index?0:b.data.index||h.index()*g.options.slidesToScroll;g.slideHandler(g.checkNavigable(i),!1,c),h.children().trigger("focus");break;default:return}},b.prototype.checkNavigable=function(a){var b,c,d=this;if(b=d.getNavigableIndexes(),c=0,a>b[b.length-1])a=b[b.length-1];else for(var e in b){if(a<b[e]){a=c;break}c=b[e]}return a},b.prototype.cleanUpEvents=function(){var b=this;b.options.dots&&null!==b.$dots&&a("li",b.$dots).off("click.slick",b.changeSlide).off("mouseenter.slick",a.proxy(b.interrupt,b,!0)).off("mouseleave.slick",a.proxy(b.interrupt,b,!1)),b.$slider.off("focus.slick blur.slick"),b.options.arrows===!0&&b.slideCount>b.options.slidesToShow&&(b.$prevArrow&&b.$prevArrow.off("click.slick",b.changeSlide),b.$nextArrow&&b.$nextArrow.off("click.slick",b.changeSlide)),b.$list.off("touchstart.slick mousedown.slick",b.swipeHandler),b.$list.off("touchmove.slick mousemove.slick",b.swipeHandler),b.$list.off("touchend.slick mouseup.slick",b.swipeHandler),b.$list.off("touchcancel.slick mouseleave.slick",b.swipeHandler),b.$list.off("click.slick",b.clickHandler),a(document).off(b.visibilityChange,b.visibility),b.cleanUpSlideEvents(),b.options.accessibility===!0&&b.$list.off("keydown.slick",b.keyHandler),b.options.focusOnSelect===!0&&a(b.$slideTrack).children().off("click.slick",b.selectHandler),a(window).off("orientationchange.slick.slick-"+b.instanceUid,b.orientationChange),a(window).off("resize.slick.slick-"+b.instanceUid,b.resize),a("[draggable!=true]",b.$slideTrack).off("dragstart",b.preventDefault),a(window).off("load.slick.slick-"+b.instanceUid,b.setPosition),a(document).off("ready.slick.slick-"+b.instanceUid,b.setPosition)},b.prototype.cleanUpSlideEvents=function(){var b=this;b.$list.off("mouseenter.slick",a.proxy(b.interrupt,b,!0)),b.$list.off("mouseleave.slick",a.proxy(b.interrupt,b,!1))},b.prototype.cleanUpRows=function(){var a,b=this;b.options.rows>1&&(a=b.$slides.children().children(),a.removeAttr("style"),b.$slider.empty().append(a))},b.prototype.clickHandler=function(a){var b=this;b.shouldClick===!1&&(a.stopImmediatePropagation(),a.stopPropagation(),a.preventDefault())},b.prototype.destroy=function(b){var c=this;c.autoPlayClear(),c.touchObject={},c.cleanUpEvents(),a(".slick-cloned",c.$slider).detach(),c.$dots&&c.$dots.remove(),c.$prevArrow&&c.$prevArrow.length&&(c.$prevArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display",""),c.htmlExpr.test(c.options.prevArrow)&&c.$prevArrow.remove()),c.$nextArrow&&c.$nextArrow.length&&(c.$nextArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display",""),c.htmlExpr.test(c.options.nextArrow)&&c.$nextArrow.remove()),c.$slides&&(c.$slides.removeClass("slick-slide slick-active slick-center slick-visible slick-current").removeAttr("aria-hidden").removeAttr("data-slick-index").each(function(){a(this).attr("style",a(this).data("originalStyling"))}),c.$slideTrack.children(this.options.slide).detach(),c.$slideTrack.detach(),c.$list.detach(),c.$slider.append(c.$slides)),c.cleanUpRows(),c.$slider.removeClass("slick-slider"),c.$slider.removeClass("slick-initialized"),c.$slider.removeClass("slick-dotted"),c.unslicked=!0,b||c.$slider.trigger("destroy",[c])},b.prototype.disableTransition=function(a){var b=this,c={};c[b.transitionType]="",b.options.fade===!1?b.$slideTrack.css(c):b.$slides.eq(a).css(c)},b.prototype.fadeSlide=function(a,b){var c=this;c.cssTransitions===!1?(c.$slides.eq(a).css({zIndex:c.options.zIndex}),c.$slides.eq(a).animate({opacity:1},c.options.speed,c.options.easing,b)):(c.applyTransition(a),c.$slides.eq(a).css({opacity:1,zIndex:c.options.zIndex}),b&&setTimeout(function(){c.disableTransition(a),b.call()},c.options.speed))},b.prototype.fadeSlideOut=function(a){var b=this;b.cssTransitions===!1?b.$slides.eq(a).animate({opacity:0,zIndex:b.options.zIndex-2},b.options.speed,b.options.easing):(b.applyTransition(a),b.$slides.eq(a).css({opacity:0,zIndex:b.options.zIndex-2}))},b.prototype.filterSlides=b.prototype.slickFilter=function(a){var b=this;null!==a&&(b.$slidesCache=b.$slides,b.unload(),b.$slideTrack.children(this.options.slide).detach(),b.$slidesCache.filter(a).appendTo(b.$slideTrack),b.reinit())},b.prototype.focusHandler=function(){var b=this;b.$slider.off("focus.slick blur.slick").on("focus.slick blur.slick","*:not(.slick-arrow)",function(c){c.stopImmediatePropagation();var d=a(this);setTimeout(function(){b.options.pauseOnFocus&&(b.focussed=d.is(":focus"),b.autoPlay())},0)})},b.prototype.getCurrent=b.prototype.slickCurrentSlide=function(){var a=this;return a.currentSlide},b.prototype.getDotCount=function(){var a=this,b=0,c=0,d=0;if(a.options.infinite===!0)for(;b<a.slideCount;)++d,b=c+a.options.slidesToScroll,c+=a.options.slidesToScroll<=a.options.slidesToShow?a.options.slidesToScroll:a.options.slidesToShow;else if(a.options.centerMode===!0)d=a.slideCount;else if(a.options.asNavFor)for(;b<a.slideCount;)++d,b=c+a.options.slidesToScroll,c+=a.options.slidesToScroll<=a.options.slidesToShow?a.options.slidesToScroll:a.options.slidesToShow;else d=1+Math.ceil((a.slideCount-a.options.slidesToShow)/a.options.slidesToScroll);return d-1},b.prototype.getLeft=function(a){var b,c,d,e=this,f=0;return e.slideOffset=0,c=e.$slides.first().outerHeight(!0),e.options.infinite===!0?(e.slideCount>e.options.slidesToShow&&(e.slideOffset=e.slideWidth*e.options.slidesToShow*-1,f=c*e.options.slidesToShow*-1),e.slideCount%e.options.slidesToScroll!==0&&a+e.options.slidesToScroll>e.slideCount&&e.slideCount>e.options.slidesToShow&&(a>e.slideCount?(e.slideOffset=(e.options.slidesToShow-(a-e.slideCount))*e.slideWidth*-1,f=(e.options.slidesToShow-(a-e.slideCount))*c*-1):(e.slideOffset=e.slideCount%e.options.slidesToScroll*e.slideWidth*-1,f=e.slideCount%e.options.slidesToScroll*c*-1))):a+e.options.slidesToShow>e.slideCount&&(e.slideOffset=(a+e.options.slidesToShow-e.slideCount)*e.slideWidth,f=(a+e.options.slidesToShow-e.slideCount)*c),e.slideCount<=e.options.slidesToShow&&(e.slideOffset=0,f=0),e.options.centerMode===!0&&e.options.infinite===!0?e.slideOffset+=e.slideWidth*Math.floor(e.options.slidesToShow/2)-e.slideWidth:e.options.centerMode===!0&&(e.slideOffset=0,e.slideOffset+=e.slideWidth*Math.floor(e.options.slidesToShow/2)),b=e.options.vertical===!1?a*e.slideWidth*-1+e.slideOffset:a*c*-1+f,e.options.variableWidth===!0&&(d=e.slideCount<=e.options.slidesToShow||e.options.infinite===!1?e.$slideTrack.children(".slick-slide").eq(a):e.$slideTrack.children(".slick-slide").eq(a+e.options.slidesToShow),b=e.options.rtl===!0?d[0]?-1*(e.$slideTrack.width()-d[0].offsetLeft-d.width()):0:d[0]?-1*d[0].offsetLeft:0,e.options.centerMode===!0&&(d=e.slideCount<=e.options.slidesToShow||e.options.infinite===!1?e.$slideTrack.children(".slick-slide").eq(a):e.$slideTrack.children(".slick-slide").eq(a+e.options.slidesToShow+1),b=e.options.rtl===!0?d[0]?-1*(e.$slideTrack.width()-d[0].offsetLeft-d.width()):0:d[0]?-1*d[0].offsetLeft:0,b+=(e.$list.width()-d.outerWidth())/2)),b},b.prototype.getOption=b.prototype.slickGetOption=function(a){var b=this;return b.options[a]},b.prototype.getNavigableIndexes=function(){var a,b=this,c=0,d=0,e=[];for(b.options.infinite===!1?a=b.slideCount:(c=-1*b.options.slidesToScroll,d=-1*b.options.slidesToScroll,a=2*b.slideCount);a>c;)e.push(c),c=d+b.options.slidesToScroll,d+=b.options.slidesToScroll<=b.options.slidesToShow?b.options.slidesToScroll:b.options.slidesToShow;return e},b.prototype.getSlick=function(){return this},b.prototype.getSlideCount=function(){var b,c,d,e=this;return d=e.options.centerMode===!0?e.slideWidth*Math.floor(e.options.slidesToShow/2):0,e.options.swipeToSlide===!0?(e.$slideTrack.find(".slick-slide").each(function(b,f){return f.offsetLeft-d+a(f).outerWidth()/2>-1*e.swipeLeft?(c=f,!1):void 0}),b=Math.abs(a(c).attr("data-slick-index")-e.currentSlide)||1):e.options.slidesToScroll},b.prototype.goTo=b.prototype.slickGoTo=function(a,b){var c=this;c.changeSlide({data:{message:"index",index:parseInt(a)}},b)},b.prototype.init=function(b){var c=this;a(c.$slider).hasClass("slick-initialized")||(a(c.$slider).addClass("slick-initialized"),
|
7
|
+
c.buildRows(),c.buildOut(),c.setProps(),c.startLoad(),c.loadSlider(),c.initializeEvents(),c.updateArrows(),c.updateDots(),c.checkResponsive(!0),c.focusHandler()),b&&c.$slider.trigger("init",[c]),c.options.accessibility===!0&&c.initADA(),c.options.autoplay&&(c.paused=!1,c.autoPlay())},b.prototype.initADA=function(){var b=this;b.$slides.add(b.$slideTrack.find(".slick-cloned")).attr({"aria-hidden":"true",tabindex:"-1"}).find("a, input, button, select").attr({tabindex:"-1"}),b.$slideTrack.attr("role","listbox"),b.$slides.not(b.$slideTrack.find(".slick-cloned")).each(function(c){a(this).attr({role:"option","aria-describedby":"slick-slide"+b.instanceUid+c})}),null!==b.$dots&&b.$dots.attr("role","tablist").find("li").each(function(c){a(this).attr({role:"presentation","aria-selected":"false","aria-controls":"navigation"+b.instanceUid+c,id:"slick-slide"+b.instanceUid+c})}).first().attr("aria-selected","true").end().find("button").attr("role","button").end().closest("div").attr("role","toolbar"),b.activateADA()},b.prototype.initArrowEvents=function(){var a=this;a.options.arrows===!0&&a.slideCount>a.options.slidesToShow&&(a.$prevArrow.off("click.slick").on("click.slick",{message:"previous"},a.changeSlide),a.$nextArrow.off("click.slick").on("click.slick",{message:"next"},a.changeSlide))},b.prototype.initDotEvents=function(){var b=this;b.options.dots===!0&&b.slideCount>b.options.slidesToShow&&a("li",b.$dots).on("click.slick",{message:"index"},b.changeSlide),b.options.dots===!0&&b.options.pauseOnDotsHover===!0&&a("li",b.$dots).on("mouseenter.slick",a.proxy(b.interrupt,b,!0)).on("mouseleave.slick",a.proxy(b.interrupt,b,!1))},b.prototype.initSlideEvents=function(){var b=this;b.options.pauseOnHover&&(b.$list.on("mouseenter.slick",a.proxy(b.interrupt,b,!0)),b.$list.on("mouseleave.slick",a.proxy(b.interrupt,b,!1)))},b.prototype.initializeEvents=function(){var b=this;b.initArrowEvents(),b.initDotEvents(),b.initSlideEvents(),b.$list.on("touchstart.slick mousedown.slick",{action:"start"},b.swipeHandler),b.$list.on("touchmove.slick mousemove.slick",{action:"move"},b.swipeHandler),b.$list.on("touchend.slick mouseup.slick",{action:"end"},b.swipeHandler),b.$list.on("touchcancel.slick mouseleave.slick",{action:"end"},b.swipeHandler),b.$list.on("click.slick",b.clickHandler),a(document).on(b.visibilityChange,a.proxy(b.visibility,b)),b.options.accessibility===!0&&b.$list.on("keydown.slick",b.keyHandler),b.options.focusOnSelect===!0&&a(b.$slideTrack).children().on("click.slick",b.selectHandler),a(window).on("orientationchange.slick.slick-"+b.instanceUid,a.proxy(b.orientationChange,b)),a(window).on("resize.slick.slick-"+b.instanceUid,a.proxy(b.resize,b)),a("[draggable!=true]",b.$slideTrack).on("dragstart",b.preventDefault),a(window).on("load.slick.slick-"+b.instanceUid,b.setPosition),a(document).on("ready.slick.slick-"+b.instanceUid,b.setPosition)},b.prototype.initUI=function(){var a=this;a.options.arrows===!0&&a.slideCount>a.options.slidesToShow&&(a.$prevArrow.show(),a.$nextArrow.show()),a.options.dots===!0&&a.slideCount>a.options.slidesToShow&&a.$dots.show()},b.prototype.keyHandler=function(a){var b=this;a.target.tagName.match("TEXTAREA|INPUT|SELECT")||(37===a.keyCode&&b.options.accessibility===!0?b.changeSlide({data:{message:b.options.rtl===!0?"next":"previous"}}):39===a.keyCode&&b.options.accessibility===!0&&b.changeSlide({data:{message:b.options.rtl===!0?"previous":"next"}}))},b.prototype.lazyLoad=function(){function b(b){a("img[data-lazy]",b).each(function(){var b=a(this),c=a(this).attr("data-lazy"),d=document.createElement("img");d.onload=function(){b.animate({opacity:0},100,function(){b.attr("src",c).animate({opacity:1},200,function(){b.removeAttr("data-lazy").removeClass("slick-loading")}),g.$slider.trigger("lazyLoaded",[g,b,c])})},d.onerror=function(){b.removeAttr("data-lazy").removeClass("slick-loading").addClass("slick-lazyload-error"),g.$slider.trigger("lazyLoadError",[g,b,c])},d.src=c})}var c,d,e,f,g=this;g.options.centerMode===!0?g.options.infinite===!0?(e=g.currentSlide+(g.options.slidesToShow/2+1),f=e+g.options.slidesToShow+2):(e=Math.max(0,g.currentSlide-(g.options.slidesToShow/2+1)),f=2+(g.options.slidesToShow/2+1)+g.currentSlide):(e=g.options.infinite?g.options.slidesToShow+g.currentSlide:g.currentSlide,f=Math.ceil(e+g.options.slidesToShow),g.options.fade===!0&&(e>0&&e--,f<=g.slideCount&&f++)),c=g.$slider.find(".slick-slide").slice(e,f),b(c),g.slideCount<=g.options.slidesToShow?(d=g.$slider.find(".slick-slide"),b(d)):g.currentSlide>=g.slideCount-g.options.slidesToShow?(d=g.$slider.find(".slick-cloned").slice(0,g.options.slidesToShow),b(d)):0===g.currentSlide&&(d=g.$slider.find(".slick-cloned").slice(-1*g.options.slidesToShow),b(d))},b.prototype.loadSlider=function(){var a=this;a.setPosition(),a.$slideTrack.css({opacity:1}),a.$slider.removeClass("slick-loading"),a.initUI(),"progressive"===a.options.lazyLoad&&a.progressiveLazyLoad()},b.prototype.next=b.prototype.slickNext=function(){var a=this;a.changeSlide({data:{message:"next"}})},b.prototype.orientationChange=function(){var a=this;a.checkResponsive(),a.setPosition()},b.prototype.pause=b.prototype.slickPause=function(){var a=this;a.autoPlayClear(),a.paused=!0},b.prototype.play=b.prototype.slickPlay=function(){var a=this;a.autoPlay(),a.options.autoplay=!0,a.paused=!1,a.focussed=!1,a.interrupted=!1},b.prototype.postSlide=function(a){var b=this;b.unslicked||(b.$slider.trigger("afterChange",[b,a]),b.animating=!1,b.setPosition(),b.swipeLeft=null,b.options.autoplay&&b.autoPlay(),b.options.accessibility===!0&&b.initADA())},b.prototype.prev=b.prototype.slickPrev=function(){var a=this;a.changeSlide({data:{message:"previous"}})},b.prototype.preventDefault=function(a){a.preventDefault()},b.prototype.progressiveLazyLoad=function(b){b=b||1;var c,d,e,f=this,g=a("img[data-lazy]",f.$slider);g.length?(c=g.first(),d=c.attr("data-lazy"),e=document.createElement("img"),e.onload=function(){c.attr("src",d).removeAttr("data-lazy").removeClass("slick-loading"),f.options.adaptiveHeight===!0&&f.setPosition(),f.$slider.trigger("lazyLoaded",[f,c,d]),f.progressiveLazyLoad()},e.onerror=function(){3>b?setTimeout(function(){f.progressiveLazyLoad(b+1)},500):(c.removeAttr("data-lazy").removeClass("slick-loading").addClass("slick-lazyload-error"),f.$slider.trigger("lazyLoadError",[f,c,d]),f.progressiveLazyLoad())},e.src=d):f.$slider.trigger("allImagesLoaded",[f])},b.prototype.refresh=function(b){var c,d,e=this;d=e.slideCount-e.options.slidesToShow,!e.options.infinite&&e.currentSlide>d&&(e.currentSlide=d),e.slideCount<=e.options.slidesToShow&&(e.currentSlide=0),c=e.currentSlide,e.destroy(!0),a.extend(e,e.initials,{currentSlide:c}),e.init(),b||e.changeSlide({data:{message:"index",index:c}},!1)},b.prototype.registerBreakpoints=function(){var b,c,d,e=this,f=e.options.responsive||null;if("array"===a.type(f)&&f.length){e.respondTo=e.options.respondTo||"window";for(b in f)if(d=e.breakpoints.length-1,c=f[b].breakpoint,f.hasOwnProperty(b)){for(;d>=0;)e.breakpoints[d]&&e.breakpoints[d]===c&&e.breakpoints.splice(d,1),d--;e.breakpoints.push(c),e.breakpointSettings[c]=f[b].settings}e.breakpoints.sort(function(a,b){return e.options.mobileFirst?a-b:b-a})}},b.prototype.reinit=function(){var b=this;b.$slides=b.$slideTrack.children(b.options.slide).addClass("slick-slide"),b.slideCount=b.$slides.length,b.currentSlide>=b.slideCount&&0!==b.currentSlide&&(b.currentSlide=b.currentSlide-b.options.slidesToScroll),b.slideCount<=b.options.slidesToShow&&(b.currentSlide=0),b.registerBreakpoints(),b.setProps(),b.setupInfinite(),b.buildArrows(),b.updateArrows(),b.initArrowEvents(),b.buildDots(),b.updateDots(),b.initDotEvents(),b.cleanUpSlideEvents(),b.initSlideEvents(),b.checkResponsive(!1,!0),b.options.focusOnSelect===!0&&a(b.$slideTrack).children().on("click.slick",b.selectHandler),b.setSlideClasses("number"==typeof b.currentSlide?b.currentSlide:0),b.setPosition(),b.focusHandler(),b.paused=!b.options.autoplay,b.autoPlay(),b.$slider.trigger("reInit",[b])},b.prototype.resize=function(){var b=this;a(window).width()!==b.windowWidth&&(clearTimeout(b.windowDelay),b.windowDelay=window.setTimeout(function(){b.windowWidth=a(window).width(),b.checkResponsive(),b.unslicked||b.setPosition()},50))},b.prototype.removeSlide=b.prototype.slickRemove=function(a,b,c){var d=this;return"boolean"==typeof a?(b=a,a=b===!0?0:d.slideCount-1):a=b===!0?--a:a,d.slideCount<1||0>a||a>d.slideCount-1?!1:(d.unload(),c===!0?d.$slideTrack.children().remove():d.$slideTrack.children(this.options.slide).eq(a).remove(),d.$slides=d.$slideTrack.children(this.options.slide),d.$slideTrack.children(this.options.slide).detach(),d.$slideTrack.append(d.$slides),d.$slidesCache=d.$slides,void d.reinit())},b.prototype.setCSS=function(a){var b,c,d=this,e={};d.options.rtl===!0&&(a=-a),b="left"==d.positionProp?Math.ceil(a)+"px":"0px",c="top"==d.positionProp?Math.ceil(a)+"px":"0px",e[d.positionProp]=a,d.transformsEnabled===!1?d.$slideTrack.css(e):(e={},d.cssTransitions===!1?(e[d.animType]="translate("+b+", "+c+")",d.$slideTrack.css(e)):(e[d.animType]="translate3d("+b+", "+c+", 0px)",d.$slideTrack.css(e)))},b.prototype.setDimensions=function(){var a=this;a.options.vertical===!1?a.options.centerMode===!0&&a.$list.css({padding:"0px "+a.options.centerPadding}):(a.$list.height(a.$slides.first().outerHeight(!0)*a.options.slidesToShow),a.options.centerMode===!0&&a.$list.css({padding:a.options.centerPadding+" 0px"})),a.listWidth=a.$list.width(),a.listHeight=a.$list.height(),a.options.vertical===!1&&a.options.variableWidth===!1?(a.slideWidth=Math.ceil(a.listWidth/a.options.slidesToShow),a.$slideTrack.width(Math.ceil(a.slideWidth*a.$slideTrack.children(".slick-slide").length))):a.options.variableWidth===!0?a.$slideTrack.width(5e3*a.slideCount):(a.slideWidth=Math.ceil(a.listWidth),a.$slideTrack.height(Math.ceil(a.$slides.first().outerHeight(!0)*a.$slideTrack.children(".slick-slide").length)));var b=a.$slides.first().outerWidth(!0)-a.$slides.first().width();a.options.variableWidth===!1&&a.$slideTrack.children(".slick-slide").width(a.slideWidth-b)},b.prototype.setFade=function(){var b,c=this;c.$slides.each(function(d,e){b=c.slideWidth*d*-1,c.options.rtl===!0?a(e).css({position:"relative",right:b,top:0,zIndex:c.options.zIndex-2,opacity:0}):a(e).css({position:"relative",left:b,top:0,zIndex:c.options.zIndex-2,opacity:0})}),c.$slides.eq(c.currentSlide).css({zIndex:c.options.zIndex-1,opacity:1})},b.prototype.setHeight=function(){var a=this;if(1===a.options.slidesToShow&&a.options.adaptiveHeight===!0&&a.options.vertical===!1){var b=a.$slides.eq(a.currentSlide).outerHeight(!0);a.$list.css("height",b)}},b.prototype.setOption=b.prototype.slickSetOption=function(){var b,c,d,e,f,g=this,h=!1;if("object"===a.type(arguments[0])?(d=arguments[0],h=arguments[1],f="multiple"):"string"===a.type(arguments[0])&&(d=arguments[0],e=arguments[1],h=arguments[2],"responsive"===arguments[0]&&"array"===a.type(arguments[1])?f="responsive":"undefined"!=typeof arguments[1]&&(f="single")),"single"===f)g.options[d]=e;else if("multiple"===f)a.each(d,function(a,b){g.options[a]=b});else if("responsive"===f)for(c in e)if("array"!==a.type(g.options.responsive))g.options.responsive=[e[c]];else{for(b=g.options.responsive.length-1;b>=0;)g.options.responsive[b].breakpoint===e[c].breakpoint&&g.options.responsive.splice(b,1),b--;g.options.responsive.push(e[c])}h&&(g.unload(),g.reinit())},b.prototype.setPosition=function(){var a=this;a.setDimensions(),a.setHeight(),a.options.fade===!1?a.setCSS(a.getLeft(a.currentSlide)):a.setFade(),a.$slider.trigger("setPosition",[a])},b.prototype.setProps=function(){var a=this,b=document.body.style;a.positionProp=a.options.vertical===!0?"top":"left","top"===a.positionProp?a.$slider.addClass("slick-vertical"):a.$slider.removeClass("slick-vertical"),void 0===b.WebkitTransition&&void 0===b.MozTransition&&void 0===b.msTransition||a.options.useCSS===!0&&(a.cssTransitions=!0),a.options.fade&&("number"==typeof a.options.zIndex?a.options.zIndex<3&&(a.options.zIndex=3):a.options.zIndex=a.defaults.zIndex),void 0!==b.OTransform&&(a.animType="OTransform",a.transformType="-o-transform",a.transitionType="OTransition",void 0===b.perspectiveProperty&&void 0===b.webkitPerspective&&(a.animType=!1)),void 0!==b.MozTransform&&(a.animType="MozTransform",a.transformType="-moz-transform",a.transitionType="MozTransition",void 0===b.perspectiveProperty&&void 0===b.MozPerspective&&(a.animType=!1)),void 0!==b.webkitTransform&&(a.animType="webkitTransform",a.transformType="-webkit-transform",a.transitionType="webkitTransition",void 0===b.perspectiveProperty&&void 0===b.webkitPerspective&&(a.animType=!1)),void 0!==b.msTransform&&(a.animType="msTransform",a.transformType="-ms-transform",a.transitionType="msTransition",void 0===b.msTransform&&(a.animType=!1)),void 0!==b.transform&&a.animType!==!1&&(a.animType="transform",a.transformType="transform",a.transitionType="transition"),a.transformsEnabled=a.options.useTransform&&null!==a.animType&&a.animType!==!1},b.prototype.setSlideClasses=function(a){var b,c,d,e,f=this;c=f.$slider.find(".slick-slide").removeClass("slick-active slick-center slick-current").attr("aria-hidden","true"),f.$slides.eq(a).addClass("slick-current"),f.options.centerMode===!0?(b=Math.floor(f.options.slidesToShow/2),f.options.infinite===!0&&(a>=b&&a<=f.slideCount-1-b?f.$slides.slice(a-b,a+b+1).addClass("slick-active").attr("aria-hidden","false"):(d=f.options.slidesToShow+a,c.slice(d-b+1,d+b+2).addClass("slick-active").attr("aria-hidden","false")),0===a?c.eq(c.length-1-f.options.slidesToShow).addClass("slick-center"):a===f.slideCount-1&&c.eq(f.options.slidesToShow).addClass("slick-center")),f.$slides.eq(a).addClass("slick-center")):a>=0&&a<=f.slideCount-f.options.slidesToShow?f.$slides.slice(a,a+f.options.slidesToShow).addClass("slick-active").attr("aria-hidden","false"):c.length<=f.options.slidesToShow?c.addClass("slick-active").attr("aria-hidden","false"):(e=f.slideCount%f.options.slidesToShow,d=f.options.infinite===!0?f.options.slidesToShow+a:a,f.options.slidesToShow==f.options.slidesToScroll&&f.slideCount-a<f.options.slidesToShow?c.slice(d-(f.options.slidesToShow-e),d+e).addClass("slick-active").attr("aria-hidden","false"):c.slice(d,d+f.options.slidesToShow).addClass("slick-active").attr("aria-hidden","false")),"ondemand"===f.options.lazyLoad&&f.lazyLoad()},b.prototype.setupInfinite=function(){var b,c,d,e=this;if(e.options.fade===!0&&(e.options.centerMode=!1),e.options.infinite===!0&&e.options.fade===!1&&(c=null,e.slideCount>e.options.slidesToShow)){for(d=e.options.centerMode===!0?e.options.slidesToShow+1:e.options.slidesToShow,b=e.slideCount;b>e.slideCount-d;b-=1)c=b-1,a(e.$slides[c]).clone(!0).attr("id","").attr("data-slick-index",c-e.slideCount).prependTo(e.$slideTrack).addClass("slick-cloned");for(b=0;d>b;b+=1)c=b,a(e.$slides[c]).clone(!0).attr("id","").attr("data-slick-index",c+e.slideCount).appendTo(e.$slideTrack).addClass("slick-cloned");e.$slideTrack.find(".slick-cloned").find("[id]").each(function(){a(this).attr("id","")})}},b.prototype.interrupt=function(a){var b=this;a||b.autoPlay(),b.interrupted=a},b.prototype.selectHandler=function(b){var c=this,d=a(b.target).is(".slick-slide")?a(b.target):a(b.target).parents(".slick-slide"),e=parseInt(d.attr("data-slick-index"));return e||(e=0),c.slideCount<=c.options.slidesToShow?(c.setSlideClasses(e),void c.asNavFor(e)):void c.slideHandler(e)},b.prototype.slideHandler=function(a,b,c){var d,e,f,g,h,i=null,j=this;return b=b||!1,j.animating===!0&&j.options.waitForAnimate===!0||j.options.fade===!0&&j.currentSlide===a||j.slideCount<=j.options.slidesToShow?void 0:(b===!1&&j.asNavFor(a),d=a,i=j.getLeft(d),g=j.getLeft(j.currentSlide),j.currentLeft=null===j.swipeLeft?g:j.swipeLeft,j.options.infinite===!1&&j.options.centerMode===!1&&(0>a||a>j.getDotCount()*j.options.slidesToScroll)?void(j.options.fade===!1&&(d=j.currentSlide,c!==!0?j.animateSlide(g,function(){j.postSlide(d)}):j.postSlide(d))):j.options.infinite===!1&&j.options.centerMode===!0&&(0>a||a>j.slideCount-j.options.slidesToScroll)?void(j.options.fade===!1&&(d=j.currentSlide,c!==!0?j.animateSlide(g,function(){j.postSlide(d)}):j.postSlide(d))):(j.options.autoplay&&clearInterval(j.autoPlayTimer),e=0>d?j.slideCount%j.options.slidesToScroll!==0?j.slideCount-j.slideCount%j.options.slidesToScroll:j.slideCount+d:d>=j.slideCount?j.slideCount%j.options.slidesToScroll!==0?0:d-j.slideCount:d,j.animating=!0,j.$slider.trigger("beforeChange",[j,j.currentSlide,e]),f=j.currentSlide,j.currentSlide=e,j.setSlideClasses(j.currentSlide),j.options.asNavFor&&(h=j.getNavTarget(),h=h.slick("getSlick"),h.slideCount<=h.options.slidesToShow&&h.setSlideClasses(j.currentSlide)),j.updateDots(),j.updateArrows(),j.options.fade===!0?(c!==!0?(j.fadeSlideOut(f),j.fadeSlide(e,function(){j.postSlide(e)})):j.postSlide(e),void j.animateHeight()):void(c!==!0?j.animateSlide(i,function(){j.postSlide(e)}):j.postSlide(e))))},b.prototype.startLoad=function(){var a=this;a.options.arrows===!0&&a.slideCount>a.options.slidesToShow&&(a.$prevArrow.hide(),a.$nextArrow.hide()),a.options.dots===!0&&a.slideCount>a.options.slidesToShow&&a.$dots.hide(),a.$slider.addClass("slick-loading")},b.prototype.swipeDirection=function(){var a,b,c,d,e=this;return a=e.touchObject.startX-e.touchObject.curX,b=e.touchObject.startY-e.touchObject.curY,c=Math.atan2(b,a),d=Math.round(180*c/Math.PI),0>d&&(d=360-Math.abs(d)),45>=d&&d>=0?e.options.rtl===!1?"left":"right":360>=d&&d>=315?e.options.rtl===!1?"left":"right":d>=135&&225>=d?e.options.rtl===!1?"right":"left":e.options.verticalSwiping===!0?d>=35&&135>=d?"down":"up":"vertical"},b.prototype.swipeEnd=function(a){var b,c,d=this;if(d.dragging=!1,d.interrupted=!1,d.shouldClick=!(d.touchObject.swipeLength>10),void 0===d.touchObject.curX)return!1;if(d.touchObject.edgeHit===!0&&d.$slider.trigger("edge",[d,d.swipeDirection()]),d.touchObject.swipeLength>=d.touchObject.minSwipe){switch(c=d.swipeDirection()){case"left":case"down":b=d.options.swipeToSlide?d.checkNavigable(d.currentSlide+d.getSlideCount()):d.currentSlide+d.getSlideCount(),d.currentDirection=0;break;case"right":case"up":b=d.options.swipeToSlide?d.checkNavigable(d.currentSlide-d.getSlideCount()):d.currentSlide-d.getSlideCount(),d.currentDirection=1}"vertical"!=c&&(d.slideHandler(b),d.touchObject={},d.$slider.trigger("swipe",[d,c]))}else d.touchObject.startX!==d.touchObject.curX&&(d.slideHandler(d.currentSlide),d.touchObject={})},b.prototype.swipeHandler=function(a){var b=this;if(!(b.options.swipe===!1||"ontouchend"in document&&b.options.swipe===!1||b.options.draggable===!1&&-1!==a.type.indexOf("mouse")))switch(b.touchObject.fingerCount=a.originalEvent&&void 0!==a.originalEvent.touches?a.originalEvent.touches.length:1,b.touchObject.minSwipe=b.listWidth/b.options.touchThreshold,b.options.verticalSwiping===!0&&(b.touchObject.minSwipe=b.listHeight/b.options.touchThreshold),a.data.action){case"start":b.swipeStart(a);break;case"move":b.swipeMove(a);break;case"end":b.swipeEnd(a)}},b.prototype.swipeMove=function(a){var b,c,d,e,f,g=this;return f=void 0!==a.originalEvent?a.originalEvent.touches:null,!g.dragging||f&&1!==f.length?!1:(b=g.getLeft(g.currentSlide),g.touchObject.curX=void 0!==f?f[0].pageX:a.clientX,g.touchObject.curY=void 0!==f?f[0].pageY:a.clientY,g.touchObject.swipeLength=Math.round(Math.sqrt(Math.pow(g.touchObject.curX-g.touchObject.startX,2))),g.options.verticalSwiping===!0&&(g.touchObject.swipeLength=Math.round(Math.sqrt(Math.pow(g.touchObject.curY-g.touchObject.startY,2)))),c=g.swipeDirection(),"vertical"!==c?(void 0!==a.originalEvent&&g.touchObject.swipeLength>4&&a.preventDefault(),e=(g.options.rtl===!1?1:-1)*(g.touchObject.curX>g.touchObject.startX?1:-1),g.options.verticalSwiping===!0&&(e=g.touchObject.curY>g.touchObject.startY?1:-1),d=g.touchObject.swipeLength,g.touchObject.edgeHit=!1,g.options.infinite===!1&&(0===g.currentSlide&&"right"===c||g.currentSlide>=g.getDotCount()&&"left"===c)&&(d=g.touchObject.swipeLength*g.options.edgeFriction,g.touchObject.edgeHit=!0),g.options.vertical===!1?g.swipeLeft=b+d*e:g.swipeLeft=b+d*(g.$list.height()/g.listWidth)*e,g.options.verticalSwiping===!0&&(g.swipeLeft=b+d*e),g.options.fade===!0||g.options.touchMove===!1?!1:g.animating===!0?(g.swipeLeft=null,!1):void g.setCSS(g.swipeLeft)):void 0)},b.prototype.swipeStart=function(a){var b,c=this;return c.interrupted=!0,1!==c.touchObject.fingerCount||c.slideCount<=c.options.slidesToShow?(c.touchObject={},!1):(void 0!==a.originalEvent&&void 0!==a.originalEvent.touches&&(b=a.originalEvent.touches[0]),c.touchObject.startX=c.touchObject.curX=void 0!==b?b.pageX:a.clientX,c.touchObject.startY=c.touchObject.curY=void 0!==b?b.pageY:a.clientY,void(c.dragging=!0))},b.prototype.unfilterSlides=b.prototype.slickUnfilter=function(){var a=this;null!==a.$slidesCache&&(a.unload(),a.$slideTrack.children(this.options.slide).detach(),a.$slidesCache.appendTo(a.$slideTrack),a.reinit())},b.prototype.unload=function(){var b=this;a(".slick-cloned",b.$slider).remove(),b.$dots&&b.$dots.remove(),b.$prevArrow&&b.htmlExpr.test(b.options.prevArrow)&&b.$prevArrow.remove(),b.$nextArrow&&b.htmlExpr.test(b.options.nextArrow)&&b.$nextArrow.remove(),b.$slides.removeClass("slick-slide slick-active slick-visible slick-current").attr("aria-hidden","true").css("width","")},b.prototype.unslick=function(a){var b=this;b.$slider.trigger("unslick",[b,a]),b.destroy()},b.prototype.updateArrows=function(){var a,b=this;a=Math.floor(b.options.slidesToShow/2),b.options.arrows===!0&&b.slideCount>b.options.slidesToShow&&!b.options.infinite&&(b.$prevArrow.removeClass("slick-disabled").attr("aria-disabled","false"),b.$nextArrow.removeClass("slick-disabled").attr("aria-disabled","false"),0===b.currentSlide?(b.$prevArrow.addClass("slick-disabled").attr("aria-disabled","true"),b.$nextArrow.removeClass("slick-disabled").attr("aria-disabled","false")):b.currentSlide>=b.slideCount-b.options.slidesToShow&&b.options.centerMode===!1?(b.$nextArrow.addClass("slick-disabled").attr("aria-disabled","true"),b.$prevArrow.removeClass("slick-disabled").attr("aria-disabled","false")):b.currentSlide>=b.slideCount-1&&b.options.centerMode===!0&&(b.$nextArrow.addClass("slick-disabled").attr("aria-disabled","true"),b.$prevArrow.removeClass("slick-disabled").attr("aria-disabled","false")))},b.prototype.updateDots=function(){var a=this;null!==a.$dots&&(a.$dots.find("li").removeClass("slick-active").attr("aria-hidden","true"),a.$dots.find("li").eq(Math.floor(a.currentSlide/a.options.slidesToScroll)).addClass("slick-active").attr("aria-hidden","false"))},b.prototype.visibility=function(){var a=this;a.options.autoplay&&(document[a.hidden]?a.interrupted=!0:a.interrupted=!1)},a.fn.slick=function(){var a,c,d=this,e=arguments[0],f=Array.prototype.slice.call(arguments,1),g=d.length;for(a=0;g>a;a++)if("object"==typeof e||"undefined"==typeof e?d[a].slick=new b(d[a],e):c=d[a].slick[e].apply(d[a].slick,f),"undefined"!=typeof c)return c;return d}});
|
@@ -0,0 +1,446 @@
|
|
1
|
+
|
2
|
+
/*
|
3
|
+
Lightbox for Bootstrap 3 by @ashleydw
|
4
|
+
https://github.com/ashleydw/lightbox
|
5
|
+
|
6
|
+
License: https://github.com/ashleydw/lightbox/blob/master/LICENSE
|
7
|
+
*/
|
8
|
+
|
9
|
+
(function() {
|
10
|
+
"use strict";
|
11
|
+
var $, EkkoLightbox;
|
12
|
+
|
13
|
+
$ = jQuery;
|
14
|
+
|
15
|
+
EkkoLightbox = function(element, options) {
|
16
|
+
var content, footer, header;
|
17
|
+
this.options = $.extend({
|
18
|
+
title: null,
|
19
|
+
footer: null,
|
20
|
+
remote: null
|
21
|
+
}, $.fn.ekkoLightbox.defaults, options || {});
|
22
|
+
this.$element = $(element);
|
23
|
+
content = '';
|
24
|
+
this.modal_id = this.options.modal_id ? this.options.modal_id : 'ekkoLightbox-' + Math.floor((Math.random() * 1000) + 1);
|
25
|
+
header = '<div class="modal-header"' + (this.options.title || this.options.always_show_close ? '' : ' style="display:none"') + '><button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button><h4 class="modal-title">' + (this.options.title || " ") + '</h4></div>';
|
26
|
+
footer = '<div class="modal-footer"' + (this.options.footer ? '' : ' style="display:none"') + '>' + this.options.footer + '</div>';
|
27
|
+
$(document.body).append('<div id="' + this.modal_id + '" class="ekko-lightbox modal fade" tabindex="-1"><div class="modal-dialog"><div class="modal-content">' + header + '<div class="modal-body"><div class="ekko-lightbox-container"><div></div></div></div>' + footer + '</div></div></div>');
|
28
|
+
this.modal = $('#' + this.modal_id);
|
29
|
+
this.modal_dialog = this.modal.find('.modal-dialog').first();
|
30
|
+
this.modal_content = this.modal.find('.modal-content').first();
|
31
|
+
this.modal_body = this.modal.find('.modal-body').first();
|
32
|
+
this.modal_header = this.modal.find('.modal-header').first();
|
33
|
+
this.modal_footer = this.modal.find('.modal-footer').first();
|
34
|
+
this.lightbox_container = this.modal_body.find('.ekko-lightbox-container').first();
|
35
|
+
this.lightbox_body = this.lightbox_container.find('> div:first-child').first();
|
36
|
+
this.showLoading();
|
37
|
+
this.modal_arrows = null;
|
38
|
+
this.border = {
|
39
|
+
top: parseFloat(this.modal_dialog.css('border-top-width')) + parseFloat(this.modal_content.css('border-top-width')) + parseFloat(this.modal_body.css('border-top-width')),
|
40
|
+
right: parseFloat(this.modal_dialog.css('border-right-width')) + parseFloat(this.modal_content.css('border-right-width')) + parseFloat(this.modal_body.css('border-right-width')),
|
41
|
+
bottom: parseFloat(this.modal_dialog.css('border-bottom-width')) + parseFloat(this.modal_content.css('border-bottom-width')) + parseFloat(this.modal_body.css('border-bottom-width')),
|
42
|
+
left: parseFloat(this.modal_dialog.css('border-left-width')) + parseFloat(this.modal_content.css('border-left-width')) + parseFloat(this.modal_body.css('border-left-width'))
|
43
|
+
};
|
44
|
+
this.padding = {
|
45
|
+
top: parseFloat(this.modal_dialog.css('padding-top')) + parseFloat(this.modal_content.css('padding-top')) + parseFloat(this.modal_body.css('padding-top')),
|
46
|
+
right: parseFloat(this.modal_dialog.css('padding-right')) + parseFloat(this.modal_content.css('padding-right')) + parseFloat(this.modal_body.css('padding-right')),
|
47
|
+
bottom: parseFloat(this.modal_dialog.css('padding-bottom')) + parseFloat(this.modal_content.css('padding-bottom')) + parseFloat(this.modal_body.css('padding-bottom')),
|
48
|
+
left: parseFloat(this.modal_dialog.css('padding-left')) + parseFloat(this.modal_content.css('padding-left')) + parseFloat(this.modal_body.css('padding-left'))
|
49
|
+
};
|
50
|
+
this.modal.on('show.bs.modal', this.options.onShow.bind(this)).on('shown.bs.modal', (function(_this) {
|
51
|
+
return function() {
|
52
|
+
_this.modal_shown();
|
53
|
+
return _this.options.onShown.call(_this);
|
54
|
+
};
|
55
|
+
})(this)).on('hide.bs.modal', this.options.onHide.bind(this)).on('hidden.bs.modal', (function(_this) {
|
56
|
+
return function() {
|
57
|
+
if (_this.gallery) {
|
58
|
+
$(document).off('keydown.ekkoLightbox');
|
59
|
+
}
|
60
|
+
_this.modal.remove();
|
61
|
+
return _this.options.onHidden.call(_this);
|
62
|
+
};
|
63
|
+
})(this)).modal('show', options);
|
64
|
+
return this.modal;
|
65
|
+
};
|
66
|
+
|
67
|
+
EkkoLightbox.prototype = {
|
68
|
+
modal_shown: function() {
|
69
|
+
var video_id;
|
70
|
+
if (!this.options.remote) {
|
71
|
+
return this.error('No remote target given');
|
72
|
+
} else {
|
73
|
+
this.gallery = this.$element.data('gallery');
|
74
|
+
if (this.gallery) {
|
75
|
+
if (this.options.gallery_parent_selector === 'document.body' || this.options.gallery_parent_selector === '') {
|
76
|
+
this.gallery_items = $(document.body).find('*[data-gallery="' + this.gallery + '"]');
|
77
|
+
} else {
|
78
|
+
this.gallery_items = this.$element.parents(this.options.gallery_parent_selector).first().find('*[data-gallery="' + this.gallery + '"]');
|
79
|
+
}
|
80
|
+
this.gallery_index = this.gallery_items.index(this.$element);
|
81
|
+
$(document).on('keydown.ekkoLightbox', this.navigate.bind(this));
|
82
|
+
if (this.options.directional_arrows && this.gallery_items.length > 1) {
|
83
|
+
this.lightbox_container.append('<div class="ekko-lightbox-nav-overlay"><a href="#" class="' + this.strip_stops(this.options.left_arrow_class) + '"></a><a href="#" class="' + this.strip_stops(this.options.right_arrow_class) + '"></a></div>');
|
84
|
+
this.modal_arrows = this.lightbox_container.find('div.ekko-lightbox-nav-overlay').first();
|
85
|
+
this.lightbox_container.find('a' + this.strip_spaces(this.options.left_arrow_class)).on('click', (function(_this) {
|
86
|
+
return function(event) {
|
87
|
+
event.preventDefault();
|
88
|
+
return _this.navigate_left();
|
89
|
+
};
|
90
|
+
})(this));
|
91
|
+
this.lightbox_container.find('a' + this.strip_spaces(this.options.right_arrow_class)).on('click', (function(_this) {
|
92
|
+
return function(event) {
|
93
|
+
event.preventDefault();
|
94
|
+
return _this.navigate_right();
|
95
|
+
};
|
96
|
+
})(this));
|
97
|
+
}
|
98
|
+
}
|
99
|
+
if (this.options.type) {
|
100
|
+
if (this.options.type === 'image') {
|
101
|
+
return this.preloadImage(this.options.remote, true);
|
102
|
+
} else if (this.options.type === 'youtube' && (video_id = this.getYoutubeId(this.options.remote))) {
|
103
|
+
return this.showYoutubeVideo(video_id);
|
104
|
+
} else if (this.options.type === 'vimeo') {
|
105
|
+
return this.showVimeoVideo(this.options.remote);
|
106
|
+
} else if (this.options.type === 'instagram') {
|
107
|
+
return this.showInstagramVideo(this.options.remote);
|
108
|
+
} else if (this.options.type === 'url') {
|
109
|
+
return this.loadRemoteContent(this.options.remote);
|
110
|
+
} else if (this.options.type === 'video') {
|
111
|
+
return this.showVideoIframe(this.options.remote);
|
112
|
+
} else {
|
113
|
+
return this.error("Could not detect remote target type. Force the type using data-type=\"image|youtube|vimeo|instagram|url|video\"");
|
114
|
+
}
|
115
|
+
} else {
|
116
|
+
return this.detectRemoteType(this.options.remote);
|
117
|
+
}
|
118
|
+
}
|
119
|
+
},
|
120
|
+
strip_stops: function(str) {
|
121
|
+
return str.replace(/\./g, '');
|
122
|
+
},
|
123
|
+
strip_spaces: function(str) {
|
124
|
+
return str.replace(/\s/g, '');
|
125
|
+
},
|
126
|
+
isImage: function(str) {
|
127
|
+
return str.match(/(^data:image\/.*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg)((\?|#).*)?$)/i);
|
128
|
+
},
|
129
|
+
isSwf: function(str) {
|
130
|
+
return str.match(/\.(swf)((\?|#).*)?$/i);
|
131
|
+
},
|
132
|
+
getYoutubeId: function(str) {
|
133
|
+
var match;
|
134
|
+
match = str.match(/^.*(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=|\&v=)([^#\&\?]*).*/);
|
135
|
+
if (match && match[2].length === 11) {
|
136
|
+
return match[2];
|
137
|
+
} else {
|
138
|
+
return false;
|
139
|
+
}
|
140
|
+
},
|
141
|
+
getVimeoId: function(str) {
|
142
|
+
if (str.indexOf('vimeo') > 0) {
|
143
|
+
return str;
|
144
|
+
} else {
|
145
|
+
return false;
|
146
|
+
}
|
147
|
+
},
|
148
|
+
getInstagramId: function(str) {
|
149
|
+
if (str.indexOf('instagram') > 0) {
|
150
|
+
return str;
|
151
|
+
} else {
|
152
|
+
return false;
|
153
|
+
}
|
154
|
+
},
|
155
|
+
navigate: function(event) {
|
156
|
+
event = event || window.event;
|
157
|
+
if (event.keyCode === 39 || event.keyCode === 37) {
|
158
|
+
if (event.keyCode === 39) {
|
159
|
+
return this.navigate_right();
|
160
|
+
} else if (event.keyCode === 37) {
|
161
|
+
return this.navigate_left();
|
162
|
+
}
|
163
|
+
}
|
164
|
+
},
|
165
|
+
navigateTo: function(index) {
|
166
|
+
var next, src;
|
167
|
+
if (index < 0 || index > this.gallery_items.length - 1) {
|
168
|
+
return this;
|
169
|
+
}
|
170
|
+
this.showLoading();
|
171
|
+
this.gallery_index = index;
|
172
|
+
this.$element = $(this.gallery_items.get(this.gallery_index));
|
173
|
+
this.updateTitleAndFooter();
|
174
|
+
src = this.$element.attr('data-remote') || this.$element.attr('href');
|
175
|
+
this.detectRemoteType(src, this.$element.attr('data-type') || false);
|
176
|
+
if (this.gallery_index + 1 < this.gallery_items.length) {
|
177
|
+
next = $(this.gallery_items.get(this.gallery_index + 1), false);
|
178
|
+
src = next.attr('data-remote') || next.attr('href');
|
179
|
+
if (next.attr('data-type') === 'image' || this.isImage(src)) {
|
180
|
+
return this.preloadImage(src, false);
|
181
|
+
}
|
182
|
+
}
|
183
|
+
},
|
184
|
+
navigate_left: function() {
|
185
|
+
if (this.gallery_items.length === 1) {
|
186
|
+
return;
|
187
|
+
}
|
188
|
+
if (this.gallery_index === 0) {
|
189
|
+
this.gallery_index = this.gallery_items.length - 1;
|
190
|
+
} else {
|
191
|
+
this.gallery_index--;
|
192
|
+
}
|
193
|
+
this.options.onNavigate.call(this, 'left', this.gallery_index);
|
194
|
+
return this.navigateTo(this.gallery_index);
|
195
|
+
},
|
196
|
+
navigate_right: function() {
|
197
|
+
if (this.gallery_items.length === 1) {
|
198
|
+
return;
|
199
|
+
}
|
200
|
+
if (this.gallery_index === this.gallery_items.length - 1) {
|
201
|
+
this.gallery_index = 0;
|
202
|
+
} else {
|
203
|
+
this.gallery_index++;
|
204
|
+
}
|
205
|
+
this.options.onNavigate.call(this, 'right', this.gallery_index);
|
206
|
+
return this.navigateTo(this.gallery_index);
|
207
|
+
},
|
208
|
+
detectRemoteType: function(src, type) {
|
209
|
+
var video_id;
|
210
|
+
type = type || false;
|
211
|
+
if (type === 'image' || this.isImage(src)) {
|
212
|
+
this.options.type = 'image';
|
213
|
+
return this.preloadImage(src, true);
|
214
|
+
} else if (type === 'youtube' || (video_id = this.getYoutubeId(src))) {
|
215
|
+
this.options.type = 'youtube';
|
216
|
+
return this.showYoutubeVideo(video_id);
|
217
|
+
} else if (type === 'vimeo' || (video_id = this.getVimeoId(src))) {
|
218
|
+
this.options.type = 'vimeo';
|
219
|
+
return this.showVimeoVideo(video_id);
|
220
|
+
} else if (type === 'instagram' || (video_id = this.getInstagramId(src))) {
|
221
|
+
this.options.type = 'instagram';
|
222
|
+
return this.showInstagramVideo(video_id);
|
223
|
+
} else if (type === 'video') {
|
224
|
+
this.options.type = 'video';
|
225
|
+
return this.showVideoIframe(video_id);
|
226
|
+
} else {
|
227
|
+
this.options.type = 'url';
|
228
|
+
return this.loadRemoteContent(src);
|
229
|
+
}
|
230
|
+
},
|
231
|
+
updateTitleAndFooter: function() {
|
232
|
+
var caption, footer, header, title;
|
233
|
+
header = this.modal_content.find('.modal-header');
|
234
|
+
footer = this.modal_content.find('.modal-footer');
|
235
|
+
title = this.$element.data('title') || "";
|
236
|
+
caption = this.$element.data('footer') || "";
|
237
|
+
if (title || this.options.always_show_close) {
|
238
|
+
header.css('display', '').find('.modal-title').html(title || " ");
|
239
|
+
} else {
|
240
|
+
header.css('display', 'none');
|
241
|
+
}
|
242
|
+
if (caption) {
|
243
|
+
footer.css('display', '').html(caption);
|
244
|
+
} else {
|
245
|
+
footer.css('display', 'none');
|
246
|
+
}
|
247
|
+
return this;
|
248
|
+
},
|
249
|
+
showLoading: function() {
|
250
|
+
this.lightbox_body.html('<div class="modal-loading">' + this.options.loadingMessage + '</div>');
|
251
|
+
return this;
|
252
|
+
},
|
253
|
+
showYoutubeVideo: function(id) {
|
254
|
+
var height, rel, width;
|
255
|
+
if ((this.$element.attr('data-norelated') != null) || this.options.no_related) {
|
256
|
+
rel = "&rel=0";
|
257
|
+
} else {
|
258
|
+
rel = "";
|
259
|
+
}
|
260
|
+
width = this.checkDimensions(this.$element.data('width') || 560);
|
261
|
+
height = width / (560 / 315);
|
262
|
+
return this.showVideoIframe('//www.youtube.com/embed/' + id + '?badge=0&autoplay=1&html5=1' + rel, width, height);
|
263
|
+
},
|
264
|
+
showVimeoVideo: function(id) {
|
265
|
+
var height, width;
|
266
|
+
width = this.checkDimensions(this.$element.data('width') || 560);
|
267
|
+
height = width / (500 / 281);
|
268
|
+
return this.showVideoIframe(id + '?autoplay=1', width, height);
|
269
|
+
},
|
270
|
+
showInstagramVideo: function(id) {
|
271
|
+
var height, width;
|
272
|
+
width = this.checkDimensions(this.$element.data('width') || 612);
|
273
|
+
this.resize(width);
|
274
|
+
height = width + 80;
|
275
|
+
this.lightbox_body.html('<iframe width="' + width + '" height="' + height + '" src="' + this.addTrailingSlash(id) + 'embed/" frameborder="0" allowfullscreen></iframe>');
|
276
|
+
this.options.onContentLoaded.call(this);
|
277
|
+
if (this.modal_arrows) {
|
278
|
+
return this.modal_arrows.css('display', 'none');
|
279
|
+
}
|
280
|
+
},
|
281
|
+
showVideoIframe: function(url, width, height) {
|
282
|
+
height = height || width;
|
283
|
+
this.resize(width);
|
284
|
+
this.lightbox_body.html('<div class="embed-responsive embed-responsive-16by9"><iframe width="' + width + '" height="' + height + '" src="' + url + '" frameborder="0" allowfullscreen class="embed-responsive-item"></iframe></div>');
|
285
|
+
this.options.onContentLoaded.call(this);
|
286
|
+
if (this.modal_arrows) {
|
287
|
+
this.modal_arrows.css('display', 'none');
|
288
|
+
}
|
289
|
+
return this;
|
290
|
+
},
|
291
|
+
loadRemoteContent: function(url) {
|
292
|
+
var disableExternalCheck, width;
|
293
|
+
width = this.$element.data('width') || 560;
|
294
|
+
this.resize(width);
|
295
|
+
disableExternalCheck = this.$element.data('disableExternalCheck') || false;
|
296
|
+
if (!disableExternalCheck && !this.isExternal(url)) {
|
297
|
+
this.lightbox_body.load(url, $.proxy((function(_this) {
|
298
|
+
return function() {
|
299
|
+
return _this.$element.trigger('loaded.bs.modal');
|
300
|
+
};
|
301
|
+
})(this)));
|
302
|
+
} else {
|
303
|
+
this.lightbox_body.html('<iframe width="' + width + '" height="' + width + '" src="' + url + '" frameborder="0" allowfullscreen></iframe>');
|
304
|
+
this.options.onContentLoaded.call(this);
|
305
|
+
}
|
306
|
+
if (this.modal_arrows) {
|
307
|
+
this.modal_arrows.css('display', 'none');
|
308
|
+
}
|
309
|
+
return this;
|
310
|
+
},
|
311
|
+
isExternal: function(url) {
|
312
|
+
var match;
|
313
|
+
match = url.match(/^([^:\/?#]+:)?(?:\/\/([^\/?#]*))?([^?#]+)?(\?[^#]*)?(#.*)?/);
|
314
|
+
if (typeof match[1] === "string" && match[1].length > 0 && match[1].toLowerCase() !== location.protocol) {
|
315
|
+
return true;
|
316
|
+
}
|
317
|
+
if (typeof match[2] === "string" && match[2].length > 0 && match[2].replace(new RegExp(":(" + {
|
318
|
+
"http:": 80,
|
319
|
+
"https:": 443
|
320
|
+
}[location.protocol] + ")?$"), "") !== location.host) {
|
321
|
+
return true;
|
322
|
+
}
|
323
|
+
return false;
|
324
|
+
},
|
325
|
+
error: function(message) {
|
326
|
+
this.lightbox_body.html(message);
|
327
|
+
return this;
|
328
|
+
},
|
329
|
+
preloadImage: function(src, onLoadShowImage) {
|
330
|
+
var img;
|
331
|
+
img = new Image();
|
332
|
+
if ((onLoadShowImage == null) || onLoadShowImage === true) {
|
333
|
+
img.onload = (function(_this) {
|
334
|
+
return function() {
|
335
|
+
var image;
|
336
|
+
image = $('<img />');
|
337
|
+
image.attr('src', img.src);
|
338
|
+
image.addClass('img-responsive');
|
339
|
+
_this.lightbox_body.html(image);
|
340
|
+
if (_this.modal_arrows) {
|
341
|
+
_this.modal_arrows.css('display', 'block');
|
342
|
+
}
|
343
|
+
return image.load(function() {
|
344
|
+
if (_this.options.scale_height) {
|
345
|
+
_this.scaleHeight(img.height, img.width);
|
346
|
+
} else {
|
347
|
+
_this.resize(img.width);
|
348
|
+
}
|
349
|
+
return _this.options.onContentLoaded.call(_this);
|
350
|
+
});
|
351
|
+
};
|
352
|
+
})(this);
|
353
|
+
img.onerror = (function(_this) {
|
354
|
+
return function() {
|
355
|
+
return _this.error('Failed to load image: ' + src);
|
356
|
+
};
|
357
|
+
})(this);
|
358
|
+
}
|
359
|
+
img.src = src;
|
360
|
+
return img;
|
361
|
+
},
|
362
|
+
scaleHeight: function(height, width) {
|
363
|
+
var border_padding, factor, footer_height, header_height, margins, max_height;
|
364
|
+
header_height = this.modal_header.outerHeight(true) || 0;
|
365
|
+
footer_height = this.modal_footer.outerHeight(true) || 0;
|
366
|
+
if (!this.modal_footer.is(':visible')) {
|
367
|
+
footer_height = 0;
|
368
|
+
}
|
369
|
+
if (!this.modal_header.is(':visible')) {
|
370
|
+
header_height = 0;
|
371
|
+
}
|
372
|
+
border_padding = this.border.top + this.border.bottom + this.padding.top + this.padding.bottom;
|
373
|
+
margins = parseFloat(this.modal_dialog.css('margin-top')) + parseFloat(this.modal_dialog.css('margin-bottom'));
|
374
|
+
max_height = $(window).height() - border_padding - margins - header_height - footer_height;
|
375
|
+
factor = Math.min(max_height / height, 1);
|
376
|
+
this.modal_dialog.css('height', 'auto').css('max-height', max_height);
|
377
|
+
return this.resize(factor * width);
|
378
|
+
},
|
379
|
+
resize: function(width) {
|
380
|
+
var width_total;
|
381
|
+
width_total = width + this.border.left + this.padding.left + this.padding.right + this.border.right;
|
382
|
+
this.modal_dialog.css('width', 'auto').css('max-width', width_total);
|
383
|
+
this.lightbox_container.find('a').css('line-height', function() {
|
384
|
+
return $(this).parent().height() + 'px';
|
385
|
+
});
|
386
|
+
return this;
|
387
|
+
},
|
388
|
+
checkDimensions: function(width) {
|
389
|
+
var body_width, width_total;
|
390
|
+
width_total = width + this.border.left + this.padding.left + this.padding.right + this.border.right;
|
391
|
+
body_width = document.body.clientWidth;
|
392
|
+
if (width_total > body_width) {
|
393
|
+
width = this.modal_body.width();
|
394
|
+
}
|
395
|
+
return width;
|
396
|
+
},
|
397
|
+
close: function() {
|
398
|
+
return this.modal.modal('hide');
|
399
|
+
},
|
400
|
+
addTrailingSlash: function(url) {
|
401
|
+
if (url.substr(-1) !== '/') {
|
402
|
+
url += '/';
|
403
|
+
}
|
404
|
+
return url;
|
405
|
+
}
|
406
|
+
};
|
407
|
+
|
408
|
+
$.fn.ekkoLightbox = function(options) {
|
409
|
+
return this.each(function() {
|
410
|
+
var $this;
|
411
|
+
$this = $(this);
|
412
|
+
options = $.extend({
|
413
|
+
remote: $this.attr('data-remote') || $this.attr('href'),
|
414
|
+
gallery_parent_selector: $this.attr('data-parent'),
|
415
|
+
type: $this.attr('data-type')
|
416
|
+
}, options, $this.data());
|
417
|
+
new EkkoLightbox(this, options);
|
418
|
+
return this;
|
419
|
+
});
|
420
|
+
};
|
421
|
+
|
422
|
+
$.fn.ekkoLightbox.defaults = {
|
423
|
+
gallery_parent_selector: 'document.body',
|
424
|
+
left_arrow_class: '.glyphicon .glyphicon-chevron-left',
|
425
|
+
right_arrow_class: '.glyphicon .glyphicon-chevron-right',
|
426
|
+
directional_arrows: true,
|
427
|
+
type: null,
|
428
|
+
always_show_close: true,
|
429
|
+
no_related: false,
|
430
|
+
scale_height: true,
|
431
|
+
loadingMessage: 'Loading...',
|
432
|
+
onShow: function() {},
|
433
|
+
onShown: function() {},
|
434
|
+
onHide: function() {},
|
435
|
+
onHidden: function() {},
|
436
|
+
onNavigate: function() {},
|
437
|
+
onContentLoaded: function() {}
|
438
|
+
};
|
439
|
+
|
440
|
+
}).call(this);
|
441
|
+
|
442
|
+
|
443
|
+
$(document).delegate('*[data-toggle="lightbox"]', 'click', function(event) {
|
444
|
+
event.preventDefault();
|
445
|
+
$(this).ekkoLightbox();
|
446
|
+
});
|