{"version":3,"file":"kendo.combobox.min.js","names":["global","factory","exports","module","require","define","amd","globalThis","self","kendocombobox","js","this","$","undefined$1","kendo","window","encode","htmlEncode","ui","html","List","Select","caret","support","placeholderSupported","placeholder","activeElement","_activeElement","keys","ns","nsFocusEvent","CLICK","MOUSEDOWN","DISABLED","READONLY","CHANGE","FOCUSED","STATEDISABLED","ARIA_DISABLED","ARIA_READONLY","STATE_FILTER","STATE_ACCEPT","STATE_REBIND","newLineRegEx","NON_PRINTABLE_KEYS","ComboBox","extend","init","element","options","text","that","Array","isArray","dataSource","fn","call","on","_focusHandler","bind","attr","_reset","_wrapper","_input","_clearButton","_tabindex","input","_popup","_dataSource","_ignoreCase","_enable","_attachFocusEvents","_oldIndex","selectedIndex","_initialIndex","index","requireValueMapper","_initList","_cascade","autoBind","_filterSource","_isSelect","children","_setText","_placeholder","parents","is","enable","notify","_toggleCloseVisibility","_applyCssClasses","label","_label","_aria","name","enabled","value","delay","dataTextField","dataValueField","minLength","enforceMinLength","height","highlightFirst","filter","suggest","cascadeFrom","cascadeFromField","cascadeFromParentField","cascadeOnCustomValue","ignoreCase","animation","virtual","template","groupTemplate","data","fixedGroupTemplate","clearButton","syncValueAndText","autoWidth","popup","size","fillMode","rounded","clearOnEscape","events","setOptions","listOptions","_listOptions","listView","_accessors","destroy","off","wrapper","clearTimeout","_pasteTimeout","filterInput","_arrow","_clear","_onActionSheetCreate","_keydown","_search","_inputPaste","role","val","trigger","_onCloseButtonPressed","textField","focus","_syncValueAndText","dataItem","_accessor","_blur","_oldText","_isValueChanged","unifyType","_old","_change","hasText","isCustom","_typing","_inputFocus","_inputFocusout","e","target","_arrowClick","_toggle","addClass","isClearButton","relatedTarget","closest","length","_userTriggered","removeClass","_typingTimeout","item","_focus","dataItemByIndex","getElementIndex","_valueBeforeCascade","setTimeout","search","_editable","disable","readonly","add","arrow","clear","_toggleHover","prop","preventDefault","_clearValue","open","state","_state","isFiltered","filters","reinitialized","ul","find","visible","bound","_open","refresh","_openPopup","_allowOpening","_hovered","_focusItem","_scrollToFocusedItem","scrollToIndex","one","_updateSelectionState","_buildOptions","custom","_customOption","_options","selected","_emptySearch","_custom","_updateSelection","initialIndex","hasInitialIndex","_fetch","select","selectedDataItems","_value","_text","_selectValue","_updateItemFocus","focusIndex","_listBound","isActive","flatView","skip","groupsLength","_group","isFirstPage","_presetValue","_renderFooter","_renderNoData","_toggleNoData","_toggleHeader","_resizePopup","position","close","toggle","_hideBusy","_listChange","_get","candidate","found","idx","total","_select","keepState","done","_dataValue","_setDomInputValue","_triggerCascade","caretStart","currentCaret","_prev","mobile","mobileOS","wp","android","setSelectionRange","preventShow","_showClear","_hideClear","word","caretIdx","key","_last","accentFoldingFiltering","BACKSPACE","DELETE","view","inArray","toLocaleLowerCase","toLowerCase","indexOf","toString","substring","loweredText","replace","_cascadeTriggered","_refreshFloatingLabel","_isFilterEnabled","_clearFilter","_fetchData","_selectedDataItems","_busy","_arrowIcon","_focused","_click","shouldTrigger","_inputValue","_searchByWord","firstChild","current","focusFirst","fetch","maxLength","arrowBtn","accessKey","SELECTOR","renderButton","icon","shape","append","style","cssText","title","parseInt","className","css","width","show","tabIndex","insertAfter","keyCode","isFkey","isNonPrintableKey","HOME","_firstItem","END","_lastItem","ENTER","TAB","_move","ctrlKey","ESC","toggleClass","parent","hide","wrap","_clearSelection","hasValue","_preselect","setValue","_clearText","plugin","cssProperties","registerPrefix","registerValues","values","roundedValues","concat","jQuery"],"sources":["kendo.combobox.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'), require('kendo.html.button.js')) :\n typeof define === 'function' && define.amd ? define(['kendo.list', 'kendo.mobile.scroller', 'kendo.virtuallist', 'kendo.html.button'], factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, (global.kendocombobox = global.kendocombobox || {}, global.kendocombobox.js = factory()));\n})(this, (function () {\n var __meta__ = {\n id: \"combobox\",\n name: \"ComboBox\",\n category: \"web\",\n description: \"The ComboBox widget allows the selection from pre-defined values or entering a new value.\",\n depends: [ \"list\", \"html.button\" ],\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 ui = kendo.ui,\n html = kendo.html,\n List = ui.List,\n Select = ui.Select,\n caret = kendo.caret,\n support = kendo.support,\n placeholderSupported = support.placeholder,\n activeElement = kendo._activeElement,\n keys = kendo.keys,\n ns = \".kendoComboBox\",\n nsFocusEvent = ns + \"FocusEvent\",\n CLICK = \"click\" + ns,\n MOUSEDOWN = \"mousedown\" + ns,\n DISABLED = \"disabled\",\n READONLY = \"readonly\",\n CHANGE = \"change\",\n LOADING = \"k-i-loading k-input-loading-icon\",\n FOCUSED = \"k-focus\",\n STATEDISABLED = \"k-disabled\",\n ARIA_DISABLED = \"aria-disabled\",\n ARIA_READONLY = \"aria-readonly\",\n AUTOCOMPLETEVALUE = \"off\",\n STATE_FILTER = \"filter\",\n STATE_ACCEPT = \"accept\",\n STATE_REBIND = \"rebind\",\n HOVEREVENTS = \"mouseenter\" + ns + \" mouseleave\" + ns,\n newLineRegEx = /(\\r\\n|\\n|\\r)/gm,\n NON_PRINTABLE_KEYS = [16,17,18,19,20,33,34,37,39,45,91,92,144,145];\n\n var ComboBox = Select.extend({\n init: function(element, options) {\n var that = this, text, disabled;\n\n that.ns = ns;\n\n options = Array.isArray(options) ? { dataSource: options } : options;\n\n Select.fn.init.call(that, element, options);\n\n options = that.options;\n element = that.element.on(\"focus\" + ns, that._focusHandler.bind(that));\n\n options.placeholder = options.placeholder || element.attr(\"placeholder\");\n\n that._reset();\n\n that._wrapper();\n\n that._input();\n\n that._clearButton();\n\n that._tabindex(that.input);\n\n that._popup();\n\n that._dataSource();\n that._ignoreCase();\n\n that._enable();\n\n that._attachFocusEvents();\n\n that._oldIndex = that.selectedIndex = -1;\n\n that._initialIndex = options.index;\n\n that.requireValueMapper(that.options);\n that._initList();\n\n that._cascade();\n\n if (options.autoBind) {\n that._filterSource();\n } else {\n text = options.text;\n\n if (!text && that._isSelect) {\n text = element.children(\":selected\").text();\n }\n\n if (text) {\n that._setText(text);\n }\n }\n\n if (!text) {\n that._placeholder();\n }\n\n disabled = $(that.element).parents(\"fieldset\").is(':disabled');\n\n if (disabled) {\n that.enable(false);\n }\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: \"ComboBox\",\n enabled: true,\n index: -1,\n text: null,\n value: null,\n autoBind: true,\n delay: 200,\n dataTextField: \"\",\n dataValueField: \"\",\n minLength: 1,\n enforceMinLength: false,\n height: 200,\n highlightFirst: true,\n filter: \"none\",\n placeholder: \"\",\n suggest: false,\n cascadeFrom: \"\",\n cascadeFromField: \"\",\n cascadeFromParentField: \"\",\n cascadeOnCustomValue: false,\n ignoreCase: true,\n animation: {},\n virtual: false,\n template: null,\n groupTemplate: function (data) { return encode(data); },\n fixedGroupTemplate: function (data) { return encode(data); },\n clearButton: true,\n syncValueAndText: true,\n autoWidth: false,\n popup: null,\n size: \"medium\",\n fillMode: \"solid\",\n rounded: \"medium\",\n label: null,\n clearOnEscape: true\n },\n\n events: [\n \"open\",\n \"close\",\n CHANGE,\n \"select\",\n \"filtering\",\n \"dataBinding\",\n \"dataBound\",\n \"cascade\",\n \"set\"\n ],\n\n setOptions: function(options) {\n var listOptions = this._listOptions(options);\n\n Select.fn.setOptions.call(this, options);\n\n this.listView.setOptions(listOptions);\n\n this._accessors();\n this._aria();\n this._clearButton();\n },\n\n destroy: function() {\n var that = this;\n\n that.input.off(ns);\n that.input.off(nsFocusEvent);\n that.element.off(ns);\n that.wrapper.off(ns);\n clearTimeout(that._pasteTimeout);\n\n if (that.filterInput) {\n that.filterInput.off(ns);\n }\n\n that._arrow.off(CLICK + \" \" + MOUSEDOWN);\n that._clear.off(CLICK + \" \" + MOUSEDOWN);\n\n Select.fn.destroy.call(that);\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(\"input\" + ns, that._search.bind(that))\n .on(\"paste\" + ns, that._inputPaste.bind(that))\n .attr({\n \"role\": \"combobox\",\n \"aria-expanded\": false\n });\n\n that.popup.bind(\"activate\", function () {\n that.filterInput.val(that.input.val());\n that.filterInput.trigger(\"focus\");\n });\n\n that.popup.bind(\"deactivate\", function () {\n that.input.trigger(\"focus\");\n });\n }\n },\n\n _onCloseButtonPressed: function() {\n var that = this;\n var textField = that.options.dataTextField || \"text\";\n var current = that.listView.focus();\n\n if (!current) {\n if (that._syncValueAndText() || that._isSelect) {\n if (!that.dataItem() || that.dataItem()[textField] !== that.input.val()) {\n var input = that.filterInput && activeElement() === that.filterInput[0] ? that.filterInput : that.input;\n that._accessor(input.val());\n }\n }\n\n if (that.options.highlightFirst) {\n that.listView.value(that.input.val());\n that._blur();\n } else {\n that._oldText = that.text();\n }\n }\n },\n\n _isValueChanged: function(value) {\n return value !== List.unifyType(this._old, typeof value) &&\n value !== List.unifyType(this._oldText, typeof value);\n },\n\n _change: function() {\n var that = this;\n var text = that.text();\n var hasText = text && text !== that._oldText && text !== that.options.placeholder;\n var index = that.selectedIndex;\n var isCustom = index === -1;\n\n if (that.filterInput && activeElement() === that.filterInput[0] && isCustom && hasText) {\n that.input.val(that.filterInput.val());\n }\n\n if (!that.options.syncValueAndText && !that.value() && isCustom && hasText) {\n that._old = \"\";\n that._oldIndex = index;\n that._oldText = text;\n\n if (!that._typing) {\n // trigger the DOM change event so any subscriber gets notified\n that.element.trigger(CHANGE);\n }\n\n that.trigger(CHANGE);\n that._typing = false;\n return;\n }\n\n Select.fn._change.call(that);\n\n that._oldText = that.text && that.text();\n\n that._toggleCloseVisibility();\n },\n\n _attachFocusEvents: function() {\n var that = this;\n that.input.on(\"focus\" + nsFocusEvent, that._inputFocus.bind(that))\n .on(\"focusout\" + nsFocusEvent, that._inputFocusout.bind(that));\n },\n\n _focusHandler: function(e) {\n if (e.target === this.element[0]) {\n this.input.trigger(\"focus\");\n }\n },\n\n _arrowClick: function() {\n this._toggle();\n },\n\n _inputFocus: function() {\n this.wrapper.addClass(FOCUSED);\n this._placeholder(false);\n },\n\n _inputFocusout: function(e) {\n var that = this;\n var value = that.value();\n var isClearButton = !$(e.relatedTarget).closest('.k-clear-value').length;\n\n if (that.filterInput && e.relatedTarget === that.filterInput[0]) {\n return;\n }\n\n that._userTriggered = true;\n that.wrapper.removeClass(FOCUSED);\n clearTimeout(that._typingTimeout);\n that._typingTimeout = null;\n\n if (isClearButton) {\n that.text(that.text());\n }\n\n var item = that._focus();\n var dataItem = this.listView.dataItemByIndex(this.listView.getElementIndex(item));\n\n if (value !== that.value() && that.trigger(\"select\", { dataItem: dataItem, item: item })) {\n that.value(value);\n return;\n }\n\n that._placeholder();\n that._valueBeforeCascade = that._old;\n\n if (isClearButton) {\n that._blur();\n\n that.element.trigger(\"blur\");\n }\n },\n\n _inputPaste: function() {\n var that = this;\n clearTimeout(that._pasteTimeout);\n that._pasteTimeout = null;\n\n that._pasteTimeout = setTimeout(function() {\n that.search();\n });\n },\n\n _editable: function(options) {\n var that = this,\n disable = options.disable,\n readonly = options.readonly,\n wrapper = that.wrapper.off(ns),\n input = that.element.add(that.input.off(ns)),\n arrow = that._arrow.off(CLICK + \" \" + MOUSEDOWN),\n clear = that._clear;\n\n if (!readonly && !disable) {\n wrapper\n .removeClass(STATEDISABLED)\n .on(HOVEREVENTS, that._toggleHover);\n\n input.prop(DISABLED, false)\n .prop(READONLY, false)\n .attr(ARIA_DISABLED, false)\n .attr(ARIA_READONLY, false);\n\n arrow.on(CLICK, that._arrowClick.bind(that))\n .on(MOUSEDOWN, function(e) { e.preventDefault(); });\n\n clear.on(CLICK + \" touchend\" + ns, that._clearValue.bind(that));\n\n that.input\n .on(\"keydown\" + ns, that._keydown.bind(that))\n .on(\"input\" + ns, that._search.bind(that))\n .on(\"paste\" + ns, that._inputPaste.bind(that));\n\n that.wrapper.on(CLICK + ns, that._focusHandler.bind(that));\n } else {\n wrapper\n .addClass(disable ? STATEDISABLED : \"\")\n .removeClass(disable ? \"\" : STATEDISABLED);\n\n input.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 open: function() {\n var that = this;\n var state = that._state;\n var isFiltered = that.dataSource.filter() ? that.dataSource.filter().filters.length > 0 : false;\n var reinitialized = !that.ul.find(that.listView.focus()).length;\n\n if (that.popup.visible()) {\n return;\n }\n\n if ((!that.listView.bound() && state !== STATE_FILTER) || state === STATE_ACCEPT) {\n that._open = true;\n that._state = STATE_REBIND;\n\n if ((that.options.minLength !== 1 && !isFiltered) || (isFiltered && that.value() && that.selectedIndex === -1 )) {\n that.refresh();\n that._openPopup();\n if (!this.options.virtual) {\n that.listView.bound(false);\n }\n } else {\n that._filterSource();\n }\n } else if (that._allowOpening()) {\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._openPopup();\n if (that.options.virtual) {\n that._focusItem();\n } else if (reinitialized && that.options.highlightFirst) {\n that.listView.focus(0);\n }\n }\n },\n\n _scrollToFocusedItem: function() {\n var listView = this.listView;\n\n listView.scrollToIndex(listView.getElementIndex(listView.focus()));\n },\n\n _openPopup: function() {\n this.popup.one(\"activate\", this._scrollToFocusedItem.bind(this));\n this.popup.open();\n },\n\n _updateSelectionState: function() {\n var that = this;\n var text = that.options.text;\n var value = that.options.value;\n\n if (that.listView.isFiltered()) {\n return;\n }\n\n if (that.selectedIndex === -1) {\n if (text === undefined$1 || text === null) {\n text = value;\n }\n\n that._accessor(value);\n that.input.val(text || that.input.val());\n that._placeholder();\n } else if (that._oldIndex === -1) {\n that._oldIndex = that.selectedIndex;\n }\n },\n\n _buildOptions: function(data) {\n var that = this;\n if (!that._isSelect) {\n return;\n }\n\n var custom = that._customOption;\n\n if (that._state === STATE_REBIND) {\n that._state = \"\";\n }\n\n that._customOption = undefined$1;\n that._options(data, \"\", that.value());\n\n if (custom && custom[0].selected && !that.listView._emptySearch) {\n that._custom(custom.val());\n }\n },\n\n _updateSelection: function() {\n var that = this;\n var listView = that.listView;\n var initialIndex = that._initialIndex;\n var hasInitialIndex = initialIndex !== null && initialIndex > -1;\n var filtered = that._state === STATE_FILTER;\n\n if (filtered) {\n $(listView.focus()).removeClass(\"k-selected\");\n return;\n }\n\n if (that._fetch) {\n return;\n }\n\n if (!listView.value().length) {\n if (hasInitialIndex) {\n that.select(initialIndex);\n } else if (that._accessor()) {\n listView.value(that._accessor());\n }\n }\n\n that._initialIndex = null;\n var dataItem = listView.selectedDataItems()[0];\n\n if (!dataItem) {\n return;\n }\n\n if (that._value(dataItem) !== that.value()) {\n that._custom(that._value(dataItem));\n } else if (that._value(dataItem) !== that.element[0].value) {\n that._accessor(that._value(dataItem));\n }\n\n if (that.text() && that.text() !== that._text(dataItem)) {\n that._selectValue(dataItem);\n }\n },\n\n _updateItemFocus: function() {\n var listView = this.listView;\n\n if (!this.options.highlightFirst) {\n listView.focus(-1);\n } else if (!listView.focus() && !listView.focusIndex()) {\n listView.focus(0);\n }\n },\n\n _listBound: function() {\n var that = this;\n var isActive = that.input[0] === activeElement() || that.filterInput && that.filterInput[0] === activeElement();\n\n var data = that.dataSource.flatView();\n var skip = that.listView.skip();\n var length = data.length;\n var groupsLength = that.dataSource._group ? that.dataSource._group.length : 0;\n var isFirstPage = skip === undefined$1 || skip === 0;\n\n that._presetValue = false;\n\n that._renderFooter();\n that._renderNoData();\n that._toggleNoData(!length);\n that._toggleHeader(!!groupsLength && !!length);\n\n that._resizePopup();\n\n that.popup.position();\n\n that._buildOptions(data);\n\n that._updateSelection();\n\n if (data.length && isFirstPage) {\n that._updateItemFocus();\n\n if (that.options.suggest && isActive && that.input.val()) {\n that.suggest(data[0]);\n }\n }\n\n if (that._open) {\n that._open = false;\n\n if (that._typingTimeout && !isActive) {\n that.popup.close();\n } else {\n that.toggle(that._allowOpening());\n }\n\n that._typingTimeout = null;\n }\n\n that._hideBusy();\n that.trigger(\"dataBound\");\n },\n\n _listChange: function() {\n this._selectValue(this.listView.selectedDataItems()[0]);\n\n if (this._presetValue) {\n this._oldIndex = this.selectedIndex;\n }\n },\n\n _get: function(candidate) {\n var data, found, idx;\n\n if (typeof candidate === \"function\") {\n data = this.dataSource.flatView();\n\n for (idx = 0; idx < data.length; idx++) {\n if (candidate(data[idx])) {\n candidate = idx;\n found = true;\n break;\n }\n }\n\n if (!found) {\n candidate = -1;\n }\n }\n\n if (!this.dataSource.total() && !candidate) {\n candidate = -1;\n }\n\n return candidate;\n },\n\n _select: function(candidate, keepState) {\n var that = this;\n\n candidate = that._get(candidate);\n\n if (candidate === -1) {\n that.input[0].value = \"\";\n that._accessor(\"\");\n }\n\n return that.listView.select(candidate).done(function() {\n if (!keepState && that._state === STATE_FILTER) {\n that._state = STATE_ACCEPT;\n }\n that._toggleCloseVisibility();\n });\n },\n\n _selectValue: function(dataItem) {\n var idx = this.listView.select();\n var value = \"\";\n var text = \"\";\n\n idx = idx[idx.length - 1];\n if (idx === undefined$1) {\n idx = -1;\n }\n\n this.selectedIndex = idx;\n\n if (this.listView.isFiltered() && idx !== -1) {\n this._valueBeforeCascade = this._old;\n }\n\n if (idx === -1 && !dataItem) {\n if (this.options.syncValueAndText) {\n if (this.options.dataTextField === this.options.dataValueField) {\n text = this._accessor();\n } else {\n text = this.input[0].value;\n }\n value = text;\n }\n else {\n text = this.text();\n }\n this.listView.focus(-1);\n } else {\n if (dataItem || dataItem === 0) {\n value = this._dataValue(dataItem);\n text = this._text(dataItem);\n }\n\n if (value === null) {\n value = \"\";\n }\n }\n\n this._setDomInputValue(text);\n this._accessor(value !== undefined$1 ? value : text, idx);\n\n this._placeholder();\n this._triggerCascade();\n },\n\n _setDomInputValue: function(text) {\n var that = this;\n var currentCaret = caret(this.input);\n var caretStart;\n\n if (currentCaret && currentCaret.length) {\n caretStart = currentCaret[0];\n }\n\n this._prev = this.input[0].value = text;\n\n if (caretStart && this.selectedIndex === -1) {\n var mobile = support.mobileOS;\n if (mobile.wp || mobile.android) {// without the timeout the caret is at the end of the input\n setTimeout(function() { that.input[0].setSelectionRange(caretStart, caretStart); }, 0);\n }\n else {\n this.input[0].setSelectionRange(caretStart, caretStart);\n }\n }\n },\n\n refresh: function() {\n this.listView.refresh();\n },\n\n _toggleCloseVisibility: function() {\n var preventShow = this.element.is(\":disabled\") || this.element.is(\"[readonly]\");\n\n if (this.text() && !preventShow) {\n this._showClear();\n } else {\n this._hideClear();\n }\n },\n\n suggest: function(word) {\n var that = this;\n var element = that.input[0];\n var value = that.text();\n var caretIdx = caret(element)[0];\n var key = that._last;\n var idx;\n var 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 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 value += word.substring(idx + value.length);\n }\n } else {\n value = value.substring(0, caretIdx);\n }\n\n if (value.length !== caretIdx || !word) {\n element.value = value;\n if (element === activeElement()) {\n caret(element, caretIdx, value.length);\n }\n }\n },\n\n text: function(text) {\n text = text === null ? \"\" : text;\n\n var that = this;\n var input = that.filterInput && that.filterInput[0] === activeElement() ? that.filterInput[0] : that.input[0];\n var ignoreCase = that.options.ignoreCase;\n var loweredText = text;\n var dataItem;\n var value;\n\n if (text === undefined$1) {\n return input.value;\n }\n\n if (that.options.autoBind === false && !that.listView.bound()) {\n that._setText(text);\n return;\n }\n\n dataItem = that.dataItem();\n\n if (dataItem && that._text(dataItem).replace && that._text(dataItem).replace(newLineRegEx,\"\") === text) {\n value = that._value(dataItem);\n\n if (value === List.unifyType(that._old, typeof value)) {\n that._triggerCascade();\n return;\n }\n }\n\n if (ignoreCase) {\n loweredText = loweredText.toLowerCase();\n }\n\n if (that.dataItem() && that._text(that.dataItem()) === text) {\n return;\n }\n\n that._select(function(data) {\n data = that._text(data);\n if (ignoreCase) {\n data = (data + \"\").toLowerCase();\n }\n\n return data === loweredText;\n }).done(function() {\n if (that.selectedIndex < 0) {\n input.value = text;\n\n if (that.options.syncValueAndText) {\n that._accessor(text);\n }\n\n that._cascadeTriggered = true;\n that._triggerCascade();\n that._refreshFloatingLabel();\n }\n\n that._prev = input.value;\n });\n\n that._toggleCloseVisibility();\n },\n\n toggle: function(toggle) {\n this._toggle(toggle, true);\n },\n\n value: function(value) {\n var that = this;\n var options = that.options;\n var listView = that.listView;\n\n if (value === undefined$1) {\n value = that._accessor() || that.listView.value()[0];\n return value === undefined$1 || value === null ? \"\" : value;\n }\n\n that.requireValueMapper(that.options, value);\n\n that.trigger(\"set\", { value: value });\n\n if (value === options.value && that.input.val() === options.text &&\n !that.options.cascadeFrom) {\n return;\n }\n\n that._accessor(value);\n\n if (that._isFilterEnabled() && listView.bound() && listView.isFiltered()) {\n that._clearFilter();\n } else {\n that._fetchData();\n }\n\n listView\n .value(value)\n .done(function() {\n if (that.selectedIndex === -1 && (!listView._selectedDataItems || !listView._selectedDataItems.length)) {\n that._accessor(value);\n that.input.val(value);\n that._placeholder(true);\n }\n\n if (that._userTriggered) {\n that._old = that._accessor();\n } else {\n that._old = that._valueBeforeCascade = that._accessor();\n }\n\n that._oldIndex = that.selectedIndex;\n\n that._prev = that._oldText = that.input.val();\n\n if (that._state === STATE_FILTER) {\n that._state = STATE_ACCEPT;\n }\n that._toggleCloseVisibility();\n\n that._refreshFloatingLabel();\n });\n },\n\n _hideBusy: function() {\n var that = this;\n clearTimeout(that._busy);\n that._arrowIcon.removeClass(LOADING);\n that._focused.attr(\"aria-busy\", false);\n that._busy = null;\n that._toggleCloseVisibility();\n },\n\n _click: function(e) {\n var that = this;\n var item = e.item;\n var dataItem = that.listView.dataItemByIndex(that.listView.getElementIndex(item));\n var shouldTrigger = true;\n e.preventDefault();\n\n if (dataItem) {\n shouldTrigger = that._value(dataItem) !== List.unifyType(that.value(), typeof that._value(dataItem));\n\n if (!shouldTrigger) {\n that.input.val(that._text(dataItem));\n }\n }\n\n if (shouldTrigger && that.trigger(\"select\", { dataItem: dataItem, item: item })) {\n that.close();\n return;\n }\n\n that._userTriggered = true;\n\n that._select(item).done(function() {\n that._blur();\n });\n },\n\n _syncValueAndText: function() {\n return this.options.syncValueAndText;\n },\n\n _inputValue: function() {\n return this.text();\n },\n\n _searchByWord: function(word) {\n var that = this;\n var options = that.options;\n var dataSource = that.dataSource;\n var ignoreCase = options.ignoreCase;\n var predicate = function(dataItem) {\n var text = that._text(dataItem);\n if (text !== undefined$1) {\n text = text + \"\";\n if (text !== \"\" && word === \"\") {\n return false;\n }\n\n if (ignoreCase) {\n text = text.toLowerCase();\n }\n\n return text.indexOf(word) === 0;\n }\n };\n\n if (ignoreCase) {\n word = word.toLowerCase();\n }\n\n if (!that.ul[0].firstChild) {\n dataSource.one(CHANGE, function() {\n if (dataSource.view()[0]) {\n that.search(word);\n }\n }).fetch();\n return;\n }\n\n this.listView.focus(this._get(predicate));\n\n var current = this.listView.focus();\n\n if (current) {\n if (options.suggest) {\n that.suggest(current);\n }\n\n this.open();\n }\n\n if (this.options.highlightFirst && !word) {\n this.listView.focusFirst();\n }\n },\n\n _input: function() {\n var that = this,\n element = that.element.removeClass(\"k-input-inner\")[0],\n accessKey = element.accessKey,\n wrapper = that.wrapper,\n SELECTOR = \"input.k-input-inner\",\n name = element.name || \"\",\n options = that.options,\n input,\n maxLength,\n arrowBtn;\n\n if (name) {\n name = 'name=\"' + name + '_input\" ';\n }\n\n input = wrapper.find(SELECTOR);\n\n if (!input[0]) {\n arrowBtn = html.renderButton('', {\n icon: \"caret-alt-down\",\n size: options.size,\n fillMode: options.fillMode,\n shape: \"none\",\n rounded: \"none\",\n });\n\n wrapper.append('')\n .append(arrowBtn)\n .append(that.element);\n\n input = wrapper.find(SELECTOR);\n }\n\n input[0].style.cssText = element.style.cssText;\n input[0].title = element.title;\n\n maxLength = parseInt(this.element.prop(\"maxlength\") || this.element.attr(\"maxlength\"), 10);\n if (maxLength > -1) {\n input[0].maxLength = maxLength;\n }\n\n input.addClass(element.className)\n .css({\n width: \"\",\n height: element.style.height,\n position: \"\"\n })\n .attr({\n \"role\": \"combobox\",\n \"aria-expanded\": false\n })\n .show();\n\n if (placeholderSupported) {\n input.attr(\"placeholder\", that.options.placeholder);\n }\n\n if (accessKey) {\n element.accessKey = \"\";\n input[0].accessKey = accessKey;\n }\n\n that._focused = that.input = input;\n that._arrow = wrapper.find(\".k-input-button\")\n .attr({\n \"role\": \"button\",\n \"tabIndex\": -1\n });\n that._arrowIcon = that._arrow.find(\".k-icon, .k-svg-icon\");\n },\n\n _clearButton: function() {\n List.fn._clearButton.call(this);\n\n if (this.options.clearButton) {\n this._clear.insertAfter(this.input);\n this.wrapper.addClass(\"k-combobox-clearable\");\n }\n },\n\n _keydown: function(e) {\n var that = this,\n key = e.keyCode,\n textField = that.options.dataTextField || \"text\",\n isFkey = key >= 112 && key <= 135,\n isNonPrintableKey = NON_PRINTABLE_KEYS.indexOf(key) > -1;\n\n that._last = key;\n\n clearTimeout(that._typingTimeout);\n that._typingTimeout = null;\n\n if (key === keys.HOME) {\n that._firstItem();\n } else if (key === keys.END) {\n that._lastItem();\n } else if (key === keys.ENTER || (key === keys.TAB && that.popup.visible())) {\n var current = that.listView.focus();\n var dataItem = that.dataItem();\n var shouldTrigger = true;\n\n if (!that.popup.visible() && (!dataItem || that.text() !== that._text(dataItem))) {\n current = null;\n }\n\n if (current) {\n if (that.popup.visible()) {\n e.preventDefault();\n }\n\n dataItem = that.listView.dataItemByIndex(that.listView.getElementIndex(current));\n\n if (dataItem) {\n shouldTrigger = that._value(dataItem) !== List.unifyType(that.value(), typeof that._value(dataItem));\n }\n\n if (shouldTrigger && that.trigger(\"select\", { dataItem: dataItem, item: current })) {\n return;\n }\n\n that._userTriggered = true;\n\n that._select(current).done(function() {\n that._blur();\n that._valueBeforeCascade = that._old = that.value();\n });\n } else {\n if (that._syncValueAndText() || that._isSelect) {\n if (!that.dataItem() || that.dataItem()[textField] !== that.input.val()) {\n var input = that.filterInput && activeElement() === that.filterInput[0] ? that.filterInput : that.input;\n that._accessor(input.val());\n }\n }\n\n if (that.options.highlightFirst) {\n that.listView.value(that.input.val());\n that._blur();\n } else {\n that._oldText = that.text();\n }\n }\n } else if (key != keys.TAB && !that._move(e) && !isNonPrintableKey && !isFkey && !e.ctrlKey) {\n that._search();\n } else if (that.options.clearOnEscape && key === keys.ESC && !that.popup.visible() && that.text()) {\n that._clearValue();\n }\n },\n\n _placeholder: function(show) {\n if (placeholderSupported) {\n return;\n }\n\n var that = this,\n input = that.input,\n placeholder = that.options.placeholder,\n value;\n\n if (placeholder) {\n value = that.value();\n\n if (show === undefined$1) {\n show = !value;\n }\n\n input.toggleClass(\"k-readonly\", show);\n\n if (!show) {\n if (!value) {\n placeholder = \"\";\n } else {\n return;\n }\n }\n\n input.val(placeholder);\n\n if (!placeholder && input[0] === activeElement()) {\n caret(input[0], 0, 0);\n }\n }\n },\n\n _search: function() {\n var that = this;\n\n clearTimeout(that._typingTimeout);\n\n that._typingTimeout = setTimeout(function() {\n var value = that.text();\n\n if (value !== \"\" && that._prev !== value) {\n that._prev = value;\n\n if (that.options.filter === \"none\" && that.options.virtual) {\n that.listView.select(-1);\n }\n\n that.search(value);\n\n that._toggleCloseVisibility();\n }\n else if (value === \"\" && that._prev !== \"\" && that._prev !== undefined$1) {\n that._clearValue();\n that._open = true;\n that._state = STATE_REBIND;\n }\n\n that._typingTimeout = null;\n }, that.options.delay);\n },\n\n _setText: function(text) {\n this.input.val(text);\n this._prev = text;\n },\n\n _wrapper: function() {\n var that = this,\n element = that.element,\n wrapper = element.parent();\n\n if (!wrapper.is(\"span.k-input\")) {\n wrapper = element.hide().wrap(\"\").parent();\n wrapper[0].style.cssText = element[0].style.cssText;\n }\n\n that.wrapper = wrapper.addClass(\"k-input k-combobox\")\n .addClass(element[0].className)\n .removeClass('input-validation-error')\n .css(\"display\", \"\");\n },\n\n _clearSelection: function(parent, isFiltered) {\n var that = this;\n var hasValue = parent.value();\n var custom = hasValue && parent.selectedIndex === -1;\n\n if (this.selectedIndex == -1 && this.value()) {\n return;\n }\n\n if (isFiltered || !hasValue || custom) {\n that.options.value = \"\";\n that.value(\"\");\n }\n },\n\n _preselect: function(value, text) {\n this.input.val(text);\n this._accessor(value);\n\n this._old = this._accessor();\n this._oldIndex = this.selectedIndex;\n\n this.listView.setValue(value);\n this._placeholder();\n\n this._initialIndex = null;\n this._presetValue = true;\n this._toggleCloseVisibility();\n },\n\n _clearText: function() {\n this._old = this.value();\n this.text(\"\");\n },\n\n _clearValue: function() {\n var that = this;\n var input = that.filterInput && that.filterInput[0] === activeElement() ? that.filterInput : that.input;\n\n Select.fn._clearValue.call(this);\n input.trigger(\"focus\");\n }\n });\n\n ui.plugin(ComboBox);\n\n kendo.cssProperties.registerPrefix(\"ComboBox\", \"k-input-\");\n\n kendo.cssProperties.registerValues(\"ComboBox\", [{\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"]}