{"version":3,"sources":["kendo.popup.js"],"names":["f","define","$","undefined","contains","container","target","stableSort","tabKeyTrapNS","focusableNodesSelector","TabKeyTrap","kendo","window","ui","Widget","Class","support","getOffset","outerWidth","_outerWidth","outerHeight","_outerHeight","OPEN","CLOSE","DEACTIVATE","ACTIVATE","CENTER","LEFT","RIGHT","TOP","BOTTOM","ABSOLUTE","HIDDEN","BODY","LOCATION","POSITION","VISIBLE","EFFECTS","ACTIVE","ACTIVEBORDER","ACTIVEBORDERREGEXP","ACTIVECHILDREN","MOUSEDOWN","DOCUMENT_ELEMENT","document","documentElement","proxy","WINDOW","SCROLL","cssPrefix","transitions","css","TRANSFORM","extend","NS","styles","Popup","init","element","options","parentPopup","that","this","isRtl","origin","position","fn","call","collisions","collision","split","downEvent","applyEventMap","guid","length","push","anchor","closest","filter","appendTo","body","hide","addClass","toggleClass","attr","on","_hovered","e","list","find","scrollArea","parent","is","scrollTop","originalEvent","deltaY","prop","preventDefault","wrapper","animation","open","effects","close","complete","overflow","_activated","_trigger","_animationClose","_mousedownProxy","_mousedown","_resizeProxy","mobileOS","android","setTimeout","_resize","toggleTarget","toggleEvent","toggle","events","name","viewport","copyAnchorStyles","autosize","modal","adjustSize","width","height","transition","duration","omitOriginOffsets","location","data","_hideDirClass","_closing","destroy","off","_toggleResize","children","removeData","remove","x","y","fixed","isFixed","isNaN","parseInt","mobile","hasClass","visible","shift","getComputedStyles","wrap","display","flipped","_position","_openAnimation","_showDirClass","show","kendoStop","kendoAnimate","_location","offset","left","top","parseEffects","direction","match","dirClass","removeClass","directions","reverse","slideIn","skipEffects","openEffects","closeEffects","each","popup","size","ev","trigger","type","resize","indexOf","clearTimeout","_resizeTimeout","method","eventNames","ios","browser","safari","scrollableParents","_scrollableParents","eventTarget","_fit","viewPortSize","output","_flip","anchorSize","boxSize","parentsUntil","index","isScrollable","siblingContainer","parents","parentZIndex","viewportOffset","viewportWidth","viewportHeight","sign","pos","anchorParent","offsets","flipPos","elementHeight","wrapperHeight","zoomLevel","isWindow","innerWidth","origins","toLowerCase","positions","zIndex","idx","docEl","pageYOffset","pageXOffset","scrollLeft","innerHeight","scrollHeight","clientHeight","scrollbar","siblings","Math","max","_align","offsetParent","appendToOffset","verticalOrigin","horizontalOrigin","verticalPosition","horizontalPosition","anchorOffset","first","anchorWidth","anchorHeight","round","plugin","autoApplyNS","trap","_keepInTrap","removeTrap","kendoDestroy","shouldTrap","elements","sortedElements","next","which","isDefaultPrevented","_focusableElements","_sortFocusableElements","_nextFocusable","_focus","i","item","tabIndex","attrName","sort","prev","setAttribute","getAttribute","removeAttr","count","current","get","shiftKey","nodeName","contentWindow","focus","setSelectionRange","_haveSelectionRange","value","elementType","jQuery","amd","a1","a2","a3"],"mappings":"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","file":"kendo.popup.min.js","sourcesContent":["/*!\n                                                                                                                                                                                                       \n                                                                                                                                                                                                       \n                                                                                                                                                                                                       \n                                                                                                                                                                                                       \n                                                                                                                                                                                                       \n                                                                                                                                                                                                       \n                                                                                                                                                                                                       \n                                                                                                                                                                                                       \n                                                                                                                                                                                                       \n                                                                                                                                                                                                       \n                                                                                                                                                                                                       \n                                                                                                                                                                                                       \n                                                                                                                                                                                                       \n                                                                                                                                                                                                       \n                                                                                                                                                                                                       \n                                                                                                                                                                                                       \n                                                                                                                                                                                                       \n                                                                                                                                                                                                       \n                                                                                                                                                                                                       \n                                                                                                                                                                                                       \n                                                                                                                                                                                                       \n\n*/\n(function (f, define) {\n    define('kendo.popup', ['kendo.core'], f);\n}(function () {\n    var __meta__ = {\n        id: 'popup',\n        name: 'Pop-up',\n        category: 'framework',\n        depends: ['core'],\n        advanced: true\n    };\n    (function ($, undefined) {\n        var kendo = window.kendo, ui = kendo.ui, Widget = ui.Widget, Class = kendo.Class, support = kendo.support, getOffset = kendo.getOffset, outerWidth = kendo._outerWidth, outerHeight = kendo._outerHeight, OPEN = 'open', CLOSE = 'close', DEACTIVATE = 'deactivate', ACTIVATE = 'activate', CENTER = 'center', LEFT = 'left', RIGHT = 'right', TOP = 'top', BOTTOM = 'bottom', ABSOLUTE = 'absolute', HIDDEN = 'hidden', BODY = 'body', LOCATION = 'location', POSITION = 'position', VISIBLE = 'visible', EFFECTS = 'effects', ACTIVE = 'k-state-active', ACTIVEBORDER = 'k-state-border', ACTIVEBORDERREGEXP = /k-state-border-(\\w+)/, ACTIVECHILDREN = '.k-picker-wrap, .k-dropdown-wrap, .k-link', MOUSEDOWN = 'down', DOCUMENT_ELEMENT = $(document.documentElement), proxy = $.proxy, WINDOW = $(window), SCROLL = 'scroll', cssPrefix = support.transitions.css, TRANSFORM = cssPrefix + 'transform', extend = $.extend, NS = '.kendoPopup', styles = [\n                'font-size',\n                'font-family',\n                'font-stretch',\n                'font-style',\n                'font-weight',\n                'line-height'\n            ];\n        function contains(container, target) {\n            if (!container || !target) {\n                return false;\n            }\n            return container === target || $.contains(container, target);\n        }\n        var Popup = Widget.extend({\n            init: function (element, options) {\n                var that = this, parentPopup;\n                options = options || {};\n                if (options.isRtl) {\n                    options.origin = options.origin || BOTTOM + ' ' + RIGHT;\n                    options.position = options.position || TOP + ' ' + RIGHT;\n                }\n                Widget.fn.init.call(that, element, options);\n                element = that.element;\n                options = that.options;\n                that.collisions = options.collision ? options.collision.split(' ') : [];\n                that.downEvent = kendo.applyEventMap(MOUSEDOWN, kendo.guid());\n                if (that.collisions.length === 1) {\n                    that.collisions.push(that.collisions[0]);\n                }\n                parentPopup = $(that.options.anchor).closest('.k-popup,.k-group').filter(':not([class^=km-])');\n                options.appendTo = $($(options.appendTo)[0] || parentPopup[0] || document.body);\n                that.element.hide().addClass('k-popup k-group k-reset').toggleClass('k-rtl', !!options.isRtl).css({ position: ABSOLUTE }).appendTo(options.appendTo).attr('aria-hidden', true).on('mouseenter' + NS, function () {\n                    that._hovered = true;\n                }).on('wheel' + NS, function (e) {\n                    var list = $(e.target).find('.k-list');\n                    var scrollArea = list.parent();\n                    if (list.length && list.is(':visible') && (scrollArea.scrollTop() === 0 && e.originalEvent.deltaY < 0 || scrollArea.scrollTop() === scrollArea.prop('scrollHeight') - scrollArea.prop('offsetHeight') && e.originalEvent.deltaY > 0)) {\n                        e.preventDefault();\n                    }\n                }).on('mouseleave' + NS, function () {\n                    that._hovered = false;\n                });\n                that.wrapper = $();\n                if (options.animation === false) {\n                    options.animation = {\n                        open: { effects: {} },\n                        close: {\n                            hide: true,\n                            effects: {}\n                        }\n                    };\n                }\n                extend(options.animation.open, {\n                    complete: function () {\n                        that.wrapper.css({ overflow: VISIBLE });\n                        that._activated = true;\n                        that._trigger(ACTIVATE);\n                    }\n                });\n                extend(options.animation.close, {\n                    complete: function () {\n                        that._animationClose();\n                    }\n                });\n                that._mousedownProxy = function (e) {\n                    that._mousedown(e);\n                };\n                if (support.mobileOS.android) {\n                    that._resizeProxy = function (e) {\n                        setTimeout(function () {\n                            that._resize(e);\n                        }, 600);\n                    };\n                } else {\n                    that._resizeProxy = function (e) {\n                        that._resize(e);\n                    };\n                }\n                if (options.toggleTarget) {\n                    $(options.toggleTarget).on(options.toggleEvent + NS, $.proxy(that.toggle, that));\n                }\n            },\n            events: [\n                OPEN,\n                ACTIVATE,\n                CLOSE,\n                DEACTIVATE\n            ],\n            options: {\n                name: 'Popup',\n                toggleEvent: 'click',\n                origin: BOTTOM + ' ' + LEFT,\n                position: TOP + ' ' + LEFT,\n                anchor: BODY,\n                appendTo: null,\n                collision: 'flip fit',\n                viewport: window,\n                copyAnchorStyles: true,\n                autosize: false,\n                modal: false,\n                adjustSize: {\n                    width: 0,\n                    height: 0\n                },\n                animation: {\n                    open: {\n                        effects: 'slideIn:down',\n                        transition: true,\n                        duration: 200\n                    },\n                    close: {\n                        duration: 100,\n                        hide: true\n                    }\n                },\n                omitOriginOffsets: false\n            },\n            _animationClose: function () {\n                var that = this;\n                var location = that.wrapper.data(LOCATION);\n                that.wrapper.hide();\n                if (location) {\n                    that.wrapper.css(location);\n                }\n                if (that.options.anchor != BODY) {\n                    that._hideDirClass();\n                }\n                that._closing = false;\n                that._trigger(DEACTIVATE);\n            },\n            destroy: function () {\n                var that = this, options = that.options, element = that.element.off(NS), parent;\n                Widget.fn.destroy.call(that);\n                if (options.toggleTarget) {\n                    $(options.toggleTarget).off(NS);\n                }\n                if (!options.modal) {\n                    DOCUMENT_ELEMENT.off(that.downEvent, that._mousedownProxy);\n                    that._toggleResize(false);\n                }\n                kendo.destroy(that.element.children());\n                element.removeData();\n                if (options.appendTo[0] === document.body) {\n                    parent = element.parent('.k-animation-container');\n                    if (parent[0]) {\n                        parent.remove();\n                    } else {\n                        element.remove();\n                    }\n                }\n            },\n            open: function (x, y) {\n                var that = this, fixed = {\n                        isFixed: !isNaN(parseInt(y, 10)),\n                        x: x,\n                        y: y\n                    }, element = that.element, options = that.options, animation, wrapper, anchor = $(options.anchor), mobile = element[0] && element.hasClass('km-widget');\n                if (!that.visible()) {\n                    if (options.copyAnchorStyles) {\n                        if (mobile && styles[0] == 'font-size') {\n                            styles.shift();\n                        }\n                        element.css(kendo.getComputedStyles(anchor[0], styles));\n                    }\n                    if (element.data('animating') || that._trigger(OPEN)) {\n                        return;\n                    }\n                    that._activated = false;\n                    if (!options.modal) {\n                        DOCUMENT_ELEMENT.off(that.downEvent, that._mousedownProxy).on(that.downEvent, that._mousedownProxy);\n                        that._toggleResize(false);\n                        that._toggleResize(true);\n                    }\n                    that.wrapper = wrapper = kendo.wrap(element, options.autosize).css({\n                        overflow: HIDDEN,\n                        display: 'block',\n                        position: ABSOLUTE\n                    }).attr('aria-hidden', false);\n                    if (support.mobileOS.android) {\n                        wrapper.css(TRANSFORM, 'translatez(0)');\n                    }\n                    wrapper.css(POSITION);\n                    if ($(options.appendTo)[0] == document.body) {\n                        wrapper.css(TOP, '-10000px');\n                    }\n                    that.flipped = that._position(fixed);\n                    animation = that._openAnimation();\n                    if (options.anchor != BODY) {\n                        that._showDirClass(animation);\n                    }\n                    if (!element.is(':visible') && element.data('olddisplay') === undefined) {\n                        element.show();\n                        element.data('olddisplay', element.css('display'));\n                        element.hide();\n                    }\n                    element.data(EFFECTS, animation.effects).kendoStop(true).kendoAnimate(animation).attr('aria-hidden', false);\n                }\n            },\n            _location: function (isFixed) {\n                var that = this, element = that.element, options = that.options, wrapper, anchor = $(options.anchor), mobile = element[0] && element.hasClass('km-widget');\n                if (options.copyAnchorStyles) {\n                    if (mobile && styles[0] == 'font-size') {\n                        styles.shift();\n                    }\n                    element.css(kendo.getComputedStyles(anchor[0], styles));\n                }\n                that.wrapper = wrapper = kendo.wrap(element, options.autosize).css({\n                    overflow: HIDDEN,\n                    display: 'block',\n                    position: ABSOLUTE\n                });\n                if (support.mobileOS.android) {\n                    wrapper.css(TRANSFORM, 'translatez(0)');\n                }\n                wrapper.css(POSITION);\n                if ($(options.appendTo)[0] == document.body) {\n                    wrapper.css(TOP, '-10000px');\n                }\n                that._position(isFixed || {});\n                var offset = wrapper.offset();\n                return {\n                    width: kendo._outerWidth(wrapper),\n                    height: kendo._outerHeight(wrapper),\n                    left: offset.left,\n                    top: offset.top\n                };\n            },\n            _openAnimation: function () {\n                var animation = extend(true, {}, this.options.animation.open);\n                animation.effects = kendo.parseEffects(animation.effects, this.flipped);\n                return animation;\n            },\n            _hideDirClass: function () {\n                var anchor = $(this.options.anchor);\n                var direction = ((anchor.attr('class') || '').match(ACTIVEBORDERREGEXP) || [\n                    '',\n                    'down'\n                ])[1];\n                var dirClass = ACTIVEBORDER + '-' + direction;\n                anchor.removeClass(dirClass).children(ACTIVECHILDREN).removeClass(ACTIVE).removeClass(dirClass);\n                this.element.removeClass(ACTIVEBORDER + '-' + kendo.directions[direction].reverse);\n            },\n            _showDirClass: function (animation) {\n                var direction = animation.effects.slideIn ? animation.effects.slideIn.direction : 'down';\n                var dirClass = ACTIVEBORDER + '-' + direction;\n                $(this.options.anchor).addClass(dirClass).children(ACTIVECHILDREN).addClass(ACTIVE).addClass(dirClass);\n                this.element.addClass(ACTIVEBORDER + '-' + kendo.directions[direction].reverse);\n            },\n            position: function () {\n                if (this.visible()) {\n                    this.flipped = this._position();\n                }\n            },\n            toggle: function () {\n                var that = this;\n                that[that.visible() ? CLOSE : OPEN]();\n            },\n            visible: function () {\n                return this.element.is(':' + VISIBLE);\n            },\n            close: function (skipEffects) {\n                var that = this, options = that.options, wrap, animation, openEffects, closeEffects;\n                if (that.visible()) {\n                    wrap = that.wrapper[0] ? that.wrapper : kendo.wrap(that.element).hide();\n                    that._toggleResize(false);\n                    if (that._closing || that._trigger(CLOSE)) {\n                        that._toggleResize(true);\n                        return;\n                    }\n                    that.element.find('.k-popup').each(function () {\n                        var that = $(this), popup = that.data('kendoPopup');\n                        if (popup) {\n                            popup.close(skipEffects);\n                        }\n                    });\n                    DOCUMENT_ELEMENT.off(that.downEvent, that._mousedownProxy);\n                    if (skipEffects) {\n                        animation = {\n                            hide: true,\n                            effects: {}\n                        };\n                    } else {\n                        animation = extend(true, {}, options.animation.close);\n                        openEffects = that.element.data(EFFECTS);\n                        closeEffects = animation.effects;\n                        if (!closeEffects && !kendo.size(closeEffects) && openEffects && kendo.size(openEffects)) {\n                            animation.effects = openEffects;\n                            animation.reverse = true;\n                        }\n                        that._closing = true;\n                    }\n                    that.element.kendoStop(true).attr('aria-hidden', true);\n                    wrap.css({ overflow: HIDDEN }).attr('aria-hidden', true);\n                    that.element.kendoAnimate(animation);\n                    if (skipEffects) {\n                        that._animationClose();\n                    }\n                }\n            },\n            _trigger: function (ev) {\n                return this.trigger(ev, { type: ev });\n            },\n            _resize: function (e) {\n                var that = this;\n                if (support.resize.indexOf(e.type) !== -1) {\n                    clearTimeout(that._resizeTimeout);\n                    that._resizeTimeout = setTimeout(function () {\n                        that._position();\n                        that._resizeTimeout = null;\n                    }, 50);\n                } else {\n                    if (!that._hovered || that._activated && that.element.hasClass('k-list-container')) {\n                        that.close();\n                    }\n                }\n            },\n            _toggleResize: function (toggle) {\n                var method = toggle ? 'on' : 'off';\n                var eventNames = support.resize;\n                if (!(support.mobileOS.ios || support.mobileOS.android || support.browser.safari)) {\n                    eventNames += ' ' + SCROLL;\n                }\n                if (toggle && !this.scrollableParents) {\n                    this.scrollableParents = this._scrollableParents();\n                }\n                if (this.scrollableParents && this.scrollableParents.length) {\n                    this.scrollableParents[method](SCROLL, this._resizeProxy);\n                }\n                WINDOW[method](eventNames, this._resizeProxy);\n            },\n            _mousedown: function (e) {\n                var that = this, container = that.element[0], options = that.options, anchor = $(options.anchor)[0], toggleTarget = options.toggleTarget, target = kendo.eventTarget(e), popup = $(target).closest('.k-popup'), mobile = popup.parent().parent('.km-shim').length;\n                popup = popup[0];\n                if (!mobile && popup && popup !== that.element[0]) {\n                    return;\n                }\n                if ($(e.target).closest('a').data('rel') === 'popover') {\n                    return;\n                }\n                if (!contains(container, target) && !contains(anchor, target) && !(toggleTarget && contains($(toggleTarget)[0], target))) {\n                    that.close();\n                }\n            },\n            _fit: function (position, size, viewPortSize) {\n                var output = 0;\n                if (position + size > viewPortSize) {\n                    output = viewPortSize - (position + size);\n                }\n                if (position < 0) {\n                    output = -position;\n                }\n                return output;\n            },\n            _flip: function (offset, size, anchorSize, viewPortSize, origin, position, boxSize) {\n                var output = 0;\n                boxSize = boxSize || size;\n                if (position !== origin && position !== CENTER && origin !== CENTER) {\n                    if (offset + boxSize > viewPortSize) {\n                        output += -(anchorSize + size);\n                    }\n                    if (offset + output < 0) {\n                        output += anchorSize + size;\n                    }\n                }\n                return output;\n            },\n            _scrollableParents: function () {\n                return $(this.options.anchor).parentsUntil('body').filter(function (index, element) {\n                    return kendo.isScrollable(element);\n                });\n            },\n            _position: function (fixed) {\n                var that = this, element = that.element, wrapper = that.wrapper, options = that.options, viewport = $(options.viewport), zoomLevel = support.zoomLevel(), isWindow = !!(viewport[0] == window && window.innerWidth && zoomLevel <= 1.02), anchor = $(options.anchor), origins = options.origin.toLowerCase().split(' '), positions = options.position.toLowerCase().split(' '), collisions = that.collisions, siblingContainer, parents, parentZIndex, zIndex = 10002, idx = 0, docEl = document.documentElement, length, viewportOffset, viewportWidth, viewportHeight;\n                if (options.viewport === window) {\n                    viewportOffset = {\n                        top: window.pageYOffset || document.documentElement.scrollTop || 0,\n                        left: window.pageXOffset || document.documentElement.scrollLeft || 0\n                    };\n                } else {\n                    viewportOffset = viewport.offset();\n                }\n                if (isWindow) {\n                    viewportWidth = window.innerWidth;\n                    viewportHeight = window.innerHeight;\n                } else {\n                    viewportWidth = viewport.width();\n                    viewportHeight = viewport.height();\n                }\n                if (isWindow && docEl.scrollHeight - docEl.clientHeight > 0) {\n                    var sign = options.isRtl ? -1 : 1;\n                    viewportWidth -= sign * kendo.support.scrollbar();\n                }\n                siblingContainer = anchor.parents().filter(wrapper.siblings());\n                if (siblingContainer[0]) {\n                    parentZIndex = Math.max(Number(siblingContainer.css('zIndex')), 0);\n                    if (parentZIndex) {\n                        zIndex = parentZIndex + 10;\n                    } else {\n                        parents = anchor.parentsUntil(siblingContainer);\n                        for (length = parents.length; idx < length; idx++) {\n                            parentZIndex = Number($(parents[idx]).css('zIndex'));\n                            if (parentZIndex && zIndex < parentZIndex) {\n                                zIndex = parentZIndex + 10;\n                            }\n                        }\n                    }\n                }\n                wrapper.css('zIndex', zIndex);\n                if (fixed && fixed.isFixed) {\n                    wrapper.css({\n                        left: fixed.x,\n                        top: fixed.y\n                    });\n                } else {\n                    wrapper.css(that._align(origins, positions));\n                }\n                var pos = getOffset(wrapper, POSITION, anchor[0] === wrapper.offsetParent()[0]), offset = getOffset(wrapper), anchorParent = anchor.offsetParent().parent('.k-animation-container,.k-popup,.k-group');\n                if (anchorParent.length) {\n                    pos = getOffset(wrapper, POSITION, true);\n                    offset = getOffset(wrapper);\n                }\n                offset.top -= viewportOffset.top;\n                offset.left -= viewportOffset.left;\n                if (!that.wrapper.data(LOCATION)) {\n                    wrapper.data(LOCATION, extend({}, pos));\n                }\n                var offsets = extend({}, offset), location = extend({}, pos), adjustSize = options.adjustSize;\n                if (collisions[0] === 'fit') {\n                    location.top += that._fit(offsets.top, outerHeight(wrapper) + adjustSize.height, viewportHeight / zoomLevel);\n                }\n                if (collisions[1] === 'fit') {\n                    location.left += that._fit(offsets.left, outerWidth(wrapper) + adjustSize.width, viewportWidth / zoomLevel);\n                }\n                var flipPos = extend({}, location);\n                var elementHeight = outerHeight(element);\n                var wrapperHeight = outerHeight(wrapper);\n                if (!wrapper.height() && elementHeight) {\n                    wrapperHeight = wrapperHeight + elementHeight;\n                }\n                if (collisions[0] === 'flip') {\n                    location.top += that._flip(offsets.top, elementHeight, outerHeight(anchor), viewportHeight / zoomLevel, origins[0], positions[0], wrapperHeight);\n                }\n                if (collisions[1] === 'flip') {\n                    location.left += that._flip(offsets.left, outerWidth(element), outerWidth(anchor), viewportWidth / zoomLevel, origins[1], positions[1], outerWidth(wrapper));\n                }\n                element.css(POSITION, ABSOLUTE);\n                wrapper.css(location);\n                return location.left != flipPos.left || location.top != flipPos.top;\n            },\n            _align: function (origin, position) {\n                var that = this, element = that.wrapper, anchor = $(that.options.anchor), verticalOrigin = origin[0], horizontalOrigin = origin[1], verticalPosition = position[0], horizontalPosition = position[1], anchorOffset = getOffset(anchor), appendTo = $(that.options.appendTo), appendToOffset, width = outerWidth(element), height = outerHeight(element) || outerHeight(element.children().first()), anchorWidth = outerWidth(anchor), anchorHeight = outerHeight(anchor), top = that.options.omitOriginOffsets ? 0 : anchorOffset.top, left = that.options.omitOriginOffsets ? 0 : anchorOffset.left, round = Math.round;\n                if (appendTo[0] != document.body) {\n                    appendToOffset = getOffset(appendTo);\n                    top -= appendToOffset.top;\n                    left -= appendToOffset.left;\n                }\n                if (verticalOrigin === BOTTOM) {\n                    top += anchorHeight;\n                }\n                if (verticalOrigin === CENTER) {\n                    top += round(anchorHeight / 2);\n                }\n                if (verticalPosition === BOTTOM) {\n                    top -= height;\n                }\n                if (verticalPosition === CENTER) {\n                    top -= round(height / 2);\n                }\n                if (horizontalOrigin === RIGHT) {\n                    left += anchorWidth;\n                }\n                if (horizontalOrigin === CENTER) {\n                    left += round(anchorWidth / 2);\n                }\n                if (horizontalPosition === RIGHT) {\n                    left -= width;\n                }\n                if (horizontalPosition === CENTER) {\n                    left -= round(width / 2);\n                }\n                return {\n                    top: top,\n                    left: left\n                };\n            }\n        });\n        ui.plugin(Popup);\n        var stableSort = kendo.support.stableSort;\n        var tabKeyTrapNS = 'kendoTabKeyTrap';\n        var focusableNodesSelector = 'a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, [tabindex], *[contenteditable]';\n        var TabKeyTrap = Class.extend({\n            init: function (element) {\n                this.element = $(element);\n                this.element.autoApplyNS(tabKeyTrapNS);\n            },\n            trap: function () {\n                this.element.on('keydown', proxy(this._keepInTrap, this));\n            },\n            removeTrap: function () {\n                this.element.kendoDestroy(tabKeyTrapNS);\n            },\n            destroy: function () {\n                this.element.kendoDestroy(tabKeyTrapNS);\n                this.element = undefined;\n            },\n            shouldTrap: function () {\n                return true;\n            },\n            _keepInTrap: function (e) {\n                if (e.which !== 9 || !this.shouldTrap() || e.isDefaultPrevented()) {\n                    return;\n                }\n                var elements = this._focusableElements();\n                var sortedElements = this._sortFocusableElements(elements);\n                var next = this._nextFocusable(e, sortedElements);\n                this._focus(next);\n                e.preventDefault();\n            },\n            _focusableElements: function () {\n                var elements = this.element.find(focusableNodesSelector).filter(function (i, item) {\n                    return item.tabIndex >= 0 && $(item).is(':visible') && !$(item).is('[disabled]');\n                });\n                if (this.element.is('[tabindex]')) {\n                    elements.push(this.element[0]);\n                }\n                return elements;\n            },\n            _sortFocusableElements: function (elements) {\n                var sortedElements;\n                if (stableSort) {\n                    sortedElements = elements.sort(function (prev, next) {\n                        return prev.tabIndex - next.tabIndex;\n                    });\n                } else {\n                    var attrName = '__k_index';\n                    elements.each(function (i, item) {\n                        item.setAttribute(attrName, i);\n                    });\n                    sortedElements = elements.sort(function (prev, next) {\n                        return prev.tabIndex === next.tabIndex ? parseInt(prev.getAttribute(attrName), 10) - parseInt(next.getAttribute(attrName), 10) : prev.tabIndex - next.tabIndex;\n                    });\n                    elements.removeAttr(attrName);\n                }\n                return sortedElements;\n            },\n            _nextFocusable: function (e, elements) {\n                var count = elements.length;\n                var current = elements.index(e.target);\n                return elements.get((current + (e.shiftKey ? -1 : 1)) % count);\n            },\n            _focus: function (element) {\n                if (element.nodeName == 'IFRAME') {\n                    element.contentWindow.document.body.focus();\n                    return;\n                }\n                element.focus();\n                if (element.nodeName == 'INPUT' && element.setSelectionRange && this._haveSelectionRange(element)) {\n                    element.setSelectionRange(0, element.value.length);\n                }\n            },\n            _haveSelectionRange: function (element) {\n                var elementType = element.type.toLowerCase();\n                return elementType === 'text' || elementType === 'search' || elementType === 'url' || elementType === 'tel' || elementType === 'password';\n            }\n        });\n        ui.Popup.TabKeyTrap = TabKeyTrap;\n    }(window.kendo.jQuery));\n    return window.kendo;\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n    (a3 || a2)();\n}));"]}