[Libreoffice-commits] online.git: loleaflet/js

Andras Timar (via logerrit) logerrit at kemper.freedesktop.org
Thu Jun 11 11:00:34 UTC 2020


 loleaflet/js/jquery.mCustomScrollbar.js |  786 ++++++++++++++++----------------
 1 file changed, 393 insertions(+), 393 deletions(-)

New commits:
commit 8ea0b6acbcbe691cd31cabd1a357602591c94860
Author:     Andras Timar <andras.timar at collabora.com>
AuthorDate: Thu Jun 11 12:15:01 2020 +0200
Commit:     Andras Timar <andras.timar at collabora.com>
CommitDate: Thu Jun 11 13:00:13 2020 +0200

    jquery.mCustomScrollbar.js: whitespace changes only
    
    Change-Id: I23eadea7e0581ab068588af444794697c1d86bb5
    Reviewed-on: https://gerrit.libreoffice.org/c/online/+/96113
    Tested-by: Jenkins
    Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice at gmail.com>
    Reviewed-by: Andras Timar <andras.timar at collabora.com>

diff --git a/loleaflet/js/jquery.mCustomScrollbar.js b/loleaflet/js/jquery.mCustomScrollbar.js
index 79bf0521f..ffd8e1bba 100644
--- a/loleaflet/js/jquery.mCustomScrollbar.js
+++ b/loleaflet/js/jquery.mCustomScrollbar.js
@@ -1,8 +1,8 @@
 /* -*- js-indent-level: 8; indent-tabs-mode: t; fill-column: 120 -*- */
 /*
-== malihu jquery custom scrollbar plugin == 
+== malihu jquery custom scrollbar plugin ==
 Version: 3.1.5
-Plugin URI: http://manos.malihu.gr/jquery-custom-content-scroller 
+Plugin URI: http://manos.malihu.gr/jquery-custom-content-scroller
 Author: malihu
 Author URI: http://manos.malihu.gr
 License: MIT License (MIT)
@@ -31,10 +31,10 @@ THE SOFTWARE.
 */
 
 /*
-The code below is fairly long, fully commented and should be normally used in development. 
-For production, use either the minified jquery.mCustomScrollbar.min.js script or 
-the production-ready jquery.mCustomScrollbar.concat.min.js which contains the plugin 
-and dependencies (minified). 
+The code below is fairly long, fully commented and should be normally used in development.
+For production, use either the minified jquery.mCustomScrollbar.min.js script or
+the production-ready jquery.mCustomScrollbar.concat.min.js which contains the plugin
+and dependencies (minified).
 */
 
 (function(factory){
@@ -55,60 +55,60 @@ and dependencies (minified).
 		if(_njs){
 			require("jquery-mousewheel")($);
 		}else{
-			/* load jquery-mousewheel plugin (via CDN) if it's not present or not loaded via RequireJS 
+			/* load jquery-mousewheel plugin (via CDN) if it's not present or not loaded via RequireJS
 			(works when mCustomScrollbar fn is called on window load) */
 			$.event.special.mousewheel || $("head").append(decodeURI("%3Cscript src="+_dlp+"//"+_url+"%3E%3C/script%3E"));
 		}
 	}
 	init();
 }(function(){
-	
-	/* 
+
+	/*
 	----------------------------------------
-	PLUGIN NAMESPACE, PREFIX, DEFAULT SELECTOR(S) 
+	PLUGIN NAMESPACE, PREFIX, DEFAULT SELECTOR(S)
 	----------------------------------------
 	*/
-	
+
 	var pluginNS="mCustomScrollbar",
 		pluginPfx="mCS",
 		defaultSelector=".mCustomScrollbar",
-	
-	
-		
-	
-	
-	/* 
+
+
+
+
+
+	/*
 	----------------------------------------
-	DEFAULT OPTIONS 
+	DEFAULT OPTIONS
 	----------------------------------------
 	*/
-	
+
 		defaults={
 			/*
-			set element/content width/height programmatically 
-			values: boolean, pixels, percentage 
+			set element/content width/height programmatically
+			values: boolean, pixels, percentage
 				option						default
 				-------------------------------------
 				setWidth					false
 				setHeight					false
 			*/
 			/*
-			set the initial css top property of content  
+			set the initial css top property of content
 			values: string (e.g. "-100px", "10%" etc.)
 			*/
 			setTop:0,
 			/*
-			set the initial css left property of content  
+			set the initial css left property of content
 			values: string (e.g. "-100px", "10%" etc.)
 			*/
 			setLeft:0,
-			/* 
-			scrollbar axis (vertical and/or horizontal scrollbars) 
+			/*
+			scrollbar axis (vertical and/or horizontal scrollbars)
 			values (string): "y", "x", "yx"
 			*/
 			axis:"y",
 			/*
-			position of scrollbar relative to content  
+			position of scrollbar relative to content
 			values (string): "inside", "outside" ("outside" requires elements with position:relative)
 			*/
 			scrollbarPosition:"inside",
@@ -117,13 +117,13 @@ and dependencies (minified).
 			values: integer (milliseconds)
 			*/
 			scrollInertia:950,
-			/* 
+			/*
 			auto-adjust scrollbar dragger length
 			values: boolean
 			*/
 			autoDraggerLength:true,
 			/*
-			auto-hide scrollbar when idle 
+			auto-hide scrollbar when idle
 			values: boolean
 				option						default
 				-------------------------------------
@@ -137,7 +137,7 @@ and dependencies (minified).
 				autoExpandScrollbar			false
 			*/
 			/*
-			always show scrollbar, even when there's nothing to scroll 
+			always show scrollbar, even when there's nothing to scroll
 			values: integer (0=disable, 1=always show dragger rail and buttons, 2=always show dragger rail, dragger and buttons), boolean
 			*/
 			alwaysShowScrollbar:0,
@@ -149,52 +149,52 @@ and dependencies (minified).
 				snapAmount					null
 			*/
 			/*
-			when snapping, snap with this number in pixels as an offset 
+			when snapping, snap with this number in pixels as an offset
 			values: integer
 			*/
 			snapOffset:0,
-			/* 
+			/*
 			mouse-wheel scrolling
 			*/
 			mouseWheel:{
-				/* 
+				/*
 				enable mouse-wheel scrolling
 				values: boolean
 				*/
 				enable:true,
-				/* 
+				/*
 				scrolling amount in pixels
-				values: "auto", integer 
+				values: "auto", integer
 				*/
 				scrollAmount:"auto",
-				/* 
-				mouse-wheel scrolling axis 
-				the default scrolling direction when both vertical and horizontal scrollbars are present 
-				values (string): "y", "x" 
+				/*
+				mouse-wheel scrolling axis
+				the default scrolling direction when both vertical and horizontal scrollbars are present
+				values (string): "y", "x"
 				*/
 				axis:"y",
-				/* 
-				prevent the default behaviour which automatically scrolls the parent element(s) when end of scrolling is reached 
+				/*
+				prevent the default behaviour which automatically scrolls the parent element(s) when end of scrolling is reached
 				values: boolean
 					option						default
 					-------------------------------------
 					preventDefault				null
 				*/
 				/*
-				the reported mouse-wheel delta value. The number of lines (translated to pixels) one wheel notch scrolls.  
-				values: "auto", integer 
-				"auto" uses the default OS/browser value 
+				the reported mouse-wheel delta value. The number of lines (translated to pixels) one wheel notch scrolls.
+				values: "auto", integer
+				"auto" uses the default OS/browser value
 				*/
 				deltaFactor:"auto",
 				/*
-				normalize mouse-wheel delta to -1 or 1 (disables mouse-wheel acceleration) 
+				normalize mouse-wheel delta to -1 or 1 (disables mouse-wheel acceleration)
 				values: boolean
 					option						default
 					-------------------------------------
 					normalizeDelta				null
 				*/
 				/*
-				invert mouse-wheel scrolling direction 
+				invert mouse-wheel scrolling direction
 				values: boolean
 					option						default
 					-------------------------------------
@@ -205,10 +205,10 @@ and dependencies (minified).
 				*/
 				disableOver:["select","option","keygen","datalist","textarea"]
 			},
-			/* 
+			/*
 			scrollbar buttons
 			*/
-			scrollButtons:{ 
+			scrollButtons:{
 				/*
 				enable scrollbar buttons
 				values: boolean
@@ -217,13 +217,13 @@ and dependencies (minified).
 					enable						null
 				*/
 				/*
-				scrollbar buttons scrolling type 
+				scrollbar buttons scrolling type
 				values (string): "stepless", "stepped"
 				*/
 				scrollType:"stepless",
 				/*
 				scrolling amount in pixels
-				values: "auto", integer 
+				values: "auto", integer
 				*/
 				scrollAmount:"auto"
 				/*
@@ -234,34 +234,34 @@ and dependencies (minified).
 					tabindex					null
 				*/
 			},
-			/* 
+			/*
 			keyboard scrolling
 			*/
-			keyboard:{ 
+			keyboard:{
 				/*
 				enable scrolling via keyboard
 				values: boolean
 				*/
 				enable:true,
 				/*
-				keyboard scrolling type 
+				keyboard scrolling type
 				values (string): "stepless", "stepped"
 				*/
 				scrollType:"stepless",
 				/*
 				scrolling amount in pixels
-				values: "auto", integer 
+				values: "auto", integer
 				*/
 				scrollAmount:"auto"
 			},
 			/*
-			enable content touch-swipe scrolling 
+			enable content touch-swipe scrolling
 			values: boolean, integer, string (number)
 			integer values define the axis-specific minimum amount required for scrolling momentum
 			*/
 			contentTouchScroll:25,
 			/*
-			enable/disable document (default) touch-swipe scrolling 
+			enable/disable document (default) touch-swipe scrolling
 			*/
 			documentTouchScroll:true,
 			/*
@@ -269,7 +269,7 @@ and dependencies (minified).
 			*/
 			advanced:{
 				/*
-				auto-expand content horizontally (for "x" or "yx" axis) 
+				auto-expand content horizontally (for "x" or "yx" axis)
 				values: boolean, integer (the value 2 forces the non scrollHeight/scrollWidth method, the value 3 forces the scrollHeight/scrollWidth method)
 					option						default
 					-------------------------------------
@@ -280,8 +280,8 @@ and dependencies (minified).
 				*/
 				autoScrollOnFocus:"input,textarea,select,button,datalist,keygen,a[tabindex],area,object,[contenteditable='true']",
 				/*
-				auto-update scrollbars on content, element or viewport resize 
-				should be true for fluid layouts/elements, adding/removing content dynamically, hiding/showing elements, content with images etc. 
+				auto-update scrollbars on content, element or viewport resize
+				should be true for fluid layouts/elements, adding/removing content dynamically, hiding/showing elements, content with images etc.
 				values: boolean
 				*/
 				updateOnContentResize:true,
@@ -291,14 +291,14 @@ and dependencies (minified).
 				*/
 				jumpOnContentResize:true,
 				/*
-				auto-update scrollbars each time each image inside the element is fully loaded 
+				auto-update scrollbars each time each image inside the element is fully loaded
 				values: "auto", boolean
 				*/
 				updateOnImageLoad:"auto",
 				/*
-				auto-update scrollbars based on the amount and size changes of specific selectors 
-				useful when you need to update the scrollbar(s) automatically, each time a type of element is added, removed or changes its size 
-				values: boolean, string (e.g. "ul li" will auto-update scrollbars each time list-items inside the element are changed) 
+				auto-update scrollbars based on the amount and size changes of specific selectors
+				useful when you need to update the scrollbar(s) automatically, each time a type of element is added, removed or changes its size
+				values: boolean, string (e.g. "ul li" will auto-update scrollbars each time list-items inside the element are changed)
 				a value of true (boolean) will auto-update scrollbars each time any element is changed
 					option						default
 					-------------------------------------
@@ -317,13 +317,13 @@ and dependencies (minified).
 					releaseDraggableSelectors	null
 				*/
 				/*
-				auto-update timeout 
+				auto-update timeout
 				values: integer (milliseconds)
 				*/
 				autoUpdateTimeout:60
 			},
-			/* 
-			scrollbar theme 
+			/*
+			scrollbar theme
 			values: string (see CSS/plugin URI for a list of ready-to-use themes)
 			*/
 			theme:"light",
@@ -332,7 +332,7 @@ and dependencies (minified).
 			*/
 			callbacks:{
 				/*
-				Available callbacks: 
+				Available callbacks:
 					callback					default
 					-------------------------------------
 					onCreate					null
@@ -356,8 +356,8 @@ and dependencies (minified).
 				alwaysTriggerOffsets:true
 			}
 			/*
-			add scrollbar(s) on all elements matching the current selector, now and in the future 
-			values: boolean, string 
+			add scrollbar(s) on all elements matching the current selector, now and in the future
+			values: boolean, string
 			string values: "on" (enable), "once" (disable after first invocation), "off" (disable)
 			liveSelector values: string (selector)
 				option						default
@@ -366,17 +366,17 @@ and dependencies (minified).
 				liveSelector				null
 			*/
 		},
-	
-	
-	
-	
-	
-	/* 
+
+
+
+
+
+	/*
 	----------------------------------------
-	VARS, CONSTANTS 
+	VARS, CONSTANTS
 	----------------------------------------
 	*/
-	
+
 		totalInstances=0, /* plugin instances amount */
 		liveTimers={}, /* live option timers */
 		oldIE=(window.attachEvent && !window.addEventListener) ? 1 : 0, /* detect IE < 9 */
@@ -387,41 +387,41 @@ and dependencies (minified).
 			"mCS-autoHide","mCS-dir-rtl","mCS_no_scrollbar_y","mCS_no_scrollbar_x","mCS_y_hidden","mCS_x_hidden","mCSB_draggerContainer",
 			"mCSB_buttonUp","mCSB_buttonDown","mCSB_buttonLeft","mCSB_buttonRight"
 		],
-		
-	
-	
-	
-	
-	/* 
+
+
+
+
+
+	/*
 	----------------------------------------
-	METHODS 
+	METHODS
 	----------------------------------------
 	*/
-	
+
 		methods={
-			
-			/* 
-			plugin initialization method 
+
+			/*
+			plugin initialization method
 			creates the scrollbar(s), plugin data object and options
 			----------------------------------------
 			*/
-			
+
 			init:function(options){
-				
+
 				var options=$.extend(true,{},defaults,options),
 					selector=_selector.call(this); /* validate selector */
-				
-				/* 
-				if live option is enabled, monitor for elements matching the current selector and 
-				apply scrollbar(s) when found (now and in the future) 
+
+				/*
+				if live option is enabled, monitor for elements matching the current selector and
+				apply scrollbar(s) when found (now and in the future)
 				*/
 				if(options.live){
 					var liveSelector=options.liveSelector || this.selector || defaultSelector, /* live selector(s) */
 						$liveSelector=$(liveSelector); /* live selector(s) as jquery object */
 					if(options.live==="off"){
-						/* 
-						disable live if requested 
-						usage: $(selector).mCustomScrollbar({live:"off"}); 
+						/*
+						disable live if requested
+						usage: $(selector).mCustomScrollbar({live:"off"});
 						*/
 						removeLiveTimers(liveSelector);
 						return;
@@ -437,7 +437,7 @@ and dependencies (minified).
 				}else{
 					removeLiveTimers(liveSelector);
 				}
-				
+
 				/* options backward compatibility (for versions < 3.0.0) and normalization */
 				options.setWidth=(options.set_width) ? options.set_width : options.setWidth;
 				options.setHeight=(options.set_height) ? options.set_height : options.setHeight;
@@ -448,17 +448,17 @@ and dependencies (minified).
 				}
 				options.mouseWheel.scrollAmount=!options.mouseWheelPixels ? options.mouseWheel.scrollAmount : options.mouseWheelPixels;
 				options.mouseWheel.normalizeDelta=!options.advanced.normalizeMouseWheelDelta ? options.mouseWheel.normalizeDelta : options.advanced.normalizeMouseWheelDelta;
-				options.scrollButtons.scrollType=_findScrollButtonsType(options.scrollButtons.scrollType); 
-				
+				options.scrollButtons.scrollType=_findScrollButtonsType(options.scrollButtons.scrollType);
+
 				_theme(options); /* theme-specific options */
-				
+
 				/* plugin constructor */
 				return $(selector).each(function(){
-					
+
 					var $this=$(this);
-					
+
 					if(!$this.data(pluginPfx)){ /* prevent multiple instantiations */
-					
+
 						/* store options and create objects in jquery data */
 						$this.data(pluginPfx,{
 							idx:++totalInstances, /* instance index */
@@ -471,99 +471,99 @@ and dependencies (minified).
 							sequential:{}, /* sequential scrolling object */
 							langDir:$this.css("direction"), /* detect/store direction (ltr or rtl) */
 							cbOffsets:null, /* object to check whether callback offsets always trigger */
-							/* 
-							object to check how scrolling events where last triggered 
-							"internal" (default - triggered by this script), "external" (triggered by other scripts, e.g. via scrollTo method) 
+							/*
+							object to check how scrolling events where last triggered
+							"internal" (default - triggered by this script), "external" (triggered by other scripts, e.g. via scrollTo method)
 							usage: object.data("mCS").trigger
 							*/
 							trigger:null,
-							/* 
-							object to check for changes in elements in order to call the update method automatically 
+							/*
+							object to check for changes in elements in order to call the update method automatically
 							*/
 							poll:{size:{o:0,n:0},img:{o:0,n:0},change:{o:0,n:0}}
 						});
-						
+
 						var d=$this.data(pluginPfx),o=d.opt,
 							/* HTML data attributes */
 							htmlDataAxis=$this.data("mcs-axis"),htmlDataSbPos=$this.data("mcs-scrollbar-position"),htmlDataTheme=$this.data("mcs-theme");
-						 
+
 						if(htmlDataAxis){o.axis=htmlDataAxis;} /* usage example: data-mcs-axis="y" */
 						if(htmlDataSbPos){o.scrollbarPosition=htmlDataSbPos;} /* usage example: data-mcs-scrollbar-position="outside" */
 						if(htmlDataTheme){ /* usage example: data-mcs-theme="minimal" */
 							o.theme=htmlDataTheme;
 							_theme(o); /* theme-specific options */
 						}
-						
+
 						_pluginMarkup.call(this); /* add plugin markup */
-						
+
 						if(d && o.callbacks.onCreate && typeof o.callbacks.onCreate==="function"){o.callbacks.onCreate.call(this);} /* callbacks: onCreate */
-						
+
 						$("#mCSB_"+d.idx+"_container img:not(."+classes[2]+")").addClass(classes[2]); /* flag loaded images */
-						
+
 						methods.update.call(null,$this); /* call the update method */
-					
+
 					}
-					
+
 				});
-				
+
 			},
 			/* ---------------------------------------- */
-			
-			
-			
-			/* 
-			plugin update method 
-			updates content and scrollbar(s) values, events and status 
+
+
+
+			/*
+			plugin update method
+			updates content and scrollbar(s) values, events and status
 			----------------------------------------
 			usage: $(selector).mCustomScrollbar("update");
 			*/
-			
+
 			update:function(el,cb){
-				
+
 				var selector=el || _selector.call(this); /* validate selector */
-				
+
 				return $(selector).each(function(){
-					
+
 					var $this=$(this);
-					
+
 					if($this.data(pluginPfx)){ /* check if plugin has initialized */
-						
+
 						var d=$this.data(pluginPfx),o=d.opt,
 							mCSB_container=$("#mCSB_"+d.idx+"_container"),
 							mCustomScrollBox=$("#mCSB_"+d.idx),
 							mCSB_dragger=[$("#mCSB_"+d.idx+"_dragger_vertical"),$("#mCSB_"+d.idx+"_dragger_horizontal")];
-						
+
 						if(!mCSB_container.length){return;}
-						
+
 						if(d.tweenRunning){_stop($this);} /* stop any running tweens while updating */
-						
+
 						if(cb && d && o.callbacks.onBeforeUpdate && typeof o.callbacks.onBeforeUpdate==="function"){o.callbacks.onBeforeUpdate.call(this);} /* callbacks: onBeforeUpdate */
-						
+
 						/* if element was disabled or destroyed, remove class(es) */
 						if($this.hasClass(classes[3])){$this.removeClass(classes[3]);}
 						if($this.hasClass(classes[4])){$this.removeClass(classes[4]);}
-						
+
 						/* css flexbox fix, detect/set max-height */
 						mCustomScrollBox.css("max-height","none");
 						if(mCustomScrollBox.height()!==$this.height()){mCustomScrollBox.css("max-height",$this.height());}
-						
+
 						_expandContentHorizontally.call(this); /* expand content horizontally */
-						
+
 						if(o.axis!=="y" && !o.advanced.autoExpandHorizontalScroll){
 							mCSB_container.css("width",_contentWidth(mCSB_container));
 						}
-						
+
 						d.overflowed=_overflowed.call(this); /* determine if scrolling is required */
-						
+
 						_scrollbarVisibility.call(this); /* show/hide scrollbar(s) */
-						
+
 						/* auto-adjust scrollbar dragger length analogous to content */
 						if(o.autoDraggerLength){_setDraggerLength.call(this);}
-						
+
 						_scrollRatio.call(this); /* calculate and store scrollbar to content ratio */
-						
+
 						_bindEvents.call(this); /* bind scrollbar events */
-						
+
 						/* reset scrolling position and/or events */
 						var to=[Math.abs(mCSB_container[0].offsetTop),Math.abs(mCSB_container[0].offsetLeft)];
 						if(o.axis!=="x"){ /* y/yx axis */
@@ -602,7 +602,7 @@ and dependencies (minified).
 								d.contentReset.x=null;
 							}
 						}
-						
+
 						/* callbacks: onImageLoad, onSelectorChange, onUpdate */
 						if(cb && d){
 							if(cb===2 && o.callbacks.onImageLoad && typeof o.callbacks.onImageLoad==="function"){
@@ -613,38 +613,38 @@ and dependencies (minified).
 								o.callbacks.onUpdate.call(this);
 							}
 						}
-						
+
 						_autoUpdate.call(this); /* initialize automatic updating (for dynamic content, fluid layouts etc.) */
-						
+
 					}
-					
+
 				});
-				
+
 			},
 			/* ---------------------------------------- */
-			
-			
-			
-			/* 
-			plugin scrollTo method 
+
+
+
+			/*
+			plugin scrollTo method
 			triggers a scrolling event to a specific value
 			----------------------------------------
 			usage: $(selector).mCustomScrollbar("scrollTo",value,options);
 			*/
-		
+
 			scrollTo:function(val,options){
-				
+
 				/* prevent silly things like $(selector).mCustomScrollbar("scrollTo",undefined); */
 				if(typeof val=="undefined" || val==null){return;}
-				
+
 				var selector=_selector.call(this); /* validate selector */
-				
+
 				return $(selector).each(function(){
-					
+
 					var $this=$(this);
-					
+
 					if($this.data(pluginPfx)){ /* check if plugin has initialized */
-					
+
 						/* Ugly hack extension: When vertical scrollbar position
 						   was very close to the end of spreadsheet, next part of
 						   the document has to be loaded. This contidion is fulfilled
@@ -669,23 +669,23 @@ and dependencies (minified).
 							},
 							methodOptions=$.extend(true,{},methodDefaults,options),
 							to=_arr.call(this,val),dur=methodOptions.scrollInertia>0 && methodOptions.scrollInertia<17 ? 17 : methodOptions.scrollInertia;
-						
+
 						/* translate yx values to actual scroll-to positions */
 						to[0]=_to.call(this,to[0],"y");
 						to[1]=_to.call(this,to[1],"x");
-						
-						/* 
-						check if scroll-to value moves the dragger instead of content. 
-						Only pixel values apply on dragger (e.g. 100, "100px", "-=100" etc.) 
+
+						/*
+						check if scroll-to value moves the dragger instead of content.
+						Only pixel values apply on dragger (e.g. 100, "100px", "-=100" etc.)
 						*/
 						if(methodOptions.moveDragger){
 							to[0]*=d.scrollRatio.y;
 							to[1]*=d.scrollRatio.x;
 						}
-						
+
 						methodOptions.dur=_isTabHidden() ? 0 : dur; //skip animations if browser tab is hidden
-						
-						setTimeout(function(){ 
+
+						setTimeout(function(){
 							/* do the scrolling */
 							if(to[0]!==null && typeof to[0]!=="undefined" && o.axis!=="x" && d.overflowed[0]){ /* scroll y */
 								methodOptions.dir="y";
@@ -698,147 +698,147 @@ and dependencies (minified).
 								_scrollTo($this,to[1].toString(),methodOptions);
 							}
 						},methodOptions.timeout);
-						
+
 					}
-					
+
 				});
-				
+
 			},
 			/* ---------------------------------------- */
-			
-			
-			
+
+
+
 			/*
-			plugin stop method 
+			plugin stop method
 			stops scrolling animation
 			----------------------------------------
 			usage: $(selector).mCustomScrollbar("stop");
 			*/
 			stop:function(){
-				
+
 				var selector=_selector.call(this); /* validate selector */
-				
+
 				return $(selector).each(function(){
-					
+
 					var $this=$(this);
-					
+
 					if($this.data(pluginPfx)){ /* check if plugin has initialized */
-										
+
 						_stop($this);
-					
+
 					}
-					
+
 				});
-				
+
 			},
 			/* ---------------------------------------- */
-			
-			
-			
+
+
+
 			/*
-			plugin disable method 
-			temporarily disables the scrollbar(s) 
+			plugin disable method
+			temporarily disables the scrollbar(s)
 			----------------------------------------
-			usage: $(selector).mCustomScrollbar("disable",reset); 
-			reset (boolean): resets content position to 0 
+			usage: $(selector).mCustomScrollbar("disable",reset);
+			reset (boolean): resets content position to 0
 			*/
 			disable:function(r){
-				
+
 				var selector=_selector.call(this); /* validate selector */
-				
+
 				return $(selector).each(function(){
-					
+
 					var $this=$(this);
-					
+
 					if($this.data(pluginPfx)){ /* check if plugin has initialized */
-						
+
 						var d=$this.data(pluginPfx);
-						
+
 						_autoUpdate.call(this,"remove"); /* remove automatic updating */
-						
+
 						_unbindEvents.call(this); /* unbind events */
-						
+
 						if(r){_resetContentPosition.call(this);} /* reset content position */
-						
+
 						_scrollbarVisibility.call(this,true); /* show/hide scrollbar(s) */
-						
+
 						$this.addClass(classes[3]); /* add disable class */
-					
+
 					}
-					
+
 				});
-				
+
 			},
 			/* ---------------------------------------- */
-			
-			
-			
+
+
+
 			/*
-			plugin destroy method 
+			plugin destroy method
 			completely removes the scrollbar(s) and returns the element to its original state
 			----------------------------------------
-			usage: $(selector).mCustomScrollbar("destroy"); 
+			usage: $(selector).mCustomScrollbar("destroy");
 			*/
 			destroy:function(){
-				
+
 				var selector=_selector.call(this); /* validate selector */
-				
+
 				return $(selector).each(function(){
-					
+
 					var $this=$(this);
-					
+
 					if($this.data(pluginPfx)){ /* check if plugin has initialized */
-					
+
 						var d=$this.data(pluginPfx),o=d.opt,
 							mCustomScrollBox=$("#mCSB_"+d.idx),
 							mCSB_container=$("#mCSB_"+d.idx+"_container"),
 							scrollbar=$(".mCSB_"+d.idx+"_scrollbar");
-					
+
 						if(o.live){removeLiveTimers(o.liveSelector || $(selector).selector);} /* remove live timers */
-						
+
 						_autoUpdate.call(this,"remove"); /* remove automatic updating */
-						
+
 						_unbindEvents.call(this); /* unbind events */
-						
+
 						_resetContentPosition.call(this); /* reset content position */
-						
+
 						$this.removeData(pluginPfx); /* remove plugin data object */
-						
+
 						_delete(this,"mcs"); /* delete callbacks object */
-						
+
 						/* remove plugin markup */
 						scrollbar.remove(); /* remove scrollbar(s) first (those can be either inside or outside plugin's inner wrapper) */
 						mCSB_container.find("img."+classes[2]).removeClass(classes[2]); /* remove loaded images flag */
 						mCustomScrollBox.replaceWith(mCSB_container.contents()); /* replace plugin's inner wrapper with the original content */
 						/* remove plugin classes from the element and add destroy class */
 						$this.removeClass(pluginNS+" _"+pluginPfx+"_"+d.idx+" "+classes[6]+" "+classes[7]+" "+classes[5]+" "+classes[3]).addClass(classes[4]);
-					
+
 					}
-					
+
 				});
-				
+
 			}
 			/* ---------------------------------------- */
-			
+
 		},
-	
-	
-	
-	
-		
-	/* 
+
+
+
+
+
+	/*
 	----------------------------------------
 	FUNCTIONS
 	----------------------------------------
 	*/
-	
+
 		/* validates selector (if selector is invalid or undefined uses the default one) */
 		_selector=function(){
 			return (typeof $(this)!=="object" || $(this).length<1) ? defaultSelector : this;
 		},
 		/* -------------------- */
-		
-		
+
+
 		/* changes options according to theme */
 		_theme=function(obj){
 			var fixedSizeScrollbarThemes=["rounded","rounded-dark","rounded-dots","rounded-dots-dark"],
@@ -853,8 +853,8 @@ and dependencies (minified).
 			obj.scrollbarPosition=$.inArray(obj.theme,scrollbarPositionOutsideThemes) > -1 ? "outside" : obj.scrollbarPosition;
 		},
 		/* -------------------- */
-		
-		
+
+
 		/* live option timers removal */
 		removeLiveTimers=function(selector){
 			if(liveTimers[selector]){
@@ -863,22 +863,22 @@ and dependencies (minified).
 			}
 		},
 		/* -------------------- */
-		
-		
+
+
 		/* normalizes axis option to valid values: "y", "x", "yx" */
 		_findAxis=function(val){
 			return (val==="yx" || val==="xy" || val==="auto") ? "yx" : (val==="x" || val==="horizontal") ? "x" : "y";
 		},
 		/* -------------------- */
-		
-		
+
+
 		/* normalizes scrollButtons.scrollType option to valid values: "stepless", "stepped" */
 		_findScrollButtonsType=function(val){
 			return (val==="stepped" || val==="pixels" || val==="step" || val==="click") ? "stepped" : "stepless";
 		},
 		/* -------------------- */
-		
-		
+
+
 		/* generates plugin markup */
 		_pluginMarkup=function(){
 			var $this=$(this),d=$this.data(pluginPfx),o=d.opt,
@@ -915,16 +915,16 @@ and dependencies (minified).
 			mCSB_dragger[1].css("min-width",mCSB_dragger[1].width());
 		},
 		/* -------------------- */
-		
-		
+
+
 		/* calculates content width */
 		_contentWidth=function(el){
 			var val=[el[0].scrollWidth,Math.max.apply(Math,el.children().map(function(){return $(this).outerWidth(true);}).get())],w=el.parent().width();
 			return val[0]>w ? val[0] : val[1]>w ? val[1] : "100%";
 		},
 		/* -------------------- */
-		
-		
+
+
 		/* expands content horizontally */
 		_expandContentHorizontally=function(){
 			var $this=$(this),d=$this.data(pluginPfx),o=d.opt,
@@ -936,16 +936,16 @@ and dependencies (minified).
 				if(o.advanced.autoExpandHorizontalScroll===3 || (o.advanced.autoExpandHorizontalScroll!==2 && w>mCSB_container.parent().width())){
 					mCSB_container.css({"width":w,"min-width":"100%","overflow-x":"inherit"});
 				}else{
-					/* 
-					wrap content with an infinite width div and set its position to absolute and width to auto. 
-					Setting width to auto before calculating the actual width is important! 
+					/*
+					wrap content with an infinite width div and set its position to absolute and width to auto.
+					Setting width to auto before calculating the actual width is important!
 					We must let the browser set the width as browser zoom values are impossible to calculate.
 					*/
 					mCSB_container.css({"overflow-x":"inherit","position":"absolute"})
 						.wrap("<div class='mCSB_h_wrapper' style='position:relative; left:0; width:999999px;' />")
 						.css({ /* set actual width, original position and un-wrap */
-							/* 
-							get the exact width (with decimals) and then round-up. 
+							/*
+							get the exact width (with decimals) and then round-up.
 							Using jquery outerWidth() will round the width value which will mess up with inner elements that have non-integer width
 							*/
 							"width":(Math.ceil(mCSB_container[0].getBoundingClientRect().right+0.4)-Math.floor(mCSB_container[0].getBoundingClientRect().left)),
@@ -956,8 +956,8 @@ and dependencies (minified).
 			}
 		},
 		/* -------------------- */
-		
-		
+
+
 		/* adds scrollbar buttons */
 		_scrollButtons=function(){
 			var $this=$(this),d=$this.data(pluginPfx),o=d.opt,
@@ -975,8 +975,8 @@ and dependencies (minified).
 			}
 		},
 		/* -------------------- */
-		
-		
+
+
 		/* auto-adjusts scrollbar dragger length */
 		_setDraggerLength=function(){
 			var $this=$(this),d=$this.data(pluginPfx),
@@ -997,8 +997,8 @@ and dependencies (minified).
 			});
 		},
 		/* -------------------- */
-		
-		
+
+
 		/* calculates scrollbar to content ratio */
 		_scrollRatio=function(){
 			var $this=$(this),d=$this.data(pluginPfx),
@@ -1013,14 +1013,14 @@ and dependencies (minified).
 			d.scrollRatio={y:ratio[0],x:ratio[1]};
 		},
 		/* -------------------- */
-		
-		
+
+
 		/* toggles scrolling classes */
 		_onDragClasses=function(el,action,xpnd){
 			var expandClass=xpnd ? classes[0]+"_expanded" : "",
 				scrollbar=el.closest(".mCSB_scrollTools");
 			if(action==="active"){
-				el.toggleClass(classes[0]+" "+expandClass); scrollbar.toggleClass(classes[1]); 
+				el.toggleClass(classes[0]+" "+expandClass); scrollbar.toggleClass(classes[1]);
 				el[0]._draggable=el[0]._draggable ? 0 : 1;
 			}else{
 				if(!el[0]._draggable){
@@ -1033,8 +1033,8 @@ and dependencies (minified).
 			}
 		},
 		/* -------------------- */
-		
-		
+
+
 		/* checks if content overflows its container to determine if scrolling is required */
 		_overflowed=function(){
 			var $this=$(this),d=$this.data(pluginPfx),
@@ -1048,8 +1048,8 @@ and dependencies (minified).
 			return [contentHeight>mCustomScrollBox.height(),contentWidth>mCustomScrollBox.width()];
 		},
 		/* -------------------- */
-		
-		
+
+
 		/* resets content position to 0 */
 		_resetContentPosition=function(){
 			var $this=$(this),d=$this.data(pluginPfx),o=d.opt,
@@ -1073,8 +1073,8 @@ and dependencies (minified).
 			}
 		},
 		/* -------------------- */
-		
-		
+
+
 		/* binds scrollbar events */
 		_bindEvents=function(){
 			var $this=$(this),d=$this.data(pluginPfx),o=d.opt;
@@ -1105,8 +1105,8 @@ and dependencies (minified).
 			}
 		},
 		/* -------------------- */
-		
-		
+
+
 		/* unbinds scrollbar events */
 		_unbindEvents=function(){
 			var $this=$(this),d=$this.data(pluginPfx),o=d.opt,
@@ -1130,8 +1130,8 @@ and dependencies (minified).
 			}
 		},
 		/* -------------------- */
-		
-		
+
+
 		/* toggles scrollbar visibility */
 		_scrollbarVisibility=function(disabled){
 			var $this=$(this),d=$this.data(pluginPfx),o=d.opt,
@@ -1176,8 +1176,8 @@ and dependencies (minified).
 			}
 		},
 		/* -------------------- */
-		
-		
+
+
 		/* returns input coordinates of pointer, touch and mouse events (relative to document) */
 		_coordinates=function(e){
 			var t=e.type,o=e.target.ownerDocument!==document && frameElement!==null ? [$(frameElement).offset().top,$(frameElement).offset().left] : null,
@@ -1196,11 +1196,11 @@ and dependencies (minified).
 			}
 		},
 		/* -------------------- */
-		
-		
-		/* 
+
+
+		/*
 		SCROLLBAR DRAG EVENTS
-		scrolls content via scrollbar dragging 
+		scrolls content via scrollbar dragging
 		*/
 		_draggable=function(){
 			var $this=$(this),d=$this.data(pluginPfx),o=d.opt,
@@ -1226,10 +1226,10 @@ and dependencies (minified).
 				var offset=draggable.offset(),y=coordinates[0]-offset.top,x=coordinates[1]-offset.left,
 					h=draggable.height()+offset.top,w=draggable.width()+offset.left;
 				if(y<h && y>0 && x<w && x>0){
-					dragY=y; 
+					dragY=y;
 					dragX=x;
 				}
-				_onDragClasses(draggable,"active",o.autoExpandScrollbar); 
+				_onDragClasses(draggable,"active",o.autoExpandScrollbar);
 			}).bind("touchmove."+namespace,function(e){
 				e.stopImmediatePropagation();
 				e.preventDefault();
@@ -1246,7 +1246,7 @@ and dependencies (minified).
 				}
 			}).add(rds).bind("mouseup."+namespace+" touchend."+namespace+" pointerup."+namespace+" MSPointerUp."+namespace,function(e){
 				if(draggable){
-					_onDragClasses(draggable,"active",o.autoExpandScrollbar); 
+					_onDragClasses(draggable,"active",o.autoExpandScrollbar);
 					draggable=null;
 				}
 				touchActive=false;
@@ -1264,7 +1264,7 @@ and dependencies (minified).
 			}
 		},
 		/* -------------------- */
-		
+
 		_getTouchEvents=function(namespace){
 			var eventStart, eventMove, eventEnd;
 			if ('ontouchstart' in window){
@@ -1283,10 +1283,10 @@ and dependencies (minified).
 			return [eventStart, eventMove, eventEnd];
 		},
 
-		/* 
+		/*
 		TOUCH SWIPE EVENTS
-		scrolls content via touch swipe 
-		Emulates the native touch-swipe scrolling with momentum found in iOS, Android and WP devices 
+		scrolls content via touch swipe
+		Emulates the native touch-swipe scrolling with momentum found in iOS, Android and WP devices
 		*/
 		_contentDraggable=function(){
 			var $this=$(this),d=$this.data(pluginPfx),o=d.opt,
@@ -1339,7 +1339,7 @@ and dependencies (minified).
 			function _onTouchmove(e){
 				var coordinates = _coordinates(e);
 				if(!_pointerTouch(e) || touchActive || coordinates[2]){return;}
-				if(!o.documentTouchScroll){e.preventDefault();} 
+				if(!o.documentTouchScroll){e.preventDefault();}
 				e.stopImmediatePropagation();
 				if(docDrag && !touchDrag){return;}
 				if(draggable){
@@ -1358,13 +1358,13 @@ and dependencies (minified).
 							preventX=((dragX-x)>0 && (x-dragX)>-(limitX*d.scrollRatio.x) && (touchIntent[2]*2<touchIntent[3] || o.axis==="yx"));
 					}
 					if(prevent || preventX){ /* prevent native document scrolling */
-						if(!touchAction){e.preventDefault();} 
+						if(!touchAction){e.preventDefault();}
 						touchDrag=1;
 					}else{
 						docDrag=1;
 						$this.addClass("mCS_touch_action");
 					}
-					if(touchAction){e.preventDefault();} 
+					if(touchAction){e.preventDefault();}
 					amount=o.axis==="yx" ? [(dragY-y),(dragX-x)] : o.axis==="x" ? [null,(dragX-x)] : [(dragY-y),null];
 					mCSB_container[0].idleTimer=250;
 					if(d.overflowed[0]){_drag(amount[0],durA,easing,"y","all",true);}
@@ -1428,11 +1428,11 @@ and dependencies (minified).
 			}
 		},
 		/* -------------------- */
-		
-		
-		/* 
-		SELECT TEXT EVENTS 
-		scrolls content when text is selected 
+
+
+		/*
+		SELECT TEXT EVENTS
+		scrolls content when text is selected
 		*/
 		_selectable=function(){
 			var $this=$(this),d=$this.data(pluginPfx),o=d.opt,seq=d.sequential,
@@ -1473,7 +1473,7 @@ and dependencies (minified).
 				touchActive=false;
 			});
 			function _sel(){
-				return 	window.getSelection ? window.getSelection().toString() : 
+				return 	window.getSelection ? window.getSelection().toString() :
 						document.selection && document.selection.type!="Control" ? document.selection.createRange().text : 0;
 			}
 			function _seq(a,c,s){
@@ -1483,11 +1483,11 @@ and dependencies (minified).
 			}
 		},
 		/* -------------------- */
-		
-		
-		/* 
+
+
+		/*
 		MOUSE WHEEL EVENT
-		scrolls content via mouse-wheel 
+		scrolls content via mouse-wheel
 		via mouse-wheel plugin (https://github.com/brandonaaron/jquery-mousewheel)
 		*/
 		_mousewheel=function(){
@@ -1549,8 +1549,8 @@ and dependencies (minified).
 			}
 		},
 		/* -------------------- */
-		
-		
+
+
 		/* checks if iframe can be accessed */
 		_canAccessIFrameCache=new Object(),
 		_canAccessIFrame=function(iframe){
@@ -1580,8 +1580,8 @@ and dependencies (minified).
 			return result;
 		},
 		/* -------------------- */
-		
-		
+
+
 		/* switches iframe's pointer-events property (drag, mousewheel etc. over cross-domain iframes) */
 		_iframe=function(evt){
 			var el=this.find("iframe");
@@ -1590,8 +1590,8 @@ and dependencies (minified).
 			el.css("pointer-events",val); /* for IE11, iframe's display property should not be "block" */
 		},
 		/* -------------------- */
-		
-		
+
+
 		/* disables mouse-wheel when hovering specific elements like select, datalist etc. */
 		_disableMousewheel=function(el,target){
 			var tag=target.nodeName.toLowerCase(),
@@ -1601,11 +1601,11 @@ and dependencies (minified).
 			return $.inArray(tag,tags) > -1 && !($.inArray(tag,focusTags) > -1 && !$(target).is(":focus"));
 		},
 		/* -------------------- */
-		
-		
-		/* 
+
+
+		/*
 		DRAGGER RAIL CLICK EVENT
-		scrolls content via dragger rail 
+		scrolls content via dragger rail
 		*/
 		_draggerRail=function(){
 			var $this=$(this),d=$this.data(pluginPfx),
@@ -1641,9 +1641,9 @@ and dependencies (minified).
 			});
 		},
 		/* -------------------- */
-		
-		
-		/* 
+
+
+		/*
 		FOCUS EVENT
 		scrolls content via element focus (e.g. clicking an input, pressing TAB key etc.)
 		*/
@@ -1678,8 +1678,8 @@ and dependencies (minified).
 			});
 		},
 		/* -------------------- */
-		
-		
+
+
 		/* sets content wrapper scrollTop/scrollLeft always to 0 */
 		_wrapperScroll=function(){
 			var $this=$(this),d=$this.data(pluginPfx),
@@ -1692,11 +1692,11 @@ and dependencies (minified).
 			});
 		},
 		/* -------------------- */
-		
-		
-		/* 
+
+
+		/*
 		BUTTONS EVENTS
-		scrolls content via up, down, left and right buttons 
+		scrolls content via up, down, left and right buttons
 		*/
 		_buttons=function(){
 			var $this=$(this),d=$this.data(pluginPfx),o=d.opt,seq=d.sequential,
@@ -1733,11 +1733,11 @@ and dependencies (minified).
 			});
 		},
 		/* -------------------- */
-		
-		
-		/* 
+
+
+		/*
 		KEYBOARD EVENTS
-		scrolls content via keyboard 
+		scrolls content via keyboard
 		Keys: up arrow, down arrow, left arrow, right arrow, PgUp, PgDn, Home, End
 		*/
 		_keyboard=function(){
@@ -1824,8 +1824,8 @@ and dependencies (minified).
 			}
 		},
 		/* -------------------- */
-		
-		
+
+
 		/* scrolls content sequentially (used when scrolling via buttons, keyboard arrows etc.) */
 		_sequentialScroll=function(el,action,trigger,e,s){
 			var d=el.data(pluginPfx),o=d.opt,seq=d.sequential,
@@ -1850,7 +1850,7 @@ and dependencies (minified).
 					}
 					break;
 			}
-			
+
 			/* starts sequence */
 			function _on(once){
 				if(o.snapAmount){seq.scrollAmount=!(o.snapAmount instanceof Array) ? o.snapAmount : seq.dir[0]==="x" ? o.snapAmount[1] : o.snapAmount[0];} /* scrolling snapping */
@@ -1885,8 +1885,8 @@ and dependencies (minified).
 			}
 		},
 		/* -------------------- */
-		
-		
+
+
 		/* returns a yx array from value */
 		_arr=function(val){
 			var o=$(this).data(pluginPfx).opt,vals=[];
@@ -1904,8 +1904,8 @@ and dependencies (minified).
 			return vals;
 		},
 		/* -------------------- */
-		
-		
+
+
 		/* translates values (e.g. "top", 100, "100px", "#id") to actual scroll-to positions */
 		_to=function(val,dir){
 			if(val==null || typeof val=="undefined"){return;}
@@ -1962,15 +1962,15 @@ and dependencies (minified).
 			}
 		},
 		/* -------------------- */
-		
-		
+
+
 		/* calls the update method automatically */
 		_autoUpdate=function(rem){
 			var $this=$(this),d=$this.data(pluginPfx),o=d.opt,
 				mCSB_container=$("#mCSB_"+d.idx+"_container");
 			if(rem){
-				/* 
-				removes autoUpdate timer 
+				/*
+				removes autoUpdate timer
 				usage: _autoUpdate.call(this,"remove");
 				*/
 				clearTimeout(mCSB_container[0].autoUpdate);
@@ -2049,15 +2049,15 @@ and dependencies (minified).
 			}
 		},
 		/* -------------------- */
-		
-		
+
+
 		/* snaps scrolling to a multiple of a pixels number */
 		_snapAmount=function(to,amount,offset){
-			return (Math.round(to/amount)*amount-offset); 
+			return (Math.round(to/amount)*amount-offset);
 		},
 		/* -------------------- */
-		
-		
+
+
 		/* stops content and scrollbar animations */
 		_stop=function(el){
 			var d=el.data(pluginPfx),
@@ -2067,10 +2067,10 @@ and dependencies (minified).
 			});
 		},
 		/* -------------------- */
-		
-		
-		/* 
-		ANIMATES CONTENT 
+
+
+		/*
+		ANIMATES CONTENT
 		This is where the actual scrolling happens
 		*/
 		_scrollTo=function(el,to,options){
@@ -2216,16 +2216,16 @@ and dependencies (minified).
 			function _cbOffsets(){
 				return [o.callbacks.alwaysTriggerOffsets || contentPos>=limit[0]+tso,o.callbacks.alwaysTriggerOffsets || contentPos<=-tsbo];
 			}
-			/* 
-			populates object with useful values for the user 
-			values: 
+			/*
+			populates object with useful values for the user
+			values:
 				content: this.mcs.content
-				content top position: this.mcs.top 
-				content left position: this.mcs.left 
-				dragger top position: this.mcs.draggerTop 
-				dragger left position: this.mcs.draggerLeft 
-				scrolling y percentage: this.mcs.topPct 
-				scrolling x percentage: this.mcs.leftPct 
+				content top position: this.mcs.top
+				content left position: this.mcs.left
+				dragger top position: this.mcs.draggerTop
+				dragger left position: this.mcs.draggerLeft
+				scrolling y percentage: this.mcs.topPct
+				scrolling x percentage: this.mcs.leftPct
 				scrolling direction: this.mcs.direction
 			*/
 			function _mcs(){
@@ -2239,19 +2239,19 @@ and dependencies (minified).
 					topPct:Math.round((100*Math.abs(cp[0]))/(Math.abs(cl[0])-pl[0])),leftPct:Math.round((100*Math.abs(cp[1]))/(Math.abs(cl[1])-pl[1])),
 					direction:options.dir
 				};
-				/* 
+				/*
 				this refers to the original element containing the scrollbar(s)
-				usage: this.mcs.top, this.mcs.leftPct etc. 
+				usage: this.mcs.top, this.mcs.leftPct etc.
 				*/
 			}
 		},
 		/* -------------------- */
-		
-		
-		/* 
-		CUSTOM JAVASCRIPT ANIMATION TWEEN 
-		Lighter and faster than jquery animate() and css transitions 
-		Animates top/left properties and includes easings 
+
+
+		/*
+		CUSTOM JAVASCRIPT ANIMATION TWEEN
+		Lighter and faster than jquery animate() and css transitions
+		Animates top/left properties and includes easings
 		*/
 		_tweenTo=function(el,prop,to,duration,easing,overwrite,callbacks){
 			if(!el._mTween){el._mTween={top:{},left:{}};}
@@ -2335,8 +2335,8 @@ and dependencies (minified).
 			}
 		},
 		/* -------------------- */
-		
-		
+
+
 		/* returns current time */
 		_getTime=function(){
 			if(window.performance && window.performance.now){
@@ -2350,8 +2350,8 @@ and dependencies (minified).
 			}
 		},
 		/* -------------------- */
-		
-		
+
+
 		/* stops a tween */
 		_stopTween=function(){
 			var el=this;
@@ -2368,45 +2368,45 @@ and dependencies (minified).
 			}
 		},
 		/* -------------------- */
-		
-		
+
+
 		/* deletes a property (avoiding the exception thrown by IE) */
 		_delete=function(c,m){
 			try{delete c[m];}catch(e){c[m]=null;}
 		},
 		/* -------------------- */
-		
-		
+
+
 		/* detects left mouse button */
 		_mouseBtnLeft=function(e){
 			return !(e.which && e.which!==1);
 		},
 		/* -------------------- */
-		
-		
+
+
 		/* detects if pointer type event is touch */
 		_pointerTouch=function(e){
 			var t=e.originalEvent.pointerType;
 			return !(t && t!=="touch" && t!==2);
 		},
 		/* -------------------- */
-		
-		
+
+
 		/* checks if value is numeric */
 		_isNumeric=function(val){
 			return !isNaN(parseFloat(val)) && isFinite(val);
 		},
 		/* -------------------- */
-		
-		
+
+
 		/* returns element position according to content */
 		_childPos=function(el){
 			var p=el.parents(".mCSB_container");
 			return [el.offset().top-p.offset().top,el.offset().left-p.offset().left];
 		},
 		/* -------------------- */
-		
-		
+
+
 		/* checks if browser tab is hidden/inactive via Page Visibility API */
 		_isTabHidden=function(){
 			var prop=_getHiddenProp();
@@ -2416,24 +2416,24 @@ and dependencies (minified).
 				var pfx=["webkit","moz","ms","o"];
 				if("hidden" in document) return "hidden"; //natively supported
 				for(var i=0; i<pfx.length; i++){ //prefixed
-				    if((pfx[i]+"Hidden") in document) 
+				    if((pfx[i]+"Hidden") in document)
 				        return pfx[i]+"Hidden";
 				}
 				return null; //not supported
 			}
 		};
 		/* -------------------- */
-		
-	
-	
-	
-	
-	/* 
+
+
+
+
+
+	/*
 	----------------------------------------
-	PLUGIN SETUP 
+	PLUGIN SETUP
 	----------------------------------------
 	*/
-	
+
 	/* plugin constructor functions */
 	$.fn[pluginNS]=function(method){ /* usage: $(selector).mCustomScrollbar(); */
 		if(methods[method]){
@@ -2453,25 +2453,25 @@ and dependencies (minified).
 			$.error("Method "+method+" does not exist");
 		}
 	};
-	
-	/* 
-	allow setting plugin default options. 
-	usage: $.mCustomScrollbar.defaults.scrollInertia=500; 
-	to apply any changed default options on default selectors (below), use inside document ready fn 
+
+	/*
+	allow setting plugin default options.
+	usage: $.mCustomScrollbar.defaults.scrollInertia=500;
+	to apply any changed default options on default selectors (below), use inside document ready fn
 	e.g.: $(document).ready(function(){ $.mCustomScrollbar.defaults.scrollInertia=500; });
 	*/
 	$[pluginNS].defaults=defaults;
-	
-	/* 
-	add window object (window.mCustomScrollbar) 
+
+	/*
+	add window object (window.mCustomScrollbar)
 	usage: if(window.mCustomScrollbar){console.log("custom scrollbar plugin loaded");}
 	*/
 	window[pluginNS]=true;
-	
+
 	$(window).bind("load",function(){
-		
+
 		$(defaultSelector)[pluginNS](); /* add scrollbars automatically on default selector */
-		
+
 		/* extend jQuery expressions */
 		$.extend($.expr[":"],{
 			/* checks if element is within scrollable viewport */
@@ -2480,7 +2480,7 @@ and dependencies (minified).
 				if(!content.length){return;}
 				wrapper=content.parent();
 				cPos=[content[0].offsetTop,content[0].offsetLeft];
-				return 	cPos[0]+_childPos($el)[0]>=0 && cPos[0]+_childPos($el)[0]<wrapper.height()-$el.outerHeight(false) && 
+				return 	cPos[0]+_childPos($el)[0]>=0 && cPos[0]+_childPos($el)[0]<wrapper.height()-$el.outerHeight(false) &&
 						cPos[1]+_childPos($el)[1]>=0 && cPos[1]+_childPos($el)[1]<wrapper.width()-$el.outerWidth(false);
 			},
 			/* checks if element or part of element is in view of scrollable viewport */
@@ -2492,7 +2492,7 @@ and dependencies (minified).
 				pos=[content[0].offsetTop+_childPos($el)[0],content[0].offsetLeft+_childPos($el)[1]];
 				wrapperView=[content.parent()[0].offsetHeight,content.parent()[0].offsetWidth];
 				wrapperViewPct=[elD[0]<wrapperView[0] ? pctVals[0] : pctVals[1],elD[1]<wrapperView[1] ? pctVals[0] : pctVals[1]];
-				return 	pos[0]-(wrapperView[0]*wrapperViewPct[0][0])<0 && pos[0]+elD[0]-(wrapperView[0]*wrapperViewPct[0][1])>=0 && 
+				return 	pos[0]-(wrapperView[0]*wrapperViewPct[0][0])<0 && pos[0]+elD[0]-(wrapperView[0]*wrapperViewPct[0][1])>=0 &&
 						pos[1]-(wrapperView[1]*wrapperViewPct[1][0])<0 && pos[1]+elD[1]-(wrapperView[1]*wrapperViewPct[1][1])>=0;
 			},
 			/* checks if element is overflowed having visible scrollbar(s) */
@@ -2502,7 +2502,7 @@ and dependencies (minified).
 				return d.overflowed[0] || d.overflowed[1];
 			}
 		});
-	
+
 	});
 
 }))}));


More information about the Libreoffice-commits mailing list