{"version":3,"file":"5317.56c182224a0efc87dc12.js","mappings":"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","sources":["webpack://webstaurantstore/../node_modules/bootstrap.native/dist/bootstrap-native.js"],"sourcesContent":["// Native Javascript for Bootstrap 3 v2.0.27 | © dnp_theme | MIT-License\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD support:\n define([], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like:\n module.exports = factory();\n } else {\n // Browser globals (root is window)\n var bsn = factory();\n root.Affix = bsn.Affix;\n root.Alert = bsn.Alert;\n root.Button = bsn.Button;\n root.Carousel = bsn.Carousel;\n root.Collapse = bsn.Collapse;\n root.Dropdown = bsn.Dropdown;\n root.Modal = bsn.Modal;\n root.Popover = bsn.Popover;\n root.ScrollSpy = bsn.ScrollSpy;\n root.Tab = bsn.Tab;\n root.Tooltip = bsn.Tooltip;\n }\n}(this, function () {\n \n /* Native Javascript for Bootstrap 3 | Internal Utility Functions\n ----------------------------------------------------------------*/\n \"use strict\";\n \n // globals\n var globalObject = typeof global !== 'undefined' ? global : this||window,\n DOC = document, HTML = DOC.documentElement, body = 'body', // allow the library to be used in \n \n // Native Javascript for Bootstrap Global Object\n BSN = globalObject.BSN = {},\n supports = BSN.supports = [],\n \n // function toggle attributes\n dataToggle = 'data-toggle',\n dataDismiss = 'data-dismiss',\n dataSpy = 'data-spy',\n dataRide = 'data-ride',\n \n // components\n stringAffix = 'Affix',\n stringAlert = 'Alert',\n stringButton = 'Button',\n stringCarousel = 'Carousel',\n stringCollapse = 'Collapse',\n stringDropdown = 'Dropdown',\n stringModal = 'Modal',\n stringPopover = 'Popover',\n stringScrollSpy = 'ScrollSpy',\n stringTab = 'Tab',\n stringTooltip = 'Tooltip',\n \n // options DATA API\n databackdrop = 'data-backdrop',\n dataKeyboard = 'data-keyboard',\n dataTarget = 'data-target',\n dataInterval = 'data-interval',\n dataHeight = 'data-height',\n dataPause = 'data-pause',\n dataTitle = 'data-title', \n dataOriginalTitle = 'data-original-title',\n dataOriginalText = 'data-original-text',\n dataDismissible = 'data-dismissible',\n dataTrigger = 'data-trigger',\n dataAnimation = 'data-animation',\n dataContainer = 'data-container',\n dataPlacement = 'data-placement',\n dataDelay = 'data-delay',\n dataOffsetTop = 'data-offset-top',\n dataOffsetBottom = 'data-offset-bottom',\n \n // option keys\n backdrop = 'backdrop', keyboard = 'keyboard', delay = 'delay',\n content = 'content', target = 'target', currentTarget = 'currentTarget',\n interval = 'interval', pause = 'pause', animation = 'animation',\n placement = 'placement', container = 'container', \n \n // box model\n offsetTop = 'offsetTop', offsetBottom = 'offsetBottom',\n offsetLeft = 'offsetLeft',\n scrollTop = 'scrollTop', scrollLeft = 'scrollLeft',\n clientWidth = 'clientWidth', clientHeight = 'clientHeight',\n offsetWidth = 'offsetWidth', offsetHeight = 'offsetHeight',\n innerWidth = 'innerWidth', innerHeight = 'innerHeight',\n scrollHeight = 'scrollHeight', height = 'height',\n \n // aria\n ariaExpanded = 'aria-expanded',\n ariaHidden = 'aria-hidden',\n \n // event names\n clickEvent = 'click',\n focusEvent = 'focus',\n hoverEvent = 'hover',\n keydownEvent = 'keydown',\n keyupEvent = 'keyup', \n resizeEvent = 'resize', // passive\n scrollEvent = 'scroll', // passive\n mouseHover = ('onmouseleave' in DOC) ? [ 'mouseenter', 'mouseleave'] : [ 'mouseover', 'mouseout' ],\n // touch since 2.0.26\n touchEvents = { start: 'touchstart', end: 'touchend', move:'touchmove' }, // passive\n // originalEvents\n showEvent = 'show',\n shownEvent = 'shown',\n hideEvent = 'hide',\n hiddenEvent = 'hidden',\n closeEvent = 'close',\n closedEvent = 'closed',\n slidEvent = 'slid',\n slideEvent = 'slide',\n changeEvent = 'change',\n \n // other\n getAttribute = 'getAttribute',\n setAttribute = 'setAttribute',\n hasAttribute = 'hasAttribute',\n createElement = 'createElement',\n appendChild = 'appendChild',\n innerHTML = 'innerHTML',\n getElementsByTagName = 'getElementsByTagName',\n preventDefault = 'preventDefault',\n getBoundingClientRect = 'getBoundingClientRect',\n querySelectorAll = 'querySelectorAll',\n getElementsByCLASSNAME = 'getElementsByClassName',\n getComputedStyle = 'getComputedStyle', \n \n indexOf = 'indexOf',\n parentNode = 'parentNode',\n length = 'length',\n toLowerCase = 'toLowerCase',\n Transition = 'Transition',\n Duration = 'Duration', \n Webkit = 'Webkit',\n style = 'style',\n push = 'push',\n tabindex = 'tabindex',\n contains = 'contains', \n \n active = 'active',\n inClass = 'in',\n collapsing = 'collapsing',\n disabled = 'disabled',\n loading = 'loading',\n left = 'left',\n right = 'right',\n top = 'top',\n bottom = 'bottom',\n \n // IE8 browser detect\n isIE8 = !('opacity' in HTML[style]),\n \n // tooltip / popover\n tipPositions = /\\b(top|bottom|left|right)+/,\n \n // modal\n modalOverlay = 0,\n fixedTop = 'navbar-fixed-top',\n fixedBottom = 'navbar-fixed-bottom', \n \n // transitionEnd since 2.0.4\n supportTransitions = Webkit+Transition in HTML[style] || Transition[toLowerCase]() in HTML[style],\n transitionEndEvent = Webkit+Transition in HTML[style] ? Webkit[toLowerCase]()+Transition+'End' : Transition[toLowerCase]()+'end',\n transitionDuration = Webkit+Duration in HTML[style] ? Webkit[toLowerCase]()+Transition+Duration : Transition[toLowerCase]()+Duration,\n \n // set new focus element since 2.0.3\n setFocus = function(element){\n element.focus ? element.focus() : element.setActive();\n },\n \n // class manipulation, since 2.0.0 requires polyfill.js\n addClass = function(element,classNAME) {\n element.classList.add(classNAME);\n },\n removeClass = function(element,classNAME) {\n element.classList.remove(classNAME);\n },\n hasClass = function(element,classNAME){ // since 2.0.0\n return element.classList[contains](classNAME);\n },\n \n // selection methods\n nodeListToArray = function(nodeList){\n var childItems = []; for (var i = 0, nll = nodeList[length]; i= windowWidth,\n halfBottomExceed = rect[top] + elementDimensions.h/2 + linkDimensions.h/2 >= windowHeight,\n topExceed = rect[top] - elementDimensions.h < 0,\n leftExceed = rect[left] - elementDimensions.w < 0,\n bottomExceed = rect[top] + elementDimensions.h + linkDimensions.h >= windowHeight,\n rightExceed = rect[left] + elementDimensions.w + linkDimensions.w >= windowWidth;\n \n // recompute position\n position = (position === left || position === right) && leftExceed && rightExceed ? top : position; // first, when both left and right limits are exceeded, we fall back to top|bottom\n position = position === top && topExceed ? bottom : position;\n position = position === bottom && bottomExceed ? top : position;\n position = position === left && leftExceed ? right : position;\n position = position === right && rightExceed ? left : position;\n \n // apply styling to tooltip or popover\n if ( position === left || position === right ) { // secondary|side positions\n if ( position === left ) { // LEFT\n leftPosition = rect[left] + scroll.x - elementDimensions.w;\n } else { // RIGHT\n leftPosition = rect[left] + scroll.x + linkDimensions.w;\n }\n \n // adjust top and arrow\n if (halfTopExceed) {\n topPosition = rect[top] + scroll.y;\n arrowTop = linkDimensions.h/2;\n } else if (halfBottomExceed) {\n topPosition = rect[top] + scroll.y - elementDimensions.h + linkDimensions.h;\n arrowTop = elementDimensions.h - linkDimensions.h/2;\n } else {\n topPosition = rect[top] + scroll.y - elementDimensions.h/2 + linkDimensions.h/2;\n }\n } else if ( position === top || position === bottom ) { // primary|vertical positions\n if ( position === top) { // TOP\n topPosition = rect[top] + scroll.y - elementDimensions.h;\n } else { // BOTTOM\n topPosition = rect[top] + scroll.y + linkDimensions.h;\n }\n // adjust left | right and also the arrow\n if (halfLeftExceed) {\n leftPosition = 0;\n arrowLeft = rect[left] + linkDimensions.w/2;\n } else if (halfRightExceed) {\n leftPosition = windowWidth - elementDimensions.w*1.01;\n arrowLeft = elementDimensions.w - ( windowWidth - rect[left] ) + linkDimensions.w/2;\n } else {\n leftPosition = rect[left] + scroll.x - elementDimensions.w/2 + linkDimensions.w/2;\n }\n }\n \n // apply style to tooltip/popover and it's arrow\n element[style][top] = topPosition + 'px';\n element[style][left] = leftPosition + 'px';\n \n arrowTop && (arrow[style][top] = arrowTop + 'px');\n arrowLeft && (arrow[style][left] = arrowLeft + 'px');\n \n element.className[indexOf](position) === -1 && (element.className = element.className.replace(tipPositions,position));\n };\n \n BSN.version = '2.0.27';\n \n /* Native Javascript for Bootstrap 3 | Affix\n -------------------------------------------*/\n \n // AFFIX DEFINITION\n var Affix = function(element, options) {\n \n // initialization element\n element = queryElement(element);\n \n // set options\n options = options || {};\n \n // read DATA API\n var targetData = element[getAttribute](dataTarget),\n offsetTopData = element[getAttribute](dataOffsetTop),\n offsetBottomData = element[getAttribute](dataOffsetBottom),\n \n // component specific strings\n affix = 'affix', affixed = 'affixed', fn = 'function', update = 'update',\n affixTop = 'affix-top', affixedTop = 'affixed-top',\n affixBottom = 'affix-bottom', affixedBottom = 'affixed-bottom';\n \n this[target] = options[target] ? queryElement(options[target]) : queryElement(targetData) || null; // target is an object\n this[offsetTop] = options[offsetTop] ? options[offsetTop] : parseInt(offsetTopData) || 0; // offset option is an integer number or function to determine that number\n this[offsetBottom] = options[offsetBottom] ? options[offsetBottom]: parseInt(offsetBottomData) || 0;\n \n if ( !this[target] && !( this[offsetTop] || this[offsetBottom] ) ) { return; } // invalidate\n \n // internal bind\n var self = this,\n \n // constants\n pinOffsetTop, pinOffsetBottom, maxScroll, scrollY, pinnedTop, pinnedBottom,\n affixedToTop = false, affixedToBottom = false,\n \n // private methods \n getMaxScroll = function(){\n return Math.max( DOC[body][scrollHeight], DOC[body][offsetHeight], HTML[clientHeight], HTML[scrollHeight], HTML[offsetHeight] );\n },\n getOffsetTop = function () {\n if ( self[target] !== null ) {\n return self[target][getBoundingClientRect]()[top] + scrollY;\n } else if ( self[offsetTop] ) {\n return parseInt(typeof self[offsetTop] === fn ? self[offsetTop]() : self[offsetTop] || 0);\n }\n },\n getOffsetBottom = function () {\n if ( self[offsetBottom] ) {\n return maxScroll - element[offsetHeight] - parseInt( typeof self[offsetBottom] === fn ? self[offsetBottom]() : self[offsetBottom] || 0 );\n }\n },\n checkPosition = function () {\n maxScroll = getMaxScroll();\n scrollY = parseInt(getScroll().y,0);\n pinOffsetTop = getOffsetTop();\n pinOffsetBottom = getOffsetBottom(); \n pinnedTop = ( parseInt(pinOffsetTop) - scrollY < 0) && (scrollY > parseInt(pinOffsetTop) );\n pinnedBottom = ( parseInt(pinOffsetBottom) - scrollY < 0) && (scrollY > parseInt(pinOffsetBottom) );\n },\n pinTop = function () {\n if ( !affixedToTop && !hasClass(element,affix) ) { // on loading a page halfway scrolled these events don't trigger in Chrome\n bootstrapCustomEvent.call(element, affix, affix);\n bootstrapCustomEvent.call(element, affixTop, affix);\n addClass(element,affix);\n affixedToTop = true;\n bootstrapCustomEvent.call(element, affixed, affix);\n bootstrapCustomEvent.call(element, affixedTop, affix);\n }\n },\n unPinTop = function () {\n if ( affixedToTop && hasClass(element,affix) ) {\n removeClass(element,affix);\n affixedToTop = false;\n }\n },\n pinBottom = function () {\n if ( !affixedToBottom && !hasClass(element, affixBottom) ) {\n bootstrapCustomEvent.call(element, affix, affix);\n bootstrapCustomEvent.call(element, affixBottom, affix);\n addClass(element,affixBottom);\n affixedToBottom = true;\n bootstrapCustomEvent.call(element, affixed, affix);\n bootstrapCustomEvent.call(element, affixedBottom, affix);\n }\n },\n unPinBottom = function () {\n if ( affixedToBottom && hasClass(element,affixBottom) ) {\n removeClass(element,affixBottom);\n affixedToBottom = false;\n }\n },\n updatePin = function () {\n if ( pinnedBottom ) {\n if ( pinnedTop ) { unPinTop(); }\n pinBottom(); \n } else {\n unPinBottom();\n if ( pinnedTop ) { pinTop(); } \n else { unPinTop(); }\n }\n };\n \n // public method\n this[update] = function () {\n checkPosition();\n updatePin(); \n };\n \n // init\n if ( !(stringAffix in element ) ) { // prevent adding event handlers twice\n on( globalObject, scrollEvent, self[update], passiveHandler );\n !isIE8 && on( globalObject, resizeEvent, self[update], passiveHandler );\n }\n element[stringAffix] = self;\n \n self[update]();\n };\n \n // AFFIX DATA API\n // =================\n supports[push]([stringAffix, Affix, '['+dataSpy+'=\"affix\"]']);\n \n \n \n /* Native Javascript for Bootstrap 3 | Alert\n -------------------------------------------*/\n \n // ALERT DEFINITION\n // ================\n var Alert = function( element ) {\n \n // initialization element\n element = queryElement(element);\n \n // bind, target alert, duration and stuff\n var self = this, component = 'alert',\n alert = getClosest(element,'.'+component),\n triggerHandler = function(){ hasClass(alert,'fade') ? emulateTransitionEnd(alert,transitionEndHandler) : transitionEndHandler(); },\n // handlers\n clickHandler = function(e){\n alert = getClosest(e[target],'.'+component);\n element = queryElement('['+dataDismiss+'=\"'+component+'\"]',alert);\n element && alert && (element === e[target] || element[contains](e[target])) && self.close();\n },\n transitionEndHandler = function(){\n bootstrapCustomEvent.call(alert, closedEvent, component);\n off(element, clickEvent, clickHandler); // detach it's listener\n alert[parentNode].removeChild(alert);\n };\n \n // public method\n this.close = function() {\n if ( alert && element && hasClass(alert,inClass) ) {\n bootstrapCustomEvent.call(alert, closeEvent, component);\n removeClass(alert,inClass);\n alert && triggerHandler();\n }\n };\n \n // init\n if ( !(stringAlert in element ) ) { // prevent adding event handlers twice\n on(element, clickEvent, clickHandler);\n }\n element[stringAlert] = self;\n };\n \n // ALERT DATA API\n // ==============\n supports[push]([stringAlert, Alert, '['+dataDismiss+'=\"alert\"]']);\n \n \n \n /* Native Javascript for Bootstrap 3 | Button\n ---------------------------------------------*/\n \n // BUTTON DEFINITION\n // ===================\n var Button = function( element, option ) {\n \n // initialization element\n element = queryElement(element);\n \n // set option\n option = option || null;\n \n // constant\n var toggled = false, // toggled makes sure to prevent triggering twice the change.bs.button events\n \n // strings\n component = 'button',\n checked = 'checked',\n reset = 'reset',\n LABEL = 'LABEL',\n INPUT = 'INPUT',\n \n // private methods\n setState = function() {\n if ( !! option && option !== reset ) {\n if ( option === loading ) {\n addClass(element,disabled);\n element[setAttribute](disabled,disabled);\n element[setAttribute](dataOriginalText, element[innerHTML].trim()); // trim the text\n }\n element[innerHTML] = element[getAttribute]('data-'+option+'-text');\n }\n },\n resetState = function() {\n if (element[getAttribute](dataOriginalText)) {\n if ( hasClass(element,disabled) || element[getAttribute](disabled) === disabled ) {\n removeClass(element,disabled);\n element.removeAttribute(disabled);\n }\n element[innerHTML] = element[getAttribute](dataOriginalText);\n }\n },\n keyHandler = function(e){ \n var key = e.which || e.keyCode;\n key === 32 && e[target] === DOC.activeElement && toggle(e);\n },\n preventScroll = function(e){ \n var key = e.which || e.keyCode;\n key === 32 && e[preventDefault]();\n }, \n toggle = function(e) {\n var label = e[target].tagName === LABEL ? e[target] : e[target][parentNode].tagName === LABEL ? e[target][parentNode] : null; // the .btn label\n \n if ( !label ) return; //react if a label or its immediate child is clicked\n \n var labels = getElementsByClassName(label[parentNode],'btn'), // all the button group buttons\n input = label[getElementsByTagName](INPUT)[0];\n \n if ( !input ) return; // return if no input found\n \n // manage the dom manipulation\n if ( input.type === 'checkbox' ) { //checkboxes\n if ( !input[checked] ) {\n addClass(label,active);\n input[getAttribute](checked);\n input[setAttribute](checked,checked);\n input[checked] = true;\n } else {\n removeClass(label,active);\n input[getAttribute](checked);\n input.removeAttribute(checked);\n input[checked] = false;\n }\n \n if (!toggled) { // prevent triggering the event twice\n toggled = true;\n bootstrapCustomEvent.call(input, changeEvent, component); //trigger the change for the input\n bootstrapCustomEvent.call(element, changeEvent, component); //trigger the change for the btn-group\n }\n }\n \n if ( input.type === 'radio' && !toggled ) { // radio buttons\n // don't trigger if already active (the OR condition is a hack to check if the buttons were selected with key press and NOT mouse click)\n if ( !input[checked] || (e.screenX === 0 && e.screenY == 0) ) {\n addClass(label,active);\n input[setAttribute](checked,checked);\n input[checked] = true;\n bootstrapCustomEvent.call(input, changeEvent, component); //trigger the change for the input\n bootstrapCustomEvent.call(element, changeEvent, component); //trigger the change for the btn-group\n \n toggled = true;\n for (var i = 0, ll = labels[length]; i 1 ) {\n e.preventDefault();\n return false;\n }\n },\n touchEndHandler = function(e) {\n if ( !isTouch || isSliding ) { return }\n \n endXPosition = currentXPosition || parseInt( e.touches[0].pageX );\n \n if ( isTouch ) {\n if ( (!element.contains(e[target]) || !element.contains(e.relatedTarget) ) && Math.abs(startXPosition - endXPosition) < 75 ) {\n return false;\n } else {\n if ( currentXPosition < startXPosition ) {\n index++;\n } else if ( currentXPosition > startXPosition ) {\n index--; \n }\n isTouch = false;\n self.slideTo(index);\n }\n toggleTouchEvents(off); \n }\n },\n \n // private methods\n isElementInScrollRange = function () {\n var rect = element[getBoundingClientRect](),\n viewportHeight = globalObject[innerHeight] || HTML[clientHeight]\n return rect[top] <= viewportHeight && rect[bottom] >= 0; // bottom && top\n }, \n setActivePage = function( pageIndex ) { //indicators\n for ( var i = 0, icl = indicators[length]; i < icl; i++ ) {\n removeClass(indicators[i],active);\n }\n if (indicators[pageIndex]) addClass(indicators[pageIndex], active);\n };\n \n \n // public methods\n this.cycle = function() {\n if (timer) {\n clearInterval(timer);\n timer = null;\n }\n \n timer = setInterval(function() {\n isElementInScrollRange() && (index++, self.slideTo( index ) );\n }, this[interval]);\n };\n this.slideTo = function( next ) {\n if (isSliding) return; // when controled via methods, make sure to check again\n \n var activeItem = this.getActiveIndex(), // the current active\n orientation;\n \n // first return if we're on the same item #227\n if ( activeItem === next ) {\n return;\n // or determine slideDirection\n } else if ( (activeItem < next ) || (activeItem === 0 && next === total -1 ) ) {\n slideDirection = self[direction] = left; // next\n } else if ( (activeItem > next) || (activeItem === total - 1 && next === 0 ) ) {\n slideDirection = self[direction] = right; // prev\n }\n \n // find the right next index \n if ( next < 0 ) { next = total - 1; } \n else if ( next >= total ){ next = 0; }\n \n // update index\n index = next;\n \n orientation = slideDirection === left ? 'next' : 'prev'; //determine type\n bootstrapCustomEvent.call(element, slideEvent, component, slides[next]); // here we go with the slide\n \n isSliding = true;\n clearInterval(timer);\n timer = null;\n setActivePage( next );\n \n if ( supportTransitions && hasClass(element,'slide') ) {\n \n addClass(slides[next],orientation);\n slides[next][offsetWidth];\n addClass(slides[next],slideDirection);\n addClass(slides[activeItem],slideDirection);\n \n emulateTransitionEnd(slides[next], function(e) {\n var timeout = e && e[target] !== slides[next] ? e.elapsedTime*1000+100 : 20;\n isSliding && setTimeout(function(){\n isSliding = false;\n \n addClass(slides[next],active);\n removeClass(slides[activeItem],active);\n \n removeClass(slides[next],orientation);\n removeClass(slides[next],slideDirection);\n removeClass(slides[activeItem],slideDirection);\n \n bootstrapCustomEvent.call(element, slidEvent, component, slides[next]);\n \n if ( self[interval] && !hasClass(element,paused) ) {\n self.cycle();\n }\n }, timeout);\n });\n \n } else {\n addClass(slides[next],active);\n slides[next][offsetWidth];\n removeClass(slides[activeItem],active);\n setTimeout(function() {\n isSliding = false;\n if ( self[interval] && !hasClass(element,paused) ) {\n self.cycle();\n }\n bootstrapCustomEvent.call(element, slidEvent, component, slides[next]);\n }, 100 );\n }\n };\n this.getActiveIndex = function () {\n return slides[indexOf](getElementsByClassName(element,'item active')[0]) || 0;\n };\n \n // init\n if ( !(stringCarousel in element ) ) { // prevent adding event handlers twice\n \n if ( self[pause] && self[interval] ) {\n on( element, mouseHover[0], pauseHandler );\n on( element, mouseHover[1], resumeHandler );\n on( element, touchEvents.start, pauseHandler, passiveHandler );\n on( element, touchEvents.end, resumeHandler, passiveHandler );\n }\n \n slides[length] > 1 && on( element, touchEvents.start, touchDownHandler, passiveHandler );\n \n rightArrow && on( rightArrow, clickEvent, controlsHandler );\n leftArrow && on( leftArrow, clickEvent, controlsHandler );\n \n indicator && on( indicator, clickEvent, indicatorHandler );\n self[keyboard] && on( globalObject, keydownEvent, keyHandler );\n \n }\n if (self.getActiveIndex()<0) {\n slides[length] && addClass(slides[0],active);\n indicators[length] && setActivePage(0);\n }\n \n if ( self[interval] ){ self.cycle(); }\n element[stringCarousel] = self;\n };\n \n // CAROUSEL DATA API\n // =================\n supports[push]( [ stringCarousel, Carousel, '['+dataRide+'=\"carousel\"]' ] );\n \n \n /* Native Javascript for Bootstrap 3 | Collapse\n -----------------------------------------------*/\n \n // COLLAPSE DEFINITION\n // ===================\n var Collapse = function( element, options ) {\n \n // initialization element\n element = queryElement(element);\n \n // set options\n options = options || {};\n \n // event targets and constants\n var accordion = null, collapse = null, self = this,\n accordionData = element[getAttribute]('data-parent'),\n activeCollapse, activeElement,\n \n // component strings\n component = 'collapse',\n collapsed = 'collapsed',\n isAnimating = 'isAnimating',\n \n // private methods\n openAction = function(collapseElement,toggle) {\n bootstrapCustomEvent.call(collapseElement, showEvent, component);\n collapseElement[isAnimating] = true;\n addClass(collapseElement,collapsing);\n removeClass(collapseElement,component);\n collapseElement[style][height] = collapseElement[scrollHeight] + 'px';\n \n emulateTransitionEnd(collapseElement, function() {\n collapseElement[isAnimating] = false;\n collapseElement[setAttribute](ariaExpanded,'true');\n toggle[setAttribute](ariaExpanded,'true'); \n removeClass(collapseElement,collapsing);\n addClass(collapseElement, component);\n addClass(collapseElement, inClass);\n collapseElement[style][height] = '';\n bootstrapCustomEvent.call(collapseElement, shownEvent, component);\n });\n },\n closeAction = function(collapseElement,toggle) {\n bootstrapCustomEvent.call(collapseElement, hideEvent, component);\n collapseElement[isAnimating] = true;\n collapseElement[style][height] = collapseElement[scrollHeight] + 'px'; // set height first\n removeClass(collapseElement,component);\n removeClass(collapseElement, inClass);\n addClass(collapseElement, collapsing);\n collapseElement[offsetWidth]; // force reflow to enable transition\n collapseElement[style][height] = '0px';\n \n emulateTransitionEnd(collapseElement, function() {\n collapseElement[isAnimating] = false;\n collapseElement[setAttribute](ariaExpanded,'false');\n toggle[setAttribute](ariaExpanded,'false');\n removeClass(collapseElement,collapsing);\n addClass(collapseElement,component);\n collapseElement[style][height] = '';\n bootstrapCustomEvent.call(collapseElement, hiddenEvent, component);\n });\n },\n getTarget = function() {\n var href = element.href && element[getAttribute]('href'),\n parent = element[getAttribute](dataTarget),\n id = href || ( parent && parent.charAt(0) === '#' ) && parent;\n return id && queryElement(id);\n };\n \n // public methods\n this.toggle = function(e) {\n e[preventDefault]();\n if (!hasClass(collapse,inClass)) { self.show(); } \n else { self.hide(); }\n };\n this.hide = function() {\n if ( collapse[isAnimating] ) return;\n closeAction(collapse,element);\n addClass(element,collapsed);\n };\n this.show = function() {\n if ( accordion ) {\n activeCollapse = queryElement('.'+component+'.'+inClass,accordion);\n activeElement = activeCollapse && (queryElement('['+dataTarget+'=\"#'+activeCollapse.id+'\"]', accordion)\n || queryElement('[href=\"#'+activeCollapse.id+'\"]',accordion) );\n }\n \n if ( !collapse[isAnimating] || activeCollapse && !activeCollapse[isAnimating] ) {\n if ( activeElement && activeCollapse !== collapse ) {\n closeAction(activeCollapse,activeElement);\n addClass(activeElement,collapsed); \n }\n openAction(collapse,element);\n removeClass(element,collapsed);\n }\n };\n \n // init\n if ( !(stringCollapse in element ) ) { // prevent adding event handlers twice\n on(element, clickEvent, self.toggle);\n }\n collapse = getTarget();\n collapse[isAnimating] = false; // when true it will prevent click handlers \n accordion = queryElement(options.parent) || accordionData && getClosest(element, accordionData);\n element[stringCollapse] = self;\n };\n \n // COLLAPSE DATA API\n // =================\n supports[push]( [ stringCollapse, Collapse, '['+dataToggle+'=\"collapse\"]' ] );\n \n \n /* Native Javascript for Bootstrap 3 | Dropdown\n ----------------------------------------------*/\n \n // DROPDOWN DEFINITION\n // ===================\n var Dropdown = function( element, option ) {\n \n // initialization element\n element = queryElement(element);\n \n // set option\n this.persist = option === true || element[getAttribute]('data-persist') === 'true' || false;\n \n // constants, event targets, strings\n var self = this, children = 'children',\n parent = element[parentNode],\n component = 'dropdown', open = 'open',\n relatedTarget = null,\n menu = queryElement('.dropdown-menu', parent),\n menuItems = (function(){\n var set = menu[children], newSet = [];\n for ( var i=0; i1?idx-1:0) \n : key === 40 ? (idx= topEdge && bottomEdge > scrollOffset;\n \n if ( !isActive && inside ) {\n if ( parent.tagName === 'LI' && !hasClass(parent,active) ) {\n addClass(parent,active);\n if (dropdown && !hasClass(dropdown,active) ) {\n addClass(dropdown,active);\n }\n bootstrapCustomEvent.call(element, 'activate', 'scrollspy', items[index]);\n }\n } else if ( !inside ) {\n if ( parent.tagName === 'LI' && hasClass(parent,active) ) {\n removeClass(parent,active);\n if (dropdown && hasClass(dropdown,active) && !getElementsByClassName(parent[parentNode],active).length ) {\n removeClass(dropdown,active);\n }\n }\n } else if ( !inside && !isActive || isActive && inside ) {\n return;\n }\n },\n updateItems = function(){\n scrollOffset = isWindow ? getScroll().y : element[scrollTop];\n for (var index=0, itl=items[length]; index 1 ) {\n activeTab = activeTabs[activeTabs[length]-1];\n }\n return activeTab[getElementsByTagName]('A')[0];\n },\n getActiveContent = function() {\n return queryElement(getActiveTab()[getAttribute]('href'));\n },\n // handler\n clickHandler = function(e) {\n e[preventDefault]();\n next = e[currentTarget] || this; // IE8 needs to know who really currentTarget is\n !tabs[isAnimating] && !hasClass(next[parentNode],active) && self.show();\n };\n \n // public method\n this.show = function() { // the tab we clicked is now the next tab\n next = next || element;\n nextContent = queryElement(next[getAttribute]('href')); //this is the actual object, the next tab content to activate\n activeTab = getActiveTab(); \n activeContent = getActiveContent();\n \n tabs[isAnimating] = true;\n removeClass(activeTab[parentNode],active);\n activeTab[setAttribute](ariaExpanded,'false');\n addClass(next[parentNode],active);\n next[setAttribute](ariaExpanded,'true');\n \n if ( dropdown ) {\n if ( !hasClass(element[parentNode][parentNode],'dropdown-menu') ) {\n if (hasClass(dropdown,active)) removeClass(dropdown,active);\n } else {\n if (!hasClass(dropdown,active)) addClass(dropdown,active);\n }\n }\n \n bootstrapCustomEvent.call(activeTab, hideEvent, component, next);\n \n if (hasClass(activeContent, 'fade')) {\n removeClass(activeContent,inClass);\n emulateTransitionEnd(activeContent, triggerHide);\n } else { triggerHide(); }\n };\n \n // init\n if ( !(stringTab in element) ) { // prevent adding event handlers twice\n on(element, clickEvent, clickHandler);\n }\n if (self[height]) { tabsContentContainer = getActiveContent()[parentNode]; }\n element[stringTab] = self;\n };\n \n // TAB DATA API\n // ============\n supports[push]( [ stringTab, Tab, '['+dataToggle+'=\"tab\"]' ] );\n \n \n /* Native Javascript for Bootstrap 3 | Tooltip\n ---------------------------------------------*/\n \n // TOOLTIP DEFINITION\n // ==================\n var Tooltip = function( element,options ) {\n \n // initialization element\n element = queryElement(element);\n \n // set options\n options = options || {};\n \n // DATA API\n var animationData = element[getAttribute](dataAnimation),\n placementData = element[getAttribute](dataPlacement),\n delayData = element[getAttribute](dataDelay),\n containerData = element[getAttribute](dataContainer),\n \n // strings\n component = 'tooltip',\n classString = 'class',\n title = 'title',\n fade = 'fade',\n div = 'div',\n \n // check container\n containerElement = queryElement(options[container]),\n containerDataElement = queryElement(containerData), \n \n // maybe the element is inside a modal\n modal = getClosest(element,'.modal'),\n \n // maybe the element is inside a fixed navbar\n navbarFixedTop = getClosest(element,'.'+fixedTop),\n navbarFixedBottom = getClosest(element,'.'+fixedBottom);\n \n // set instance options\n this[animation] = options[animation] && options[animation] !== fade ? options[animation] : animationData || fade;\n this[placement] = options[placement] ? options[placement] : placementData || top;\n this[delay] = parseInt(options[delay] || delayData) || 200;\n this[container] = containerElement ? containerElement \n : containerDataElement ? containerDataElement \n : navbarFixedTop ? navbarFixedTop\n : navbarFixedBottom ? navbarFixedBottom\n : modal ? modal : DOC[body];\n \n // bind, event targets, title and constants\n var self = this, timer = 0, placementSetting = this[placement], tooltip = null,\n titleString = element[getAttribute](title) || element[getAttribute](dataTitle) || element[getAttribute](dataOriginalTitle);\n \n if ( !titleString || titleString == \"\" ) return; // invalidate\n \n // private methods\n var removeToolTip = function() {\n self[container].removeChild(tooltip);\n tooltip = null; timer = null;\n },\n createToolTip = function() {\n titleString = element[getAttribute](title) || element[getAttribute](dataTitle) || element[getAttribute](dataOriginalTitle); // read the title again\n if ( !titleString || titleString == \"\" ) return false; // invalidate\n \n tooltip = DOC[createElement](div);\n tooltip[setAttribute]('role',component);\n \n var tooltipArrow = DOC[createElement](div), tooltipInner = DOC[createElement](div);\n tooltipArrow[setAttribute](classString, component+'-arrow'); tooltipInner[setAttribute](classString,component+'-inner');\n \n tooltip[appendChild](tooltipArrow); tooltip[appendChild](tooltipInner);\n \n tooltipInner[innerHTML] = titleString;\n \n self[container][appendChild](tooltip);\n tooltip[setAttribute](classString, component + ' ' + placementSetting + ' ' + self[animation]);\n },\n updateTooltip = function () {\n styleTip(element,tooltip,placementSetting,self[container]);\n },\n showTooltip = function () {\n !hasClass(tooltip,inClass) && ( addClass(tooltip,inClass) );\n },\n // triggers\n showTrigger = function() {\n bootstrapCustomEvent.call(element, shownEvent, component);\n !isIE8 && on( globalObject, resizeEvent, self.hide, passiveHandler ); \n },\n hideTrigger = function() {\n !isIE8 && off( globalObject, resizeEvent, self.hide, passiveHandler ); \n removeToolTip();\n bootstrapCustomEvent.call(element, hiddenEvent, component);\n };\n \n // public methods\n this.show = function() {\n clearTimeout(timer);\n timer = setTimeout( function() {\n if (tooltip === null) {\n placementSetting = self[placement]; // we reset placement in all cases\n if(createToolTip() == false) return;\n updateTooltip();\n showTooltip();\n bootstrapCustomEvent.call(element, showEvent, component);\n !!self[animation] ? emulateTransitionEnd(tooltip, showTrigger) : showTrigger();\n }\n }, 20 );\n };\n this.hide = function() {\n clearTimeout(timer);\n timer = setTimeout( function() {\n if (tooltip && hasClass(tooltip,inClass)) {\n bootstrapCustomEvent.call(element, hideEvent, component);\n removeClass(tooltip,inClass);\n !!self[animation] ? emulateTransitionEnd(tooltip, hideTrigger) : hideTrigger();\n }\n }, self[delay]);\n };\n this.toggle = function() {\n if (!tooltip) { self.show(); } \n else { self.hide(); }\n };\n \n // init\n if ( !(stringTooltip in element) ) { // prevent adding event handlers twice\n element[setAttribute](dataOriginalTitle,titleString);\n element.removeAttribute(title);\n on(element, mouseHover[0], self.show);\n on(element, mouseHover[1], self.hide);\n }\n element[stringTooltip] = self;\n };\n \n // TOOLTIP DATA API\n // =================\n supports[push]( [ stringTooltip, Tooltip, '['+dataToggle+'=\"tooltip\"]' ] );\n \n \n \r\n /* Native Javascript for Bootstrap | Initialize Data API\r\n --------------------------------------------------------*/\r\n var initializeDataAPI = function( constructor, collection ){\r\n for (var i=0, l=collection[length]; i