{"version":3,"sources":["webpack:///./node_modules/@progress/kendo-ui/js/kendo.toolbar.js","webpack:///./node_modules/@progress/kendo-ui/js/kendo.tooltip.js","webpack:///./node_modules/@progress/kendo-ui/js/kendo.touch.js"],"names":["module","exports","modules","installedModules","__webpack_require__","moduleId","id","loaded","call","m","c","p","0","3","Error","1050","1051","1059","1104","1471","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","jQuery","f","define","apply","undefined","$","kendo","window","Class","Widget","ui","proxy","isFunction","keys","outerWidth","_outerWidth","ns","TOOLBAR","BUTTON","OVERFLOW_BUTTON","TOGGLE_BUTTON","BUTTON_GROUP","SPLIT_BUTTON","SEPARATOR","SPACER_CLASS","SPACER","POPUP","RESIZABLE_TOOLBAR","STATE_ACTIVE","STATE_DISABLED","STATE_HIDDEN","HIDDEN","GROUP_START","GROUP_END","PRIMARY","ROLE","ARIA_DISABLED","ARIA_PRESSED","ICON","ICON_PREFIX","BUTTON_ICON","BUTTON_ICON_TEXT","LIST_CONTAINER","SPLIT_BUTTON_ARROW","OVERFLOW_ANCHOR","OVERFLOW_CONTAINER","FIRST_TOOLBAR_VISIBLE","LAST_TOOLBAR_VISIBLE","CLICK","TOGGLE","OPEN","CLOSE","OVERFLOW_OPEN","OVERFLOW_CLOSE","OVERFLOW_NEVER","OVERFLOW_AUTO","OVERFLOW_ALWAYS","OVERFLOW_HIDDEN","OPTION_LIST_SUFFIX","KENDO_UID_ATTR","attr","toolbar","components","overflowAnchor","overflowContainer","registerComponent","name","overflow","Item","extend","addOverflowAttr","this","element","options","addUidAttr","uid","addIdAttr","addOverflowIdAttr","attributes","show","removeClass","hidden","hide","addClass","overflowHidden","remove","enable","isEnabled","toggleClass","twin","splitContainerId","find","data","type","resizable","popup","Button","init","useButtonTag","primary","togglable","toggle","selected","url","mobile","group","addToGroup","click","clickHandler","toggleHandler","state","propagate","select","getParentGroup","isChild","closest","_addGraphics","isEmpty","span","img","icon","spriteCssClass","imageUrl","contents","filter","hasClass","each","idx","el","nodeType","trim","nodeValue","length","children","first","prependTo","ToolBarButton","fn","align","showText","text","html","hasIcon","showIcon","button","OverflowButton","_wrap","wrap","parent","ButtonGroup","createButtons","buttonConstructor","item","items","buttons","i","guid","appendTo","refresh","last","ToolBarButtonGroup","buttonGroup","OverflowButtonGroup","ToolBarSplitButton","mainButton","arrowButton","popupElement","removeAttr","createMenuButtons","createPopup","_navigatable","main","splitButton","kendoPopup","that","on","e","li","target","preventDefault","keyCode","ESC","TAB","altKey","UP","focus","DOWN","findFocusableSibling","trigger","SPACEBAR","ENTER","userEvents","HOME","END","menuButtons","rootUid","actionSheetWrap","anchor","isRtl","_isRtl","copyAnchorStyles","animation","open","isDefaultPrevented","adjustPopupWidth","sender","activate","close","preventClick","width","computedWidth","css","fontFamily","off","destroy","visible","OverflowSplitButton","ToolBarSeparator","separator","OverflowSeparator","ToolBarSpacer","TemplateItem","template","OverflowTemplateItem","toggleActive","is","dir","getSibling","next","prev","getter","candidate","Group","add","index","inArray","splice","tmp","ToolBar","wrapper","support","_groups","isMobile","effects","_renderOverflow","overflowUserEvents","UserEvents","threshold","allowSelection","tap","_toggleOverflow","_resizeHandler","onResize","resize","_shrink","innerWidth","document","documentElement","_buttonClick","press","release","_toggleOverflowAnchor","notify","events","groupName","unbindResize","tool","overflowTool","component","itemClasses","overflowTemplate","container","angular","elements","get","_getItem","toolbarItem","overflowItem","isResizable","buttonGroupInstance","getSelectedFromGroup","checked","horizontalDirection","append","Popup","origin","position","parseFloat","innerHeight","isComplexTool","hasVisibleChildren","paddingEnd","visibility","splitContainer","handler","eventData","urlTarget","isSplitButtonArrow","_toggle","parents","ev","_keydown","direction","parentsUntil","lastHasFocus","firstHasFocus","isOnlyOverflowAnchor","not","lastItemNotOverflowAnchor","shiftKey","isFirstTool","prevFocusable","_getPrevFocusable","_preventNextFocus","activeElement","isOverflowAnchor","eq","RIGHT","_getNextElement","LEFT","itemIndex","parentElement","startIndex","directionNumber","searchIndex","focusableItem","elementToFocus","prevElement","prevElements","prevAll","_resize","containerWidth","_stretch","_markVisibles","_childrenWidth","childrenWidth","Math","ceil","commandElement","visibleCommands","_hideItem","hiddenCommands","_showItem","itemOuterWidth","overflowItems","toolbarItems","visibleOverflowItems","visibleToolbarItems","plugin","1124","1472","isPlainObject","DOCUMENT","isLocalUrl","ARIAIDSUFFIX","DESCRIBEDBY","SHOW","HIDE","ERROR","CONTENTLOAD","REQUESTSTART","KCONTENTFRAME","TEMPLATE","IFRAMETEMPLATE","NS","POSITIONS","bottom","top","left","collision","right","center","REVERSE","DIRCLASSES","DIMENSIONS","offset","size","DEFAULTCONTENT","restoreTitle","restoreTitleAttributeForElement","title","removeData","saveTitleAttributeForElement","saveTitleAttributes","TooltipBase","axis","match","dimensions","touch","_isShownOnMouseEnter","mousedown","_showOn","showOn","showAfter","hideAfter","callout","duration","clearTimeout","timeout","_saveTitle","_show","currentTarget","_isShownOnClick","_isShownOnFocus","setTimeout","_positionCallout","anchorOffset","elementOffset","cssClass","flipped","offsetAmount","_offset","arrow","arrowWidth","isTopLeft","isFlipped","marginRule","_addDescribedBy","ariaId","describedBy","push","join","_removeDescribedBy","arrayAttr","finalArray","finalDescribedbyAttr","tooltipId","currentDescribedBy","split","val","_openPopup","_hovered","Tooltip","_documentKeyDownHandler","_documentKeyDown","_mouseenter","autoHide","_mouseleave","_blur","content","height","_appendContent","iframe","contentOptions","showIframe","src","empty","progress","_ajaxRequest","contentLoading","ajax","dataType","cache","error","xhr","status","success","current","_initPopup","kendoStop","one","autosize","_closeButtonClick","_closePopup","1473","abs","MAX_DOUBLE_TAP_DISTANCE","Touch","eventProxy","_triggerTouch","gestureEventProxy","touches","distance","event","surface","minHold","multiTouch","fastTap","hold","gesturestart","gesturechange","gestureend","enableSwipe","bind","global","minXDelta","maxYDelta","maxDuration","doubleTapTimeout","cancel","_tap","lastTap","endTime","touchDelta","_dragstart","_swipestart","x","velocity","y","capture","_swipemove","timeStamp","startTime","initialDelta"],"mappings":"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","file":"js/chunk-vendors~069bfc92.105b7db9.js","sourcesContent":["module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n\n\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports = __webpack_require__(1471);\n\n\n/***/ }),\n\n/***/ 3:\n/***/ (function(module, exports) {\n\n\tmodule.exports = function() { throw new Error(\"define cannot be used indirect\"); };\r\n\n\n/***/ }),\n\n/***/ 1050:\n/***/ (function(module, exports) {\n\n\tmodule.exports = require(\"./kendo.core\");\n\n/***/ }),\n\n/***/ 1051:\n/***/ (function(module, exports) {\n\n\tmodule.exports = require(\"./kendo.popup\");\n\n/***/ }),\n\n/***/ 1059:\n/***/ (function(module, exports) {\n\n\tmodule.exports = require(\"jquery\");\n\n/***/ }),\n\n/***/ 1104:\n/***/ (function(module, exports) {\n\n\tmodule.exports = require(\"./kendo.userevents\");\n\n/***/ }),\n\n/***/ 1471:\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/* WEBPACK VAR INJECTION */(function(jQuery) {(function(f, define){\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [ __webpack_require__(1050), __webpack_require__(1104), __webpack_require__(1051) ], __WEBPACK_AMD_DEFINE_FACTORY__ = (f), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t})(function(){\n\n\tvar __meta__ = { // jshint ignore:line\n\t id: \"toolbar\",\n\t name: \"ToolBar\",\n\t category: \"web\",\n\t description: \"The ToolBar widget displays one or more command buttons divided into groups.\",\n\t depends: [ \"core\" ]\n\t};\n\n\t(function($, undefined) {\n\t var kendo = window.kendo,\n\t Class = kendo.Class,\n\t Widget = kendo.ui.Widget,\n\t proxy = $.proxy,\n\t isFunction = kendo.isFunction,\n\t keys = kendo.keys,\n\t outerWidth = kendo._outerWidth,\n\t ns = \".kendoToolBar\",\n\t TOOLBAR = \"k-toolbar\",\n\t BUTTON = \"k-button\",\n\t OVERFLOW_BUTTON = \"k-overflow-button\",\n\t TOGGLE_BUTTON = \"k-toggle-button\",\n\t BUTTON_GROUP = \"k-button-group\",\n\t SPLIT_BUTTON = \"k-split-button\",\n\t SEPARATOR = \"k-separator\",\n\t SPACER_CLASS = \"k-spacer\",\n\t SPACER = \"spacer\",\n\t POPUP = \"k-popup\",\n\n\t RESIZABLE_TOOLBAR = \"k-toolbar-resizable\",\n\t STATE_ACTIVE = \"k-state-active\",\n\t STATE_DISABLED = \"k-state-disabled\",\n\t STATE_HIDDEN = \"k-state-hidden\",\n\t HIDDEN = \"k-hidden\",\n\t GROUP_START = \"k-group-start\",\n\t GROUP_END = \"k-group-end\",\n\t PRIMARY = \"k-primary\",\n\n\t ROLE = \"role\",\n\t ARIA_DISABLED = \"aria-disabled\",\n\t ARIA_PRESSED = \"aria-pressed\",\n\n\t ICON = \"k-icon\",\n\t ICON_PREFIX = \"k-i-\",\n\t BUTTON_ICON = \"k-button-icon\",\n\t BUTTON_ICON_TEXT = \"k-button-icontext\",\n\n\t LIST_CONTAINER = \"k-list-container k-split-container\",\n\t SPLIT_BUTTON_ARROW = \"k-split-button-arrow\",\n\n\t OVERFLOW_ANCHOR = \"k-overflow-anchor\",\n\t OVERFLOW_CONTAINER = \"k-overflow-container\",\n\t FIRST_TOOLBAR_VISIBLE = \"k-toolbar-first-visible\",\n\t LAST_TOOLBAR_VISIBLE = \"k-toolbar-last-visible\",\n\n\t CLICK = \"click\",\n\t TOGGLE = \"toggle\",\n\t OPEN = \"open\",\n\t CLOSE = \"close\",\n\t OVERFLOW_OPEN = \"overflowOpen\",\n\t OVERFLOW_CLOSE = \"overflowClose\",\n\n\t OVERFLOW_NEVER = \"never\",\n\t OVERFLOW_AUTO = \"auto\",\n\t OVERFLOW_ALWAYS = \"always\",\n\t OVERFLOW_HIDDEN = \"k-overflow-hidden\",\n\n\t OPTION_LIST_SUFFIX = \"_optionlist\",\n\n\t KENDO_UID_ATTR = kendo.attr(\"uid\");\n\n\t kendo.toolbar = {};\n\n\t var components = {\n\t overflowAnchor: '
',\n\t overflowContainer: ''\n\t };\n\n\t kendo.toolbar.registerComponent = function(name, toolbar, overflow) {\n\t components[name] = {\n\t toolbar: toolbar,\n\t overflow: overflow\n\t };\n\t };\n\n\t var Item = kendo.Class.extend({\n\t addOverflowAttr: function() {\n\t this.element.attr(kendo.attr(\"overflow\"), this.options.overflow || OVERFLOW_AUTO);\n\t },\n\n\t addUidAttr: function() {\n\t this.element.attr(KENDO_UID_ATTR, this.options.uid);\n\t },\n\n\t addIdAttr: function() {\n\t if (this.options.id) {\n\t this.element.attr(\"id\", this.options.id);\n\t }\n\t },\n\n\t addOverflowIdAttr: function() {\n\t if (this.options.id) {\n\t this.element.attr(\"id\", this.options.id + \"_overflow\");\n\t }\n\t },\n\n\t attributes: function() {\n\t if (this.options.attributes) {\n\t this.element.attr(this.options.attributes);\n\t }\n\t },\n\n\t show: function() {\n\t this.element.removeClass(STATE_HIDDEN);\n\t this.element.removeClass(HIDDEN);\n\t this.options.hidden = false;\n\t },\n\n\t hide: function() {\n\t this.element.addClass(STATE_HIDDEN);\n\t this.element.addClass(HIDDEN);\n\n\t if (this.overflow && this.overflowHidden){\n\t this.overflowHidden();\n\t }\n\t this.options.hidden = true;\n\t },\n\n\t remove: function() {\n\t this.element.remove();\n\t },\n\n\t enable: function(isEnabled) {\n\t if (isEnabled === undefined) {\n\t isEnabled = true;\n\t }\n\t this.element.toggleClass(STATE_DISABLED, !isEnabled);\n\t this.element.attr(ARIA_DISABLED, !isEnabled);\n\n\t this.options.enable = isEnabled;\n\t },\n\n\t twin: function() {\n\t var uid = this.element.attr(KENDO_UID_ATTR);\n\t if (this.overflow && this.options.splitContainerId) {\n\t return $(\"#\" + this.options.splitContainerId)\n\t .find(\"[\" + KENDO_UID_ATTR + \"='\" + uid + \"']\")\n\t .data(this.options.type);\n\t } else if (this.overflow) {\n\t return this.toolbar\n\t .element\n\t .find(\"[\" + KENDO_UID_ATTR + \"='\" + uid + \"']\")\n\t .data(this.options.type);\n\t } else if (this.toolbar.options.resizable) {\n\t return this.toolbar\n\t .popup.element\n\t .find(\"[\" + KENDO_UID_ATTR + \"='\" + uid + \"']\")\n\t .data(this.options.type);\n\t }\n\t }\n\t });\n\n\t kendo.toolbar.Item = Item;\n\n\t var Button = Item.extend({\n\t init: function(options, toolbar) {\n\t var element = options.useButtonTag ? $('') : $('');\n\n\t this.element = element;\n\t this.options = options;\n\t this.toolbar = toolbar;\n\n\t this.attributes();\n\n\t if (options.primary) {\n\t element.addClass(PRIMARY);\n\t }\n\n\t if (options.togglable) {\n\t element.addClass(TOGGLE_BUTTON);\n\t this.toggle(options.selected);\n\t }\n\n\t if (options.url !== undefined && !options.useButtonTag) {\n\t element.attr(\"href\", options.url);\n\t if (options.mobile) {\n\t element.attr(kendo.attr(ROLE), \"button\");\n\t }\n\t }\n\n\t if (options.group) {\n\t element.attr(kendo.attr(\"group\"), options.group);\n\t this.group = this.toolbar.addToGroup(this, options.group);\n\t }\n\n\t if (!options.togglable && options.click && isFunction(options.click)) {\n\t this.clickHandler = options.click;\n\t }\n\n\t if (options.togglable && options.toggle && isFunction(options.toggle)) {\n\t this.toggleHandler = options.toggle;\n\t }\n\t },\n\n\t toggle: function(state, propagate) {\n\t state = !!state;\n\n\t if (this.group && state) {\n\t this.group.select(this);\n\t } else if (!this.group) {\n\t this.select(state);\n\t }\n\n\t if (propagate && this.twin()) {\n\t this.twin().toggle(state);\n\t }\n\t },\n\n\t getParentGroup: function() {\n\t if (this.options.isChild) {\n\t return this.element.closest(\".\" + BUTTON_GROUP).data(\"buttonGroup\");\n\t }\n\t },\n\n\t _addGraphics: function() {\n\t var element = this.element,\n\t icon = this.options.icon,\n\t spriteCssClass = this.options.spriteCssClass,\n\t imageUrl = this.options.imageUrl,\n\t isEmpty, span, img;\n\n\t if (spriteCssClass || imageUrl || icon) {\n\t isEmpty = true;\n\n\t element.contents().filter(function() {\n\t return (!$(this).hasClass(\"k-sprite\") && !$(this).hasClass(ICON) && !$(this).hasClass(\"k-image\"));\n\t }).each(function(idx, el){\n\t if (el.nodeType == 1 || el.nodeType == 3 && kendo.trim(el.nodeValue).length > 0) {\n\t isEmpty = false;\n\t }\n\t });\n\n\t if (isEmpty) {\n\t element.addClass(BUTTON_ICON);\n\t } else {\n\t element.addClass(BUTTON_ICON_TEXT);\n\t }\n\t }\n\t if (icon) {\n\t span = element.children(\"span.\" + ICON).first();\n\t if (!span[0]) {\n\t span = $('').prependTo(element);\n\t }\n\t span.addClass(ICON_PREFIX + icon);\n\t } else if (spriteCssClass) {\n\t span = element.children(\"span.k-sprite\").first();\n\t if (!span[0]) {\n\t span = $('').prependTo(element);\n\t }\n\t span.addClass(spriteCssClass);\n\t } else if (imageUrl) {\n\t img = element.children(\"img.k-image\").first();\n\t if (!img[0]) {\n\t img = $('\"icon\"').prependTo(element);\n\t }\n\t img.attr(\"src\", imageUrl);\n\t }\n\t }\n\t });\n\n\t kendo.toolbar.Button = Button;\n\n\t var ToolBarButton = Button.extend({\n\t init: function(options, toolbar) {\n\t Button.fn.init.call(this, options, toolbar);\n\n\t var element = this.element;\n\n\t element.addClass(BUTTON);\n\n\t this.addIdAttr();\n\n\t if (options.align) {\n\t element.addClass(\"k-align-\" + options.align);\n\t }\n\n\t if (options.showText != \"overflow\" && options.text) {\n\t if (options.mobile) {\n\t element.html('' + options.text + \"\");\n\t } else {\n\t element.html(options.text);\n\t }\n\t }\n\n\t options.hasIcon = (options.showIcon != \"overflow\") && (options.icon || options.spriteCssClass || options.imageUrl);\n\t if (options.hasIcon) {\n\t this._addGraphics();\n\t }\n\n\t this.addUidAttr();\n\t this.addOverflowAttr();\n\t this.enable(options.enable);\n\n\t if (options.hidden) {\n\t this.hide();\n\t }\n\n\t this.element.data({\n\t type: \"button\",\n\t button: this\n\t });\n\t },\n\n\t select: function(selected) {\n\t if (selected === undefined) {\n\t selected = false;\n\t }\n\n\t if (this.options.togglable) {\n\t this.element.attr(ARIA_PRESSED, selected);\n\t }\n\n\t this.element.toggleClass(STATE_ACTIVE, selected);\n\t this.options.selected = selected;\n\t }\n\t });\n\n\t kendo.toolbar.ToolBarButton = ToolBarButton;\n\n\t var OverflowButton = Button.extend({\n\t init: function(options, toolbar) {\n\t this.overflow = true;\n\n\t Button.fn.init.call(this, $.extend({}, options), toolbar);\n\n\t var element = this.element;\n\n\t if (options.showText != \"toolbar\" && options.text) {\n\t if (options.mobile) {\n\t element.html('' + options.text + \"\");\n\t } else {\n\t element.html('' + options.text + \"\");\n\t }\n\t }\n\n\t options.hasIcon = (options.showIcon != \"toolbar\") && (options.icon || options.spriteCssClass || options.imageUrl);\n\t if (options.hasIcon) {\n\t this._addGraphics();\n\t }\n\n\t if (!options.isChild) {\n\t this._wrap();\n\t }\n\n\t this.addOverflowIdAttr();\n\t this.attributes();\n\t this.addUidAttr();\n\t this.addOverflowAttr();\n\t this.enable(options.enable);\n\n\t element.addClass(OVERFLOW_BUTTON + \" \" + BUTTON);\n\n\t if (options.hidden) {\n\t this.hide();\n\t }\n\n\t if (options.togglable){\n\t this.toggle(options.selected);\n\t }\n\n\t this.element.data({\n\t type: \"button\",\n\t button: this\n\t });\n\t },\n\n\t _wrap: function() {\n\t this.element = this.element.wrap(\"
  • \").parent();\n\t },\n\n\t overflowHidden: function() {\n\t this.element.addClass(OVERFLOW_HIDDEN);\n\t },\n\n\t select: function(selected) {\n\t if (selected === undefined) {\n\t selected = false;\n\t }\n\n\t if (this.options.isChild) {\n\t this.element.toggleClass(STATE_ACTIVE, selected);\n\t } else {\n\t this.element.find(\".k-button\").toggleClass(STATE_ACTIVE, selected);\n\t }\n\t this.options.selected = selected;\n\t }\n\t });\n\n\t kendo.toolbar.OverflowButton = OverflowButton;\n\t kendo.toolbar.registerComponent(\"button\", ToolBarButton, OverflowButton);\n\n\t var ButtonGroup = Item.extend({\n\t createButtons: function(buttonConstructor) {\n\t var options = this.options;\n\t var items = options.buttons || [];\n\t var item;\n\n\t for (var i = 0; i < items.length; i++) {\n\t if (!items[i].uid) {\n\t items[i].uid = kendo.guid();\n\t }\n\t item = new buttonConstructor($.extend({ mobile: options.mobile, isChild: true, type: \"button\" }, items[i]), this.toolbar);\n\t item.element.appendTo(this.element);\n\t }\n\t },\n\n\t refresh: function() {\n\t this.element.children().filter(\":not('.\" + STATE_HIDDEN + \"')\").first().addClass(GROUP_START);\n\t this.element.children().filter(\":not('.\" + STATE_HIDDEN + \"')\").last().addClass(GROUP_END);\n\t }\n\t });\n\n\t kendo.toolbar.ButtonGroup = ButtonGroup;\n\n\t var ToolBarButtonGroup = ButtonGroup.extend({\n\t init: function(options, toolbar) {\n\t var element = this.element = $('
    ');\n\t this.options = options;\n\t this.toolbar = toolbar;\n\n\t this.addIdAttr();\n\n\t if (options.align) {\n\t element.addClass(\"k-align-\" + options.align);\n\t }\n\n\t this.createButtons(ToolBarButton);\n\t this.attributes();\n\t this.addUidAttr();\n\t this.addOverflowAttr();\n\t this.refresh();\n\n\t element.addClass(BUTTON_GROUP);\n\n\t this.element.data({\n\t type: \"buttonGroup\",\n\t buttonGroup: this\n\t });\n\t }\n\t });\n\n\t kendo.toolbar.ToolBarButtonGroup = ToolBarButtonGroup;\n\n\t var OverflowButtonGroup = ButtonGroup.extend({\n\t init: function(options, toolbar) {\n\t var element = this.element = $('
  • ');\n\t this.options = options;\n\t this.toolbar = toolbar;\n\t this.overflow = true;\n\n\t this.addOverflowIdAttr();\n\n\t this.createButtons(OverflowButton);\n\t this.attributes();\n\t this.addUidAttr();\n\t this.addOverflowAttr();\n\t this.refresh();\n\n\t element.addClass((options.mobile ? \"\" : BUTTON_GROUP) + \" k-overflow-group\");\n\n\t this.element.data({\n\t type: \"buttonGroup\",\n\t buttonGroup: this\n\t });\n\t },\n\n\t overflowHidden: function() {\n\t this.element.addClass(OVERFLOW_HIDDEN);\n\t }\n\t });\n\n\t kendo.toolbar.OverflowButtonGroup = OverflowButtonGroup;\n\t kendo.toolbar.registerComponent(\"buttonGroup\", ToolBarButtonGroup, OverflowButtonGroup);\n\n\t var ToolBarSplitButton = Item.extend({\n\t init: function(options, toolbar) {\n\t var element = this.element = $('
    ');\n\n\t this.options = options;\n\t this.toolbar = toolbar;\n\n\t this.mainButton = new ToolBarButton($.extend({}, options, { hidden: false }), toolbar);\n\t this.arrowButton = $('');\n\t this.popupElement = $('');\n\n\t this.mainButton.element\n\t .removeAttr(\"href tabindex\")\n\t .appendTo(element);\n\n\t this.arrowButton.appendTo(element);\n\t this.popupElement.appendTo(element);\n\n\t if (options.align) {\n\t element.addClass(\"k-align-\" + options.align);\n\t }\n\n\t if (!options.id) {\n\t options.id = options.uid;\n\t }\n\n\t element.attr(\"id\", options.id + \"_wrapper\");\n\n\t this.addOverflowAttr();\n\t this.addUidAttr();\n\n\t this.createMenuButtons();\n\t this.createPopup();\n\t this._navigatable();\n\n\t this.mainButton.main = true;\n\n\t this.enable(options.enable);\n\n\t if (options.hidden) {\n\t this.hide();\n\t }\n\n\t element.data({\n\t type: \"splitButton\",\n\t splitButton: this,\n\t kendoPopup: this.popup\n\t });\n\t },\n\n\t _navigatable: function() {\n\t var that = this;\n\n\t that.popupElement.on(\"keydown\" + ns, \".\" + BUTTON, function(e) {\n\t var li = $(e.target).parent();\n\n\t e.preventDefault();\n\n\t if (e.keyCode === keys.ESC || e.keyCode === keys.TAB || (e.altKey && e.keyCode === keys.UP)) {\n\t that.toggle();\n\t that.focus();\n\t } else if (e.keyCode === keys.DOWN) {\n\t findFocusableSibling(li, \"next\").trigger(\"focus\");\n\t } else if (e.keyCode === keys.UP) {\n\t findFocusableSibling(li, \"prev\").trigger(\"focus\");\n\t } else if (e.keyCode === keys.SPACEBAR || e.keyCode === keys.ENTER) {\n\t that.toolbar.userEvents.trigger(\"tap\", { target: $(e.target) });\n\t } else if (e.keyCode === keys.HOME) {\n\t li.parent().find(\":kendoFocusable\").first().trigger(\"focus\");\n\t } else if (e.keyCode === keys.END) {\n\t li.parent().find(\":kendoFocusable\").last().trigger(\"focus\");\n\t }\n\t });\n\t },\n\n\t createMenuButtons: function() {\n\t var options = this.options;\n\t var items = options.menuButtons;\n\t var item;\n\n\t for (var i = 0; i < items.length; i++) {\n\t item = new ToolBarButton($.extend({ mobile: options.mobile, type: \"button\", click: options.click }, items[i]), this.toolbar);\n\t item.element.wrap(\"
  • \").parent().appendTo(this.popupElement);\n\t }\n\t },\n\n\t createPopup: function() {\n\t var that = this;\n\t var options = this.options;\n\t var element = this.element;\n\n\t this.popupElement\n\t .attr(\"id\", options.id + OPTION_LIST_SUFFIX)\n\t .attr(KENDO_UID_ATTR, options.rootUid);\n\n\t if (options.mobile) {\n\t this.popupElement = actionSheetWrap(this.popupElement);\n\t }\n\n\t this.popup = this.popupElement.kendoPopup({\n\t appendTo: options.mobile ? $(options.mobile).children(\".km-pane\") : null,\n\t anchor: element,\n\t isRtl: this.toolbar._isRtl,\n\t copyAnchorStyles: false,\n\t animation: options.animation,\n\t open: function(e){\n\t var isDefaultPrevented = that.toolbar.trigger(OPEN, { target: element });\n\n\t if(isDefaultPrevented){\n\t e.preventDefault();\n\t return;\n\t }\n\n\t that.adjustPopupWidth(e.sender);\n\t },\n\t activate: function() {\n\t this.element.find(\":kendoFocusable\").first().trigger(\"focus\");\n\t },\n\t close: function(e) {\n\t var isDefaultPrevented = that.toolbar.trigger(CLOSE, { target: element });\n\t if(isDefaultPrevented){\n\t e.preventDefault();\n\t }\n\t element.trigger(\"focus\");\n\t }\n\t }).data(\"kendoPopup\");\n\n\t this.popup.element.on(CLICK + ns, \"a.k-button\", preventClick);\n\t },\n\n\t adjustPopupWidth: function (popup) {\n\t var anchor = popup.options.anchor,\n\t computedWidth = outerWidth(anchor),\n\t width;\n\n\t kendo.wrap(popup.element).addClass(\"k-split-wrapper\");\n\n\t if (popup.element.css(\"box-sizing\") !== \"border-box\") {\n\t width = computedWidth - (outerWidth(popup.element) - popup.element.width());\n\t } else {\n\t width = computedWidth;\n\t }\n\n\t popup.element.css({\n\t fontFamily: anchor.css(\"font-family\"),\n\t \"min-width\": width\n\t });\n\t },\n\n\t remove: function() {\n\t this.popup.element.off(CLICK + ns, \"a.k-button\");\n\t this.popup.destroy();\n\t this.element.remove();\n\t },\n\n\t toggle: function() {\n\t if(this.options.enable || this.popup.visible()){\n\t this.popup.toggle();\n\t }\n\t },\n\n\t enable: function(isEnabled) {\n\t if (isEnabled === undefined) {\n\t isEnabled = true;\n\t }\n\n\t this.mainButton.enable(isEnabled);\n\t this.element.toggleClass(STATE_DISABLED, !isEnabled);\n\t this.element.attr(ARIA_DISABLED, !isEnabled);\n\t this.options.enable = isEnabled;\n\t },\n\n\t focus: function() {\n\t this.element.trigger(\"focus\");\n\t },\n\n\t hide: function() {\n\t if (this.popup) {\n\t this.popup.close();\n\t }\n\n\t this.element.addClass(STATE_HIDDEN);\n\t this.element.addClass(HIDDEN);\n\t this.options.hidden = true;\n\t },\n\n\t show: function() {\n\t this.element.removeClass(STATE_HIDDEN);\n\t this.element.removeClass(HIDDEN);\n\t this.options.hidden = false;\n\t }\n\t });\n\n\t kendo.toolbar.ToolBarSplitButton = ToolBarSplitButton;\n\n\t var OverflowSplitButton = Item.extend({\n\t init: function(options, toolbar) {\n\t var element = this.element = $('
  • '),\n\t items = options.menuButtons,\n\t item, splitContainerId;\n\n\t this.options = options;\n\t this.toolbar = toolbar;\n\t this.overflow = true;\n\t splitContainerId = (options.id || options.uid) + OPTION_LIST_SUFFIX;\n\n\t this.mainButton = new OverflowButton($.extend({ isChild: true }, options));\n\t this.mainButton.element.appendTo(element);\n\n\t for (var i = 0; i < items.length; i++) {\n\t item = new OverflowButton($.extend({ mobile: options.mobile, type: \"button\", splitContainerId: splitContainerId, isChild: true }, items[i], { click: options.click }), this.toolbar);\n\t item.element.appendTo(element);\n\t }\n\n\t this.addUidAttr();\n\t this.addOverflowAttr();\n\n\t this.mainButton.main = true;\n\n\t element.data({\n\t type: \"splitButton\",\n\t splitButton: this\n\t });\n\t },\n\n\t overflowHidden: function() {\n\t this.element.addClass(OVERFLOW_HIDDEN);\n\t }\n\t });\n\n\t kendo.toolbar.OverflowSplitButton = OverflowSplitButton;\n\t kendo.toolbar.registerComponent(\"splitButton\", ToolBarSplitButton, OverflowSplitButton);\n\n\t var ToolBarSeparator = Item.extend({\n\t init: function(options, toolbar) {\n\t var element = this.element = $('
     
    ');\n\n\t this.element = element;\n\t this.options = options;\n\t this.toolbar = toolbar;\n\n\t this.attributes();\n\t this.addIdAttr();\n\t this.addUidAttr();\n\t this.addOverflowAttr();\n\n\t element.addClass(SEPARATOR);\n\t element.attr(ROLE, \"separator\");\n\n\t element.data({\n\t type: \"separator\",\n\t separator: this\n\t });\n\t }\n\t });\n\n\t var OverflowSeparator = Item.extend({\n\t init: function(options, toolbar) {\n\t var element = this.element = $('
  •  
  • ');\n\n\t this.element = element;\n\t this.options = options;\n\t this.toolbar = toolbar;\n\t this.overflow = true;\n\n\t this.attributes();\n\t this.addUidAttr();\n\t this.addOverflowIdAttr();\n\n\t element.addClass(SEPARATOR);\n\t element.attr(ROLE, \"separator\");\n\n\t element.data({\n\t type: \"separator\",\n\t separator: this\n\t });\n\t },\n\n\t overflowHidden: function() {\n\t this.element.addClass(OVERFLOW_HIDDEN);\n\t }\n\t });\n\n\t kendo.toolbar.registerComponent(\"separator\", ToolBarSeparator, OverflowSeparator);\n\n\t var ToolBarSpacer = Item.extend({\n\t init: function(options, toolbar) {\n\t var element = this.element = $('
     
    ');\n\n\t this.element = element;\n\t this.options = options;\n\t this.toolbar = toolbar;\n\n\t element.addClass(SPACER_CLASS);\n\n\t element.data({\n\t type: SPACER\n\t });\n\t }\n\t });\n\n\t kendo.toolbar.registerComponent(SPACER, ToolBarSpacer);\n\n\t var TemplateItem = Item.extend({\n\t init: function(template, options, toolbar) {\n\t var element = isFunction(template) ? template(options) : template;\n\n\t if (!(element instanceof jQuery)) {\n\t element = $(\"
    \").html(element);\n\t } else {\n\t element = element.wrap(\"
    \").parent();\n\t }\n\n\t this.element = element;\n\t this.options = options;\n\t this.options.type = \"template\";\n\t this.toolbar = toolbar;\n\n\t this.attributes();\n\t this.addUidAttr();\n\t this.addIdAttr();\n\t this.addOverflowAttr();\n\n\t element.data({\n\t type: \"template\",\n\t template: this\n\t });\n\t }\n\t });\n\n\t kendo.toolbar.TemplateItem = TemplateItem;\n\n\t var OverflowTemplateItem = Item.extend({\n\t init: function(template, options, toolbar) {\n\t var element = isFunction(template) ? $(template(options)) : $(template);\n\n\t if (!(element instanceof jQuery)) {\n\t element = $(\"
  • \").html(element);\n\t } else {\n\t element = element.wrap(\"
  • \").parent();\n\t }\n\n\t this.element = element;\n\t this.options = options;\n\t this.options.type = \"template\";\n\t this.toolbar = toolbar;\n\t this.overflow = true;\n\n\t this.attributes();\n\t this.addUidAttr();\n\t this.addOverflowIdAttr();\n\t this.addOverflowAttr();\n\n\t element.data({\n\t type: \"template\",\n\t template: this\n\t });\n\t },\n\n\t overflowHidden: function() {\n\t this.element.addClass(OVERFLOW_HIDDEN);\n\t }\n\t });\n\n\t kendo.toolbar.OverflowTemplateItem = OverflowTemplateItem;\n\n\t function toggleActive(e) {\n\t if (!e.target.is(\".k-toggle-button\")) {\n\t e.target.toggleClass(STATE_ACTIVE, e.type == \"press\");\n\t }\n\t }\n\n\t function actionSheetWrap(element) {\n\t element = $(element);\n\n\t return element.hasClass(\"km-actionsheet\") ? element.closest(\".km-popup-wrapper\") : element.addClass(\"km-widget km-actionsheet\")\n\t .wrap('
    ').parent()\n\t .wrap('
    ').parent();\n\t }\n\n\t function preventClick(e) {\n\t if ($(e.target).closest(\"a.k-button\").length) {\n\t e.preventDefault();\n\t }\n\t }\n\n\t function findFocusableSibling (element, dir) {\n\t var getSibling = dir === \"next\" ? $.fn.next : $.fn.prev;\n\t var getter = dir === \"next\" ? $.fn.first : $.fn.last;\n\t var candidate = getSibling.call(element);\n\n\t if(!candidate.length && element.is(\".\" + OVERFLOW_ANCHOR)){\n\t return element;\n\t }\n\n\t if (candidate.is(\":kendoFocusable\") || !candidate.length) {\n\t return candidate;\n\t }\n\n\t if (candidate.find(\":kendoFocusable\").length) {\n\t return getter.call(candidate.find(\":kendoFocusable\"));\n\t }\n\n\t return findFocusableSibling(candidate, dir);\n\t }\n\n\t var Group = Class.extend({\n\t init: function(name) {\n\t this.name = name;\n\t this.buttons = [];\n\t },\n\n\t add: function(button) {\n\t this.buttons[this.buttons.length] = button;\n\t },\n\n\t remove: function(button) {\n\t var index = $.inArray(button, this.buttons);\n\t this.buttons.splice(index, 1);\n\t },\n\n\t select: function(button) {\n\t var tmp;\n\t for (var i = 0; i < this.buttons.length; i ++) {\n\t tmp = this.buttons[i];\n\n\t tmp.select(false);\n\t }\n\n\t button.select(true);\n\t if (button.twin()) {\n\t button.twin().select(true);\n\t }\n\t }\n\t });\n\n\t var ToolBar = Widget.extend({\n\t init: function(element, options) {\n\t var that = this;\n\t Widget.fn.init.call(that, element, options);\n\n\t options = that.options;\n\t element = that.wrapper = that.element;\n\n\t element.addClass(TOOLBAR + \" k-widget\");\n\t element.attr(ROLE, \"toolbar\");\n\n\t this.uid = kendo.guid();\n\t this._isRtl = kendo.support.isRtl(element);\n\t this._groups = {};\n\t element.attr(KENDO_UID_ATTR, this.uid);\n\n\t that.isMobile = (typeof options.mobile === \"boolean\") ? options.mobile : that.element.closest(\".km-root\")[0];\n\t that.animation = that.isMobile ? { open: { effects: \"fade\" } } : {};\n\n\t if (that.isMobile) {\n\t element.addClass(\"km-widget\");\n\t ICON = \"km-icon\";\n\t ICON_PREFIX = \"km-\";\n\t BUTTON = \"km-button\";\n\t BUTTON_GROUP = \"km-buttongroup\";\n\t STATE_ACTIVE = \"km-state-active\";\n\t STATE_DISABLED = \"km-state-disabled\";\n\t }\n\n\t if(options.resizable) {\n\t that._renderOverflow();\n\t element.addClass(RESIZABLE_TOOLBAR);\n\n\t that.overflowUserEvents = new kendo.UserEvents(that.element, {\n\t threshold: 5,\n\t allowSelection: true,\n\t filter: \".\" + OVERFLOW_ANCHOR,\n\t tap: proxy(that._toggleOverflow, that)\n\t });\n\n\t that._resizeHandler = kendo.onResize(function() {\n\t that.resize();\n\t });\n\t } else {\n\t that.popup = { element: $([]) };\n\t }\n\n\t if(options.items && options.items.length) {\n\t for (var i = 0; i < options.items.length; i++) {\n\t that.add(options.items[i]);\n\t }\n\n\t if(options.resizable) {\n\t that._shrink(that.element.innerWidth());\n\t }\n\t }\n\n\t that.userEvents = new kendo.UserEvents(document.documentElement, {\n\t threshold: 5,\n\t allowSelection: true,\n\t filter:\n\t \"[\" + KENDO_UID_ATTR + \"=\" + this.uid + \"] a.\" + BUTTON + \", \" +\n\t \"[\" + KENDO_UID_ATTR + \"=\" + this.uid + \"] .\" + OVERFLOW_BUTTON,\n\t tap: proxy(that._buttonClick, that),\n\t press: toggleActive,\n\t release: toggleActive\n\t });\n\n\t that.element.on(CLICK + ns, \"a.k-button\", preventClick);\n\t that._navigatable();\n\n\t if (options.resizable) {\n\t that.popup.element.on(CLICK + ns, + \"a.k-button\", preventClick);\n\t }\n\n\t if (options.resizable) {\n\t this._toggleOverflowAnchor();\n\t }\n\n\t kendo.notify(that);\n\t },\n\n\t events: [\n\t CLICK,\n\t TOGGLE,\n\t OPEN,\n\t CLOSE,\n\t OVERFLOW_OPEN,\n\t OVERFLOW_CLOSE\n\t ],\n\n\t options: {\n\t name: \"ToolBar\",\n\t items: [],\n\t resizable: true,\n\t mobile: null\n\t },\n\n\t addToGroup: function(button, groupName) {\n\t var group;\n\n\t if (!this._groups[groupName]) {\n\t group = this._groups[groupName] = new Group();\n\t } else {\n\t group = this._groups[groupName];\n\t }\n\n\t group.add(button);\n\t return group;\n\t },\n\n\t destroy: function() {\n\t var that = this;\n\n\t that.element.find(\".\" + SPLIT_BUTTON).each(function(idx, element) {\n\t $(element).data(\"kendoPopup\").destroy();\n\t });\n\n\t that.element.off(ns, \"a.k-button\");\n\n\t that.userEvents.destroy();\n\n\t if (that.options.resizable) {\n\t kendo.unbindResize(that._resizeHandler);\n\t that.overflowUserEvents.destroy();\n\t that.popup.element.off(ns, \"a.k-button\");\n\t that.popup.destroy();\n\t }\n\n\t Widget.fn.destroy.call(that);\n\t },\n\n\t add: function(options) {\n\t var component = components[options.type],\n\t template = options.template,\n\t tool, that = this,\n\t itemClasses = that.isMobile ? \"\" : \"k-item k-state-default\",\n\t overflowTemplate = options.overflowTemplate,\n\t overflowTool;\n\n\t $.extend(options, {\n\t uid: kendo.guid(),\n\t animation: that.animation,\n\t mobile: that.isMobile,\n\t rootUid: that.uid\n\t });\n\n\t if (options.menuButtons) {\n\t for (var i = 0; i < options.menuButtons.length; i++) {\n\t $.extend(options.menuButtons[i], {\n\t uid: kendo.guid()\n\t });\n\t }\n\t }\n\n\t if ((template && !overflowTemplate) || options.type === SPACER) {\n\t options.overflow = OVERFLOW_NEVER;\n\t } else if (!options.overflow) {\n\t options.overflow = OVERFLOW_AUTO;\n\t }\n\n\t //add the command in the overflow popup\n\t if (options.overflow !== OVERFLOW_NEVER && that.options.resizable) {\n\t if (overflowTemplate) { //template command\n\t overflowTool = new OverflowTemplateItem(overflowTemplate, options, that);\n\t } else if (component) { //build-in command\n\t overflowTool = new component.overflow(options, that);\n\t overflowTool.element.addClass(itemClasses);\n\t }\n\n\t if (overflowTool) {\n\t if (options.overflow === OVERFLOW_AUTO) {\n\t overflowTool.overflowHidden();\n\t }\n\n\t overflowTool.element.appendTo(that.popup.container);\n\t that.angular(\"compile\", function(){\n\t return { elements: overflowTool.element.get() };\n\t });\n\t }\n\t }\n\n\t //add the command in the toolbar container\n\t if (options.overflow !== OVERFLOW_ALWAYS) {\n\t if (template) { //template command\n\t tool = new TemplateItem(template, options, that);\n\t } else if (component) { //build-in command\n\t tool = new component.toolbar(options, that);\n\t }\n\n\t if (tool) {\n\t tool.element.appendTo(that.element);\n\n\t that.angular(\"compile\", function(){\n\t return { elements: tool.element.get() };\n\t });\n\t }\n\t }\n\t },\n\n\t _getItem: function(candidate) {\n\t var element,\n\t toolbarItem,\n\t overflowItem,\n\t isResizable = this.options.resizable,\n\t type;\n\n\t //find toolbar item\n\n\t element = this.element.find(candidate);\n\t if (!element.length) {\n\t element = $(\".k-split-container[data-uid=\" + this.uid + \"]\").find(candidate);\n\t }\n\n\t type = element.length ? element.data(\"type\") : \"\";\n\t toolbarItem = element.data(type);\n\n\t if (toolbarItem) {\n\t if (toolbarItem.main) {\n\t element = element.parent(\".\" + SPLIT_BUTTON);\n\t type = \"splitButton\";\n\t toolbarItem = element.data(type);\n\t }\n\n\t if (isResizable) {\n\t overflowItem = toolbarItem.twin();\n\t }\n\t } else if (isResizable) { //find overflow item\n\t element = this.popup.element.find(candidate);\n\t type = element.length ? element.data(\"type\") : \"\";\n\t overflowItem = element.data(type);\n\n\t if (overflowItem && overflowItem.main) {\n\t element = element.parent(\".\" + SPLIT_BUTTON);\n\t type = \"splitButton\";\n\t overflowItem = element.data(type);\n\t }\n\t }\n\n\t return {\n\t type: type,\n\t toolbar: toolbarItem,\n\t overflow: overflowItem\n\t };\n\t },\n\n\t remove: function(candidate) {\n\t var item = this._getItem(candidate);\n\n\t if (item.toolbar) { item.toolbar.remove(); }\n\t if (item.overflow) { item.overflow.remove(); }\n\n\t this.resize(true);\n\t },\n\n\t hide: function(candidate) {\n\t var item = this._getItem(candidate);\n\t var buttonGroupInstance;\n\n\t if (item.toolbar) {\n\t if (item.toolbar.options.type === \"button\" && item.toolbar.options.isChild) {\n\t buttonGroupInstance = item.toolbar.getParentGroup();\n\n\t item.toolbar.hide();\n\n\t if (buttonGroupInstance) {\n\t buttonGroupInstance.refresh();\n\t }\n\t } else if (!item.toolbar.options.hidden) {\n\t item.toolbar.hide();\n\t }\n\t }\n\n\t if (item.overflow) {\n\t if (item.overflow.options.type === \"button\" && item.overflow.options.isChild) {\n\t buttonGroupInstance = item.overflow.getParentGroup();\n\n\t item.overflow.hide();\n\n\t if(buttonGroupInstance) {\n\t buttonGroupInstance.refresh();\n\t }\n\t } else if(!item.overflow.options.hidden) {\n\t item.overflow.hide();\n\t }\n\t }\n\n\t this.resize(true);\n\t },\n\n\t show: function(candidate) {\n\t var item = this._getItem(candidate);\n\t var buttonGroupInstance;\n\n\t if (item.toolbar) {\n\t if (item.toolbar.options.type === \"button\" && item.toolbar.options.isChild) {\n\t buttonGroupInstance = item.toolbar.getParentGroup();\n\t item.toolbar.show();\n\n\t if (buttonGroupInstance) {\n\t buttonGroupInstance.refresh();\n\t }\n\t } else if(item.toolbar.options.hidden) {\n\t item.toolbar.show();\n\t }\n\t }\n\n\t if (item.overflow) {\n\t if (item.overflow.options.type === \"button\" && item.overflow.options.isChild) {\n\t buttonGroupInstance = item.overflow.getParentGroup();\n\n\t item.toolbar.show();\n\n\t if (buttonGroupInstance) {\n\t buttonGroupInstance.refresh();\n\t }\n\t } else if(item.overflow.options.hidden) {\n\t item.overflow.show();\n\t }\n\t }\n\n\t this.resize(true);\n\t },\n\n\t enable: function(element, enable) {\n\t var item = this._getItem(element);\n\n\t if (typeof enable == \"undefined\") {\n\t enable = true;\n\t }\n\n\t if (item.toolbar) { item.toolbar.enable(enable); }\n\t if (item.overflow) { item.overflow.enable(enable); }\n\t },\n\n\t getSelectedFromGroup: function(groupName) {\n\t return this.element.find(\".\" + TOGGLE_BUTTON + \"[data-group='\" + groupName + \"']\").filter(\".\" + STATE_ACTIVE);\n\t },\n\n\t toggle: function(button, checked) {\n\t var element = $(button),\n\t item = element.data(\"button\");\n\n\t if (item.options.togglable) {\n\t if (checked === undefined) {\n\t checked = true;\n\t }\n\t item.toggle(checked, true);\n\t }\n\t },\n\n\t _renderOverflow: function() {\n\t var that = this,\n\t overflowContainer = components.overflowContainer,\n\t isRtl = that._isRtl,\n\t horizontalDirection = isRtl ? \"left\" : \"right\";\n\n\t that.overflowAnchor = $(components.overflowAnchor).addClass(BUTTON);\n\n\t that.element.append(that.overflowAnchor);\n\n\t if (that.isMobile) {\n\t that.overflowAnchor.append('');\n\t overflowContainer = actionSheetWrap(overflowContainer);\n\t } else {\n\t that.overflowAnchor.append('');\n\t }\n\n\t that.popup = new kendo.ui.Popup(overflowContainer, {\n\t origin: \"bottom \" + horizontalDirection,\n\t position: \"top \" + horizontalDirection,\n\t anchor: that.overflowAnchor,\n\t isRtl: isRtl,\n\t animation: that.animation,\n\t appendTo: that.isMobile ? $(that.isMobile).children(\".km-pane\") : null,\n\t copyAnchorStyles: false,\n\t open: function (e) {\n\t var wrapper = kendo.wrap(that.popup.element)\n\t .addClass(\"k-overflow-wrapper\");\n\n\t if (!that.isMobile) {\n\t wrapper.css(\"margin-left\", (isRtl ? -1 : 1) * ((outerWidth(wrapper) - wrapper.width()) / 2 + 1));\n\t } else {\n\t that.popup.container.css(\"max-height\", (parseFloat($(\".km-content:visible\").innerHeight()) - 15) + \"px\");\n\t }\n\n\t if (that.trigger(OVERFLOW_OPEN)) {\n\t e.preventDefault();\n\t }\n\t },\n\t activate: function() {\n\t this.element.find(\":kendoFocusable\").first().trigger(\"focus\");\n\t },\n\t close: function (e) {\n\t if (that.trigger(OVERFLOW_CLOSE)) {\n\t e.preventDefault();\n\t }\n\n\t this.element.trigger(\"focus\");\n\t }\n\t });\n\n\t that.popup.element.on(\"keydown\" + ns, \".\" + BUTTON, function(e) {\n\t var target = $(e.target),\n\t li = target.parent(),\n\t isComplexTool = li.is(\".\" + BUTTON_GROUP) || li.is(\".\" + SPLIT_BUTTON),\n\t element;\n\n\t e.preventDefault();\n\n\t if (e.keyCode === keys.ESC || e.keyCode === keys.TAB || (e.altKey && e.keyCode === keys.UP)) {\n\n\t that._toggleOverflow();\n\t that.overflowAnchor.trigger(\"focus\");\n\t } else if (e.keyCode === keys.DOWN) {\n\t element = !isComplexTool || (isComplexTool && target.is(\":last-child\")) ? li : target;\n\t findFocusableSibling(element, \"next\").trigger(\"focus\");\n\t } else if (e.keyCode === keys.UP) {\n\t element = !isComplexTool || (isComplexTool && target.is(\":first-child\")) ? li : target;\n\t findFocusableSibling(element, \"prev\").trigger(\"focus\");\n\t } else if (e.keyCode === keys.SPACEBAR || e.keyCode === keys.ENTER) {\n\t that.userEvents.trigger(\"tap\", { target: $(e.target) });\n\t that.overflowAnchor.trigger(\"focus\");\n\t } else if (e.keyCode === keys.HOME) {\n\t li.parent().find(\":kendoFocusable\").first().trigger(\"focus\");\n\t } else if (e.keyCode === keys.END) {\n\t li.parent().find(\":kendoFocusable\").last().trigger(\"focus\");\n\t }\n\t });\n\n\t if (that.isMobile) {\n\t that.popup.container = that.popup.element.find(\".\" + OVERFLOW_CONTAINER);\n\t } else {\n\t that.popup.container = that.popup.element;\n\t }\n\n\t that.popup.container.attr(KENDO_UID_ATTR, this.uid);\n\t },\n\n\t _toggleOverflowAnchor: function() {\n\t var hasVisibleChildren = false;\n\t var paddingEnd = this._isRtl ? \"padding-left\" : \"padding-right\";\n\n\t if (this.options.mobile) {\n\t hasVisibleChildren = this.popup.element.find(\".\" + OVERFLOW_CONTAINER).children(\":not(.\" + OVERFLOW_HIDDEN + \", .\" + POPUP + \")\").length > 0;\n\t } else {\n\t hasVisibleChildren = this.popup.element.children(\":not(.\" + OVERFLOW_HIDDEN + \", .\" + POPUP + \")\").length > 0;\n\t }\n\n\t if (hasVisibleChildren) {\n\t this.overflowAnchor.css({\n\t visibility: \"visible\",\n\t width: \"\"\n\t });\n\t this.wrapper.css(paddingEnd, this.overflowAnchor.outerWidth(true));\n\t } else {\n\t this.overflowAnchor.css({\n\t visibility: \"hidden\",\n\t width: \"1px\"\n\t });\n\t this.wrapper.css(paddingEnd, \"\");\n\t }\n\t },\n\n\t _buttonClick: function(e) {\n\t var that = this, popup,\n\t target, item, splitContainer,\n\t isSplitButtonArrow = e.target.closest(\".\" + SPLIT_BUTTON_ARROW).length,\n\t handler, eventData, urlTarget;\n\n\t e.preventDefault();\n\n\t if (isSplitButtonArrow) {\n\t that._toggle(e);\n\t return;\n\t }\n\n\t target = $(e.target).closest(\".\" + BUTTON, that.element);\n\n\t if (target.hasClass(OVERFLOW_ANCHOR)) {\n\t return;\n\t }\n\n\t item = target.data(\"button\");\n\n\t if (!item && that.popup) {\n\t target = $(e.target).closest(\".\" + OVERFLOW_BUTTON, that.popup.container);\n\t item = target.parent(\"li\").data(\"button\");\n\t }\n\n\t if (!item || !item.options.enable) {\n\t return;\n\t }\n\n\t if (item.options.togglable) {\n\t handler = isFunction(item.toggleHandler) ? item.toggleHandler : null;\n\n\t item.toggle(!item.options.selected, true);\n\t eventData = { target: target, group: item.options.group, checked: item.options.selected, id: item.options.id, item: item };\n\n\t if (handler) { handler.call(that, eventData); }\n\t that.trigger(TOGGLE, eventData);\n\t } else {\n\t handler = isFunction(item.clickHandler) ? item.clickHandler : null;\n\t eventData = { sender: that, target: target, id: item.options.id, item: item };\n\n\t if (handler) { handler.call(that, eventData); }\n\t that.trigger(CLICK, eventData);\n\t }\n\n\t if (item.options.url) {\n\t if (item.options.attributes && item.options.attributes.target) {\n\t urlTarget = item.options.attributes.target;\n\t }\n\t window.open(item.options.url, urlTarget || \"_self\");\n\t }\n\n\t if (target.hasClass(OVERFLOW_BUTTON)) {\n\t that.popup.close();\n\t }\n\n\t splitContainer = target.closest(\".k-split-container\");\n\t if (splitContainer[0]) {\n\t popup = splitContainer.data(\"kendoPopup\");\n\t (popup ? popup : splitContainer.parents(\".km-popup-wrapper\").data(\"kendoPopup\")).close();\n\t }\n\t },\n\n\t _navigatable: function() {\n\t var that = this;\n\n\t that.element\n\t .attr(\"tabindex\", 0)\n\t .on(\"focusin\" + ns, function(ev) {\n\t var target = $(ev.target);\n\t var element = $(this).find(\":kendoFocusable\").first();\n\n\t if (!target.is(\".\" + TOOLBAR) || element.length === 0) {\n\t return;\n\t }\n\n\t if (element.is(\".\" + OVERFLOW_ANCHOR)) {\n\t element = findFocusableSibling(element, \"next\");\n\t }\n\n\t if(element.length) {\n\t element[0].focus();\n\t }\n\t })\n\t .on(\"keydown\" + ns, proxy(that._keydown, that));\n\t },\n\n\t _keydown: function(e) {\n\t var target = $(e.target),\n\t keyCode = e.keyCode,\n\t items = this.element.children(\":not(.k-separator):visible\"),\n\t direction = this._isRtl ? -1 : 1;\n\n\t if (keyCode === keys.TAB) {\n\t var element = target.parentsUntil(this.element).last(),\n\t lastHasFocus = false,\n\t firstHasFocus = false,\n\t isOnlyOverflowAnchor = false;\n\n\t if(!items.not(\".\" + OVERFLOW_ANCHOR).length){\n\t isOnlyOverflowAnchor = true;\n\t }\n\n\t if (!element.length) {\n\t element = target;\n\t }\n\n\t if (element.is(\".\" + OVERFLOW_ANCHOR) && !isOnlyOverflowAnchor) {\n\t var lastItemNotOverflowAnchor = items.last();\n\n\t if (e.shiftKey) {\n\t e.preventDefault();\n\t }\n\n\t if (lastItemNotOverflowAnchor.is(\":kendoFocusable\")) {\n\t items.last().trigger(\"focus\");\n\t } else {\n\t items.last().find(\":kendoFocusable\").last().trigger(\"focus\");\n\t }\n\t }\n\n\t if (!e.shiftKey && items.index(element) === items.length - 1) {\n\t if (element.is(\".\" + BUTTON_GROUP)) {\n\t lastHasFocus = target.is(\":last-child\");\n\t } else {\n\t lastHasFocus = true;\n\t }\n\t }\n\n\t var isFirstTool = items.index(element) === items.not(\".k-overflow-anchor\").first().index();\n\t if (e.shiftKey && isFirstTool) {\n\t if (element.is(\".\" + BUTTON_GROUP)) {\n\t firstHasFocus = target.is(\":first-child\");\n\t } else {\n\t firstHasFocus = true;\n\t }\n\t }\n\n\t if (lastHasFocus && this.overflowAnchor && this.overflowAnchor.css(\"visibility\") !== \"hidden\" && !isOnlyOverflowAnchor) {\n\t e.preventDefault();\n\t this.overflowAnchor.trigger(\"focus\");\n\t }\n\n\t if (firstHasFocus || (isOnlyOverflowAnchor && e.shiftKey)) {\n\t e.preventDefault();\n\t var prevFocusable = this._getPrevFocusable(this.wrapper);\n\t if (prevFocusable) {\n\t prevFocusable.trigger(\"focus\");\n\t }\n\t }\n\t this._preventNextFocus = false;\n\t }\n\n\t if (e.altKey && keyCode === keys.DOWN) {\n\t var splitButton = $(document.activeElement).data(\"splitButton\");\n\t var isOverflowAnchor = $(document.activeElement).is(\".\" + OVERFLOW_ANCHOR);\n\n\t if (splitButton) {\n\t splitButton.toggle();\n\t } else if (isOverflowAnchor) {\n\t this._toggleOverflow();\n\t }\n\n\t return;\n\t }\n\n\t if ((keyCode === keys.SPACEBAR || keyCode === keys.ENTER) && !target.is(\"input, checkbox\")) {\n\n\t if(keyCode === keys.SPACEBAR){\n\t e.preventDefault(); //prevent spacebar to scroll the page down\n\t }\n\n\t if (target.is(\".\" + SPLIT_BUTTON)) {\n\t target = target.children().first();\n\t this.userEvents.trigger(\"tap\", { target: target });\n\t } else if (keyCode === keys.SPACEBAR) {\n\t this.userEvents.trigger(\"tap\", { target: target });\n\t }\n\n\t return;\n\t }\n\n\t if (keyCode === keys.HOME) {\n\t if (target.is(\".k-dropdown\") || target.is(\"input\")) {\n\t return;\n\t }\n\n\t if (this.overflowAnchor) {\n\t items.eq(1).trigger(\"focus\");\n\t } else {\n\t items.first().trigger(\"focus\");\n\t }\n\t e.preventDefault();\n\t } else if (keyCode === keys.END) {\n\t if (target.is(\".k-dropdown\") || target.is(\"input\")) {\n\t return;\n\t }\n\t if (this.overflowAnchor && $(this.overflowAnchor).css(\"visibility\") != \"hidden\") {\n\t this.overflowAnchor.trigger(\"focus\");\n\t } else {\n\t items.last().trigger(\"focus\");\n\t }\n\t e.preventDefault();\n\t } else if (keyCode === keys.RIGHT && !this._preventNextFocus && !target.is(\"input, select, .k-dropdown, .k-colorpicker\") && this._getNextElement(e.target, 1 * direction)) {\n\t this._getNextElement(e.target, 1 * direction).focus();\n\t e.preventDefault();\n\t } else if (keyCode === keys.LEFT && !this._preventNextFocus && !target.is(\"input, select, .k-dropdown, .k-colorpicker\") && this._getNextElement(e.target, -1 * direction)) {\n\t this._getNextElement(e.target, -1 * direction).focus();\n\t e.preventDefault();\n\t }\n\t },\n\n\t _getNextElement: function (item, direction) {\n\t var items = this.element.children(\":not(.k-separator):visible\");\n\t var itemIndex = items.index(item) === -1 ? items.index(item.parentElement) : items.index(item);\n\t var startIndex = this.overflowAnchor ? 1 : 0;\n\t var directionNumber = direction;\n\t var searchIndex = direction === 1 ? items.length - 1 : startIndex;\n\t var index = direction === 1 ? startIndex : items.length - 1;\n\t var focusableItem = items[itemIndex + direction];\n\t this._preventNextFocus = false;\n\n\t if ($(item).closest(\".\" + BUTTON_GROUP).length && !$(item).is(direction === 1 ? \":last-child\" : \":first-child\")) {\n\t return $(item)\n\t .closest(\".\" + BUTTON_GROUP)\n\t .children()[$(item)\n\t .closest(\".\" + BUTTON_GROUP)\n\t .children()\n\t .index(item) + direction];\n\t }\n\n\t if (this.overflowAnchor && item === this.overflowAnchor[0] && direction === -1) {\n\t focusableItem = items[items.length - 1];\n\t }\n\n\t if (itemIndex === searchIndex) {\n\t focusableItem = !this.overflowAnchor ||\n\t (this.overflowAnchor &&\n\t $(this.overflowAnchor).css(\"visibility\") === \"hidden\") ? items[index] : this.overflowAnchor;\n\t }\n\n\t while (!$(focusableItem).is(\":kendoFocusable\")) {\n\t if (direction === -1 && $(focusableItem).closest(\".\" + BUTTON_GROUP).length) {\n\t focusableItem = $(focusableItem).children(\":not(label, div)\").last();\n\t } else {\n\t focusableItem = $(focusableItem).children(\":not(label, div)\").first();\n\t }\n\t if (!focusableItem.length) {\n\t directionNumber = directionNumber + direction;\n\t focusableItem = items[itemIndex + directionNumber];\n\t if (!focusableItem) {\n\t return this.overflowAnchor;\n\t }\n\t }\n\t this._preventNextFocus = $(focusableItem).closest(\".\" + BUTTON_GROUP).length ? false : true;\n\t }\n\n\t return focusableItem;\n\t },\n\n\t _getPrevFocusable: function(element) {\n\t if (element.is(\"html\")) {\n\t return element;\n\t }\n\n\t var elementToFocus, prevElement,\n\t prevElements = element.prevAll();\n\t prevElements.each(function(){\n\t prevElement = $(this);\n\t if (prevElement.is(\":kendoFocusable\")) {\n\t elementToFocus = prevElement;\n\t return false;\n\t } else if (prevElement.find(\":kendoFocusable\").length > 0) {\n\t elementToFocus = prevElement.find(\":kendoFocusable\").last();\n\t return false;\n\t }\n\t });\n\t if (elementToFocus) {\n\t return elementToFocus;\n\t } else {\n\t return this._getPrevFocusable(element.parent());\n\t }\n\t },\n\n\t _toggle: function(e) {\n\t var splitButton = $(e.target).closest(\".\" + SPLIT_BUTTON).data(\"splitButton\");\n\n\t e.preventDefault();\n\n\t if (!splitButton.options.enable) {\n\t return;\n\t }\n\n\t splitButton.toggle();\n\t },\n\n\t _toggleOverflow: function() {\n\t this.popup.toggle();\n\t },\n\n\t _resize: function(e) {\n\t var containerWidth = e.width;\n\n\t if (!this.options.resizable) {\n\t return;\n\t }\n\n\t this.popup.close();\n\n\t this._shrink(containerWidth);\n\t this._stretch(containerWidth);\n\n\t this._markVisibles();\n\n\t this._toggleOverflowAnchor();\n\t },\n\n\t _childrenWidth: function() {\n\t var childrenWidth = 0;\n\n\t this.element.children(\":visible:not(.\" + STATE_HIDDEN + \", .\" + SPACER_CLASS + \")\").each(function() {\n\t childrenWidth += outerWidth($(this), true);\n\t });\n\n\t return Math.ceil(childrenWidth);\n\t },\n\n\t _shrink: function(containerWidth) {\n\t var commandElement,\n\t visibleCommands;\n\n\t if (containerWidth < this._childrenWidth()) {\n\t visibleCommands = this.element.children(\":visible:not([data-overflow='never'], .\" + OVERFLOW_ANCHOR + \")\");\n\n\t for (var i = visibleCommands.length - 1; i >= 0; i--) {\n\t commandElement = visibleCommands.eq(i);\n\n\t if (containerWidth > this._childrenWidth()) {\n\t break;\n\t } else {\n\t this._hideItem(commandElement);\n\t }\n\t }\n\t }\n\t },\n\n\t _stretch: function(containerWidth) {\n\t var commandElement,\n\t hiddenCommands;\n\n\t if (containerWidth > this._childrenWidth()) {\n\t hiddenCommands = this.element.children(\":hidden:not('.\" + STATE_HIDDEN + \"')\");\n\n\t for (var i = 0; i < hiddenCommands.length ; i++) {\n\t commandElement = hiddenCommands.eq(i);\n\t if (containerWidth < this._childrenWidth() || !this._showItem(commandElement, containerWidth)) {\n\t break;\n\t }\n\t }\n\t }\n\t },\n\n\t _hideItem: function(item) {\n\t item.addClass(HIDDEN);\n\n\t if (this.popup) {\n\t this.popup.container\n\t .find(\">li[data-uid='\" + item.data(\"uid\") + \"']\")\n\t .removeClass(OVERFLOW_HIDDEN);\n\t }\n\t },\n\n\t _showItem: function(item, containerWidth) {\n\t // From jquery.outerWidth docs:\n\t // > jQuery will attempt to temporarily show and then re-hide an element\n\t // > in order to measure its dimensions, but this is unreliable\n\t // Thus we show and hide the item\n\t item.removeClass(HIDDEN);\n\t var itemOuterWidth = outerWidth(item, true);\n\t item.addClass(HIDDEN);\n\n\t if (item.length && containerWidth > this._childrenWidth() + itemOuterWidth) {\n\n\t item.removeClass(HIDDEN);\n\n\t if (this.popup) {\n\t this.popup.container\n\t .find(\">li[data-uid='\" + item.data(\"uid\") + \"']\")\n\t .addClass(OVERFLOW_HIDDEN);\n\t }\n\n\t return true;\n\t }\n\n\t return false;\n\t },\n\n\t _markVisibles: function() {\n\t var overflowItems = this.popup.container.children(),\n\t toolbarItems = this.element.children(\":not(.k-overflow-anchor)\"),\n\t visibleOverflowItems = overflowItems.filter(\":not(.k-overflow-hidden)\"),\n\t visibleToolbarItems = toolbarItems.filter(\":visible\");\n\n\t overflowItems.add(toolbarItems).removeClass(FIRST_TOOLBAR_VISIBLE + \" \" + LAST_TOOLBAR_VISIBLE);\n\t visibleOverflowItems.first().add(visibleToolbarItems.first()).addClass(FIRST_TOOLBAR_VISIBLE);\n\t visibleOverflowItems.last().add(visibleToolbarItems.last()).addClass(LAST_TOOLBAR_VISIBLE);\n\t }\n\n\t });\n\n\t kendo.ui.plugin(ToolBar);\n\t})(window.kendo.jQuery);\n\n\treturn window.kendo;\n\n\t}, __webpack_require__(3));\n\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1059)))\n\n/***/ })\n\n/******/ });","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n\n\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports = __webpack_require__(1472);\n\n\n/***/ }),\n\n/***/ 3:\n/***/ (function(module, exports) {\n\n\tmodule.exports = function() { throw new Error(\"define cannot be used indirect\"); };\r\n\n\n/***/ }),\n\n/***/ 1050:\n/***/ (function(module, exports) {\n\n\tmodule.exports = require(\"./kendo.core\");\n\n/***/ }),\n\n/***/ 1051:\n/***/ (function(module, exports) {\n\n\tmodule.exports = require(\"./kendo.popup\");\n\n/***/ }),\n\n/***/ 1059:\n/***/ (function(module, exports) {\n\n\tmodule.exports = require(\"jquery\");\n\n/***/ }),\n\n/***/ 1124:\n/***/ (function(module, exports) {\n\n\tmodule.exports = require(\"./kendo.fx\");\n\n/***/ }),\n\n/***/ 1472:\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/* WEBPACK VAR INJECTION */(function(jQuery) {(function(f, define){\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [ __webpack_require__(1050), __webpack_require__(1051), __webpack_require__(1124) ], __WEBPACK_AMD_DEFINE_FACTORY__ = (f), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t})(function(){\n\n\tvar __meta__ = { // jshint ignore:line\n\t id: \"tooltip\",\n\t name: \"Tooltip\",\n\t category: \"web\",\n\t description: \"The Tooltip widget displays a popup hint for a given html element.\",\n\t depends: [ \"core\", \"popup\" ],\n\t features: [ {\n\t id: \"tooltip-fx\",\n\t name: \"Animation\",\n\t description: \"Support for animation\",\n\t depends: [ \"fx\" ]\n\t } ]\n\t};\n\n\t(function($, undefined) {\n\t var kendo = window.kendo,\n\t Widget = kendo.ui.Widget,\n\t Popup = kendo.ui.Popup,\n\t isFunction = kendo.isFunction,\n\t isPlainObject = $.isPlainObject,\n\t extend = $.extend,\n\t proxy = $.proxy,\n\t DOCUMENT = $(document),\n\t isLocalUrl = kendo.isLocalUrl,\n\t ARIAIDSUFFIX = \"_tb_active\",\n\t DESCRIBEDBY = \"aria-describedby\",\n\t SHOW = \"show\",\n\t HIDE = \"hide\",\n\t ERROR = \"error\",\n\t CONTENTLOAD = \"contentLoad\",\n\t REQUESTSTART = \"requestStart\",\n\t KCONTENTFRAME = \"k-content-frame\",\n\t TEMPLATE = '
    ' +\n\t '
    ' +\n\t '#if (!autoHide) {#
    #}#' +\n\t '#if (callout){ #
    #}#' +\n\t '
    ',\n\t IFRAMETEMPLATE = kendo.template(\n\t \"\"\n\t ),\n\t NS = \".kendoTooltip\",\n\t POSITIONS = {\n\t bottom: {\n\t origin: \"bottom center\",\n\t position: \"top center\"\n\t },\n\t top: {\n\t origin: \"top center\",\n\t position: \"bottom center\"\n\t },\n\t left: {\n\t origin: \"center left\",\n\t position: \"center right\",\n\t collision: \"fit flip\"\n\t },\n\t right: {\n\t origin: \"center right\",\n\t position: \"center left\",\n\t collision: \"fit flip\"\n\t },\n\t center: {\n\t position: \"center center\",\n\t origin: \"center center\"\n\t }\n\t },\n\t REVERSE = {\n\t \"top\": \"bottom\",\n\t \"bottom\": \"top\",\n\t \"left\": \"right\",\n\t \"right\": \"left\",\n\t \"center\": \"center\"\n\t },\n\t DIRCLASSES = {\n\t bottom: \"n\",\n\t top: \"s\",\n\t left: \"e\",\n\t right: \"w\",\n\t center: \"n\"\n\t },\n\t DIMENSIONS = {\n\t \"horizontal\": { offset: \"top\", size: \"outerHeight\" },\n\t \"vertical\": { offset: \"left\", size: \"outerWidth\" }\n\t },\n\t DEFAULTCONTENT = function(e) {\n\t return e.target.data(kendo.ns + \"title\");\n\t };\n\n\t function restoreTitle(element) {\n\t while(element.length) {\n\t if (restoreTitleAttributeForElement(element)) {\n\t break;\n\t }\n\t element = element.parent();\n\t }\n\t }\n\n\t function restoreTitleAttributeForElement(element) {\n\t var title = element.data(kendo.ns + \"title\");\n\t if (title) {\n\t element.attr(\"title\", title);\n\t element.removeData(kendo.ns + \"title\");\n\t return true;\n\t }\n\t }\n\n\t function saveTitleAttributeForElement(element) {\n\t var title = element.attr(\"title\");\n\t if (title) {\n\t element.data(kendo.ns + \"title\", title);\n\t element.attr(\"title\", \"\");\n\t return true;\n\t }\n\t }\n\n\t function saveTitleAttributes(element) {\n\t while(element.length && !element.is(\"body\")) {\n\t if (saveTitleAttributeForElement(element)) {\n\t break;\n\t }\n\t element = element.parent();\n\t }\n\t }\n\n\t var TooltipBase = Widget.extend({\n\t init: function(element, options) {\n\t var that = this,\n\t axis;\n\n\t Widget.fn.init.call(that, element, options);\n\n\t axis = that.options.position.match(/left|right/) ? \"horizontal\" : \"vertical\";\n\n\t that.dimensions = DIMENSIONS[axis];\n\n\t if (kendo.support.touch && this._isShownOnMouseEnter()) {\n\t that.element.on(kendo.support.mousedown + NS, that.options.filter, proxy(that._showOn, that));\n\t }\n\n\t that.element.on(that.options.showOn + NS, that.options.filter, proxy(that._showOn, that));\n\t },\n\n\t options: {\n\t name: \"TooltipBase\",\n\t filter: \"\",\n\t offset: 0,\n\t showAfter: 100,\n\t hideAfter: 100,\n\t callout: true,\n\t position: \"bottom\",\n\t showOn: \"mouseenter\",\n\t animation: {\n\t open: {\n\t effects: \"fade:in\",\n\t duration: 0\n\t },\n\t close: {\n\t duration: 40,\n\t hide: true\n\t }\n\t }\n\t },\n\n\t destroy: function() {\n\t var popup = this.popup;\n\n\t if (popup) {\n\t popup.element.off(NS);\n\t popup.destroy();\n\t }\n\n\t clearTimeout(this.timeout);\n\n\t Widget.fn.destroy.call(this);\n\t },\n\n\t hide: function() {\n\t if (this.popup) {\n\t this.popup.close();\n\t }\n\t },\n\n\t show: function(target) {\n\t target = target || this.element;\n\n\t this._saveTitle(target);\n\t this._show(target);\n\t },\n\n\t target: function() {\n\t if (this.popup) {\n\t return this.popup.options.anchor;\n\t }\n\t return null;\n\t },\n\n\t _showOn: function(e) {\n\t var that = this;\n\n\t var currentTarget = $(e.currentTarget);\n\t if (that._isShownOnClick() && !that._isShownOnMouseEnter()) {\n\t that._show(currentTarget);\n\t } else if (that._isShownOnFocus()) {\n\t that._saveTitle(currentTarget);\n\t that._show(currentTarget);\n\t } else {\n\t clearTimeout(that.timeout);\n\n\t that.timeout = setTimeout(function() {\n\t that._show(currentTarget);\n\t }, that.options.showAfter);\n\t }\n\t },\n\n\t _isShownOnFocus: function(){\n\t return this.options.showOn && this.options.showOn.match(/focus/);\n\t },\n\n\t _isShownOnMouseEnter: function(){\n\t return this.options.showOn && this.options.showOn.match(/mouseenter/);\n\t },\n\n\t _isShownOnClick: function(){\n\t return this.options.showOn && this.options.showOn.match(/click/);\n\t },\n\n\t _positionCallout: function() {\n\t var that = this,\n\t position = that.options.position,\n\t dimensions = that.dimensions,\n\t offset = dimensions.offset,\n\t popup = that.popup,\n\t anchor = popup.options.anchor,\n\t anchorOffset = $(anchor).offset(),\n\t elementOffset = $(popup.element).offset(),\n\t cssClass = DIRCLASSES[popup.flipped ? REVERSE[position] : position],\n\t offsetAmount = anchorOffset[offset] - elementOffset[offset] + ($(anchor)[dimensions.size]() / 2);\n\n\t that._offset(position, that.options.offset);\n\n\t that.arrow\n\t .removeClass(\"k-callout-n k-callout-s k-callout-w k-callout-e\")\n\t .addClass(\"k-callout-\" + cssClass)\n\t .css(offset, offsetAmount);\n\t },\n\n\t _offset: function(position, offsetAmount, arrowWidth) {\n\t var that = this,\n\t isTopLeft = position == \"top\" || position == \"left\",\n\t isFlipped = that.popup.flipped,\n\t direction = (isTopLeft && isFlipped) || (!isTopLeft && !isFlipped) ? 1 : -1,\n\t marginRule = isTopLeft ? \"margin-\" + position : \"margin-\" + REVERSE[position],\n\t offset = ((arrowWidth || kendo._outerWidth(that.arrow)) / 2) + offsetAmount;\n\n\t that.popup.wrapper.css(marginRule, offset * direction + \"px\");\n\t },\n\n\t _addDescribedBy: function () {\n\t var that = this,\n\t anchor = that.popup.options.anchor,\n\t ariaId = anchor[0].id || that.element[0].id || kendo.guid(),\n\t describedBy = [];\n\n\t if(anchor.attr(DESCRIBEDBY)) {\n\t describedBy.push(anchor.attr(DESCRIBEDBY));\n\t }\n\n\t if (ariaId) {\n\t describedBy.push(ariaId + ARIAIDSUFFIX);\n\t anchor.attr(DESCRIBEDBY, describedBy.join(\" \"));\n\t that.popup.element.attr(\"id\", ariaId + ARIAIDSUFFIX);\n\t }\n\n\t },\n\n\t _removeDescribedBy: function(target) {\n\t var tooltipId = this.popup.element.attr(\"id\"),\n\t currentDescribedBy = target.attr(DESCRIBEDBY),\n\t arrayAttr, finalArray, finalDescribedbyAttr;\n\n\t if(!currentDescribedBy) {\n\t return;\n\t }\n\n\t arrayAttr = currentDescribedBy.split(\" \");\n\n\t if(arrayAttr && arrayAttr.length > 0) {\n\t finalArray = arrayAttr.filter(function (val) {\n\t return val !== tooltipId;\n\t });\n\t }\n\n\t if(finalArray && finalArray.length > 0) {\n\t finalDescribedbyAttr = finalArray.join(\" \");\n\t target.attr(DESCRIBEDBY, finalDescribedbyAttr);\n\t } else {\n\t target.removeAttr(DESCRIBEDBY);\n\t }\n\t },\n\n\t _openPopup: function() {\n\t if (!this.popup) {\n\t return;\n\t }\n\n\t this.popup._hovered = true;\n\t this.popup.open();\n\t }\n\t });\n\t kendo.ui.plugin(TooltipBase);\n\n\t var Tooltip = TooltipBase.extend({\n\t init: function(element, options) {\n\t var that = this,\n\t axis;\n\n\t TooltipBase.fn.init.call(that, element, options);\n\n\t axis = that.options.position.match(/left|right/) ? \"horizontal\" : \"vertical\";\n\n\t that.dimensions = DIMENSIONS[axis];\n\n\t that._documentKeyDownHandler = proxy(that._documentKeyDown, that);\n\n\t if (this._isShownOnMouseEnter() || this._isShownOnClick()) {\n\t that.element.on(\"mouseenter\" + NS, that.options.filter, proxy(that._mouseenter, that));\n\t }\n\n\t if (this.options.autoHide && this._isShownOnMouseEnter()) {\n\t that.element.on(\"mouseleave\" + NS, that.options.filter, proxy(that._mouseleave, that));\n\t }\n\n\t if (this.options.autoHide && this._isShownOnFocus()) {\n\t that.element.on(\"blur\" + NS, that.options.filter, proxy(that._blur, that));\n\t }\n\n\t if (kendo.support.touch) {\n\t that.element.on(kendo.support.mousedown + NS, that.options.filter, proxy(that._mouseenter, that));\n\t }\n\t },\n\n\t options: {\n\t name: \"Tooltip\",\n\t filter: \"\",\n\t content: DEFAULTCONTENT,\n\t showAfter: 100,\n\t callout: true,\n\t offset: 0,\n\t position: \"bottom\",\n\t showOn: \"mouseenter\",\n\t autoHide: true,\n\t width: null,\n\t height: null,\n\t animation: {\n\t open: {\n\t effects: \"fade:in\",\n\t duration: 0\n\t },\n\t close: {\n\t duration: 40,\n\t hide: true\n\t }\n\t }\n\t },\n\n\t events: [ SHOW, HIDE, CONTENTLOAD, ERROR, REQUESTSTART ],\n\n\t _mouseenter: function(e) {\n\t saveTitleAttributes($(e.currentTarget));\n\t },\n\n\t _saveTitle:function (target) {\n\t saveTitleAttributes(target);\n\t },\n\n\t _appendContent: function(target) {\n\t var that = this,\n\t contentOptions = that.options.content,\n\t element = that.content,\n\t showIframe = that.options.iframe,\n\t iframe;\n\n\t if (isPlainObject(contentOptions) && contentOptions.url) {\n\t if (!(\"iframe\" in that.options)) {\n\t showIframe = !isLocalUrl(contentOptions.url);\n\t }\n\n\t that.trigger(REQUESTSTART, { options: contentOptions, target: target });\n\n\t if (!showIframe) {\n\t element.empty();\n\t kendo.ui.progress(element, true);\n\n\t // perform AJAX request\n\t that._ajaxRequest(contentOptions);\n\t } else {\n\t element.hide();\n\n\t iframe = element.find(\".\" + KCONTENTFRAME)[0];\n\n\t if (iframe) {\n\t // refresh existing iframe\n\t iframe.src = contentOptions.url || iframe.src;\n\t } else {\n\t element.html(IFRAMETEMPLATE({ content: contentOptions }));\n\t }\n\n\t element.find(\".\" + KCONTENTFRAME)\n\t .off(\"load\" + NS)\n\t .on(\"load\" + NS, function(){\n\t that.trigger(CONTENTLOAD);\n\t element.show();\n\t });\n\t }\n\t } else if (contentOptions && isFunction(contentOptions)) {\n\t contentOptions = contentOptions({ sender: this, target: target });\n\t element.html(contentOptions || \"\");\n\t } else {\n\t element.html(contentOptions);\n\t }\n\n\t that.angular(\"compile\", function(){\n\t return { elements: element };\n\t });\n\t },\n\n\t _ajaxRequest: function(options) {\n\t var that = this;\n\n\t that.contentLoading = true;\n\n\t jQuery.ajax(extend({\n\t type: \"GET\",\n\t dataType: \"html\",\n\t cache: false,\n\t error: function (xhr, status) {\n\t kendo.ui.progress(that.content, false);\n\n\t that.trigger(ERROR, { status: status, xhr: xhr });\n\t },\n\t success: proxy(function (data) {\n\t kendo.ui.progress(that.content, false);\n\n\t that.content.html(data);\n\n\t that.contentLoading = false;\n\n\t that.trigger(CONTENTLOAD);\n\n\t that._openPopup();\n\t }, that)\n\t }, options));\n\t },\n\n\t _documentKeyDown: function(e) {\n\t if (e.keyCode === kendo.keys.ESC) {\n\t this.hide();\n\t }\n\t },\n\n\t refresh: function() {\n\t var that = this,\n\t popup = that.popup;\n\n\t if (popup && popup.options.anchor) {\n\t that._appendContent(popup.options.anchor);\n\t }\n\t },\n\n\t _show: function(target) {\n\t var that = this,\n\t current = that.target();\n\n\t if (!that.popup) {\n\t that._initPopup();\n\t }\n\n\t if (current && current[0] != target[0]) {\n\t that.popup.close();\n\t that.popup.element.kendoStop(true, true);// animation can be too long to hide the element before it is shown again\n\t }\n\n\t if (!current || current[0] != target[0]) {\n\t that._appendContent(target);\n\t that.popup.options.anchor = target;\n\t }\n\n\t that.popup.one(\"deactivate\", function() {\n\t restoreTitle(target);\n\n\t that._removeDescribedBy(target);\n\n\t this.element\n\t .removeAttr(\"id\")\n\t .attr(\"aria-hidden\", true);\n\n\t DOCUMENT.off(\"keydown\" + NS, that._documentKeyDownHandler);\n\t });\n\n\t if (!that.contentLoading) {\n\t that._openPopup();\n\t }\n\t },\n\n\t _initPopup: function() {\n\t var that = this,\n\t options = that.options,\n\t wrapper = $(kendo.template(TEMPLATE)({\n\t callout: options.callout && options.position !== \"center\",\n\t dir: DIRCLASSES[options.position],\n\t autoHide: options.autoHide\n\t }));\n\n\t that.popup = new Popup(wrapper, extend({\n\t autosize:true,\n\t activate: function() {\n\t that._addDescribedBy();\n\n\t if (options.callout) {\n\t that._positionCallout();\n\t } else {\n\t that._offset(that.options.position, that.options.offset);\n\t }\n\n\t this.element.removeAttr(\"aria-hidden\");\n\n\t DOCUMENT.on(\"keydown\" + NS, that._documentKeyDownHandler);\n\n\t that.trigger(SHOW);\n\t that.popup._hovered = undefined;\n\t },\n\t close: function() {\n\t that.trigger(HIDE);\n\t },\n\t copyAnchorStyles: false,\n\t animation: options.animation\n\t }, POSITIONS[options.position]));\n\n\t wrapper.css({\n\t width: options.width,\n\t height: options.height\n\t });\n\n\t that.content = wrapper.find(\".k-tooltip-content\");\n\t that.arrow = wrapper.find(\".k-callout\");\n\n\t if (options.autoHide && this._isShownOnMouseEnter()) {\n\t wrapper.on(\"mouseleave\" + NS, proxy(that._mouseleave, that));\n\t } else {\n\t wrapper.on(\"click\" + NS, \".k-tooltip-button\", proxy(that._closeButtonClick, that));\n\t }\n\t },\n\n\t _closeButtonClick: function(e) {\n\t e.preventDefault();\n\t this.hide();\n\t },\n\n\t _mouseleave: function(e) {\n\t var that = this;\n\n\t clearTimeout(that.timeout);\n\n\t that.timeout = setTimeout(function() {\n\t that._closePopup(e.currentTarget);\n\t }, that.options.hideAfter);\n\t },\n\n\t _blur: function(e){\n\t this._closePopup(e.currentTarget);\n\t },\n\n\t _closePopup: function(target){\n\t if (this.popup && !this.popup._hovered) {\n\t this.popup.close();\n\t } else {\n\t restoreTitle($(target));\n\t }\n\t },\n\n\t destroy: function() {\n\t this.element.off(NS);\n\n\t DOCUMENT.off(\"keydown\" + NS, this._documentKeyDownHandler);\n\n\t TooltipBase.fn.destroy.call(this);\n\t }\n\t });\n\n\t kendo.ui.plugin(Tooltip);\n\t})(window.kendo.jQuery);\n\n\treturn window.kendo;\n\n\t}, __webpack_require__(3));\n\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1059)))\n\n/***/ })\n\n/******/ });","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n\n\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports = __webpack_require__(1473);\n\n\n/***/ }),\n\n/***/ 3:\n/***/ (function(module, exports) {\n\n\tmodule.exports = function() { throw new Error(\"define cannot be used indirect\"); };\r\n\n\n/***/ }),\n\n/***/ 1050:\n/***/ (function(module, exports) {\n\n\tmodule.exports = require(\"./kendo.core\");\n\n/***/ }),\n\n/***/ 1104:\n/***/ (function(module, exports) {\n\n\tmodule.exports = require(\"./kendo.userevents\");\n\n/***/ }),\n\n/***/ 1473:\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function(f, define){\r\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [ __webpack_require__(1050), __webpack_require__(1104) ], __WEBPACK_AMD_DEFINE_FACTORY__ = (f), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\r\n\t})(function(){\r\n\r\n\tvar __meta__ = { // jshint ignore:line\r\n\t id: \"touch\",\r\n\t name: \"Touch\",\r\n\t category: \"mobile\",\r\n\t description: \"The kendo Touch widget provides a cross-platform compatible API for handling user-initiated touch events, multi-touch gestures and event sequences (drag, swipe, etc.). \",\r\n\t depends: [ \"core\", \"userevents\" ]\r\n\t};\r\n\r\n\t(function($, undefined) {\r\n\t var kendo = window.kendo,\r\n\t Widget = kendo.ui.Widget,\r\n\t proxy = $.proxy,\r\n\t abs = Math.abs,\r\n\t MAX_DOUBLE_TAP_DISTANCE = 20;\r\n\r\n\t var Touch = Widget.extend({\r\n\t init: function(element, options) {\r\n\t var that = this;\r\n\r\n\t Widget.fn.init.call(that, element, options);\r\n\t options = that.options;\r\n\r\n\t element = that.element;\r\n\t that.wrapper = element;\r\n\r\n\t function eventProxy(name) {\r\n\t return function(e) {\r\n\t that._triggerTouch(name, e);\r\n\t };\r\n\t }\r\n\r\n\t function gestureEventProxy(name) {\r\n\t return function(e) {\r\n\t that.trigger(name, { touches: e.touches, distance: e.distance, center: e.center, event: e.event });\r\n\t };\r\n\t }\r\n\r\n\t that.events = new kendo.UserEvents(element, {\r\n\t filter: options.filter,\r\n\t surface: options.surface,\r\n\t minHold: options.minHold,\r\n\t multiTouch: options.multiTouch,\r\n\t allowSelection: true,\r\n\t fastTap: options.fastTap,\r\n\t press: eventProxy(\"touchstart\"),\r\n\t hold: eventProxy(\"hold\"),\r\n\t tap: proxy(that, \"_tap\"),\r\n\t gesturestart: gestureEventProxy(\"gesturestart\"),\r\n\t gesturechange: gestureEventProxy(\"gesturechange\"),\r\n\t gestureend: gestureEventProxy(\"gestureend\")\r\n\t });\r\n\r\n\t if (options.enableSwipe) {\r\n\t that.events.bind(\"start\", proxy(that, \"_swipestart\"));\r\n\t that.events.bind(\"move\", proxy(that, \"_swipemove\"));\r\n\t } else {\r\n\t that.events.bind(\"start\", proxy(that, \"_dragstart\"));\r\n\t that.events.bind(\"move\", eventProxy(\"drag\"));\r\n\t that.events.bind(\"end\", eventProxy(\"dragend\"));\r\n\t }\r\n\r\n\t kendo.notify(that);\r\n\t },\r\n\r\n\t events: [\r\n\t \"touchstart\",\r\n\t \"dragstart\",\r\n\t \"drag\",\r\n\t \"dragend\",\r\n\t \"tap\",\r\n\t \"doubletap\",\r\n\t \"hold\",\r\n\t \"swipe\",\r\n\t \"gesturestart\",\r\n\t \"gesturechange\",\r\n\t \"gestureend\"\r\n\t ],\r\n\r\n\t options: {\r\n\t name: \"Touch\",\r\n\t surface: null,\r\n\t global: false,\r\n\t fastTap: false,\r\n\t filter: null,\r\n\t multiTouch: false,\r\n\t enableSwipe: false,\r\n\t minXDelta: 30,\r\n\t maxYDelta: 20,\r\n\t maxDuration: 1000,\r\n\t minHold: 800,\r\n\t doubleTapTimeout: 800\r\n\t },\r\n\r\n\t cancel: function() {\r\n\t this.events.cancel();\r\n\t },\r\n\r\n\t destroy: function() {\r\n\t Widget.fn.destroy.call(this);\r\n\r\n\t this.events.destroy();\r\n\t },\r\n\r\n\t _triggerTouch: function(type, e) {\r\n\t if (this.trigger(type, { touch: e.touch, event: e.event })) {\r\n\t e.preventDefault();\r\n\t }\r\n\t },\r\n\r\n\t _tap: function(e) {\r\n\t var that = this,\r\n\t lastTap = that.lastTap,\r\n\t touch = e.touch;\r\n\r\n\t if (lastTap &&\r\n\t (touch.endTime - lastTap.endTime < that.options.doubleTapTimeout) &&\r\n\t kendo.touchDelta(touch, lastTap).distance < MAX_DOUBLE_TAP_DISTANCE\r\n\t ) {\r\n\r\n\t that._triggerTouch(\"doubletap\", e);\r\n\t that.lastTap = null;\r\n\t } else {\r\n\t that._triggerTouch(\"tap\", e);\r\n\t that.lastTap = touch;\r\n\t }\r\n\t },\r\n\r\n\t _dragstart: function(e) {\r\n\t this._triggerTouch(\"dragstart\", e);\r\n\t },\r\n\r\n\t _swipestart: function(e) {\r\n\t if (abs(e.x.velocity) * 2 >= abs(e.y.velocity)) {\r\n\t e.sender.capture();\r\n\t }\r\n\t },\r\n\r\n\t _swipemove: function(e) {\r\n\t var that = this,\r\n\t options = that.options,\r\n\t touch = e.touch,\r\n\t duration = e.event.timeStamp - touch.startTime,\r\n\t direction = touch.x.initialDelta > 0 ? \"right\" : \"left\";\r\n\r\n\t if (\r\n\t abs(touch.x.initialDelta) >= options.minXDelta &&\r\n\t abs(touch.y.initialDelta) < options.maxYDelta &&\r\n\t duration < options.maxDuration\r\n\t )\r\n\t {\r\n\t that.trigger(\"swipe\", {\r\n\t direction: direction,\r\n\t touch: e.touch\r\n\t });\r\n\r\n\t touch.cancel();\r\n\t }\r\n\t }\r\n\t });\r\n\r\n\t kendo.ui.plugin(Touch);\r\n\t})(window.kendo.jQuery);\r\n\r\n\treturn window.kendo;\r\n\r\n\t}, __webpack_require__(3));\r\n\n\n/***/ })\n\n/******/ });"],"sourceRoot":""}