{"version":3,"file":"scripts/chunks/plugins-4acd0c33.3b7a4de80d6a6aed36d1.js","mappings":"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","sources":["webpack://disp0001/./src/plugins/semantic/popup.js"],"sourcesContent":["/*!\r\n * # Semantic UI 2.4.2 - Popup\r\n * http://github.com/semantic-org/semantic-ui/\r\n *\r\n *\r\n * Released under the MIT license\r\n * http://opensource.org/licenses/MIT\r\n *\r\n */\r\n\r\n;(function ($, window, document, undefined) {\r\n\r\n'use strict';\r\n\r\nwindow = (typeof window != 'undefined' && window.Math == Math)\r\n  ? window\r\n  : (typeof self != 'undefined' && self.Math == Math)\r\n    ? self\r\n    : Function('return this')()\r\n;\r\n\r\n$.fn.popup = function(parameters) {\r\n  var\r\n    $allModules    = $(this),\r\n    $document      = $(document),\r\n    $window        = $(window),\r\n    $body          = $('body'),\r\n\r\n    moduleSelector = $allModules.selector || '',\r\n\r\n    hasTouch       = (true),\r\n    time           = new Date().getTime(),\r\n    performance    = [],\r\n\r\n    query          = arguments[0],\r\n    methodInvoked  = (typeof query == 'string'),\r\n    queryArguments = [].slice.call(arguments, 1),\r\n\r\n    returnedValue\r\n  ;\r\n  $allModules\r\n    .each(function() {\r\n      var\r\n        settings        = ( $.isPlainObject(parameters) )\r\n          ? $.extend(true, {}, $.fn.popup.settings, parameters)\r\n          : $.extend({}, $.fn.popup.settings),\r\n\r\n        selector           = settings.selector,\r\n        className          = settings.className,\r\n        error              = settings.error,\r\n        metadata           = settings.metadata,\r\n        namespace          = settings.namespace,\r\n\r\n        eventNamespace     = '.' + settings.namespace,\r\n        moduleNamespace    = 'module-' + namespace,\r\n\r\n        $module            = $(this),\r\n        $context           = $(settings.context),\r\n        $scrollContext     = $(settings.scrollContext),\r\n        $boundary          = $(settings.boundary),\r\n        $target            = (settings.target)\r\n          ? $(settings.target)\r\n          : $module,\r\n\r\n        $popup,\r\n        $offsetParent,\r\n\r\n        searchDepth        = 0,\r\n        triedPositions     = false,\r\n        openedWithTouch    = false,\r\n\r\n        element            = this,\r\n        instance           = $module.data(moduleNamespace),\r\n\r\n        documentObserver,\r\n        elementNamespace,\r\n        id,\r\n        module\r\n      ;\r\n\r\n      module = {\r\n\r\n        // binds events\r\n        initialize: function() {\r\n          module.debug('Initializing', $module);\r\n          module.createID();\r\n          module.bind.events();\r\n          if(!module.exists() && settings.preserve) {\r\n            module.create();\r\n          }\r\n          if(settings.observeChanges) {\r\n            module.observeChanges();\r\n          }\r\n          module.instantiate();\r\n        },\r\n\r\n        instantiate: function() {\r\n          module.verbose('Storing instance', module);\r\n          instance = module;\r\n          $module\r\n            .data(moduleNamespace, instance)\r\n          ;\r\n        },\r\n\r\n        observeChanges: function() {\r\n          if('MutationObserver' in window) {\r\n            documentObserver = new MutationObserver(module.event.documentChanged);\r\n            documentObserver.observe(document, {\r\n              childList : true,\r\n              subtree   : true\r\n            });\r\n            module.debug('Setting up mutation observer', documentObserver);\r\n          }\r\n        },\r\n\r\n        refresh: function() {\r\n          if(settings.popup) {\r\n            $popup = $(settings.popup).eq(0);\r\n          }\r\n          else {\r\n            if(settings.inline) {\r\n              $popup = $target.nextAll(selector.popup).eq(0);\r\n              settings.popup = $popup;\r\n            }\r\n          }\r\n          if(settings.popup) {\r\n            $popup.addClass(className.loading);\r\n            $offsetParent = module.get.offsetParent();\r\n            $popup.removeClass(className.loading);\r\n            if(settings.movePopup && module.has.popup() && module.get.offsetParent($popup)[0] !== $offsetParent[0]) {\r\n              module.debug('Moving popup to the same offset parent as target');\r\n              $popup\r\n                .detach()\r\n                .appendTo($offsetParent)\r\n              ;\r\n            }\r\n          }\r\n          else {\r\n            $offsetParent = (settings.inline)\r\n              ? module.get.offsetParent($target)\r\n              : module.has.popup()\r\n                ? module.get.offsetParent($popup)\r\n                : $body\r\n            ;\r\n          }\r\n          if( $offsetParent.is('html') && $offsetParent[0] !== $body[0] ) {\r\n            module.debug('Setting page as offset parent');\r\n            $offsetParent = $body;\r\n          }\r\n          if( module.get.variation() ) {\r\n            module.set.variation();\r\n          }\r\n        },\r\n\r\n        reposition: function() {\r\n          module.refresh();\r\n          module.set.position();\r\n        },\r\n\r\n        destroy: function() {\r\n          module.debug('Destroying previous module');\r\n          if(documentObserver) {\r\n            documentObserver.disconnect();\r\n          }\r\n          // remove element only if was created dynamically\r\n          if($popup && !settings.preserve) {\r\n            module.removePopup();\r\n          }\r\n          // clear all timeouts\r\n          clearTimeout(module.hideTimer);\r\n          clearTimeout(module.showTimer);\r\n          // remove events\r\n          module.unbind.close();\r\n          module.unbind.events();\r\n          $module\r\n            .removeData(moduleNamespace)\r\n          ;\r\n        },\r\n\r\n        event: {\r\n          start:  function(event) {\r\n            var\r\n              delay = ($.isPlainObject(settings.delay))\r\n                ? settings.delay.show\r\n                : settings.delay\r\n            ;\r\n            clearTimeout(module.hideTimer);\r\n            if(!openedWithTouch) {\r\n              module.showTimer = setTimeout(module.show, delay);\r\n            }\r\n          },\r\n          end:  function() {\r\n            var\r\n              delay = ($.isPlainObject(settings.delay))\r\n                ? settings.delay.hide\r\n                : settings.delay\r\n            ;\r\n            clearTimeout(module.showTimer);\r\n            module.hideTimer = setTimeout(module.hide, delay);\r\n          },\r\n          touchstart: function(event) {\r\n            openedWithTouch = true;\r\n            module.show();\r\n          },\r\n          resize: function() {\r\n            if( module.is.visible() ) {\r\n              module.set.position();\r\n            }\r\n          },\r\n          documentChanged: function(mutations) {\r\n            [].forEach.call(mutations, function(mutation) {\r\n              if(mutation.removedNodes) {\r\n                [].forEach.call(mutation.removedNodes, function(node) {\r\n                  if(node == element || $(node).find(element).length > 0) {\r\n                    module.debug('Element removed from DOM, tearing down events');\r\n                    module.destroy();\r\n                  }\r\n                });\r\n              }\r\n            });\r\n          },\r\n          hideGracefully: function(event) {\r\n            var\r\n              $target = $(event.target),\r\n              isInDOM = $.contains(document.documentElement, event.target),\r\n              inPopup = ($target.closest(selector.popup).length > 0)\r\n            ;\r\n            // don't close on clicks inside popup\r\n            if(event && !inPopup && isInDOM) {\r\n              module.debug('Click occurred outside popup hiding popup');\r\n              module.hide();\r\n            }\r\n            else {\r\n              module.debug('Click was inside popup, keeping popup open');\r\n            }\r\n          }\r\n        },\r\n\r\n        // generates popup html from metadata\r\n        create: function() {\r\n          var\r\n            html      = module.get.html(),\r\n            title     = module.get.title(),\r\n            content   = module.get.content()\r\n          ;\r\n\r\n          if(html || content || title) {\r\n            module.debug('Creating pop-up html');\r\n            if(!html) {\r\n              html = settings.templates.popup({\r\n                title   : title,\r\n                content : content\r\n              });\r\n            }\r\n            $popup = $('<div/>')\r\n              .addClass(className.popup)\r\n              .data(metadata.activator, $module)\r\n              .html(html)\r\n            ;\r\n            if(settings.inline) {\r\n              module.verbose('Inserting popup element inline', $popup);\r\n              $popup\r\n                .insertAfter($module)\r\n              ;\r\n            }\r\n            else {\r\n              module.verbose('Appending popup element to body', $popup);\r\n              $popup\r\n                .appendTo( $context )\r\n              ;\r\n            }\r\n            module.refresh();\r\n            module.set.variation();\r\n\r\n            if(settings.hoverable) {\r\n              module.bind.popup();\r\n            }\r\n            settings.onCreate.call($popup, element);\r\n          }\r\n          else if($target.next(selector.popup).length !== 0) {\r\n            module.verbose('Pre-existing popup found');\r\n            settings.inline = true;\r\n            settings.popup  = $target.next(selector.popup).data(metadata.activator, $module);\r\n            module.refresh();\r\n            if(settings.hoverable) {\r\n              module.bind.popup();\r\n            }\r\n          }\r\n          else if(settings.popup) {\r\n            $(settings.popup).data(metadata.activator, $module);\r\n            module.verbose('Used popup specified in settings');\r\n            module.refresh();\r\n            if(settings.hoverable) {\r\n              module.bind.popup();\r\n            }\r\n          }\r\n          else {\r\n            module.debug('No content specified skipping display', element);\r\n          }\r\n        },\r\n\r\n        createID: function() {\r\n          id = (Math.random().toString(16) + '000000000').substr(2, 8);\r\n          elementNamespace = '.' + id;\r\n          module.verbose('Creating unique id for element', id);\r\n        },\r\n\r\n        // determines popup state\r\n        toggle: function() {\r\n          module.debug('Toggling pop-up');\r\n          if( module.is.hidden() ) {\r\n            module.debug('Popup is hidden, showing pop-up');\r\n            module.unbind.close();\r\n            module.show();\r\n          }\r\n          else {\r\n            module.debug('Popup is visible, hiding pop-up');\r\n            module.hide();\r\n          }\r\n        },\r\n\r\n        show: function(callback) {\r\n          callback = callback || function(){};\r\n          module.debug('Showing pop-up', settings.transition);\r\n          if(module.is.hidden() && !( module.is.active() && module.is.dropdown()) ) {\r\n            if( !module.exists() ) {\r\n              module.create();\r\n            }\r\n            if(settings.onShow.call($popup, element) === false) {\r\n              module.debug('onShow callback returned false, cancelling popup animation');\r\n              return;\r\n            }\r\n            else if(!settings.preserve && !settings.popup) {\r\n              module.refresh();\r\n            }\r\n            if( $popup && module.set.position() ) {\r\n              module.save.conditions();\r\n              if(settings.exclusive) {\r\n                module.hideAll();\r\n              }\r\n              module.animate.show(callback);\r\n            }\r\n          }\r\n        },\r\n\r\n\r\n        hide: function(callback) {\r\n          callback = callback || function(){};\r\n          if( module.is.visible() || module.is.animating() ) {\r\n            if(settings.onHide.call($popup, element) === false) {\r\n              module.debug('onHide callback returned false, cancelling popup animation');\r\n              return;\r\n            }\r\n            module.remove.visible();\r\n            module.unbind.close();\r\n            module.restore.conditions();\r\n            module.animate.hide(callback);\r\n          }\r\n        },\r\n\r\n        hideAll: function() {\r\n          $(selector.popup)\r\n            .filter('.' + className.popupVisible)\r\n            .each(function() {\r\n              $(this)\r\n                .data(metadata.activator)\r\n                  .popup('hide')\r\n              ;\r\n            })\r\n          ;\r\n        },\r\n        exists: function() {\r\n          if(!$popup) {\r\n            return false;\r\n          }\r\n          if(settings.inline || settings.popup) {\r\n            return ( module.has.popup() );\r\n          }\r\n          else {\r\n            return ( $popup.closest($context).length >= 1 )\r\n              ? true\r\n              : false\r\n            ;\r\n          }\r\n        },\r\n\r\n        removePopup: function() {\r\n          if( module.has.popup() && !settings.popup) {\r\n            module.debug('Removing popup', $popup);\r\n            $popup.remove();\r\n            $popup = undefined;\r\n            settings.onRemove.call($popup, element);\r\n          }\r\n        },\r\n\r\n        save: {\r\n          conditions: function() {\r\n            module.cache = {\r\n              title: $module.attr('title')\r\n            };\r\n            if (module.cache.title) {\r\n              $module.removeAttr('title');\r\n            }\r\n            module.verbose('Saving original attributes', module.cache.title);\r\n          }\r\n        },\r\n        restore: {\r\n          conditions: function() {\r\n            if(module.cache && module.cache.title) {\r\n              $module.attr('title', module.cache.title);\r\n              module.verbose('Restoring original attributes', module.cache.title);\r\n            }\r\n            return true;\r\n          }\r\n        },\r\n        supports: {\r\n          svg: function() {\r\n            return (typeof SVGGraphicsElement === 'undefined');\r\n          }\r\n        },\r\n        animate: {\r\n          show: function(callback) {\r\n            callback = $.isFunction(callback) ? callback : function(){};\r\n            if(settings.transition && $.fn.transition !== undefined && $module.transition('is supported')) {\r\n              module.set.visible();\r\n              $popup\r\n                .transition({\r\n                  animation  : settings.transition + ' in',\r\n                  queue      : false,\r\n                  debug      : settings.debug,\r\n                  verbose    : settings.verbose,\r\n                  duration   : settings.duration,\r\n                  onComplete : function() {\r\n                    module.bind.close();\r\n                    callback.call($popup, element);\r\n                    settings.onVisible.call($popup, element);\r\n                  }\r\n                })\r\n              ;\r\n            }\r\n            else {\r\n              module.error(error.noTransition);\r\n            }\r\n          },\r\n          hide: function(callback) {\r\n            callback = $.isFunction(callback) ? callback : function(){};\r\n            module.debug('Hiding pop-up');\r\n            if(settings.onHide.call($popup, element) === false) {\r\n              module.debug('onHide callback returned false, cancelling popup animation');\r\n              return;\r\n            }\r\n            if(settings.transition && $.fn.transition !== undefined && $module.transition('is supported')) {\r\n              $popup\r\n                .transition({\r\n                  animation  : settings.transition + ' out',\r\n                  queue      : false,\r\n                  duration   : settings.duration,\r\n                  debug      : settings.debug,\r\n                  verbose    : settings.verbose,\r\n                  onComplete : function() {\r\n                    module.reset();\r\n                    callback.call($popup, element);\r\n                    settings.onHidden.call($popup, element);\r\n                  }\r\n                })\r\n              ;\r\n            }\r\n            else {\r\n              module.error(error.noTransition);\r\n            }\r\n          }\r\n        },\r\n\r\n        change: {\r\n          content: function(html) {\r\n            $popup.html(html);\r\n          }\r\n        },\r\n\r\n        get: {\r\n          html: function() {\r\n            $module.removeData(metadata.html);\r\n            return $module.data(metadata.html) || settings.html;\r\n          },\r\n          title: function() {\r\n            $module.removeData(metadata.title);\r\n            return $module.data(metadata.title) || settings.title;\r\n          },\r\n          content: function() {\r\n            $module.removeData(metadata.content);\r\n            return $module.data(metadata.content) || settings.content || $module.attr('title');\r\n          },\r\n          variation: function() {\r\n            $module.removeData(metadata.variation);\r\n            return $module.data(metadata.variation) || settings.variation;\r\n          },\r\n          popup: function() {\r\n            return $popup;\r\n          },\r\n          popupOffset: function() {\r\n            return $popup.offset();\r\n          },\r\n          calculations: function() {\r\n            var\r\n              $popupOffsetParent = module.get.offsetParent($popup),\r\n              targetElement      = $target[0],\r\n              isWindow           = ($boundary[0] == window),\r\n              targetPosition     = (settings.inline || (settings.popup && settings.movePopup))\r\n                ? $target.position()\r\n                : $target.offset(),\r\n              screenPosition = (isWindow)\r\n                ? { top: 0, left: 0 }\r\n                : $boundary.offset(),\r\n              calculations   = {},\r\n              scroll = (isWindow)\r\n                ? { top: $window.scrollTop(), left: $window.scrollLeft() }\r\n                : { top: 0, left: 0},\r\n              screen\r\n            ;\r\n            calculations = {\r\n              // element which is launching popup\r\n              target : {\r\n                element : $target[0],\r\n                width   : $target.outerWidth(),\r\n                height  : $target.outerHeight(),\r\n                top     : targetPosition.top,\r\n                left    : targetPosition.left,\r\n                margin  : {}\r\n              },\r\n              // popup itself\r\n              popup : {\r\n                width  : $popup.outerWidth(),\r\n                height : $popup.outerHeight()\r\n              },\r\n              // offset container (or 3d context)\r\n              parent : {\r\n                width  : $offsetParent.outerWidth(),\r\n                height : $offsetParent.outerHeight()\r\n              },\r\n              // screen boundaries\r\n              screen : {\r\n                top  : screenPosition.top,\r\n                left : screenPosition.left,\r\n                scroll: {\r\n                  top  : scroll.top,\r\n                  left : scroll.left\r\n                },\r\n                width  : $boundary.width(),\r\n                height : $boundary.height()\r\n              }\r\n            };\r\n\r\n            // if popup offset context is not same as target, then adjust calculations\r\n            if($popupOffsetParent.get(0) !== $offsetParent.get(0)) {\r\n              var\r\n                popupOffset        = $popupOffsetParent.offset()\r\n              ;\r\n              calculations.target.top -= popupOffset.top;\r\n              calculations.target.left -= popupOffset.left;\r\n              calculations.parent.width = $popupOffsetParent.outerWidth();\r\n              calculations.parent.height = $popupOffsetParent.outerHeight();\r\n            }\r\n\r\n            // add in container calcs if fluid\r\n            if( settings.setFluidWidth && module.is.fluid() ) {\r\n              calculations.container = {\r\n                width: $popup.parent().outerWidth()\r\n              };\r\n              calculations.popup.width = calculations.container.width;\r\n            }\r\n\r\n            // add in margins if inline\r\n            calculations.target.margin.top = (settings.inline)\r\n              ? parseInt( window.getComputedStyle(targetElement).getPropertyValue('margin-top'), 10)\r\n              : 0\r\n            ;\r\n            calculations.target.margin.left = (settings.inline)\r\n              ? module.is.rtl()\r\n                ? parseInt( window.getComputedStyle(targetElement).getPropertyValue('margin-right'), 10)\r\n                : parseInt( window.getComputedStyle(targetElement).getPropertyValue('margin-left'), 10)\r\n              : 0\r\n            ;\r\n            // calculate screen boundaries\r\n            screen = calculations.screen;\r\n            calculations.boundary = {\r\n              top    : screen.top + screen.scroll.top,\r\n              bottom : screen.top + screen.scroll.top + screen.height,\r\n              left   : screen.left + screen.scroll.left,\r\n              right  : screen.left + screen.scroll.left + screen.width\r\n            };\r\n            return calculations;\r\n          },\r\n          id: function() {\r\n            return id;\r\n          },\r\n          startEvent: function() {\r\n            if(settings.on == 'hover') {\r\n              return 'mouseenter';\r\n            }\r\n            else if(settings.on == 'focus') {\r\n              return 'focus';\r\n            }\r\n            return false;\r\n          },\r\n          scrollEvent: function() {\r\n            return 'scroll';\r\n          },\r\n          endEvent: function() {\r\n            if(settings.on == 'hover') {\r\n              return 'mouseleave';\r\n            }\r\n            else if(settings.on == 'focus') {\r\n              return 'blur';\r\n            }\r\n            return false;\r\n          },\r\n          distanceFromBoundary: function(offset, calculations) {\r\n            var\r\n              distanceFromBoundary = {},\r\n              popup,\r\n              boundary\r\n            ;\r\n            calculations = calculations || module.get.calculations();\r\n\r\n            // shorthand\r\n            popup        = calculations.popup;\r\n            boundary     = calculations.boundary;\r\n\r\n            if(offset) {\r\n              distanceFromBoundary = {\r\n                top    : (offset.top - boundary.top),\r\n                left   : (offset.left - boundary.left),\r\n                right  : (boundary.right - (offset.left + popup.width) ),\r\n                bottom : (boundary.bottom - (offset.top + popup.height) )\r\n              };\r\n              module.verbose('Distance from boundaries determined', offset, distanceFromBoundary);\r\n            }\r\n            return distanceFromBoundary;\r\n          },\r\n          offsetParent: function($element) {\r\n            var\r\n              element = ($element !== undefined)\r\n                ? $element[0]\r\n                : $target[0],\r\n              parentNode = element.parentNode,\r\n              $node    = $(parentNode)\r\n            ;\r\n            if(parentNode) {\r\n              var\r\n                is2D     = ($node.css('transform') === 'none'),\r\n                isStatic = ($node.css('position') === 'static'),\r\n                isBody   = $node.is('body')\r\n              ;\r\n              while(parentNode && !isBody && isStatic && is2D) {\r\n                parentNode = parentNode.parentNode;\r\n                $node    = $(parentNode);\r\n                is2D     = ($node.css('transform') === 'none');\r\n                isStatic = ($node.css('position') === 'static');\r\n                isBody   = $node.is('body');\r\n              }\r\n            }\r\n            return ($node && $node.length > 0)\r\n              ? $node\r\n              : $()\r\n            ;\r\n          },\r\n          positions: function() {\r\n            return {\r\n              'top left'      : false,\r\n              'top center'    : false,\r\n              'top right'     : false,\r\n              'bottom left'   : false,\r\n              'bottom center' : false,\r\n              'bottom right'  : false,\r\n              'left center'   : false,\r\n              'right center'  : false\r\n            };\r\n          },\r\n          nextPosition: function(position) {\r\n            var\r\n              positions          = position.split(' '),\r\n              verticalPosition   = positions[0],\r\n              horizontalPosition = positions[1],\r\n              opposite = {\r\n                top    : 'bottom',\r\n                bottom : 'top',\r\n                left   : 'right',\r\n                right  : 'left'\r\n              },\r\n              adjacent = {\r\n                left   : 'center',\r\n                center : 'right',\r\n                right  : 'left'\r\n              },\r\n              backup = {\r\n                'top left'      : 'top center',\r\n                'top center'    : 'top right',\r\n                'top right'     : 'right center',\r\n                'right center'  : 'bottom right',\r\n                'bottom right'  : 'bottom center',\r\n                'bottom center' : 'bottom left',\r\n                'bottom left'   : 'left center',\r\n                'left center'   : 'top left'\r\n              },\r\n              adjacentsAvailable = (verticalPosition == 'top' || verticalPosition == 'bottom'),\r\n              oppositeTried = false,\r\n              adjacentTried = false,\r\n              nextPosition  = false\r\n            ;\r\n            if(!triedPositions) {\r\n              module.verbose('All available positions available');\r\n              triedPositions = module.get.positions();\r\n            }\r\n\r\n            module.debug('Recording last position tried', position);\r\n            triedPositions[position] = true;\r\n\r\n            if(settings.prefer === 'opposite') {\r\n              nextPosition  = [opposite[verticalPosition], horizontalPosition];\r\n              nextPosition  = nextPosition.join(' ');\r\n              oppositeTried = (triedPositions[nextPosition] === true);\r\n              module.debug('Trying opposite strategy', nextPosition);\r\n            }\r\n            if((settings.prefer === 'adjacent') && adjacentsAvailable ) {\r\n              nextPosition  = [verticalPosition, adjacent[horizontalPosition]];\r\n              nextPosition  = nextPosition.join(' ');\r\n              adjacentTried = (triedPositions[nextPosition] === true);\r\n              module.debug('Trying adjacent strategy', nextPosition);\r\n            }\r\n            if(adjacentTried || oppositeTried) {\r\n              module.debug('Using backup position', nextPosition);\r\n              nextPosition = backup[position];\r\n            }\r\n            return nextPosition;\r\n          }\r\n        },\r\n\r\n        set: {\r\n          position: function(position, calculations) {\r\n\r\n            // exit conditions\r\n            if($target.length === 0 || $popup.length === 0) {\r\n              module.error(error.notFound);\r\n              return;\r\n            }\r\n            var\r\n              offset,\r\n              distanceAway,\r\n              target,\r\n              popup,\r\n              parent,\r\n              positioning,\r\n              popupOffset,\r\n              distanceFromBoundary\r\n            ;\r\n\r\n            calculations = calculations || module.get.calculations();\r\n            position     = position     || $module.data(metadata.position) || settings.position;\r\n\r\n            offset       = $module.data(metadata.offset) || settings.offset;\r\n            distanceAway = settings.distanceAway;\r\n\r\n            // shorthand\r\n            target = calculations.target;\r\n            popup  = calculations.popup;\r\n            parent = calculations.parent;\r\n\r\n            if(module.should.centerArrow(calculations)) {\r\n              module.verbose('Adjusting offset to center arrow on small target element');\r\n              if(position == 'top left' || position == 'bottom left') {\r\n                offset += (target.width / 2)\r\n                offset -= settings.arrowPixelsFromEdge;\r\n              }\r\n              if(position == 'top right' || position == 'bottom right') {\r\n                offset -= (target.width / 2)\r\n                offset += settings.arrowPixelsFromEdge;\r\n              }\r\n            }\r\n\r\n            if(target.width === 0 && target.height === 0 && !module.is.svg(target.element)) {\r\n              module.debug('Popup target is hidden, no action taken');\r\n              return false;\r\n            }\r\n\r\n            if(settings.inline) {\r\n              module.debug('Adding margin to calculation', target.margin);\r\n              if(position == 'left center' || position == 'right center') {\r\n                offset       +=  target.margin.top;\r\n                distanceAway += -target.margin.left;\r\n              }\r\n              else if (position == 'top left' || position == 'top center' || position == 'top right') {\r\n                offset       += target.margin.left;\r\n                distanceAway -= target.margin.top;\r\n              }\r\n              else {\r\n                offset       += target.margin.left;\r\n                distanceAway += target.margin.top;\r\n              }\r\n            }\r\n\r\n            module.debug('Determining popup position from calculations', position, calculations);\r\n\r\n            if (module.is.rtl()) {\r\n              position = position.replace(/left|right/g, function (match) {\r\n                return (match == 'left')\r\n                  ? 'right'\r\n                  : 'left'\r\n                ;\r\n              });\r\n              module.debug('RTL: Popup position updated', position);\r\n            }\r\n\r\n            // if last attempt use specified last resort position\r\n            if(searchDepth == settings.maxSearchDepth && typeof settings.lastResort === 'string') {\r\n              position = settings.lastResort;\r\n            }\r\n\r\n            switch (position) {\r\n              case 'top left':\r\n                positioning = {\r\n                  top    : 'auto',\r\n                  bottom : parent.height - target.top + distanceAway,\r\n                  left   : target.left + offset,\r\n                  right  : 'auto'\r\n                };\r\n              break;\r\n              case 'top center':\r\n                positioning = {\r\n                  bottom : parent.height - target.top + distanceAway,\r\n                  left   : target.left + (target.width / 2) - (popup.width / 2) + offset,\r\n                  top    : 'auto',\r\n                  right  : 'auto'\r\n                };\r\n              break;\r\n              case 'top right':\r\n                positioning = {\r\n                  bottom :  parent.height - target.top + distanceAway,\r\n                  right  :  parent.width - target.left - target.width - offset,\r\n                  top    : 'auto',\r\n                  left   : 'auto'\r\n                };\r\n              break;\r\n              case 'left center':\r\n                positioning = {\r\n                  top    : target.top + (target.height / 2) - (popup.height / 2) + offset,\r\n                  right  : parent.width - target.left + distanceAway,\r\n                  left   : 'auto',\r\n                  bottom : 'auto'\r\n                };\r\n              break;\r\n              case 'right center':\r\n                positioning = {\r\n                  top    : target.top + (target.height / 2) - (popup.height / 2) + offset,\r\n                  left   : target.left + target.width + distanceAway,\r\n                  bottom : 'auto',\r\n                  right  : 'auto'\r\n                };\r\n              break;\r\n              case 'bottom left':\r\n                positioning = {\r\n                  top    : target.top + target.height + distanceAway,\r\n                  left   : target.left + offset,\r\n                  bottom : 'auto',\r\n                  right  : 'auto'\r\n                };\r\n              break;\r\n              case 'bottom center':\r\n                positioning = {\r\n                  top    : target.top + target.height + distanceAway,\r\n                  left   : target.left + (target.width / 2) - (popup.width / 2) + offset,\r\n                  bottom : 'auto',\r\n                  right  : 'auto'\r\n                };\r\n              break;\r\n              case 'bottom right':\r\n                positioning = {\r\n                  top    : target.top + target.height + distanceAway,\r\n                  right  : parent.width - target.left  - target.width - offset,\r\n                  left   : 'auto',\r\n                  bottom : 'auto'\r\n                };\r\n              break;\r\n            }\r\n            if(positioning === undefined) {\r\n              module.error(error.invalidPosition, position);\r\n            }\r\n\r\n            module.debug('Calculated popup positioning values', positioning);\r\n\r\n            // tentatively place on stage\r\n            $popup\r\n              .css(positioning)\r\n              .removeClass(className.position)\r\n              .addClass(position)\r\n              .addClass(className.loading)\r\n            ;\r\n\r\n            popupOffset = module.get.popupOffset();\r\n\r\n            // see if any boundaries are surpassed with this tentative position\r\n            distanceFromBoundary = module.get.distanceFromBoundary(popupOffset, calculations);\r\n\r\n            if( module.is.offstage(distanceFromBoundary, position) ) {\r\n              module.debug('Position is outside viewport', position);\r\n              if(searchDepth < settings.maxSearchDepth) {\r\n                searchDepth++;\r\n                position = module.get.nextPosition(position);\r\n                module.debug('Trying new position', position);\r\n                return ($popup)\r\n                  ? module.set.position(position, calculations)\r\n                  : false\r\n                ;\r\n              }\r\n              else {\r\n                if(settings.lastResort) {\r\n                  module.debug('No position found, showing with last position');\r\n                }\r\n                else {\r\n                  module.debug('Popup could not find a position to display', $popup);\r\n                  module.error(error.cannotPlace, element);\r\n                  module.remove.attempts();\r\n                  module.remove.loading();\r\n                  module.reset();\r\n                  settings.onUnplaceable.call($popup, element);\r\n                  return false;\r\n                }\r\n              }\r\n            }\r\n            module.debug('Position is on stage', position);\r\n            module.remove.attempts();\r\n            module.remove.loading();\r\n            if( settings.setFluidWidth && module.is.fluid() ) {\r\n              module.set.fluidWidth(calculations);\r\n            }\r\n            return true;\r\n          },\r\n\r\n          fluidWidth: function(calculations) {\r\n            calculations = calculations || module.get.calculations();\r\n            module.debug('Automatically setting element width to parent width', calculations.parent.width);\r\n            $popup.css('width', calculations.container.width);\r\n          },\r\n\r\n          variation: function(variation) {\r\n            variation = variation || module.get.variation();\r\n            if(variation && module.has.popup() ) {\r\n              module.verbose('Adding variation to popup', variation);\r\n              $popup.addClass(variation);\r\n            }\r\n          },\r\n\r\n          visible: function() {\r\n            $module.addClass(className.visible);\r\n          }\r\n        },\r\n\r\n        remove: {\r\n          loading: function() {\r\n            $popup.removeClass(className.loading);\r\n          },\r\n          variation: function(variation) {\r\n            variation = variation || module.get.variation();\r\n            if(variation) {\r\n              module.verbose('Removing variation', variation);\r\n              $popup.removeClass(variation);\r\n            }\r\n          },\r\n          visible: function() {\r\n            $module.removeClass(className.visible);\r\n          },\r\n          attempts: function() {\r\n            module.verbose('Resetting all searched positions');\r\n            searchDepth    = 0;\r\n            triedPositions = false;\r\n          }\r\n        },\r\n\r\n        bind: {\r\n          events: function() {\r\n            module.debug('Binding popup events to module');\r\n            if(settings.on == 'click') {\r\n              $module\r\n                .on('click' + eventNamespace, module.toggle)\r\n              ;\r\n            }\r\n            if(settings.on == 'hover' && hasTouch) {\r\n              $module\r\n                .on('touchstart' + eventNamespace, module.event.touchstart)\r\n              ;\r\n            }\r\n            if( module.get.startEvent() ) {\r\n              $module\r\n                .on(module.get.startEvent() + eventNamespace, module.event.start)\r\n                .on(module.get.endEvent() + eventNamespace, module.event.end)\r\n              ;\r\n            }\r\n            if(settings.target) {\r\n              module.debug('Target set to element', $target);\r\n            }\r\n            $window.on('resize' + elementNamespace, module.event.resize);\r\n          },\r\n          popup: function() {\r\n            module.verbose('Allowing hover events on popup to prevent closing');\r\n            if( $popup && module.has.popup() ) {\r\n              $popup\r\n                .on('mouseenter' + eventNamespace, module.event.start)\r\n                .on('mouseleave' + eventNamespace, module.event.end)\r\n              ;\r\n            }\r\n          },\r\n          close: function() {\r\n            if(settings.hideOnScroll === true || (settings.hideOnScroll == 'auto' && settings.on != 'click')) {\r\n              module.bind.closeOnScroll();\r\n            }\r\n            if(module.is.closable()) {\r\n              module.bind.clickaway();\r\n            }\r\n            else if(settings.on == 'hover' && openedWithTouch) {\r\n              module.bind.touchClose();\r\n            }\r\n          },\r\n          closeOnScroll: function() {\r\n            module.verbose('Binding scroll close event to document');\r\n            $scrollContext\r\n              .one(module.get.scrollEvent() + elementNamespace, module.event.hideGracefully)\r\n            ;\r\n          },\r\n          touchClose: function() {\r\n            module.verbose('Binding popup touchclose event to document');\r\n            $document\r\n              .on('touchstart' + elementNamespace, function(event) {\r\n                module.verbose('Touched away from popup');\r\n                module.event.hideGracefully.call(element, event);\r\n              })\r\n            ;\r\n          },\r\n          clickaway: function() {\r\n            module.verbose('Binding popup close event to document');\r\n            $document\r\n              .on('click' + elementNamespace, function(event) {\r\n                module.verbose('Clicked away from popup');\r\n                module.event.hideGracefully.call(element, event);\r\n              })\r\n            ;\r\n          }\r\n        },\r\n\r\n        unbind: {\r\n          events: function() {\r\n            $window\r\n              .off(elementNamespace)\r\n            ;\r\n            $module\r\n              .off(eventNamespace)\r\n            ;\r\n          },\r\n          close: function() {\r\n            $document\r\n              .off(elementNamespace)\r\n            ;\r\n            $scrollContext\r\n              .off(elementNamespace)\r\n            ;\r\n          },\r\n        },\r\n\r\n        has: {\r\n          popup: function() {\r\n            return ($popup && $popup.length > 0);\r\n          }\r\n        },\r\n\r\n        should: {\r\n          centerArrow: function(calculations) {\r\n            return !module.is.basic() && calculations.target.width <= (settings.arrowPixelsFromEdge * 2);\r\n          },\r\n        },\r\n\r\n        is: {\r\n          closable: function() {\r\n            if(settings.closable == 'auto') {\r\n              if(settings.on == 'hover') {\r\n                return false;\r\n              }\r\n              return true;\r\n            }\r\n            return settings.closable;\r\n          },\r\n          offstage: function(distanceFromBoundary, position) {\r\n            var\r\n              offstage = []\r\n            ;\r\n            // return boundaries that have been surpassed\r\n            $.each(distanceFromBoundary, function(direction, distance) {\r\n              if(distance < -settings.jitter) {\r\n                module.debug('Position exceeds allowable distance from edge', direction, distance, position);\r\n                offstage.push(direction);\r\n              }\r\n            });\r\n            if(offstage.length > 0) {\r\n              return true;\r\n            }\r\n            else {\r\n              return false;\r\n            }\r\n          },\r\n          svg: function(element) {\r\n            return module.supports.svg() && (element instanceof SVGGraphicsElement);\r\n          },\r\n          basic: function() {\r\n            return $module.hasClass(className.basic);\r\n          },\r\n          active: function() {\r\n            return $module.hasClass(className.active);\r\n          },\r\n          animating: function() {\r\n            return ($popup !== undefined && $popup.hasClass(className.animating) );\r\n          },\r\n          fluid: function() {\r\n            return ($popup !== undefined && $popup.hasClass(className.fluid));\r\n          },\r\n          visible: function() {\r\n            return ($popup !== undefined && $popup.hasClass(className.popupVisible));\r\n          },\r\n          dropdown: function() {\r\n            return $module.hasClass(className.dropdown);\r\n          },\r\n          hidden: function() {\r\n            return !module.is.visible();\r\n          },\r\n          rtl: function () {\r\n            return $module.css('direction') == 'rtl';\r\n          }\r\n        },\r\n\r\n        reset: function() {\r\n          module.remove.visible();\r\n          if(settings.preserve) {\r\n            if($.fn.transition !== undefined) {\r\n              $popup\r\n                .transition('remove transition')\r\n              ;\r\n            }\r\n          }\r\n          else {\r\n            module.removePopup();\r\n          }\r\n        },\r\n\r\n        setting: function(name, value) {\r\n          if( $.isPlainObject(name) ) {\r\n            $.extend(true, settings, name);\r\n          }\r\n          else if(value !== undefined) {\r\n            settings[name] = value;\r\n          }\r\n          else {\r\n            return settings[name];\r\n          }\r\n        },\r\n        internal: function(name, value) {\r\n          if( $.isPlainObject(name) ) {\r\n            $.extend(true, module, name);\r\n          }\r\n          else if(value !== undefined) {\r\n            module[name] = value;\r\n          }\r\n          else {\r\n            return module[name];\r\n          }\r\n        },\r\n        debug: function() {\r\n          if(!settings.silent && settings.debug) {\r\n            if(settings.performance) {\r\n              module.performance.log(arguments);\r\n            }\r\n            else {\r\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\r\n              module.debug.apply(console, arguments);\r\n            }\r\n          }\r\n        },\r\n        verbose: function() {\r\n          if(!settings.silent && settings.verbose && settings.debug) {\r\n            if(settings.performance) {\r\n              module.performance.log(arguments);\r\n            }\r\n            else {\r\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\r\n              module.verbose.apply(console, arguments);\r\n            }\r\n          }\r\n        },\r\n        error: function() {\r\n          if(!settings.silent) {\r\n            module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\r\n            module.error.apply(console, arguments);\r\n          }\r\n        },\r\n        performance: {\r\n          log: function(message) {\r\n            var\r\n              currentTime,\r\n              executionTime,\r\n              previousTime\r\n            ;\r\n            if(settings.performance) {\r\n              currentTime   = new Date().getTime();\r\n              previousTime  = time || currentTime;\r\n              executionTime = currentTime - previousTime;\r\n              time          = currentTime;\r\n              performance.push({\r\n                'Name'           : message[0],\r\n                'Arguments'      : [].slice.call(message, 1) || '',\r\n                'Element'        : element,\r\n                'Execution Time' : executionTime\r\n              });\r\n            }\r\n            clearTimeout(module.performance.timer);\r\n            module.performance.timer = setTimeout(module.performance.display, 500);\r\n          },\r\n          display: function() {\r\n            var\r\n              title = settings.name + ':',\r\n              totalTime = 0\r\n            ;\r\n            time = false;\r\n            clearTimeout(module.performance.timer);\r\n            $.each(performance, function(index, data) {\r\n              totalTime += data['Execution Time'];\r\n            });\r\n            title += ' ' + totalTime + 'ms';\r\n            if(moduleSelector) {\r\n              title += ' \\'' + moduleSelector + '\\'';\r\n            }\r\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\r\n              console.groupCollapsed(title);\r\n              if(console.table) {\r\n                console.table(performance);\r\n              }\r\n              else {\r\n                $.each(performance, function(index, data) {\r\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\r\n                });\r\n              }\r\n              console.groupEnd();\r\n            }\r\n            performance = [];\r\n          }\r\n        },\r\n        invoke: function(query, passedArguments, context) {\r\n          var\r\n            object = instance,\r\n            maxDepth,\r\n            found,\r\n            response\r\n          ;\r\n          passedArguments = passedArguments || queryArguments;\r\n          context         = element         || context;\r\n          if(typeof query == 'string' && object !== undefined) {\r\n            query    = query.split(/[\\. ]/);\r\n            maxDepth = query.length - 1;\r\n            $.each(query, function(depth, value) {\r\n              var camelCaseValue = (depth != maxDepth)\r\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\r\n                : query\r\n              ;\r\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\r\n                object = object[camelCaseValue];\r\n              }\r\n              else if( object[camelCaseValue] !== undefined ) {\r\n                found = object[camelCaseValue];\r\n                return false;\r\n              }\r\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\r\n                object = object[value];\r\n              }\r\n              else if( object[value] !== undefined ) {\r\n                found = object[value];\r\n                return false;\r\n              }\r\n              else {\r\n                return false;\r\n              }\r\n            });\r\n          }\r\n          if ( $.isFunction( found ) ) {\r\n            response = found.apply(context, passedArguments);\r\n          }\r\n          else if(found !== undefined) {\r\n            response = found;\r\n          }\r\n          if($.isArray(returnedValue)) {\r\n            returnedValue.push(response);\r\n          }\r\n          else if(returnedValue !== undefined) {\r\n            returnedValue = [returnedValue, response];\r\n          }\r\n          else if(response !== undefined) {\r\n            returnedValue = response;\r\n          }\r\n          return found;\r\n        }\r\n      };\r\n\r\n      if(methodInvoked) {\r\n        if(instance === undefined) {\r\n          module.initialize();\r\n        }\r\n        module.invoke(query);\r\n      }\r\n      else {\r\n        if(instance !== undefined) {\r\n          instance.invoke('destroy');\r\n        }\r\n        module.initialize();\r\n      }\r\n    })\r\n  ;\r\n\r\n  return (returnedValue !== undefined)\r\n    ? returnedValue\r\n    : this\r\n  ;\r\n};\r\n\r\n$.fn.popup.settings = {\r\n\r\n  name           : 'Popup',\r\n\r\n  // module settings\r\n  silent         : false,\r\n  debug          : false,\r\n  verbose        : false,\r\n  performance    : true,\r\n  namespace      : 'popup',\r\n\r\n  // whether it should use dom mutation observers\r\n  observeChanges : true,\r\n\r\n  // callback only when element added to dom\r\n  onCreate       : function(){},\r\n\r\n  // callback before element removed from dom\r\n  onRemove       : function(){},\r\n\r\n  // callback before show animation\r\n  onShow         : function(){},\r\n\r\n  // callback after show animation\r\n  onVisible      : function(){},\r\n\r\n  // callback before hide animation\r\n  onHide         : function(){},\r\n\r\n  // callback when popup cannot be positioned in visible screen\r\n  onUnplaceable  : function(){},\r\n\r\n  // callback after hide animation\r\n  onHidden       : function(){},\r\n\r\n  // when to show popup\r\n  on             : 'hover',\r\n\r\n  // element to use to determine if popup is out of boundary\r\n  boundary       : window,\r\n\r\n  // whether to add touchstart events when using hover\r\n  addTouchEvents : true,\r\n\r\n  // default position relative to element\r\n  position       : 'top left',\r\n\r\n  // name of variation to use\r\n  variation      : '',\r\n\r\n  // whether popup should be moved to context\r\n  movePopup      : true,\r\n\r\n  // element which popup should be relative to\r\n  target         : false,\r\n\r\n  // jq selector or element that should be used as popup\r\n  popup          : false,\r\n\r\n  // popup should remain inline next to activator\r\n  inline         : false,\r\n\r\n  // popup should be removed from page on hide\r\n  preserve       : false,\r\n\r\n  // popup should not close when being hovered on\r\n  hoverable      : false,\r\n\r\n  // explicitly set content\r\n  content        : false,\r\n\r\n  // explicitly set html\r\n  html           : false,\r\n\r\n  // explicitly set title\r\n  title          : false,\r\n\r\n  // whether automatically close on clickaway when on click\r\n  closable       : true,\r\n\r\n  // automatically hide on scroll\r\n  hideOnScroll   : 'auto',\r\n\r\n  // hide other popups on show\r\n  exclusive      : false,\r\n\r\n  // context to attach popups\r\n  context        : 'body',\r\n\r\n  // context for binding scroll events\r\n  scrollContext  : window,\r\n\r\n  // position to prefer when calculating new position\r\n  prefer         : 'opposite',\r\n\r\n  // specify position to appear even if it doesn't fit\r\n  lastResort     : false,\r\n\r\n  // number of pixels from edge of popup to pointing arrow center (used from centering)\r\n  arrowPixelsFromEdge: 20,\r\n\r\n  // delay used to prevent accidental refiring of animations due to user error\r\n  delay : {\r\n    show : 50,\r\n    hide : 70\r\n  },\r\n\r\n  // whether fluid variation should assign width explicitly\r\n  setFluidWidth  : true,\r\n\r\n  // transition settings\r\n  duration       : 200,\r\n  transition     : 'scale',\r\n\r\n  // distance away from activating element in px\r\n  distanceAway   : 0,\r\n\r\n  // number of pixels an element is allowed to be \"offstage\" for a position to be chosen (allows for rounding)\r\n  jitter         : 2,\r\n\r\n  // offset on aligning axis from calculated position\r\n  offset         : 0,\r\n\r\n  // maximum times to look for a position before failing (9 positions total)\r\n  maxSearchDepth : 15,\r\n\r\n  error: {\r\n    invalidPosition : 'The position you specified is not a valid position',\r\n    cannotPlace     : 'Popup does not fit within the boundaries of the viewport',\r\n    method          : 'The method you called is not defined.',\r\n    noTransition    : 'This module requires ui transitions <https://github.com/Semantic-Org/UI-Transition>',\r\n    notFound        : 'The target or popup you specified does not exist on the page'\r\n  },\r\n\r\n  metadata: {\r\n    activator : 'activator',\r\n    content   : 'content',\r\n    html      : 'html',\r\n    offset    : 'offset',\r\n    position  : 'position',\r\n    title     : 'title',\r\n    variation : 'variation'\r\n  },\r\n\r\n  className   : {\r\n    active       : 'active',\r\n    basic        : 'basic',\r\n    animating    : 'animating',\r\n    dropdown     : 'dropdown',\r\n    fluid        : 'fluid',\r\n    loading      : 'loading',\r\n    popup        : 'ui popup',\r\n    position     : 'top left center bottom right',\r\n    visible      : 'visible',\r\n    popupVisible : 'visible'\r\n  },\r\n\r\n  selector    : {\r\n    popup    : '.ui.popup'\r\n  },\r\n\r\n  templates: {\r\n    escape: function(string) {\r\n      var\r\n        badChars     = /[&<>\"'`]/g,\r\n        shouldEscape = /[&<>\"'`]/,\r\n        escape       = {\r\n          \"&\": \"&amp;\",\r\n          \"<\": \"&lt;\",\r\n          \">\": \"&gt;\",\r\n          '\"': \"&quot;\",\r\n          \"'\": \"&#x27;\",\r\n          \"`\": \"&#x60;\"\r\n        },\r\n        escapedChar  = function(chr) {\r\n          return escape[chr];\r\n        }\r\n      ;\r\n      if(shouldEscape.test(string)) {\r\n        return string.replace(badChars, escapedChar);\r\n      }\r\n      return string;\r\n    },\r\n    popup: function(text) {\r\n      var\r\n        html   = '',\r\n        escape = $.fn.popup.settings.templates.escape\r\n      ;\r\n      if(typeof text !== undefined) {\r\n        if(typeof text.title !== undefined && text.title) {\r\n          text.title = escape(text.title);\r\n          html += '<div class=\"header\">' + text.title + '</div>';\r\n        }\r\n        if(typeof text.content !== undefined && text.content) {\r\n          text.content = escape(text.content);\r\n          html += '<div class=\"content\">' + text.content + '</div>';\r\n        }\r\n      }\r\n      return html;\r\n    }\r\n  }\r\n\r\n};\r\n\r\n\r\n})( jQuery, window, document );\r\n"],"names":["$","window","document","undefined","Math","self","Function","fn","popup","parameters","returnedValue","$allModules","this","$document","$window","$body","moduleSelector","selector","time","Date","getTime","performance","query","arguments","methodInvoked","queryArguments","slice","call","each","$popup","$offsetParent","documentObserver","elementNamespace","id","module","settings","isPlainObject","extend","className","error","metadata","namespace","eventNamespace","moduleNamespace","$module","$context","context","$scrollContext","scrollContext","$boundary","boundary","$target","target","searchDepth","triedPositions","openedWithTouch","element","instance","data","initialize","debug","createID","bind","events","exists","preserve","create","observeChanges","instantiate","verbose","MutationObserver","event","documentChanged","observe","childList","subtree","refresh","eq","inline","nextAll","addClass","loading","get","offsetParent","removeClass","movePopup","has","detach","appendTo","is","variation","set","reposition","position","destroy","disconnect","removePopup","clearTimeout","hideTimer","showTimer","unbind","close","removeData","start","delay","show","setTimeout","end","hide","touchstart","resize","visible","mutations","forEach","mutation","removedNodes","node","find","length","hideGracefully","isInDOM","contains","documentElement","inPopup","closest","html","title","content","templates","activator","insertAfter","hoverable","onCreate","next","random","toString","substr","toggle","hidden","callback","transition","active","dropdown","onShow","save","conditions","exclusive","hideAll","animate","animating","onHide","remove","restore","filter","popupVisible","onRemove","cache","attr","removeAttr","supports","svg","SVGGraphicsElement","isFunction","animation","queue","duration","onComplete","onVisible","noTransition","reset","onHidden","change","popupOffset","offset","calculations","screen","$popupOffsetParent","targetElement","isWindow","targetPosition","screenPosition","top","left","scroll","scrollTop","scrollLeft","width","outerWidth","height","outerHeight","margin","parent","setFluidWidth","fluid","container","parseInt","getComputedStyle","getPropertyValue","rtl","bottom","right","startEvent","on","scrollEvent","endEvent","distanceFromBoundary","$element","parentNode","$node","is2D","css","isStatic","isBody","positions","nextPosition","split","verticalPosition","horizontalPosition","adjacentsAvailable","oppositeTried","adjacentTried","prefer","join","center","distanceAway","positioning","should","centerArrow","arrowPixelsFromEdge","replace","match","maxSearchDepth","lastResort","invalidPosition","offstage","cannotPlace","attempts","onUnplaceable","fluidWidth","notFound","hideOnScroll","closeOnScroll","closable","clickaway","touchClose","one","off","basic","direction","distance","jitter","push","hasClass","setting","name","value","internal","silent","log","prototype","console","info","apply","message","currentTime","executionTime","timer","display","totalTime","index","group","table","groupCollapsed","groupEnd","invoke","passedArguments","maxDepth","found","response","object","depth","camelCaseValue","charAt","toUpperCase","isArray","addTouchEvents","method","escape","string","test","chr","text","jQuery"],"sourceRoot":""}