{"version":3,"file":"kendo.autocomplete.min.js","names":["global","factory","exports","module","require","define","amd","globalThis","self","kendoautocomplete","js","this","$","undefined$1","kendo","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","indexOfWordAtCaret","caretIdx","text","separator","substring","split","length","AutoComplete","extend","init","element","options","wrapper","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","notify","_toggleCloseVisibility","_applyCssClasses","label","_label","_aria","name","enabled","suggest","template","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","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","_loading","setTimeout","_hideClear","show","toggleClass","document","RegExp","candidate","insertAfter","currentTarget","preventShow","_showClear","DOMelement","parent","wrap","style","cssText","css","width","_focused","plugin","cssProperties","registerPrefix","registerValues","values","roundedValues","concat","jQuery"],"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 __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 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 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 _resetFocusItem: function() {\n var index = this.options.highlightFirst ? 0 : -1;\n\n if (this.options.virtual) {\n this.listView.scrollTo(0);\n }\n\n this.listView.focus(index);\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\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"]}