{"version":3,"file":"kendo.drawer.min.js","names":["global","factory","exports","module","require","define","amd","globalThis","self","kendodrawer","js","this","$","undefined$1","kendo","window","Widget","ui","NS","FOCUSED","keys","PUSH","OVERLAY","LEFT","START","DRAWER_ITEMS_CLASS","Drawer","extend","init","element","options","userEvents","that","fn","call","_element","_wrapper","_navigatable","position","_mode","mini","_miniMode","_initDrawerItems","mode","_setBodyOffset","UserEvents","document","body","drawerContainer","fastTap","allowSelection","tap","e","contains","drawerItemsWrapper","filter","event","target","_itemClick","autoCollapse","visible","trigger","sender","hide","preventDefault","swipeToOpen","bind","_start","_update","_end","minHeight","css","_showWatermarkOverlay","expanded","_removeTransition","show","contentElement","children","wrapAll","parent","drawerElement","template","addClass","find","first","attr","navigatable","on","_focus","_blur","_keyDown","_current","removeClass","_setCurrent","eq","current","id","guid","next","removeAttr","handled","keyCode","UP","prevAll","length","last","DOWN","nextAll","HOME","END","SPACEBAR","ENTER","noop","ESC","drawerWrapper","wrap","width","append","_addTransition","overlayMiniOffset","outerWidth","leftPositioned","drawerItems","separatorItems","_toggleLevelClasses","each","i","item","setAttribute","textContent","trim","_selectedItemIndex","flag","level","levelClass","data","toggleClass","overlayContainer","prepend","miniWidth","miniTemplate","_miniTemplate","html","minWidth","isExpanded","hasClass","_selectItem","value","Math","abs","x","velocity","y","triggeredByInput","cancel","drawerMini","_push","_overlay","pastHalf","velocityThreshold","moveEventArgs","limitedPosition","updatedPosition","delta","min","max","stopPropagation","selectedItemIndex","index","closest","destroy","name","events","plugin","jQuery"],"sources":["kendo.drawer.js"],"mappings":"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","sourcesContent":["(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('kendo.userevents.js')) :\n typeof define === 'function' && define.amd ? define(['kendo.userevents'], factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, (global.kendodrawer = global.kendodrawer || {}, global.kendodrawer.js = factory()));\n})(this, (function () {\n var __meta__ = {\n id: \"drawer\",\n name: \"Drawer\",\n category: \"web\",\n description: \"The Kendo Drawer widget provides slide to reveal sidebar\",\n depends: [ \"userevents\" ]\n };\n\n (function($, undefined$1) {\n var kendo = window.kendo,\n ui = kendo.ui,\n Widget = ui.Widget,\n SHOW = \"show\",\n HIDE = \"hide\",\n NS = \".kendoDrawer\",\n FOCUSED = \"k-focus\",\n keys = kendo.keys,\n ITEMCLICK = \"itemClick\",\n TABINDEX = \"tabIndex\",\n PUSH = \"push\",\n OVERLAY = \"overlay\",\n LEFT = \"left\",\n START = \"start\",\n END = \"end\",\n RIGHT = \"right\",\n DOT = \".\",\n DRAWER_ITEMS_CLASS = \"k-drawer-items\";\n\n var Drawer = kendo.ui.Widget.extend({\n init: function(element, options) {\n var that = this;\n var userEvents;\n\n Widget.fn.init.call(this, element, options);\n\n options = that.options;\n\n that._element(element);\n\n that._wrapper(element);\n\n that._navigatable();\n\n that.position();\n\n that._mode();\n\n if (options.mini) {\n that._miniMode();\n }\n\n that._initDrawerItems();\n\n if (options.mini && options.mode != PUSH) {\n that._setBodyOffset();\n }\n\n userEvents = this.userEvents = new kendo.UserEvents(options.mode != PUSH ? $(document.body) : this.drawerContainer, { fastTap: true, allowSelection: true });\n\n that.tap = function(e) {\n if ($.contains(that.drawerItemsWrapper.filter(DOT + DRAWER_ITEMS_CLASS)[0], e.event.target)) {\n that._itemClick(e);\n }\n if (options.autoCollapse && that.visible && !that.trigger(\"hide\", { sender: this })) {\n that.hide();\n e.preventDefault();\n }\n };\n\n if (this.options.swipeToOpen) {\n userEvents.bind(\"start\", function(e) { that._start(e); });\n userEvents.bind(\"move\", function(e) { that._update(e); });\n userEvents.bind(\"end\", function(e) { that._end(e); });\n userEvents.bind(\"tap\", that.tap);\n } else {\n userEvents.bind(\"press\", that.tap);\n }\n\n if (options.minHeight && options.mode == PUSH) {\n that.drawerContainer.css(\"min-height\", options.minHeight);\n }\n\n\n if (that._showWatermarkOverlay) {\n that._showWatermarkOverlay(that.drawerContainer[0]);\n }\n\n if (options.expanded) {\n that._removeTransition();\n that.show();\n }\n },\n\n _element: function() {\n var that = this;\n\n var element = that.element;\n var options = that.options;\n that.contentElement = element.children()\n .wrapAll(\"
\")\n .parent();\n that.drawerElement = $(options.template);\n\n element.addClass(\"k-drawer\");\n },\n\n _navigatable: function() {\n var that = this;\n var element = that.element;\n var drawerItems = element.find(\"[data-role='drawer-item']\");\n\n drawerItems.first().parent()\n .attr(\"role\", \"menubar\")\n .attr(\"aria-orientation\", \"vertical\");\n\n if (!this.options.navigatable) {\n return;\n }\n\n element\n .attr(TABINDEX, 0)\n .on(\"focus\" + NS, that._focus.bind(that))\n .on(\"focusout\" + NS, that._blur.bind(that))\n .on(\"keydown\" + NS, that, that._keyDown.bind(that));\n },\n\n _blur: function() {\n var that = this;\n\n if (that._current) {\n that._current.removeClass(FOCUSED);\n }\n },\n\n _focus: function() {\n var that = this;\n\n that._setCurrent(that._current ? that._current : that.drawerItemsWrapper.find(\"[data-role='drawer-item']\").eq(0));\n },\n\n _setCurrent: function(current) {\n var that = this;\n var id = kendo.guid();\n var next = $(current);\n\n if (that._current) {\n $(that._current)\n .removeClass(FOCUSED)\n .removeAttr(\"id\");\n\n that.drawerItemsWrapper.removeAttr(\"aria-activedescendant\");\n }\n\n next\n .attr(\"id\", id)\n .addClass(FOCUSED);\n\n that.drawerItemsWrapper.attr(\"aria-activedescendant\", id);\n\n that._current = next;\n },\n\n _keyDown: function(e) {\n var that = this;\n var handled = false;\n var current = that._current;\n var next;\n\n if (e.keyCode == keys.UP) {\n handled = true;\n next = current.prevAll(\"[data-role='drawer-item']\").first();\n\n if (next.length) {\n that._setCurrent(next);\n } else {\n that._setCurrent(current.parent().find(\"[data-role='drawer-item']\").last());\n }\n\n }\n\n if (e.keyCode == keys.DOWN) {\n handled = true;\n next = current.nextAll(\"[data-role='drawer-item']\").first();\n\n if (next.length) {\n that._setCurrent(next);\n } else {\n that._setCurrent(current.parent().find(\"[data-role='drawer-item']\").first());\n }\n }\n\n if (e.keyCode == keys.HOME) {\n handled = true;\n that._setCurrent(that.drawerItemsWrapper.find(\"[data-role='drawer-item']\").eq(0));\n }\n\n if (e.keyCode == keys.END) {\n handled = true;\n that._setCurrent(that.drawerItemsWrapper.find(\"[data-role='drawer-item']\").last());\n }\n\n if (e.keyCode == keys.SPACEBAR || e.keyCode == keys.ENTER) {\n handled = true;\n that.tap({\n event: { target: current[0] },\n preventDefault: $.noop\n });\n }\n\n if (e.keyCode == keys.ESC) {\n handled = true;\n that.hide();\n }\n\n if (handled) {\n //prevent scrolling while pressing the keys\n e.preventDefault();\n }\n },\n\n _wrapper: function() {\n var options = this.options;\n var drawerElement = this.drawerElement;\n var element = this.element;\n var contentElement = this.contentElement;\n var drawerItemsWrapper = this.drawerItemsWrapper = drawerElement;\n var drawerWrapper = this.drawerWrapper = drawerItemsWrapper.wrapAll(\"
\").parent();\n var drawerContainer = this.drawerContainer = element.wrap(\"
\").parent();\n\n drawerElement.filter(\"ul\").addClass(DRAWER_ITEMS_CLASS);\n\n if (options.mini) {\n if (options.mini.width) {\n drawerWrapper.width(options.mini.width);\n }\n } else {\n drawerWrapper.width(0);\n }\n\n drawerContainer.append(contentElement);\n\n element.append( drawerWrapper );\n },\n\n _addTransition: function() {\n this.drawerWrapper.css(\"transition\", \"all .3s ease-out\");\n },\n\n _removeTransition: function() {\n this.drawerWrapper.css(\"transition\", \"none\");\n },\n\n _setBodyOffset: function() {\n var overlayMiniOffset = this.element.outerWidth();\n\n if (this.leftPositioned) {\n $(document.body).css(\"padding-left\", overlayMiniOffset);\n }\n else {\n $(document.body).css(\"padding-right\", overlayMiniOffset);\n }\n },\n\n _initDrawerItems: function() {\n var drawerItemsWrapper = this.drawerItemsWrapper;\n var drawerItems = drawerItemsWrapper.find(\"[data-role='drawer-item']\");\n var separatorItems = drawerItemsWrapper.find(\"[data-role='drawer-separator']\");\n\n drawerItems.addClass(\"k-drawer-item\").attr(\"role\", \"menuitem\");\n separatorItems.addClass(\"k-drawer-item k-drawer-separator\").attr(\"role\", \"separator\");\n\n this._toggleLevelClasses(!!this.visible);\n\n drawerItems.each((i, item) => {\n item.setAttribute(\"aria-label\", item.textContent.trim());\n });\n\n if (this._selectedItemIndex >= 0) {\n drawerItems.removeClass(\"k-selected\");\n drawerItems.eq(this._selectedItemIndex).addClass(\"k-selected\");\n }\n },\n\n _toggleLevelClasses: function(flag) {\n let drawerItems = this.drawerItemsWrapper.find(\"[data-role='drawer-item']\"), level, levelClass;\n\n drawerItems.each((i, item) => {\n level = $(item).data(\"level\") || 0;\n levelClass = \"k-level-\" + level;\n\n $(item).toggleClass(levelClass, flag);\n });\n },\n\n _mode: function() {\n var options = this.options;\n var drawerContainer = this.drawerContainer;\n var overlayContainer;\n\n if (options.mode == PUSH) {\n drawerContainer.addClass('k-drawer-' + PUSH);\n }\n else {\n drawerContainer.addClass('k-drawer-' + OVERLAY);\n overlayContainer = this.overlayContainer = $('
');\n overlayContainer.hide();\n drawerContainer.prepend(overlayContainer);\n }\n },\n\n _miniMode: function() {\n var options = this.options;\n var drawerContainer = this.drawerContainer;\n var miniWidth = options.mini.width;\n var miniTemplate = this._miniTemplate = options.mini.template && $(options.mini.template);\n var drawerItemsWrapper = this.drawerItemsWrapper;\n var drawerWrapper = this.drawerWrapper;\n\n drawerContainer.addClass(\"k-drawer-mini\");\n\n if (miniTemplate) {\n drawerItemsWrapper.html(miniTemplate);\n }\n\n if (miniWidth) {\n drawerWrapper.width(miniWidth);\n }\n\n this.minWidth = options.mini.width || this.drawerWrapper.width();\n },\n\n show: function() {\n var drawerWrapper = this.drawerWrapper;\n var drawerContainer = this.drawerContainer;\n var options = this.options;\n var isExpanded = drawerContainer.hasClass(\"k-drawer-expanded\");\n var miniTemplate = this._miniTemplate;\n var drawerElement = this.drawerElement;\n var drawerItemsWrapper = this.drawerItemsWrapper;\n\n if (!isExpanded) {\n drawerContainer.addClass('k-drawer-expanded');\n this.visible = true;\n }\n\n if (miniTemplate) {\n drawerItemsWrapper.html(drawerElement);\n this._initDrawerItems();\n this._selectItem();\n }\n\n drawerWrapper.width(options.width);\n\n if (options.mini) {\n drawerContainer.removeClass(\"k-drawer-mini\");\n }\n\n if (options.mode === OVERLAY) {\n this.overlayContainer.show();\n this.visible = true;\n }\n\n this._toggleLevelClasses(true);\n },\n\n hide: function() {\n var that = this;\n var drawerWrapper = that.drawerWrapper;\n var drawerContainer = that.drawerContainer;\n var options = this.options;\n var drawerItemsWrapper = this.drawerItemsWrapper;\n var miniTemplate = this._miniTemplate;\n var miniWidth = options.mini && options.mini.width;\n\n this._addTransition();\n\n if (this._miniTemplate) {\n drawerItemsWrapper.html(miniTemplate);\n that._initDrawerItems();\n this._selectItem();\n }\n\n if (options.mini) {\n drawerContainer.addClass(\"k-drawer-mini\");\n if (miniWidth) {\n drawerWrapper.width(miniWidth);\n } else {\n drawerWrapper.width(\"\");\n }\n } else {\n drawerWrapper.width(0);\n }\n\n if (this.visible) {\n drawerContainer.removeClass('k-drawer-expanded');\n this.visible = false;\n }\n\n if (options.mode === OVERLAY) {\n this.overlayContainer.hide();\n }\n\n this._toggleLevelClasses(false);\n },\n\n position: function(value) {\n var that = this;\n var options = that.options;\n var position = value || options.position;\n\n if (position == RIGHT) {\n that.element.removeClass('k-drawer-' + START);\n that.element.addClass('k-drawer-' + END);\n }\n else {\n that.element.removeClass('k-drawer-' + END);\n that.element.addClass('k-drawer-' + START);\n }\n\n this.leftPositioned = position === LEFT;\n },\n\n _start: function(e) {\n var that = this;\n var options = this.options;\n var drawerWrapper = this.drawerWrapper;\n var drawerItemsWrapper = this.drawerItemsWrapper;\n var userEvents = e.sender;\n\n\n // ignore non-horizontal swipes\n if (Math.abs(e.x.velocity) < Math.abs(e.y.velocity) || kendo.triggeredByInput(e.event)) {\n userEvents.cancel();\n return;\n }\n\n\n if (this.drawerMini) {\n drawerItemsWrapper.html(that.drawerElement);\n }\n\n this._removeTransition();\n\n if (options.mode != PUSH) {\n this.overlayContainer.show();\n }\n },\n\n _update: function(e) {\n var options = this.options;\n var mode = options.mode;\n\n if (mode == PUSH) {\n this._push(e);\n }\n else {\n this._overlay(e);\n }\n },\n\n _end: function(e) {\n var velocity = e.x.velocity;\n var options = this.options;\n var drawerWrapper = this.drawerWrapper;\n var elementWidth = drawerWrapper.width();\n var pastHalf = elementWidth > options.width / 2;\n var velocityThreshold = 0.8;\n var shouldShow;\n\n this._addTransition();\n\n if (this.leftPositioned) {\n shouldShow = velocity > -velocityThreshold && (velocity > velocityThreshold || pastHalf);\n }\n else {\n shouldShow = velocity < velocityThreshold && (velocity < -velocityThreshold || pastHalf);\n }\n\n if (shouldShow) {\n if (this.trigger(\"show\", { sender: this })) {\n e.preventDefault();\n this.hide();\n } else {\n this.show();\n }\n } else {\n if (this.trigger(\"hide\", { sender: this })) {\n e.preventDefault();\n this.show();\n } else {\n this.hide();\n }\n }\n },\n\n _overlay: function(moveEventArgs) {\n var options = this.options;\n var minWidth = (options.mini && options.mini.width) || this.minWidth || 0;\n var drawerWrapper = this.drawerWrapper;\n var elementWidth = drawerWrapper.width();\n var limitedPosition;\n var updatedPosition;\n\n updatedPosition = elementWidth + (this.leftPositioned ? moveEventArgs.x.delta : -moveEventArgs.x.delta);\n\n limitedPosition = Math.min(Math.max(updatedPosition, minWidth), options.width);\n\n moveEventArgs.event.preventDefault();\n moveEventArgs.event.stopPropagation();\n\n drawerWrapper.width(limitedPosition);\n },\n\n _push: function(moveEventArgs) {\n var options = this.options;\n var minWidth = (options.mini && options.mini.width) || this.minWidth || 0;\n var drawerWrapper = this.drawerWrapper;\n var elementWidth = drawerWrapper.width();\n var limitedPosition;\n var updatedPosition;\n\n updatedPosition = elementWidth + (this.leftPositioned ? moveEventArgs.x.delta : -moveEventArgs.x.delta);\n\n limitedPosition = Math.min(Math.max(updatedPosition, minWidth), options.width);\n\n moveEventArgs.event.preventDefault();\n moveEventArgs.event.stopPropagation();\n\n drawerWrapper.width(limitedPosition);\n },\n\n _selectItem: function(item) {\n var selectedItemIndex;\n\n if (item) {\n item.addClass(\"k-selected\");\n this.trigger(\"itemClick\", { item: item, sender: this });\n this._selectedItemIndex = item.index();\n return;\n }\n\n selectedItemIndex = this._selectedItemIndex;\n\n if (selectedItemIndex) {\n this.drawerItemsWrapper.find(\"[data-role='drawer-item']\").eq(selectedItemIndex).addClass(\"k-selected\");\n }\n },\n\n _itemClick: function(e) {\n var that = this;\n var item;\n var items;\n\n if ($(e.event.target).find(\".k-drawer-item\").length > 0) {\n item = $(e.event.target).find(\".k-drawer-item\");\n }\n else if ($(e.event.target).closest(\".k-drawer-item\").length > 0) {\n item = $(e.event.target).closest(\".k-drawer-item\");\n }\n else if ($(e.event.target).hasClass(\".k-drawer-item\")) {\n item = $(e.event.target);\n }\n items = that.drawerItemsWrapper.find(\".k-drawer-item\").removeClass(\"k-selected\");\n that._selectItem(item);\n\n if (that.options.navigatable) {\n that._setCurrent(item);\n }\n },\n\n destroy: function() {\n var options = this.options;\n\n if (options.mode != PUSH) {\n if (this.leftPositioned) {\n $(document.body).css(\"padding-left\", 0);\n }\n else {\n $(document.body).css(\"padding-right\", 0);\n }\n }\n\n Widget.fn.destroy.call(this);\n\n this.userEvents.destroy();\n\n kendo.destroy(this.element);\n this.element = this.drawerWrapper = this.drawerElement = this.drawerContainer = this.drawerItemsWrapper = this._miniTemplate = null;\n },\n\n options: {\n name: \"Drawer\",\n autoCollapse: true,\n expanded: false,\n position: LEFT,\n mode: \"overlay\",\n swipeToOpen: true,\n width: 280,\n mini: false,\n navigatable: false,\n template: \"\"\n },\n\n events: [\n HIDE,\n SHOW,\n ITEMCLICK\n ]\n\n });\n kendo.ui.plugin(Drawer);\n })(window.kendo.jQuery);\n var kendo$1 = kendo;\n\n return kendo$1;\n\n}));\n"]}