{"version":3,"file":"kendo.autocomplete.min.js","names":["global","factory","exports","module","require","define","amd","globalThis","self","kendoautocomplete","js","this","$","kendo","jQuery","addInputPrefixSuffixContainers","ref","prefixContainer","suffixContainer","widget","wrapper","options","prefixInsertBefore","suffixInsertAfter","prefix","prefixOptions","suffix","suffixOptions","hasPrefixContent","template","icon","hasSuffixContent","layoutFlow","containerOrientation","INPUT_SEPARATOR","children","insertBefore","prependTo","html","renderIcon","separator","insertAfter","appendTo","_prefixContainer","_suffixContainer","undefined$1","window","encode","htmlEncode","support","caret","activeElement","_activeElement","placeholderSupported","placeholder","ui","List","keys","DataSource","data","ARIA_DISABLED","ARIA_READONLY","CHANGE","DISABLED","READONLY","FOCUSED","HIDDENCLASS","STATEDISABLED","ns","HOVEREVENTS","indexOfWordAtCaret","caretIdx","text","substring","split","length","AutoComplete","extend","init","element","that","Array","isArray","dataSource","fn","call","attr","_wrapper","_loader","_clearButton","_dataSource","_ignoreCase","type","_popup","addClass","on","_keydown","bind","_keypress","_search","_prev","_accessor","_oldText","_placeholder","ev","filterInput","relatedTarget","_change","close","removeClass","autocomplete","role","_clear","_clearValue","_enable","_old","_initList","parents","is","enable","listView","e","preventDefault","_resetFocusItemHandler","_resetFocusItem","_inputValuesContainer","_loading","notify","_toggleCloseVisibility","_applyCssClasses","label","_label","_aria","name","enabled","suggest","groupTemplate","fixedGroupTemplate","dataTextField","minLength","enforceMinLength","delay","height","filter","ignoreCase","highlightFirst","animation","virtual","value","clearButton","autoWidth","popup","size","fillMode","rounded","_onActionSheetCreate","val","trigger","_onCloseButtonPressed","_refreshHandler","_unbindDataSource","_progressHandler","_showBusy","_errorHandler","_hideBusy","create","setDataSource","events","setOptions","listOptions","_listOptions","_accessors","skipUpdateOnBind","dataValueField","selectedItemChange","_editable","off","readonly","disable","_toggleHover","prop","current","focus","_deactivateItem","destroy","refresh","select","li","_select","search","word","_separator","accentFoldingFiltering","clearTimeout","_typingTimeout","wordAtCaret","_open","_mute","_filterSource","toLocaleLowerCase","toLowerCase","operator","field","one","_unifySeparators","idx","key","_last","words","wordIndex","selectionEnd","BACKSPACE","DELETE","view","inArray","ul","_text","indexOf","lastIndexOf","toString","push","join","_refreshFloatingLabel","_click","item","dataItem","dataItemByIndex","getElementIndex","_active","done","_blur","_clearText","noop","_highlightFirst","index","scrollTo","_listBound","action","flatView","groupsLength","_group","isActive","_renderFooter","_renderNoData","_toggleNoData","_toggleHeader","_resizePopup","position","_inputValue","_allowOpening","unbind","_touchScroller","reset","callback","_muted","_listChange","_selectValue","selectedDataItems","defaultSeparator","splice","replaceWordAtCaret","_defaultSeparator","_preselect","oldText","setValue","unifyType","valueUpdated","_typing","itemSelected","typing","className","keyCode","visible","DOWN","_move","open","ESC","altKey","UP","HOME","END","ENTER","TAB","PAGEDOWN","PAGEUP","_hovered","direction","scrollWith","screenHeight","_busy","setTimeout","_hideClear","show","toggleClass","document","RegExp","candidate","currentTarget","preventShow","_showClear","DOMelement","parent","wrap","style","cssText","css","width","_focused","plugin","cssProperties","registerPrefix","registerValues","values","roundedValues","concat"],"sources":["kendo.autocomplete.js"],"mappings":"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","sourcesContent":["(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('kendo.list.js'), require('kendo.mobile.scroller.js'), require('kendo.virtuallist.js')) :\n typeof define === 'function' && define.amd ? define(['kendo.list', 'kendo.mobile.scroller', 'kendo.virtuallist'], factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, (global.kendoautocomplete = global.kendoautocomplete || {}, global.kendoautocomplete.js = factory()));\n})(this, (function () {\n var $ = kendo.jQuery;\n\n function addInputPrefixSuffixContainers(ref) {\n var widget = ref.widget;\n var wrapper = ref.wrapper;\n var options = ref.options;\n var prefixInsertBefore = ref.prefixInsertBefore;\n var suffixInsertAfter = ref.suffixInsertAfter;\n\n var prefix = options.prefixOptions,\n suffix = options.suffixOptions,\n hasPrefixContent = prefix.template || prefix.icon,\n hasSuffixContent = suffix.template || suffix.icon,\n suffixInsertAfter = suffixInsertAfter || prefixInsertBefore,\n layoutFlow = options.layoutFlow,\n containerOrientation = layoutFlow ? (layoutFlow == \"vertical\" ? \"horizontal\" : \"vertical\") : \"horizontal\",\n separatorOrientation = layoutFlow == \"vertical\" ? \"horizontal\" : \"vertical\",\n INPUT_SEPARATOR = \"\",\n prefixContainer,\n suffixContainer;\n\n if (prefix && hasPrefixContent) {\n prefixContainer = wrapper.children(\".k-input-prefix\");\n\n if (!prefixContainer[0]) {\n prefixContainer = $((\"\"));\n if (prefixInsertBefore) {\n prefixContainer.insertBefore(prefixInsertBefore);\n } else {\n prefixContainer.prependTo(wrapper);\n }\n }\n\n if (prefix.icon) {\n prefixContainer.html(kendo.html.renderIcon({ icon: prefix.icon }));\n }\n\n if (prefix.template) {\n prefixContainer.html(kendo.template(prefix.template)({}));\n }\n\n if (prefix.separator) {\n $(INPUT_SEPARATOR).insertAfter(prefixContainer);\n }\n }\n\n if (suffix && hasSuffixContent) {\n suffixContainer = wrapper.children(\".k-input-suffix\");\n\n if (!suffixContainer[0]) {\n suffixContainer = $((\"\")).appendTo(wrapper);\n if (suffixInsertAfter) {\n suffixContainer.insertAfter(suffixInsertAfter);\n } else {\n suffixContainer.appendTo(wrapper);\n }\n }\n\n if (suffix.icon) {\n suffixContainer.html(kendo.html.renderIcon({ icon: suffix.icon }));\n }\n\n if (suffix.template) {\n suffixContainer.html(kendo.template(suffix.template)({}));\n }\n\n if (suffix.separator) {\n $(INPUT_SEPARATOR).insertBefore(suffixContainer);\n }\n }\n\n widget._prefixContainer = prefixContainer;\n widget._suffixContainer = suffixContainer;\n }\n\n var __meta__ = {\n id: \"autocomplete\",\n name: \"AutoComplete\",\n category: \"web\",\n description: \"The AutoComplete widget provides suggestions depending on the typed text.It also allows multiple value entries.\",\n depends: [ \"list\" ],\n features: [ {\n id: \"mobile-scroller\",\n name: \"Mobile scroller\",\n description: \"Support for kinetic scrolling in mobile device\",\n depends: [ \"mobile.scroller\" ]\n }, {\n id: \"virtualization\",\n name: \"VirtualList\",\n description: \"Support for virtualization\",\n depends: [ \"virtuallist\" ]\n } ]\n };\n\n (function($, undefined$1) {\n var kendo = window.kendo,\n encode = kendo.htmlEncode,\n support = kendo.support,\n caret = kendo.caret,\n activeElement = kendo._activeElement,\n placeholderSupported = support.placeholder,\n ui = kendo.ui,\n List = ui.List,\n keys = kendo.keys,\n DataSource = kendo.data.DataSource,\n ARIA_DISABLED = \"aria-disabled\",\n ARIA_READONLY = \"aria-readonly\",\n CHANGE = \"change\",\n DISABLED = \"disabled\",\n READONLY = \"readonly\",\n FOCUSED = \"k-focus\",\n SELECTED = \"k-selected\",\n HIDDENCLASS = \"k-hidden\",\n STATEDISABLED = \"k-disabled\",\n AUTOCOMPLETEVALUE = \"off\",\n HOVER = \"k-hover\",\n ns = \".kendoAutoComplete\",\n HOVEREVENTS = \"mouseenter\" + ns + \" mouseleave\" + ns;\n\n function indexOfWordAtCaret(caretIdx, text, separator) {\n return separator ? text.substring(0, caretIdx).split(separator).length - 1 : 0;\n }\n\n function wordAtCaret(caretIdx, text, separator) {\n return text.split(separator)[indexOfWordAtCaret(caretIdx, text, separator)];\n }\n\n function replaceWordAtCaret(caretIdx, text, word, separator, defaultSeparator) {\n var words = text.split(separator);\n\n words.splice(indexOfWordAtCaret(caretIdx, text, separator), 1, word);\n\n if (separator && words[words.length - 1] !== \"\") {\n words.push(\"\");\n }\n\n return words.join(defaultSeparator);\n }\n\n var AutoComplete = List.extend({\n init: function(element, options) {\n var that = this, wrapper, disabled;\n\n that.ns = ns;\n options = Array.isArray(options) ? { dataSource: options } : options;\n\n List.fn.init.call(that, element, options);\n\n element = that.element;\n options = that.options;\n\n options.placeholder = options.placeholder || element.attr(\"placeholder\");\n if (placeholderSupported) {\n element.attr(\"placeholder\", options.placeholder);\n }\n\n that._wrapper();\n that._loader();\n that._clearButton();\n\n that._dataSource();\n that._ignoreCase();\n\n element[0].type = \"text\";\n wrapper = that.wrapper;\n\n that._popup();\n\n element\n .addClass(\"k-input-inner\")\n .on(\"keydown\" + ns, that._keydown.bind(that))\n .on(\"keypress\" + ns, that._keypress.bind(that))\n .on(\"input\" + ns, that._search.bind(that))\n .on(\"paste\" + ns, that._search.bind(that))\n .on(\"focus\" + ns, function() {\n that._prev = that._accessor();\n that._oldText = that._prev;\n that._placeholder(false);\n wrapper.addClass(FOCUSED);\n })\n .on(\"focusout\" + ns, function(ev) {\n if (that.filterInput && ev.relatedTarget === that.filterInput[0]) {\n return;\n }\n\n that._change();\n that._placeholder();\n that.close();\n wrapper.removeClass(FOCUSED);\n })\n .attr({\n autocomplete: AUTOCOMPLETEVALUE,\n role: \"combobox\",\n \"aria-expanded\": false\n });\n\n that._clear.on(\"click\" + ns + \" touchend\" + ns, that._clearValue.bind(that));\n that._enable();\n\n that._old = that._accessor();\n\n that._placeholder();\n\n that._initList();\n\n disabled = $(that.element).parents(\"fieldset\").is(':disabled');\n\n if (disabled) {\n that.enable(false);\n }\n\n that.listView.bind(\"click\", function(e) { e.preventDefault(); });\n\n that._resetFocusItemHandler = that._resetFocusItem.bind(that);\n\n addInputPrefixSuffixContainers({ widget: that, wrapper: that.wrapper, options: that.options, prefixInsertBefore: that._inputValuesContainer, suffixInsertAfter: that._loading });\n\n kendo.notify(that);\n that._toggleCloseVisibility();\n that._applyCssClasses();\n\n if (options.label) {\n that._label();\n }\n\n that._aria();\n },\n\n options: {\n name: \"AutoComplete\",\n enabled: true,\n suggest: false,\n template: \"\",\n groupTemplate: function (data) { return encode(data); },\n fixedGroupTemplate: function (data) { return encode(data); },\n prefixOptions: {\n separator: true\n },\n suffixOptions: {\n separator: true\n },\n dataTextField: \"\",\n minLength: 1,\n enforceMinLength: false,\n delay: 200,\n height: 200,\n filter: \"startswith\",\n ignoreCase: true,\n highlightFirst: false,\n separator: null,\n placeholder: \"\",\n animation: {},\n virtual: false,\n value: null,\n clearButton: true,\n autoWidth: false,\n popup: null,\n size: \"medium\",\n fillMode: \"solid\",\n rounded: \"medium\",\n label: null\n },\n\n _onActionSheetCreate: function() {\n var that = this;\n\n if (that.filterInput) {\n that.filterInput\n .on(\"keydown\" + ns, that._keydown.bind(that))\n .on(\"keypress\" + ns, that._keypress.bind(that))\n .on(\"input\" + ns, that._search.bind(that))\n .on(\"paste\" + ns, that._search.bind(that))\n .attr({\n autocomplete: AUTOCOMPLETEVALUE,\n role: \"combobox\",\n \"aria-expanded\": false\n });\n\n that.popup.bind(\"activate\", function () {\n that.filterInput.val(that.element.val());\n that.filterInput.trigger(\"focus\");\n });\n\n that.popup.bind(\"deactivate\", function () {\n that.element.trigger(\"focus\");\n });\n }\n },\n\n _onCloseButtonPressed: function() {\n var that = this;\n\n if (that.filterInput && activeElement() === that.filterInput[0]) {\n that.element.val(that.filterInput.val());\n }\n },\n\n _dataSource: function() {\n var that = this;\n\n if (that.dataSource && that._refreshHandler) {\n that._unbindDataSource();\n } else {\n that._progressHandler = that._showBusy.bind(that);\n that._errorHandler = that._hideBusy.bind(that);\n }\n\n that.dataSource = DataSource.create(that.options.dataSource)\n .bind(\"progress\", that._progressHandler)\n .bind(\"error\", that._errorHandler);\n },\n\n setDataSource: function(dataSource) {\n this.options.dataSource = dataSource;\n this._dataSource();\n\n this.listView.setDataSource(this.dataSource);\n },\n\n events: [\n \"open\",\n \"close\",\n CHANGE,\n \"select\",\n \"filtering\",\n \"dataBinding\",\n \"dataBound\"\n ],\n\n setOptions: function(options) {\n var listOptions = this._listOptions(options);\n\n List.fn.setOptions.call(this, options);\n\n this.listView.setOptions(listOptions);\n this._accessors();\n this._aria();\n this._clearButton();\n },\n\n _listOptions: function(options) {\n var listOptions = List.fn._listOptions.call(this, $.extend(options, {\n skipUpdateOnBind: true\n }));\n\n listOptions.dataValueField = listOptions.dataTextField;\n listOptions.selectedItemChange = null;\n\n return listOptions;\n },\n\n _editable: function(options) {\n var that = this,\n element = that.element,\n wrapper = that.wrapper.off(ns),\n readonly = options.readonly,\n disable = options.disable;\n\n if (!readonly && !disable) {\n wrapper\n .removeClass(STATEDISABLED)\n .on(HOVEREVENTS, that._toggleHover);\n\n element.prop(DISABLED, false)\n .prop(READONLY, false)\n .attr(ARIA_DISABLED, false)\n .attr(ARIA_READONLY, false);\n } else {\n wrapper\n .addClass(disable ? STATEDISABLED : \"\")\n .removeClass(disable ? \"\" : STATEDISABLED);\n\n element.attr(DISABLED, disable)\n .attr(READONLY, readonly)\n .attr(ARIA_DISABLED, disable)\n .attr(ARIA_READONLY, readonly);\n }\n\n that._toggleCloseVisibility();\n },\n\n close: function() {\n var that = this;\n var current = that.listView.focus();\n\n if (current) {\n current.removeClass(SELECTED);\n }\n\n that.popup.close();\n that._deactivateItem();\n },\n\n destroy: function() {\n var that = this;\n\n that.element.off(ns);\n that._clear.off(ns);\n that.wrapper.off(ns);\n\n if (that.filterInput) {\n that.filterInput.off(ns);\n }\n\n List.fn.destroy.call(that);\n },\n\n refresh: function() {\n this.listView.refresh();\n },\n\n select: function(li) {\n this._select(li);\n },\n\n search: function(word) {\n var that = this,\n options = that.options,\n ignoreCase = options.ignoreCase,\n separator = that._separator(),\n length,\n accentFoldingFiltering = that.dataSource.options.accentFoldingFiltering,\n element = that.filterInput && activeElement() === that.filterInput[0] ? that.filterInput : that.element;\n\n word = word || that._accessor();\n\n clearTimeout(that._typingTimeout);\n\n if (separator) {\n word = wordAtCaret(caret(element)[0], word, separator);\n }\n\n length = word.length;\n\n if ((!options.enforceMinLength && !length) || length >= options.minLength) {\n that._open = true;\n\n that._mute(function() {\n this.listView.value([]);\n });\n\n that._filterSource({\n value: ignoreCase ? (accentFoldingFiltering ? word.toLocaleLowerCase(accentFoldingFiltering) : word.toLowerCase()) : word,\n operator: options.filter,\n field: options.dataTextField,\n ignoreCase: ignoreCase\n });\n\n that.one(\"close\", that._unifySeparators.bind(that));\n }\n that._toggleCloseVisibility();\n },\n\n suggest: function(word) {\n var that = this,\n key = that._last,\n value = that._accessor(),\n element = that.element[0],\n caretIdx = caret(element)[0],\n separator = that._separator(),\n words = value.split(separator),\n wordIndex = indexOfWordAtCaret(caretIdx, value, separator),\n selectionEnd = caretIdx,\n idx,\n accentFoldingFiltering = that.dataSource.options.accentFoldingFiltering;\n\n if (key == keys.BACKSPACE || key == keys.DELETE) {\n that._last = undefined$1;\n return;\n }\n\n word = word || \"\";\n\n if (typeof word !== \"string\") {\n if (word[0]) {\n word = that.dataSource.view()[List.inArray(word[0], that.ul[0])];\n }\n\n word = word ? that._text(word) : \"\";\n }\n\n if (caretIdx <= 0) {\n caretIdx = (accentFoldingFiltering ? value.toLocaleLowerCase(accentFoldingFiltering) : value.toLowerCase()).indexOf(accentFoldingFiltering ? word.toLocaleLowerCase(accentFoldingFiltering) : word.toLowerCase()) + 1;\n }\n\n idx = value.substring(0, caretIdx).lastIndexOf(separator);\n idx = idx > -1 ? caretIdx - (idx + separator.length) : caretIdx;\n value = words[wordIndex].substring(0, idx);\n\n if (word) {\n word = word.toString();\n idx = (accentFoldingFiltering ? word.toLocaleLowerCase(accentFoldingFiltering) : word.toLowerCase()).indexOf(accentFoldingFiltering ? value.toLocaleLowerCase(accentFoldingFiltering) : value.toLowerCase());\n if (idx > -1) {\n word = word.substring(idx + value.length);\n\n selectionEnd = caretIdx + word.length;\n\n value += word;\n }\n\n if (separator && words[words.length - 1] !== \"\") {\n words.push(\"\");\n }\n\n }\n\n words[wordIndex] = value;\n\n that._accessor(words.join(separator || \"\"));\n\n if (element === activeElement()) {\n caret(element, caretIdx, selectionEnd);\n }\n },\n\n value: function(value) {\n if (value !== undefined$1) {\n this.listView.value(value);\n\n this._accessor(value);\n this._old = this._accessor();\n this._oldText = this._accessor();\n } else {\n return this._accessor();\n }\n this._toggleCloseVisibility();\n this._refreshFloatingLabel();\n },\n\n _click: function(e) {\n var item = e.item;\n var that = this;\n var element = that.element;\n var dataItem = that.listView.dataItemByIndex(that.listView.getElementIndex(item));\n\n e.preventDefault();\n\n that._active = true;\n\n if (that.trigger(\"select\", { dataItem: dataItem, item: item })) {\n that.close();\n return;\n }\n that._oldText = element.val();\n that._select(item).done(function() {\n that._blur();\n\n caret(element, element.val().length);\n });\n },\n\n _clearText: $.noop,\n\n _highlightFirst: function() {\n var index = this.options.highlightFirst ? 0 : -1;\n\n this.listView.focus(index);\n },\n\n _resetFocusItem: function() {\n if (this.options.virtual) {\n this.listView.scrollTo(0);\n }\n\n this._highlightFirst();\n },\n\n _listBound: function() {\n var that = this;\n var popup = that.popup;\n var options = that.options;\n var data = that.dataSource.flatView();\n var length = data.length;\n var groupsLength = that.dataSource._group ? that.dataSource._group.length : 0;\n var isActive = that.element[0] === activeElement() || that.filterInput && that.filterInput[0] === activeElement();\n var action;\n\n that._renderFooter();\n that._renderNoData();\n that._toggleNoData(!length);\n that._toggleHeader(!!groupsLength && !!length);\n\n that._resizePopup();\n\n popup.position();\n\n if (length) {\n if (options.suggest && isActive && that._inputValue()) {\n that.suggest(data[0]);\n }\n\n that._highlightFirst();\n }\n\n if (that._open) {\n that._open = false;\n action = that._allowOpening() ? \"open\" : \"close\";\n\n if (that._typingTimeout && !isActive) {\n action = \"close\";\n }\n\n if (length) {\n that._resetFocusItem();\n\n if (options.virtual) {\n that.popup\n .unbind(\"activate\", that._resetFocusItemHandler)\n .one(\"activate\", that._resetFocusItemHandler);\n }\n }\n\n popup[action]();\n that._typingTimeout = undefined$1;\n }\n\n if (that._touchScroller) {\n that._touchScroller.reset();\n }\n\n that._hideBusy();\n\n that.trigger(\"dataBound\");\n },\n\n _mute: function(callback) {\n this._muted = true;\n callback.call(this);\n this._muted = false;\n },\n\n _listChange: function() {\n var isActive = this._active || this.element[0] === activeElement();\n\n if (isActive && !this._muted) {\n this._selectValue(this.listView.selectedDataItems()[0]);\n }\n },\n\n _selectValue: function(dataItem) {\n var separator = this._separator();\n var text = \"\";\n\n if (dataItem) {\n text = this._text(dataItem);\n }\n\n if (text === null) {\n text = \"\";\n }\n\n if (separator) {\n text = replaceWordAtCaret(caret(this.element)[0], this._accessor(), text, separator, this._defaultSeparator());\n }\n\n this._prev = text;\n this._accessor(text);\n this._placeholder();\n },\n\n _unifySeparators: function() {\n this._accessor(this.value().split(this._separator()).join(this._defaultSeparator()));\n return this;\n },\n\n _preselect: function(value, text) {\n this._inputValue(text);\n this._accessor(value);\n\n this._old = this.oldText = this._accessor();\n\n this.listView.setValue(value);\n this._placeholder();\n },\n\n _change: function() {\n var that = this;\n var value = that._unifySeparators().value();\n var trigger = value !== List.unifyType(that._old, typeof value);\n\n var valueUpdated = trigger && !that._typing;\n var itemSelected = that._oldText !== value;\n\n that._old = value;\n that._oldText = value;\n\n if (that.filterInput && activeElement() === that.filterInput[0]) {\n that.element.val(that.filterInput.val());\n }\n\n if (valueUpdated || itemSelected) {\n // trigger the DOM change event so any subscriber gets notified\n that.element.trigger(CHANGE);\n }\n\n if (trigger) {\n that.trigger(CHANGE);\n }\n\n that.typing = false;\n that._toggleCloseVisibility();\n },\n\n _accessor: function(value) {\n var that = this,\n element = that.filterInput && activeElement() === that.filterInput[0] ? that.filterInput[0] : that.element[0];\n\n if (value !== undefined$1) {\n element.value = value === null ? \"\" : value;\n that._placeholder();\n } else {\n value = element.value;\n\n if (element.className.indexOf(\"k-readonly\") > -1) {\n if (value === that.options.placeholder) {\n return \"\";\n } else {\n return value;\n }\n }\n\n return value;\n }\n },\n\n _keydown: function(e) {\n var that = this;\n var key = e.keyCode;\n var listView = that.listView;\n var visible = that.popup.visible();\n var current = listView.focus();\n\n that._last = key;\n\n if (key === keys.DOWN) {\n if (visible) {\n this._move(current ? \"focusNext\" : \"focusFirst\");\n } else if (that.value()) {\n that._filterSource({\n value: that.ignoreCase ? that.value().toLowerCase() : that.value(),\n operator: that.options.filter,\n field: that.options.dataTextField,\n ignoreCase: that.ignoreCase\n }).done(function() {\n if (that._allowOpening()) {\n that._resetFocusItem();\n that.popup.open();\n }\n });\n }\n e.preventDefault();\n } else if (key === keys.ESC ) {\n if (visible) {\n e.preventDefault();\n that.close();\n } else {\n that._clearValue();\n }\n } else if (e.altKey && key === keys.UP && visible) {\n e.preventDefault();\n that.close();\n } else if (key === keys.UP) {\n if (visible) {\n this._move(current ? \"focusPrev\" : \"focusLast\");\n }\n e.preventDefault();\n } else if (key === keys.HOME) {\n this._move(\"focusFirst\");\n } else if (key === keys.END) {\n this._move(\"focusLast\");\n } else if (key === keys.ENTER || key === keys.TAB) {\n\n if (key === keys.ENTER && visible) {\n e.preventDefault();\n }\n\n if (visible && current) {\n var dataItem = listView.dataItemByIndex(listView.getElementIndex(current));\n if (that.trigger(\"select\", { dataItem: dataItem, item: current })) {\n return;\n }\n\n this._select(current);\n }\n\n this._blur();\n } else if (that.popup.visible() && (key === keys.PAGEDOWN || key === keys.PAGEUP)) {\n e.preventDefault();\n\n var direction = key === keys.PAGEDOWN ? 1 : -1;\n listView.scrollWith(direction * listView.screenHeight());\n } else {\n // In some cases when the popup is opened resize is triggered which will cause it to close\n // Setting the below flag will prevent this from happening\n that.popup._hovered = true;\n that._search();\n }\n },\n\n _keypress: function() {\n this._oldText = this.element.val();\n this._typing = true;\n },\n\n _move: function(action) {\n this.listView[action]();\n\n if (this.options.suggest) {\n this.suggest(this.listView.focus());\n }\n },\n\n _hideBusy: function() {\n var that = this;\n clearTimeout(that._busy);\n that._loading.addClass(HIDDENCLASS);\n that.element.attr(\"aria-busy\", false);\n that._busy = null;\n that._toggleCloseVisibility();\n },\n\n _showBusy: function() {\n var that = this;\n\n if (that._busy) {\n return;\n }\n\n that._busy = setTimeout(function() {\n that.element.attr(\"aria-busy\", true);\n that._loading.removeClass(HIDDENCLASS);\n that._hideClear();\n }, 100);\n },\n\n _placeholder: function(show) {\n if (placeholderSupported) {\n return;\n }\n\n var that = this,\n element = that.element,\n placeholder = that.options.placeholder,\n value;\n\n if (placeholder) {\n value = element.val();\n\n if (show === undefined$1) {\n show = !value;\n }\n\n if (!show) {\n if (value !== placeholder) {\n placeholder = value;\n } else {\n placeholder = \"\";\n }\n }\n\n if (value === that._old && !show) {\n return;\n }\n\n element.toggleClass(\"k-readonly\", show)\n .val(placeholder);\n\n if (!placeholder && element[0] === document.activeElement) {\n caret(element[0], 0, 0);\n }\n }\n },\n\n _separator: function() {\n var separator = this.options.separator;\n if (separator instanceof Array) {\n return new RegExp(separator.join(\"|\"), 'gi');\n }\n return separator;\n },\n\n _defaultSeparator: function() {\n var separator = this.options.separator;\n if (separator instanceof Array) {\n return separator[0];\n }\n return separator;\n },\n\n _inputValue: function() {\n return this.element.val();\n },\n\n _search: function() {\n var that = this;\n clearTimeout(that._typingTimeout);\n\n that._typingTimeout = setTimeout(function() {\n if (that._prev !== that._accessor()) {\n that._prev = that._accessor();\n that.search();\n }\n }, that.options.delay);\n },\n\n _select: function(candidate) {\n var that = this;\n that._active = true;\n\n return that.listView.select(candidate).done(function() {\n that._active = false;\n });\n },\n\n _loader: function() {\n this._loading = $('').insertAfter(this.element);\n },\n\n _clearButton: function() {\n List.fn._clearButton.call(this);\n\n if (this.options.clearButton) {\n this._clear.insertAfter(this.element);\n this.wrapper.addClass(\"k-autocomplete-clearable\");\n }\n },\n\n _toggleHover: function(e) {\n $(e.currentTarget).toggleClass(HOVER, e.type === \"mouseenter\");\n },\n\n _toggleCloseVisibility: function() {\n var preventShow = this.element.is(\":disabled\") || this.element.is(\"[readonly]\");\n\n if (this.value() && !preventShow) {\n this._showClear();\n } else {\n this._hideClear();\n }\n },\n\n _wrapper: function() {\n var that = this,\n element = that.element,\n DOMelement = element[0],\n wrapper;\n\n wrapper = element.parent();\n\n if (!wrapper.is(\"span.k-autocomplete\")) {\n wrapper = element.wrap(\"\").parent();\n }\n\n wrapper.attr(\"tabindex\", -1);\n\n wrapper[0].style.cssText = DOMelement.style.cssText;\n element.css({\n width: \"\",\n height: DOMelement.style.height\n });\n\n that._focused = that.element;\n that.wrapper = wrapper\n .addClass(\"k-autocomplete k-input\")\n .addClass(DOMelement.className)\n .removeClass('input-validation-error');\n },\n\n _clearValue: function() {\n List.fn._clearValue.call(this);\n this.element.focus();\n }\n });\n\n ui.plugin(AutoComplete);\n\n kendo.cssProperties.registerPrefix(\"AutoComplete\", \"k-input-\");\n\n kendo.cssProperties.registerValues(\"AutoComplete\", [{\n prop: \"rounded\",\n values: kendo.cssProperties.roundedValues.concat([['full', 'full']])\n }]);\n })(window.kendo.jQuery);\n var kendo$1 = kendo;\n\n return kendo$1;\n\n}));\n"]}