{"version":3,"file":"kendo.multicolumncombobox.min.js","names":["global","factory","exports","module","require","define","amd","globalThis","self","kendomulticolumncombobox","js","this","$","undefined$1","kendo","window","ui","ComboBox","Select","percentageUnitsRegex","MultiColumnComboBox","extend","init","element","options","fn","call","list","parent","addClass","_allColumnsWidthsAreSet","width","_calculateDropDownWidth","dropDownWidth","name","ns","columns","filterFields","setOptions","_popup","popup","removeClass","length","i","currentWidth","isNaN","parseInt","test","totalWidth","support","scrollbar","_wrapper","wrapper","plugin","cssProperties","registerPrefix","registerValues","prop","values","roundedValues","concat","jQuery"],"sources":["kendo.multicolumncombobox.js"],"mappings":"CAAA,SAAWA,EAAQC,GACI,iBAAZC,SAA0C,oBAAXC,OAAyBA,OAAOD,QAAUD,EAAQG,QAAQ,sBAC9E,mBAAXC,QAAyBA,OAAOC,IAAMD,OAAO,CAAC,sBAAuBJ,KAC3ED,EAA+B,oBAAfO,WAA6BA,WAAaP,GAAUQ,MAAcC,yBAA2BT,EAAOS,0BAA4B,CAAC,EAAGT,EAAOS,yBAAyBC,GAAKT,IAC7L,CAJD,CAIGU,MAAM,WA6GL,OAzFA,SAAUC,EAAGC,GACT,IAAIC,EAAQC,OAAOD,MACfE,EAAKF,EAAME,GACXC,EAAWD,EAAGC,SACdC,EAASF,EAAGE,OACZC,EAAuB,kBAIvBC,EAAsBH,EAASI,OAAO,CACtCC,KAAM,SAASC,EAASC,GACpBP,EAASQ,GAAGH,KAAKI,KAAKf,KAAMY,EAASC,GACrCb,KAAKgB,KAAKC,SAASC,SALV,wBAOLlB,KAAKmB,wBAAwBnB,KAAKa,SAClCb,KAAKgB,KAAKC,SAASG,MAAMpB,KAAKqB,wBAAwBrB,KAAKa,UACpDb,KAAKa,QAAQS,eACpBtB,KAAKgB,KAAKC,SAASG,MAAMpB,KAAKa,QAAQS,cAE9C,EAEAT,QAAS,CACLU,KAAM,sBACNC,GAAI,4BACJC,QAAS,GACTH,cAAe,KACfI,aAAc,IAGlBC,WAAY,SAASd,GACjBP,EAASQ,GAAGa,WAAWZ,KAAKf,KAAMa,GAC9Bb,KAAKmB,wBAAwBN,GAC7Bb,KAAKgB,KAAKC,SAASG,MAAMpB,KAAKqB,wBAAwBR,IAC/Cb,KAAKa,QAAQS,eACpBtB,KAAKgB,KAAKC,SAASG,MAAMpB,KAAKa,QAAQS,cAE9C,EAEAM,OAAQ,WACJrB,EAAOO,GAAGc,OAAOb,KAAKf,MACtBA,KAAK6B,MAAMjB,QAAQkB,YAAY,mBACnC,EAEAX,wBAAyB,SAASN,GAC9B,IAAIY,EAAUZ,EAAQY,QAEtB,IAAKA,IAAYA,EAAQM,OACrB,OAAO,EAGX,IAAK,IAAIC,EAAI,EAAGA,EAAIP,EAAQM,OAAQC,IAAK,CACrC,IAAIC,EAAeR,EAAQO,GAAGZ,MAC9B,IAAKa,GAAgBC,MAAMC,SAASF,EAAc,MAAQzB,EAAqB4B,KAAKH,GAChF,OAAO,CAEf,CAEA,OAAO,CACX,EAEAZ,wBAAyB,SAASR,GAI9B,IAHA,IAAIY,EAAUZ,EAAQY,QAClBY,EAAalC,EAAMmC,QAAQC,YAEtBP,EAAI,EAAGA,EAAIP,EAAQM,OAAQC,IAAK,CACrC,IAAIC,EAAeR,EAAQO,GAAGZ,MAC9BiB,GAA0BF,SAASF,EAAc,GACrD,CAEA,OAAOI,CACX,EAEAG,SAAU,WACNlC,EAASQ,GAAG0B,SAASzB,KAAKf,MAC1BA,KAAKyC,QAAQvB,SApEJ,iBAqEb,IAGJb,EAAGqC,OAAOjC,GAEVN,EAAMwC,cAAcC,eAAe,sBAAuB,YAE1DzC,EAAMwC,cAAcE,eAAe,sBAAuB,CAAC,CACvDC,KAAM,UACNC,OAAQ5C,EAAMwC,cAAcK,cAAcC,OAAO,CAAC,CAAC,OAAQ,YAElE,CAtFD,CAsFG7C,OAAOD,MAAM+C,QACF/C,KAIjB","sourcesContent":["(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('kendo.combobox.js')) :\n typeof define === 'function' && define.amd ? define(['kendo.combobox'], factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, (global.kendomulticolumncombobox = global.kendomulticolumncombobox || {}, global.kendomulticolumncombobox.js = factory()));\n})(this, (function () {\n var __meta__ = {\n id: \"multicolumncombobox\",\n name: \"MultiColumnComboBox\",\n category: \"web\",\n description: \"The MultiColumnComboBox widget allows the selection from pre-defined values or entering a new value where the list popup is rendered in table layout.\",\n depends: [ \"combobox\" ],\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 ui = kendo.ui,\n ComboBox = ui.ComboBox,\n Select = ui.Select,\n percentageUnitsRegex = /^\\d+(\\.\\d+)?%$/i,\n MCCOMBOBOX = \"k-dropdowngrid\",\n POPUPCLASS = \"k-dropdowngrid-popup\";\n\n var MultiColumnComboBox = ComboBox.extend({\n init: function(element, options) {\n ComboBox.fn.init.call(this, element, options);\n this.list.parent().addClass(POPUPCLASS);\n\n if (this._allColumnsWidthsAreSet(this.options)) {\n this.list.parent().width(this._calculateDropDownWidth(this.options));\n } else if (this.options.dropDownWidth) {\n this.list.parent().width(this.options.dropDownWidth);\n }\n },\n\n options: {\n name: \"MultiColumnComboBox\",\n ns: \".kendoMultiColumnComboBox\",\n columns: [],\n dropDownWidth: null,\n filterFields: []\n },\n\n setOptions: function(options) {\n ComboBox.fn.setOptions.call(this, options);\n if (this._allColumnsWidthsAreSet(options)) {\n this.list.parent().width(this._calculateDropDownWidth(options));\n } else if (this.options.dropDownWidth) {\n this.list.parent().width(this.options.dropDownWidth);\n }\n },\n\n _popup: function() {\n Select.fn._popup.call(this);\n this.popup.element.removeClass(\"k-list-container\");\n },\n\n _allColumnsWidthsAreSet: function(options) {\n var columns = options.columns;\n\n if (!columns || !columns.length) {\n return false;\n }\n\n for (var i = 0; i < columns.length; i++) {\n var currentWidth = columns[i].width;\n if (!currentWidth || isNaN(parseInt(currentWidth, 10)) || percentageUnitsRegex.test(currentWidth)) {\n return false;\n }\n }\n\n return true;\n },\n\n _calculateDropDownWidth: function(options) {\n var columns = options.columns;\n var totalWidth = kendo.support.scrollbar();\n\n for (var i = 0; i < columns.length; i++) {\n var currentWidth = columns[i].width;\n totalWidth = totalWidth + parseInt(currentWidth, 10);\n }\n\n return totalWidth;\n },\n\n _wrapper: function() {\n ComboBox.fn._wrapper.call(this);\n this.wrapper.addClass(MCCOMBOBOX);\n }\n });\n\n ui.plugin(MultiColumnComboBox);\n\n kendo.cssProperties.registerPrefix(\"MultiColumnComboBox\", \"k-input-\");\n\n kendo.cssProperties.registerValues(\"MultiColumnComboBox\", [{\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"]}