{"version":3,"sources":["theia-sticky-sidebar.js"],"names":["$","fn","theiaStickySidebar","options","tryInitOrHookIntoEvents","$that","success","tryInit","console","log","document","scroll","evt","this","unbind","window","resize","initialized","width","minWidth","init","append","each","resetSidebar","o","fixedScrollTop","sidebar","css","min-height","stickySidebar","position","transform","getClearedHeight","e","height","children","Math","max","container","containerSelector","length","parent","parents","overflow","-webkit-box-sizing","-moz-box-sizing","box-sizing","find","javaScriptMIMETypes","filter","index","script","type","match","remove","addClass","marginBottom","parseInt","paddingTop","paddingBottom","collapsedTopHeight","offset","top","collapsedBottomHeight","outerHeight","stickySidebarPaddingTop","stickySidebarPaddingBottom","previousScrollTop","onScroll","is","disableOnResponsiveLayouts","sidebarWidth","outerWidth","scrollTop","additionalMarginTop","windowOffsetBottom","offsetTop","offsetBottom","additionalMarginBottom","containerTop","containerBottom","windowOffsetTop","sidebarSmallerThanWindow","staticLimitTop","staticLimitBottom","scrollTopDiff","sidebarBehavior","min","sidebarSameHeightAsContainer","scrollLeft","getWidthForObject","left","updateSidebarHeight","ResizeSensor","object","getBoundingClientRect","err","defaults","extend","jQuery"],"mappings":"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","file":"../theia-sticky-sidebar.min.js","sourcesContent":["/*!\n * Theia Sticky Sidebar v1.6.0\n * https://github.com/WeCodePixels/theia-sticky-sidebar\n *\n * Glues your website's sidebars, making them permanently visible while scrolling.\n *\n * Copyright 2013-2016 WeCodePixels and other contributors\n * Released under the MIT license\n */\n\n(function ($) {\n $.fn.theiaStickySidebar = function (options) {\n var defaults = {\n 'containerSelector': '',\n 'additionalMarginTop': 0,\n 'additionalMarginBottom': 0,\n 'updateSidebarHeight': true,\n 'minWidth': 0,\n 'disableOnResponsiveLayouts': true,\n 'sidebarBehavior': 'modern'\n };\n options = $.extend(defaults, options);\n\n // Validate options\n options.additionalMarginTop = parseInt(options.additionalMarginTop) || 0;\n options.additionalMarginBottom = parseInt(options.additionalMarginBottom) || 0;\n\n tryInitOrHookIntoEvents(options, this);\n\n // Try doing init, otherwise hook into window.resize and document.scroll and try again then.\n function tryInitOrHookIntoEvents(options, $that) {\n var success = tryInit(options, $that);\n\n if (!success) {\n console.log('TSS: Body width smaller than options.minWidth. Init is delayed.');\n\n $(document).scroll(function (options, $that) {\n return function (evt) {\n var success = tryInit(options, $that);\n\n if (success) {\n $(this).unbind(evt);\n }\n };\n }(options, $that));\n $(window).resize(function (options, $that) {\n return function (evt) {\n var success = tryInit(options, $that);\n\n if (success) {\n $(this).unbind(evt);\n }\n };\n }(options, $that))\n }\n }\n\n // Try doing init if proper conditions are met.\n function tryInit(options, $that) {\n if (options.initialized === true) {\n return true;\n }\n\n if ($('body').width() < options.minWidth) {\n return false;\n }\n\n init(options, $that);\n\n return true;\n }\n\n // Init the sticky sidebar(s).\n function init(options, $that) {\n options.initialized = true;\n\n // Add CSS\n $('head').append($(''));\n\n $that.each(function () {\n var o = {};\n\n o.sidebar = $(this);\n\n // Save options\n o.options = options || {};\n\n // Get container\n o.container = $(o.options.containerSelector);\n if (o.container.length == 0) {\n o.container = o.sidebar.parent();\n }\n\n // Create sticky sidebar\n o.sidebar.parents().css('-webkit-transform', 'none'); // Fix for WebKit bug - https://code.google.com/p/chromium/issues/detail?id=20574\n o.sidebar.css({\n 'position': 'relative',\n 'overflow': 'visible',\n // The \"box-sizing\" must be set to \"content-box\" because we set a fixed height to this element when the sticky sidebar has a fixed position.\n '-webkit-box-sizing': 'border-box',\n '-moz-box-sizing': 'border-box',\n 'box-sizing': 'border-box'\n });\n\n // Get the sticky sidebar element. If none has been found, then create one.\n o.stickySidebar = o.sidebar.find('.theiaStickySidebar');\n if (o.stickySidebar.length == 0) {\n // Remove