From f38410ed360d59fa85579e608763db01ee5f2f95 Mon Sep 17 00:00:00 2001 From: Pete Cooper Date: Thu, 12 Jun 2014 12:27:55 +0100 Subject: [PATCH] Adding nicescroll Source: https://github.com/inuyaksa/jquery.nicescroll/commit/bcc2ce12ed85ef4d5e0 ddf25421f3cecb7a6a161 Addresses https://github.com/cdnjs/cdnjs/pull/3335 --- .../nicescroll/3.5.4/jquery.nicescroll.js | 3253 +++++++++++++++++ .../nicescroll/3.5.4/jquery.nicescroll.min.js | 1 + ajax/libs/nicescroll/package.json | 22 + 3 files changed, 3276 insertions(+) create mode 100644 ajax/libs/nicescroll/3.5.4/jquery.nicescroll.js create mode 100644 ajax/libs/nicescroll/3.5.4/jquery.nicescroll.min.js create mode 100644 ajax/libs/nicescroll/package.json diff --git a/ajax/libs/nicescroll/3.5.4/jquery.nicescroll.js b/ajax/libs/nicescroll/3.5.4/jquery.nicescroll.js new file mode 100644 index 000000000..aae188201 --- /dev/null +++ b/ajax/libs/nicescroll/3.5.4/jquery.nicescroll.js @@ -0,0 +1,3253 @@ +/* jquery.nicescroll +-- version 3.5.4 +-- copyright 2013-11-13 InuYaksa*2013 +-- licensed under the MIT +-- +-- http://areaaperta.com/nicescroll +-- https://github.com/inuyaksa/jquery.nicescroll +-- +*/ + +(function (factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as anonymous module. + define(['jquery'], factory); + } else { + // Browser globals. + factory(jQuery); + } +}(function(jQuery){ + + // globals + var domfocus = false; + var mousefocus = false; + var zoomactive = false; + var tabindexcounter = 5000; + var ascrailcounter = 2000; + var globalmaxzindex = 0; + + var $ = jQuery; // sandbox + + // http://stackoverflow.com/questions/2161159/get-script-path + function getScriptPath() { + var scripts=document.getElementsByTagName('script'); + var path=scripts[scripts.length-1].src.split('?')[0]; + return (path.split('/').length>0) ? path.split('/').slice(0,-1).join('/')+'/' : ''; + } +// var scriptpath = getScriptPath(); + + var vendors = ['ms','moz','webkit','o']; + + var setAnimationFrame = window.requestAnimationFrame||false; + var clearAnimationFrame = window.cancelAnimationFrame||false; + + if (!setAnimationFrame) { + for(var vx in vendors) { + var v = vendors[vx]; + if (!setAnimationFrame) setAnimationFrame = window[v+'RequestAnimationFrame']; + if (!clearAnimationFrame) clearAnimationFrame = window[v+'CancelAnimationFrame']||window[v+'CancelRequestAnimationFrame']; + } + } + + var clsMutationObserver = window.MutationObserver || window.WebKitMutationObserver || false; + + var _globaloptions = { + zindex:"auto", + cursoropacitymin:0, + cursoropacitymax:1, + cursorcolor:"#424242", + cursorwidth:"5px", + cursorborder:"1px solid #fff", + cursorborderradius:"5px", + scrollspeed:60, + mousescrollstep:8*3, + touchbehavior:false, + hwacceleration:true, + usetransition:true, + boxzoom:false, + dblclickzoom:true, + gesturezoom:true, + grabcursorenabled:true, + autohidemode:true, + background:"", + iframeautoresize:true, + cursorminheight:32, + preservenativescrolling:true, + railoffset:false, + bouncescroll:true, + spacebarenabled:true, + railpadding:{top:0,right:0,left:0,bottom:0}, + disableoutline:true, + horizrailenabled:true, + railalign:"right", + railvalign:"bottom", + enabletranslate3d:true, + enablemousewheel:true, + enablekeyboard:true, + smoothscroll:true, + sensitiverail:true, + enablemouselockapi:true, +// cursormaxheight:false, + cursorfixedheight:false, + directionlockdeadzone:6, + hidecursordelay:400, + nativeparentscrolling:true, + enablescrollonselection:true, + overflowx:true, + overflowy:true, + cursordragspeed:0.3, + rtlmode:"auto", + cursordragontouch:false, + oneaxismousemode:"auto", + scriptpath:getScriptPath() + }; + + var browserdetected = false; + + var getBrowserDetection = function() { + + if (browserdetected) return browserdetected; + + var domtest = document.createElement('DIV'); + + var d = {}; + + d.haspointerlock = "pointerLockElement" in document || "mozPointerLockElement" in document || "webkitPointerLockElement" in document; + + d.isopera = ("opera" in window); + d.isopera12 = (d.isopera&&("getUserMedia" in navigator)); + d.isoperamini = (Object.prototype.toString.call(window.operamini) === "[object OperaMini]"); + + d.isie = (("all" in document) && ("attachEvent" in domtest) && !d.isopera); + d.isieold = (d.isie && !("msInterpolationMode" in domtest.style)); // IE6 and older + d.isie7 = d.isie&&!d.isieold&&(!("documentMode" in document)||(document.documentMode==7)); + d.isie8 = d.isie&&("documentMode" in document)&&(document.documentMode==8); + d.isie9 = d.isie&&("performance" in window)&&(document.documentMode>=9); + d.isie10 = d.isie&&("performance" in window)&&(document.documentMode>=10); + + d.isie9mobile = /iemobile.9/i.test(navigator.userAgent); //wp 7.1 mango + if (d.isie9mobile) d.isie9 = false; + d.isie7mobile = (!d.isie9mobile&&d.isie7) && /iemobile/i.test(navigator.userAgent); //wp 7.0 + + d.ismozilla = ("MozAppearance" in domtest.style); + + d.iswebkit = ("WebkitAppearance" in domtest.style); + + d.ischrome = ("chrome" in window); + d.ischrome22 = (d.ischrome&&d.haspointerlock); + d.ischrome26 = (d.ischrome&&("transition" in domtest.style)); // issue with transform detection (maintain prefix) + + d.cantouch = ("ontouchstart" in document.documentElement)||("ontouchstart" in window); // detection for Chrome Touch Emulation + d.hasmstouch = (window.navigator.msPointerEnabled||false); // IE10+ pointer events + + d.ismac = /^mac$/i.test(navigator.platform); + + d.isios = (d.cantouch && /iphone|ipad|ipod/i.test(navigator.platform)); + d.isios4 = ((d.isios)&&!("seal" in Object)); + + d.isandroid = (/android/i.test(navigator.userAgent)); + + d.trstyle = false; + d.hastransform = false; + d.hastranslate3d = false; + d.transitionstyle = false; + d.hastransition = false; + d.transitionend = false; + + var check = ['transform','msTransform','webkitTransform','MozTransform','OTransform']; + for(var a=0;a