1/*! 2 * Theia Sticky Sidebar v1.4.0 3 * https://github.com/WeCodePixels/theia-sticky-sidebar 4 * 5 * Glues your website's sidebars, making them permanently visible while scrolling. 6 * 7 * Copyright 2013-2016 WeCodePixels and other contributors 8 * Released under the MIT license 9 */ 10!function(a){a.fn.theiaStickySidebar=function(b){function d(b,c){var d=e(b,c);d||(console.log("TST: Body width smaller than options.minWidth. Init is delayed."),a(document).scroll(function(b,c){return function(d){var f=e(b,c);f&&a(this).unbind(d)}}(b,c)),a(window).resize(function(b,c){return function(d){var f=e(b,c);f&&a(this).unbind(d)}}(b,c)))}function e(b,c){return b.initialized===!0||!(a("body").width()<b.minWidth)&&(f(b,c),!0)}function f(b,c){b.initialized=!0,a("head").append(a('<style>.theiaStickySidebar:after {content: ""; display: table; clear: both;}</style>')),c.each(function(){function g(){c.fixedScrollTop=0,c.sidebar.css({"min-height":"1px"}),c.stickySidebar.css({position:"static",width:""})}function h(b){var c=b.height();return b.children().each(function(){c=Math.max(c,a(this).height())}),c}var c={};if(c.sidebar=a(this),c.options=b||{},c.container=a(c.options.containerSelector),0==c.container.length&&(c.container=c.sidebar.parent()),c.sidebar.parents().css("-webkit-transform","none"),c.sidebar.css({position:"relative",overflow:"visible","-webkit-box-sizing":"border-box","-moz-box-sizing":"border-box","box-sizing":"border-box"}),c.stickySidebar=c.sidebar.find(".theiaStickySidebar"),0==c.stickySidebar.length){var d=/(?:text|application)\/(?:x-)?(?:javascript|ecmascript)/i;c.sidebar.find("script").filter(function(a,b){return 0===b.type.length||b.type.match(d)}).remove(),c.stickySidebar=a("<div>").addClass("theiaStickySidebar").append(c.sidebar.children()),c.sidebar.append(c.stickySidebar)}c.marginTop=parseInt(c.sidebar.css("margin-top")),c.marginBottom=parseInt(c.sidebar.css("margin-bottom")),c.paddingTop=parseInt(c.sidebar.css("padding-top")),c.paddingBottom=parseInt(c.sidebar.css("padding-bottom"));var e=c.stickySidebar.offset().top,f=c.stickySidebar.outerHeight();c.stickySidebar.css("padding-top",1),c.stickySidebar.css("padding-bottom",1),e-=c.stickySidebar.offset().top,f=c.stickySidebar.outerHeight()-f-e,0==e?(c.stickySidebar.css("padding-top",0),c.stickySidebarPaddingTop=0):c.stickySidebarPaddingTop=1,0==f?(c.stickySidebar.css("padding-bottom",0),c.stickySidebarPaddingBottom=0):c.stickySidebarPaddingBottom=1,c.previousScrollTop=null,c.fixedScrollTop=0,g(),c.onScroll=function(c){if(c.stickySidebar.is(":visible")){if(a("body").width()<c.options.minWidth)return void g();if(c.options.disableOnResponsiveLayouts){var d=c.sidebar.outerWidth("none"==c.sidebar.css("float"));if(d+50>c.container.width())return void g()}var e=a(document).scrollTop(),f="static";if(e>=c.container.offset().top+(c.paddingTop+c.marginTop-c.options.additionalMarginTop)){var n,i=c.paddingTop+c.marginTop+b.additionalMarginTop,j=c.paddingBottom+c.marginBottom+b.additionalMarginBottom,k=c.container.offset().top,l=c.container.offset().top+h(c.container),m=0+b.additionalMarginTop,o=c.stickySidebar.outerHeight()+i+j<a(window).height();n=o?m+c.stickySidebar.outerHeight():a(window).height()-c.marginBottom-c.paddingBottom-b.additionalMarginBottom;var p=k-e+c.paddingTop+c.marginTop,q=l-e-c.paddingBottom-c.marginBottom,r=c.stickySidebar.offset().top-e,s=c.previousScrollTop-e;"fixed"==c.stickySidebar.css("position")&&"modern"==c.options.sidebarBehavior&&(r+=s),"stick-to-top"==c.options.sidebarBehavior&&(r=b.additionalMarginTop),"stick-to-bottom"==c.options.sidebarBehavior&&(r=n-c.stickySidebar.outerHeight()),r=s>0?Math.min(r,m):Math.max(r,n-c.stickySidebar.outerHeight()),r=Math.max(r,p),r=Math.min(r,q-c.stickySidebar.outerHeight());var t=c.container.height()==c.stickySidebar.outerHeight();f=(t||r!=m)&&(t||r!=n-c.stickySidebar.outerHeight())?e+r-c.sidebar.offset().top-c.paddingTop<=b.additionalMarginTop?"static":"absolute":"fixed"}if("fixed"==f)c.stickySidebar.css({position:"fixed",width:c.sidebar.width(),top:r,left:c.sidebar.offset().left+parseInt(c.sidebar.css("padding-left"))});else if("absolute"==f){var u={};"absolute"!=c.stickySidebar.css("position")&&(u.position="absolute",u.top=e+r-c.sidebar.offset().top-c.stickySidebarPaddingTop-c.stickySidebarPaddingBottom),u.width=c.sidebar.width(),u.left="",c.stickySidebar.css(u)}else"static"==f&&g();"static"!=f&&1==c.options.updateSidebarHeight&&c.sidebar.css({"min-height":c.stickySidebar.outerHeight()+c.stickySidebar.offset().top-c.sidebar.offset().top+c.paddingBottom}),c.previousScrollTop=e}},c.onScroll(c),a(document).scroll(function(a){return function(){a.onScroll(a)}}(c)),a(window).resize(function(a){return function(){a.stickySidebar.css({position:"static"}),a.onScroll(a)}}(c))})}var c={containerSelector:"",additionalMarginTop:0,additionalMarginBottom:0,updateSidebarHeight:!0,minWidth:0,disableOnResponsiveLayouts:!0,sidebarBehavior:"modern"};b=a.extend(c,b),b.additionalMarginTop=parseInt(b.additionalMarginTop)||0,b.additionalMarginBottom=parseInt(b.additionalMarginBottom)||
100,d(b,this)}}(jQuery);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.