| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033 | 
							- /*!
 
-  * # Semantic UI 2.3.3 - Sidebar
 
-  * http://github.com/semantic-org/semantic-ui/
 
-  *
 
-  *
 
-  * Released under the MIT license
 
-  * http://opensource.org/licenses/MIT
 
-  *
 
-  */
 
- ;(function ($, window, document, undefined) {
 
- 'use strict';
 
- window = (typeof window != 'undefined' && window.Math == Math)
 
-   ? window
 
-   : (typeof self != 'undefined' && self.Math == Math)
 
-     ? self
 
-     : Function('return this')()
 
- ;
 
- $.fn.sidebar = function(parameters) {
 
-   var
 
-     $allModules     = $(this),
 
-     $window         = $(window),
 
-     $document       = $(document),
 
-     $html           = $('html'),
 
-     $head           = $('head'),
 
-     moduleSelector  = $allModules.selector || '',
 
-     time            = new Date().getTime(),
 
-     performance     = [],
 
-     query           = arguments[0],
 
-     methodInvoked   = (typeof query == 'string'),
 
-     queryArguments  = [].slice.call(arguments, 1),
 
-     requestAnimationFrame = window.requestAnimationFrame
 
-       || window.mozRequestAnimationFrame
 
-       || window.webkitRequestAnimationFrame
 
-       || window.msRequestAnimationFrame
 
-       || function(callback) { setTimeout(callback, 0); },
 
-     returnedValue
 
-   ;
 
-   $allModules
 
-     .each(function() {
 
-       var
 
-         settings        = ( $.isPlainObject(parameters) )
 
-           ? $.extend(true, {}, $.fn.sidebar.settings, parameters)
 
-           : $.extend({}, $.fn.sidebar.settings),
 
-         selector        = settings.selector,
 
-         className       = settings.className,
 
-         namespace       = settings.namespace,
 
-         regExp          = settings.regExp,
 
-         error           = settings.error,
 
-         eventNamespace  = '.' + namespace,
 
-         moduleNamespace = 'module-' + namespace,
 
-         $module         = $(this),
 
-         $context        = $(settings.context),
 
-         $sidebars       = $module.children(selector.sidebar),
 
-         $fixed          = $context.children(selector.fixed),
 
-         $pusher         = $context.children(selector.pusher),
 
-         $style,
 
-         element         = this,
 
-         instance        = $module.data(moduleNamespace),
 
-         elementNamespace,
 
-         id,
 
-         currentScroll,
 
-         transitionEvent,
 
-         module
 
-       ;
 
-       module      = {
 
-         initialize: function() {
 
-           module.debug('Initializing sidebar', parameters);
 
-           module.create.id();
 
-           transitionEvent = module.get.transitionEvent();
 
-           // avoids locking rendering if initialized in onReady
 
-           if(settings.delaySetup) {
 
-             requestAnimationFrame(module.setup.layout);
 
-           }
 
-           else {
 
-             module.setup.layout();
 
-           }
 
-           requestAnimationFrame(function() {
 
-             module.setup.cache();
 
-           });
 
-           module.instantiate();
 
-         },
 
-         instantiate: function() {
 
-           module.verbose('Storing instance of module', module);
 
-           instance = module;
 
-           $module
 
-             .data(moduleNamespace, module)
 
-           ;
 
-         },
 
-         create: {
 
-           id: function() {
 
-             id = (Math.random().toString(16) + '000000000').substr(2,8);
 
-             elementNamespace = '.' + id;
 
-             module.verbose('Creating unique id for element', id);
 
-           }
 
-         },
 
-         destroy: function() {
 
-           module.verbose('Destroying previous module for', $module);
 
-           $module
 
-             .off(eventNamespace)
 
-             .removeData(moduleNamespace)
 
-           ;
 
-           if(module.is.ios()) {
 
-             module.remove.ios();
 
-           }
 
-           // bound by uuid
 
-           $context.off(elementNamespace);
 
-           $window.off(elementNamespace);
 
-           $document.off(elementNamespace);
 
-         },
 
-         event: {
 
-           clickaway: function(event) {
 
-             var
 
-               clickedInPusher = ($pusher.find(event.target).length > 0 || $pusher.is(event.target)),
 
-               clickedContext  = ($context.is(event.target))
 
-             ;
 
-             if(clickedInPusher) {
 
-               module.verbose('User clicked on dimmed page');
 
-               module.hide();
 
-             }
 
-             if(clickedContext) {
 
-               module.verbose('User clicked on dimmable context (scaled out page)');
 
-               module.hide();
 
-             }
 
-           },
 
-           touch: function(event) {
 
-             //event.stopPropagation();
 
-           },
 
-           containScroll: function(event) {
 
-             if(element.scrollTop <= 0)  {
 
-               element.scrollTop = 1;
 
-             }
 
-             if((element.scrollTop + element.offsetHeight) >= element.scrollHeight) {
 
-               element.scrollTop = element.scrollHeight - element.offsetHeight - 1;
 
-             }
 
-           },
 
-           scroll: function(event) {
 
-             if( $(event.target).closest(selector.sidebar).length === 0 ) {
 
-               event.preventDefault();
 
-             }
 
-           }
 
-         },
 
-         bind: {
 
-           clickaway: function() {
 
-             module.verbose('Adding clickaway events to context', $context);
 
-             if(settings.closable) {
 
-               $context
 
-                 .on('click'    + elementNamespace, module.event.clickaway)
 
-                 .on('touchend' + elementNamespace, module.event.clickaway)
 
-               ;
 
-             }
 
-           },
 
-           scrollLock: function() {
 
-             if(settings.scrollLock) {
 
-               module.debug('Disabling page scroll');
 
-               $window
 
-                 .on('DOMMouseScroll' + elementNamespace, module.event.scroll)
 
-               ;
 
-             }
 
-             module.verbose('Adding events to contain sidebar scroll');
 
-             $document
 
-               .on('touchmove' + elementNamespace, module.event.touch)
 
-             ;
 
-             $module
 
-               .on('scroll' + eventNamespace, module.event.containScroll)
 
-             ;
 
-           }
 
-         },
 
-         unbind: {
 
-           clickaway: function() {
 
-             module.verbose('Removing clickaway events from context', $context);
 
-             $context.off(elementNamespace);
 
-           },
 
-           scrollLock: function() {
 
-             module.verbose('Removing scroll lock from page');
 
-             $document.off(elementNamespace);
 
-             $window.off(elementNamespace);
 
-             $module.off('scroll' + eventNamespace);
 
-           }
 
-         },
 
-         add: {
 
-           inlineCSS: function() {
 
-             var
 
-               width     = module.cache.width  || $module.outerWidth(),
 
-               height    = module.cache.height || $module.outerHeight(),
 
-               isRTL     = module.is.rtl(),
 
-               direction = module.get.direction(),
 
-               distance  = {
 
-                 left   : width,
 
-                 right  : -width,
 
-                 top    : height,
 
-                 bottom : -height
 
-               },
 
-               style
 
-             ;
 
-             if(isRTL){
 
-               module.verbose('RTL detected, flipping widths');
 
-               distance.left = -width;
 
-               distance.right = width;
 
-             }
 
-             style  = '<style>';
 
-             if(direction === 'left' || direction === 'right') {
 
-               module.debug('Adding CSS rules for animation distance', width);
 
-               style  += ''
 
-                 + ' .ui.visible.' + direction + '.sidebar ~ .fixed,'
 
-                 + ' .ui.visible.' + direction + '.sidebar ~ .pusher {'
 
-                 + '   -webkit-transform: translate3d('+ distance[direction] + 'px, 0, 0);'
 
-                 + '           transform: translate3d('+ distance[direction] + 'px, 0, 0);'
 
-                 + ' }'
 
-               ;
 
-             }
 
-             else if(direction === 'top' || direction == 'bottom') {
 
-               style  += ''
 
-                 + ' .ui.visible.' + direction + '.sidebar ~ .fixed,'
 
-                 + ' .ui.visible.' + direction + '.sidebar ~ .pusher {'
 
-                 + '   -webkit-transform: translate3d(0, ' + distance[direction] + 'px, 0);'
 
-                 + '           transform: translate3d(0, ' + distance[direction] + 'px, 0);'
 
-                 + ' }'
 
-               ;
 
-             }
 
-             /* IE is only browser not to create context with transforms */
 
-             /* https://www.w3.org/Bugs/Public/show_bug.cgi?id=16328 */
 
-             if( module.is.ie() ) {
 
-               if(direction === 'left' || direction === 'right') {
 
-                 module.debug('Adding CSS rules for animation distance', width);
 
-                 style  += ''
 
-                   + ' body.pushable > .ui.visible.' + direction + '.sidebar ~ .pusher:after {'
 
-                   + '   -webkit-transform: translate3d('+ distance[direction] + 'px, 0, 0);'
 
-                   + '           transform: translate3d('+ distance[direction] + 'px, 0, 0);'
 
-                   + ' }'
 
-                 ;
 
-               }
 
-               else if(direction === 'top' || direction == 'bottom') {
 
-                 style  += ''
 
-                   + ' body.pushable > .ui.visible.' + direction + '.sidebar ~ .pusher:after {'
 
-                   + '   -webkit-transform: translate3d(0, ' + distance[direction] + 'px, 0);'
 
-                   + '           transform: translate3d(0, ' + distance[direction] + 'px, 0);'
 
-                   + ' }'
 
-                 ;
 
-               }
 
-               /* opposite sides visible forces content overlay */
 
-               style += ''
 
-                 + ' body.pushable > .ui.visible.left.sidebar ~ .ui.visible.right.sidebar ~ .pusher:after,'
 
-                 + ' body.pushable > .ui.visible.right.sidebar ~ .ui.visible.left.sidebar ~ .pusher:after {'
 
-                 + '   -webkit-transform: translate3d(0px, 0, 0);'
 
-                 + '           transform: translate3d(0px, 0, 0);'
 
-                 + ' }'
 
-               ;
 
-             }
 
-             style += '</style>';
 
-             $style = $(style)
 
-               .appendTo($head)
 
-             ;
 
-             module.debug('Adding sizing css to head', $style);
 
-           }
 
-         },
 
-         refresh: function() {
 
-           module.verbose('Refreshing selector cache');
 
-           $context  = $(settings.context);
 
-           $sidebars = $context.children(selector.sidebar);
 
-           $pusher   = $context.children(selector.pusher);
 
-           $fixed    = $context.children(selector.fixed);
 
-           module.clear.cache();
 
-         },
 
-         refreshSidebars: function() {
 
-           module.verbose('Refreshing other sidebars');
 
-           $sidebars = $context.children(selector.sidebar);
 
-         },
 
-         repaint: function() {
 
-           module.verbose('Forcing repaint event');
 
-           element.style.display = 'none';
 
-           var ignored = element.offsetHeight;
 
-           element.scrollTop = element.scrollTop;
 
-           element.style.display = '';
 
-         },
 
-         setup: {
 
-           cache: function() {
 
-             module.cache = {
 
-               width  : $module.outerWidth(),
 
-               height : $module.outerHeight(),
 
-               rtl    : ($module.css('direction') == 'rtl')
 
-             };
 
-           },
 
-           layout: function() {
 
-             if( $context.children(selector.pusher).length === 0 ) {
 
-               module.debug('Adding wrapper element for sidebar');
 
-               module.error(error.pusher);
 
-               $pusher = $('<div class="pusher" />');
 
-               $context
 
-                 .children()
 
-                   .not(selector.omitted)
 
-                   .not($sidebars)
 
-                   .wrapAll($pusher)
 
-               ;
 
-               module.refresh();
 
-             }
 
-             if($module.nextAll(selector.pusher).length === 0 || $module.nextAll(selector.pusher)[0] !== $pusher[0]) {
 
-               module.debug('Moved sidebar to correct parent element');
 
-               module.error(error.movedSidebar, element);
 
-               $module.detach().prependTo($context);
 
-               module.refresh();
 
-             }
 
-             module.clear.cache();
 
-             module.set.pushable();
 
-             module.set.direction();
 
-           }
 
-         },
 
-         attachEvents: function(selector, event) {
 
-           var
 
-             $toggle = $(selector)
 
-           ;
 
-           event = $.isFunction(module[event])
 
-             ? module[event]
 
-             : module.toggle
 
-           ;
 
-           if($toggle.length > 0) {
 
-             module.debug('Attaching sidebar events to element', selector, event);
 
-             $toggle
 
-               .on('click' + eventNamespace, event)
 
-             ;
 
-           }
 
-           else {
 
-             module.error(error.notFound, selector);
 
-           }
 
-         },
 
-         show: function(callback) {
 
-           callback = $.isFunction(callback)
 
-             ? callback
 
-             : function(){}
 
-           ;
 
-           if(module.is.hidden()) {
 
-             module.refreshSidebars();
 
-             if(settings.overlay)  {
 
-               module.error(error.overlay);
 
-               settings.transition = 'overlay';
 
-             }
 
-             module.refresh();
 
-             if(module.othersActive()) {
 
-               module.debug('Other sidebars currently visible');
 
-               if(settings.exclusive) {
 
-                 // if not overlay queue animation after hide
 
-                 if(settings.transition != 'overlay') {
 
-                   module.hideOthers(module.show);
 
-                   return;
 
-                 }
 
-                 else {
 
-                   module.hideOthers();
 
-                 }
 
-               }
 
-               else {
 
-                 settings.transition = 'overlay';
 
-               }
 
-             }
 
-             module.pushPage(function() {
 
-               callback.call(element);
 
-               settings.onShow.call(element);
 
-             });
 
-             settings.onChange.call(element);
 
-             settings.onVisible.call(element);
 
-           }
 
-           else {
 
-             module.debug('Sidebar is already visible');
 
-           }
 
-         },
 
-         hide: function(callback) {
 
-           callback = $.isFunction(callback)
 
-             ? callback
 
-             : function(){}
 
-           ;
 
-           if(module.is.visible() || module.is.animating()) {
 
-             module.debug('Hiding sidebar', callback);
 
-             module.refreshSidebars();
 
-             module.pullPage(function() {
 
-               callback.call(element);
 
-               settings.onHidden.call(element);
 
-             });
 
-             settings.onChange.call(element);
 
-             settings.onHide.call(element);
 
-           }
 
-         },
 
-         othersAnimating: function() {
 
-           return ($sidebars.not($module).filter('.' + className.animating).length > 0);
 
-         },
 
-         othersVisible: function() {
 
-           return ($sidebars.not($module).filter('.' + className.visible).length > 0);
 
-         },
 
-         othersActive: function() {
 
-           return(module.othersVisible() || module.othersAnimating());
 
-         },
 
-         hideOthers: function(callback) {
 
-           var
 
-             $otherSidebars = $sidebars.not($module).filter('.' + className.visible),
 
-             sidebarCount   = $otherSidebars.length,
 
-             callbackCount  = 0
 
-           ;
 
-           callback = callback || function(){};
 
-           $otherSidebars
 
-             .sidebar('hide', function() {
 
-               callbackCount++;
 
-               if(callbackCount == sidebarCount) {
 
-                 callback();
 
-               }
 
-             })
 
-           ;
 
-         },
 
-         toggle: function() {
 
-           module.verbose('Determining toggled direction');
 
-           if(module.is.hidden()) {
 
-             module.show();
 
-           }
 
-           else {
 
-             module.hide();
 
-           }
 
-         },
 
-         pushPage: function(callback) {
 
-           var
 
-             transition = module.get.transition(),
 
-             $transition = (transition === 'overlay' || module.othersActive())
 
-               ? $module
 
-               : $pusher,
 
-             animate,
 
-             dim,
 
-             transitionEnd
 
-           ;
 
-           callback = $.isFunction(callback)
 
-             ? callback
 
-             : function(){}
 
-           ;
 
-           if(settings.transition == 'scale down') {
 
-             module.scrollToTop();
 
-           }
 
-           module.set.transition(transition);
 
-           module.repaint();
 
-           animate = function() {
 
-             module.bind.clickaway();
 
-             module.add.inlineCSS();
 
-             module.set.animating();
 
-             module.set.visible();
 
-           };
 
-           dim = function() {
 
-             module.set.dimmed();
 
-           };
 
-           transitionEnd = function(event) {
 
-             if( event.target == $transition[0] ) {
 
-               $transition.off(transitionEvent + elementNamespace, transitionEnd);
 
-               module.remove.animating();
 
-               module.bind.scrollLock();
 
-               callback.call(element);
 
-             }
 
-           };
 
-           $transition.off(transitionEvent + elementNamespace);
 
-           $transition.on(transitionEvent + elementNamespace, transitionEnd);
 
-           requestAnimationFrame(animate);
 
-           if(settings.dimPage && !module.othersVisible()) {
 
-             requestAnimationFrame(dim);
 
-           }
 
-         },
 
-         pullPage: function(callback) {
 
-           var
 
-             transition = module.get.transition(),
 
-             $transition = (transition == 'overlay' || module.othersActive())
 
-               ? $module
 
-               : $pusher,
 
-             animate,
 
-             transitionEnd
 
-           ;
 
-           callback = $.isFunction(callback)
 
-             ? callback
 
-             : function(){}
 
-           ;
 
-           module.verbose('Removing context push state', module.get.direction());
 
-           module.unbind.clickaway();
 
-           module.unbind.scrollLock();
 
-           animate = function() {
 
-             module.set.transition(transition);
 
-             module.set.animating();
 
-             module.remove.visible();
 
-             if(settings.dimPage && !module.othersVisible()) {
 
-               $pusher.removeClass(className.dimmed);
 
-             }
 
-           };
 
-           transitionEnd = function(event) {
 
-             if( event.target == $transition[0] ) {
 
-               $transition.off(transitionEvent + elementNamespace, transitionEnd);
 
-               module.remove.animating();
 
-               module.remove.transition();
 
-               module.remove.inlineCSS();
 
-               if(transition == 'scale down' || (settings.returnScroll && module.is.mobile()) ) {
 
-                 module.scrollBack();
 
-               }
 
-               callback.call(element);
 
-             }
 
-           };
 
-           $transition.off(transitionEvent + elementNamespace);
 
-           $transition.on(transitionEvent + elementNamespace, transitionEnd);
 
-           requestAnimationFrame(animate);
 
-         },
 
-         scrollToTop: function() {
 
-           module.verbose('Scrolling to top of page to avoid animation issues');
 
-           currentScroll = $(window).scrollTop();
 
-           $module.scrollTop(0);
 
-           window.scrollTo(0, 0);
 
-         },
 
-         scrollBack: function() {
 
-           module.verbose('Scrolling back to original page position');
 
-           window.scrollTo(0, currentScroll);
 
-         },
 
-         clear: {
 
-           cache: function() {
 
-             module.verbose('Clearing cached dimensions');
 
-             module.cache = {};
 
-           }
 
-         },
 
-         set: {
 
-           // ios only (scroll on html not document). This prevent auto-resize canvas/scroll in ios
 
-           // (This is no longer necessary in latest iOS)
 
-           ios: function() {
 
-             $html.addClass(className.ios);
 
-           },
 
-           // container
 
-           pushed: function() {
 
-             $context.addClass(className.pushed);
 
-           },
 
-           pushable: function() {
 
-             $context.addClass(className.pushable);
 
-           },
 
-           // pusher
 
-           dimmed: function() {
 
-             $pusher.addClass(className.dimmed);
 
-           },
 
-           // sidebar
 
-           active: function() {
 
-             $module.addClass(className.active);
 
-           },
 
-           animating: function() {
 
-             $module.addClass(className.animating);
 
-           },
 
-           transition: function(transition) {
 
-             transition = transition || module.get.transition();
 
-             $module.addClass(transition);
 
-           },
 
-           direction: function(direction) {
 
-             direction = direction || module.get.direction();
 
-             $module.addClass(className[direction]);
 
-           },
 
-           visible: function() {
 
-             $module.addClass(className.visible);
 
-           },
 
-           overlay: function() {
 
-             $module.addClass(className.overlay);
 
-           }
 
-         },
 
-         remove: {
 
-           inlineCSS: function() {
 
-             module.debug('Removing inline css styles', $style);
 
-             if($style && $style.length > 0) {
 
-               $style.remove();
 
-             }
 
-           },
 
-           // ios scroll on html not document
 
-           ios: function() {
 
-             $html.removeClass(className.ios);
 
-           },
 
-           // context
 
-           pushed: function() {
 
-             $context.removeClass(className.pushed);
 
-           },
 
-           pushable: function() {
 
-             $context.removeClass(className.pushable);
 
-           },
 
-           // sidebar
 
-           active: function() {
 
-             $module.removeClass(className.active);
 
-           },
 
-           animating: function() {
 
-             $module.removeClass(className.animating);
 
-           },
 
-           transition: function(transition) {
 
-             transition = transition || module.get.transition();
 
-             $module.removeClass(transition);
 
-           },
 
-           direction: function(direction) {
 
-             direction = direction || module.get.direction();
 
-             $module.removeClass(className[direction]);
 
-           },
 
-           visible: function() {
 
-             $module.removeClass(className.visible);
 
-           },
 
-           overlay: function() {
 
-             $module.removeClass(className.overlay);
 
-           }
 
-         },
 
-         get: {
 
-           direction: function() {
 
-             if($module.hasClass(className.top)) {
 
-               return className.top;
 
-             }
 
-             else if($module.hasClass(className.right)) {
 
-               return className.right;
 
-             }
 
-             else if($module.hasClass(className.bottom)) {
 
-               return className.bottom;
 
-             }
 
-             return className.left;
 
-           },
 
-           transition: function() {
 
-             var
 
-               direction = module.get.direction(),
 
-               transition
 
-             ;
 
-             transition = ( module.is.mobile() )
 
-               ? (settings.mobileTransition == 'auto')
 
-                 ? settings.defaultTransition.mobile[direction]
 
-                 : settings.mobileTransition
 
-               : (settings.transition == 'auto')
 
-                 ? settings.defaultTransition.computer[direction]
 
-                 : settings.transition
 
-             ;
 
-             module.verbose('Determined transition', transition);
 
-             return transition;
 
-           },
 
-           transitionEvent: function() {
 
-             var
 
-               element     = document.createElement('element'),
 
-               transitions = {
 
-                 'transition'       :'transitionend',
 
-                 'OTransition'      :'oTransitionEnd',
 
-                 'MozTransition'    :'transitionend',
 
-                 'WebkitTransition' :'webkitTransitionEnd'
 
-               },
 
-               transition
 
-             ;
 
-             for(transition in transitions){
 
-               if( element.style[transition] !== undefined ){
 
-                 return transitions[transition];
 
-               }
 
-             }
 
-           }
 
-         },
 
-         is: {
 
-           ie: function() {
 
-             var
 
-               isIE11 = (!(window.ActiveXObject) && 'ActiveXObject' in window),
 
-               isIE   = ('ActiveXObject' in window)
 
-             ;
 
-             return (isIE11 || isIE);
 
-           },
 
-           ios: function() {
 
-             var
 
-               userAgent      = navigator.userAgent,
 
-               isIOS          = userAgent.match(regExp.ios),
 
-               isMobileChrome = userAgent.match(regExp.mobileChrome)
 
-             ;
 
-             if(isIOS && !isMobileChrome) {
 
-               module.verbose('Browser was found to be iOS', userAgent);
 
-               return true;
 
-             }
 
-             else {
 
-               return false;
 
-             }
 
-           },
 
-           mobile: function() {
 
-             var
 
-               userAgent    = navigator.userAgent,
 
-               isMobile     = userAgent.match(regExp.mobile)
 
-             ;
 
-             if(isMobile) {
 
-               module.verbose('Browser was found to be mobile', userAgent);
 
-               return true;
 
-             }
 
-             else {
 
-               module.verbose('Browser is not mobile, using regular transition', userAgent);
 
-               return false;
 
-             }
 
-           },
 
-           hidden: function() {
 
-             return !module.is.visible();
 
-           },
 
-           visible: function() {
 
-             return $module.hasClass(className.visible);
 
-           },
 
-           // alias
 
-           open: function() {
 
-             return module.is.visible();
 
-           },
 
-           closed: function() {
 
-             return module.is.hidden();
 
-           },
 
-           vertical: function() {
 
-             return $module.hasClass(className.top);
 
-           },
 
-           animating: function() {
 
-             return $context.hasClass(className.animating);
 
-           },
 
-           rtl: function () {
 
-             if(module.cache.rtl === undefined) {
 
-               module.cache.rtl = ($module.css('direction') == 'rtl');
 
-             }
 
-             return module.cache.rtl;
 
-           }
 
-         },
 
-         setting: function(name, value) {
 
-           module.debug('Changing setting', name, value);
 
-           if( $.isPlainObject(name) ) {
 
-             $.extend(true, settings, name);
 
-           }
 
-           else if(value !== undefined) {
 
-             if($.isPlainObject(settings[name])) {
 
-               $.extend(true, settings[name], value);
 
-             }
 
-             else {
 
-               settings[name] = value;
 
-             }
 
-           }
 
-           else {
 
-             return settings[name];
 
-           }
 
-         },
 
-         internal: function(name, value) {
 
-           if( $.isPlainObject(name) ) {
 
-             $.extend(true, module, name);
 
-           }
 
-           else if(value !== undefined) {
 
-             module[name] = value;
 
-           }
 
-           else {
 
-             return module[name];
 
-           }
 
-         },
 
-         debug: function() {
 
-           if(!settings.silent && settings.debug) {
 
-             if(settings.performance) {
 
-               module.performance.log(arguments);
 
-             }
 
-             else {
 
-               module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');
 
-               module.debug.apply(console, arguments);
 
-             }
 
-           }
 
-         },
 
-         verbose: function() {
 
-           if(!settings.silent && settings.verbose && settings.debug) {
 
-             if(settings.performance) {
 
-               module.performance.log(arguments);
 
-             }
 
-             else {
 
-               module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');
 
-               module.verbose.apply(console, arguments);
 
-             }
 
-           }
 
-         },
 
-         error: function() {
 
-           if(!settings.silent) {
 
-             module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');
 
-             module.error.apply(console, arguments);
 
-           }
 
-         },
 
-         performance: {
 
-           log: function(message) {
 
-             var
 
-               currentTime,
 
-               executionTime,
 
-               previousTime
 
-             ;
 
-             if(settings.performance) {
 
-               currentTime   = new Date().getTime();
 
-               previousTime  = time || currentTime;
 
-               executionTime = currentTime - previousTime;
 
-               time          = currentTime;
 
-               performance.push({
 
-                 'Name'           : message[0],
 
-                 'Arguments'      : [].slice.call(message, 1) || '',
 
-                 'Element'        : element,
 
-                 'Execution Time' : executionTime
 
-               });
 
-             }
 
-             clearTimeout(module.performance.timer);
 
-             module.performance.timer = setTimeout(module.performance.display, 500);
 
-           },
 
-           display: function() {
 
-             var
 
-               title = settings.name + ':',
 
-               totalTime = 0
 
-             ;
 
-             time = false;
 
-             clearTimeout(module.performance.timer);
 
-             $.each(performance, function(index, data) {
 
-               totalTime += data['Execution Time'];
 
-             });
 
-             title += ' ' + totalTime + 'ms';
 
-             if(moduleSelector) {
 
-               title += ' \'' + moduleSelector + '\'';
 
-             }
 
-             if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {
 
-               console.groupCollapsed(title);
 
-               if(console.table) {
 
-                 console.table(performance);
 
-               }
 
-               else {
 
-                 $.each(performance, function(index, data) {
 
-                   console.log(data['Name'] + ': ' + data['Execution Time']+'ms');
 
-                 });
 
-               }
 
-               console.groupEnd();
 
-             }
 
-             performance = [];
 
-           }
 
-         },
 
-         invoke: function(query, passedArguments, context) {
 
-           var
 
-             object = instance,
 
-             maxDepth,
 
-             found,
 
-             response
 
-           ;
 
-           passedArguments = passedArguments || queryArguments;
 
-           context         = element         || context;
 
-           if(typeof query == 'string' && object !== undefined) {
 
-             query    = query.split(/[\. ]/);
 
-             maxDepth = query.length - 1;
 
-             $.each(query, function(depth, value) {
 
-               var camelCaseValue = (depth != maxDepth)
 
-                 ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)
 
-                 : query
 
-               ;
 
-               if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {
 
-                 object = object[camelCaseValue];
 
-               }
 
-               else if( object[camelCaseValue] !== undefined ) {
 
-                 found = object[camelCaseValue];
 
-                 return false;
 
-               }
 
-               else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {
 
-                 object = object[value];
 
-               }
 
-               else if( object[value] !== undefined ) {
 
-                 found = object[value];
 
-                 return false;
 
-               }
 
-               else {
 
-                 module.error(error.method, query);
 
-                 return false;
 
-               }
 
-             });
 
-           }
 
-           if ( $.isFunction( found ) ) {
 
-             response = found.apply(context, passedArguments);
 
-           }
 
-           else if(found !== undefined) {
 
-             response = found;
 
-           }
 
-           if($.isArray(returnedValue)) {
 
-             returnedValue.push(response);
 
-           }
 
-           else if(returnedValue !== undefined) {
 
-             returnedValue = [returnedValue, response];
 
-           }
 
-           else if(response !== undefined) {
 
-             returnedValue = response;
 
-           }
 
-           return found;
 
-         }
 
-       }
 
-     ;
 
-     if(methodInvoked) {
 
-       if(instance === undefined) {
 
-         module.initialize();
 
-       }
 
-       module.invoke(query);
 
-     }
 
-     else {
 
-       if(instance !== undefined) {
 
-         module.invoke('destroy');
 
-       }
 
-       module.initialize();
 
-     }
 
-   });
 
-   return (returnedValue !== undefined)
 
-     ? returnedValue
 
-     : this
 
-   ;
 
- };
 
- $.fn.sidebar.settings = {
 
-   name              : 'Sidebar',
 
-   namespace         : 'sidebar',
 
-   silent            : false,
 
-   debug             : false,
 
-   verbose           : false,
 
-   performance       : true,
 
-   transition        : 'auto',
 
-   mobileTransition  : 'auto',
 
-   defaultTransition : {
 
-     computer: {
 
-       left   : 'uncover',
 
-       right  : 'uncover',
 
-       top    : 'overlay',
 
-       bottom : 'overlay'
 
-     },
 
-     mobile: {
 
-       left   : 'uncover',
 
-       right  : 'uncover',
 
-       top    : 'overlay',
 
-       bottom : 'overlay'
 
-     }
 
-   },
 
-   context           : 'body',
 
-   exclusive         : false,
 
-   closable          : true,
 
-   dimPage           : true,
 
-   scrollLock        : false,
 
-   returnScroll      : false,
 
-   delaySetup        : false,
 
-   duration          : 500,
 
-   onChange          : function(){},
 
-   onShow            : function(){},
 
-   onHide            : function(){},
 
-   onHidden          : function(){},
 
-   onVisible         : function(){},
 
-   className         : {
 
-     active    : 'active',
 
-     animating : 'animating',
 
-     dimmed    : 'dimmed',
 
-     ios       : 'ios',
 
-     pushable  : 'pushable',
 
-     pushed    : 'pushed',
 
-     right     : 'right',
 
-     top       : 'top',
 
-     left      : 'left',
 
-     bottom    : 'bottom',
 
-     visible   : 'visible'
 
-   },
 
-   selector: {
 
-     fixed   : '.fixed',
 
-     omitted : 'script, link, style, .ui.modal, .ui.dimmer, .ui.nag, .ui.fixed',
 
-     pusher  : '.pusher',
 
-     sidebar : '.ui.sidebar'
 
-   },
 
-   regExp: {
 
-     ios          : /(iPad|iPhone|iPod)/g,
 
-     mobileChrome : /(CriOS)/g,
 
-     mobile       : /Mobile|iP(hone|od|ad)|Android|BlackBerry|IEMobile|Kindle|NetFront|Silk-Accelerated|(hpw|web)OS|Fennec|Minimo|Opera M(obi|ini)|Blazer|Dolfin|Dolphin|Skyfire|Zune/g
 
-   },
 
-   error   : {
 
-     method       : 'The method you called is not defined.',
 
-     pusher       : 'Had to add pusher element. For optimal performance make sure body content is inside a pusher element',
 
-     movedSidebar : 'Had to move sidebar. For optimal performance make sure sidebar and pusher are direct children of your body tag',
 
-     overlay      : 'The overlay setting is no longer supported, use animation: overlay',
 
-     notFound     : 'There were no elements that matched the specified selector'
 
-   }
 
- };
 
- })( jQuery, window, document );
 
 
  |