{"version":3,"sources":["kendo.webcomponents.js"],"names":["f","define","$","angular","undefined","parseOption","element","option","value","getAttribute","numberRegExp","test","parseFloat","jsonRegExp","jsonFormatRegExp","Function","parseOptions","options","result","Object","keys","concat","forEach","name","hasAttribute","kendo","toHyphens","cloneEvent","e","key","eventHandler","eventName","event","document","createEvent","initCustomEvent","this","dispatchEvent","defaultPrevented","preventDefault","expose","component","obj","idx","props","length","bind","widget","registerElement","prototype","create","HTMLElement","defineProperty","get","set","_wrapper","_element","newElement","instance","extend","wrapper","_destroy","createElement","TAGNAMES","parentNode","replaceChild","replaceWith","init","bindEvents","events","EVENT_PREFIX","window","call","attachedCallback","that","append","childNodes","attr","appendChild","getPrototypeOf","detachedCallback","destroy","webComponents","push","registered","support","customElements","version","major","injector","editor","numerictextbox","datepicker","datetimepicker","timepicker","autocomplete","colorpicker","maskedtextbox","dropdownlist","multiselect","upload","validator","button","mobilebutton","mobilebackbutton","mobiledetailbutton","listview","mobilelistview","treeview","menu","contextmenu","actionsheet","onWidgetRegistered","entry","elementName","prefix","toLowerCase","indexOf","jQuery","amd","a1","a2","a3"],"mappings":"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","file":"kendo.webcomponents.min.js","sourcesContent":["/*!\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n*/\n(function (f, define) {\n define('kendo.webcomponents', ['kendo.core'], f);\n}(function () {\n var __meta__ = {\n id: 'webcomponents',\n name: 'Web Components',\n category: 'framework',\n description: 'Adds Kendo UI custom elements for Web Components',\n depends: ['core']\n };\n (function ($, angular, undefined) {\n if (!kendo.support.customElements || kendo.webComponents.length) {\n return;\n }\n if (angular && (angular.version.major == 1 || angular.injector)) {\n return;\n }\n var TAGNAMES = {\n editor: 'textarea',\n numerictextbox: 'input',\n datepicker: 'input',\n datetimepicker: 'input',\n timepicker: 'input',\n autocomplete: 'input',\n colorpicker: 'input',\n maskedtextbox: 'input',\n dropdownlist: 'select',\n multiselect: 'select',\n upload: 'input',\n validator: 'form',\n button: 'button',\n mobilebutton: 'a',\n mobilebackbutton: 'a',\n mobiledetailbutton: 'a',\n listview: 'ul',\n mobilelistview: 'ul',\n treeview: 'ul',\n menu: 'ul',\n contextmenu: 'ul',\n actionsheet: 'ul'\n };\n var EVENT_PREFIX = 'on-';\n var registered = [];\n kendo.onWidgetRegistered(function (entry) {\n var elementName = entry.prefix + entry.widget.prototype.options.name.toLowerCase();\n if (registered.indexOf(elementName) === -1) {\n registered.push(elementName);\n registerElement(elementName, entry.widget);\n }\n });\n var jsonRegExp = /^\\s*(?:\\{(?:.|\\r\\n|\\n)*\\}|\\[(?:.|\\r\\n|\\n)*\\])\\s*$/;\n var jsonFormatRegExp = /^\\{(\\d+)(:[^\\}]+)?\\}|^\\[[A-Za-z_]*\\]$/;\n var numberRegExp = /^(\\+|-?)\\d+(\\.?)\\d*$/;\n function parseOption(element, option) {\n var value = element.getAttribute(option);\n if (value === null) {\n value = undefined;\n } else if (value === 'null') {\n value = null;\n } else if (value === 'true') {\n value = true;\n } else if (value === 'false') {\n value = false;\n } else if (numberRegExp.test(value)) {\n value = parseFloat(value);\n } else if (jsonRegExp.test(value) && !jsonFormatRegExp.test(value)) {\n value = new Function('return (' + value + ')')();\n }\n return value;\n }\n function parseOptions(element, options) {\n var result = {};\n Object.keys(options).concat('dataSource').forEach(function (name) {\n if (element.hasAttribute(kendo.toHyphens(name))) {\n result[name] = parseOption(element, kendo.toHyphens(name));\n }\n });\n return result;\n }\n function cloneEvent(e) {\n var result = {};\n Object.keys(e).forEach(function (key) {\n if (key[0] != '_') {\n result[key] = e[key];\n }\n });\n return result;\n }\n function eventHandler(eventName, e) {\n var event = document.createEvent('CustomEvent');\n event.initCustomEvent(eventName, false, true, cloneEvent(e));\n this.dispatchEvent(event);\n if (event.defaultPrevented) {\n e.preventDefault();\n }\n }\n function expose(component, obj) {\n var props = Object.keys(obj);\n for (var idx = 0; idx <= props.length; idx++) {\n if (typeof obj[props[idx]] === 'function') {\n if (!component[props[idx]]) {\n component[props[idx]] = obj[props[idx]].bind(component.widget);\n }\n } else {\n if (props[idx] === 'options') {\n continue;\n }\n component[props[idx]] = component[props[idx]] || obj[props[idx]];\n }\n }\n }\n function registerElement(name, widget) {\n var options = widget.prototype.options;\n var prototype = Object.create(HTMLElement.prototype);\n Object.defineProperty(prototype, 'options', {\n get: function () {\n return this.widget.options;\n },\n set: function (options) {\n var instance = this.widget;\n options = $.extend(true, {}, instance.options, options);\n var _wrapper = $(instance.wrapper)[0];\n var _element = $(instance.element)[0];\n instance._destroy();\n var newElement = document.createElement(TAGNAMES[name] || 'div');\n if (_wrapper && _element) {\n _wrapper.parentNode.replaceChild(_element, _wrapper);\n $(_element).replaceWith(newElement);\n }\n if (instance.value) {\n options.value = instance.value();\n }\n instance.init(newElement, options);\n this.bindEvents();\n }\n });\n prototype.bindEvents = function () {\n widget.prototype.events.forEach(function (eventName) {\n this.widget.bind(eventName, eventHandler.bind(this, eventName));\n if (this.hasAttribute(EVENT_PREFIX + eventName)) {\n this.bind(eventName, function (e) {\n window[this.getAttribute(EVENT_PREFIX + eventName)].call(this, e);\n }.bind(this));\n }\n }.bind(this));\n };\n prototype.attachedCallback = function () {\n var that = this;\n var element = document.createElement(TAGNAMES[name] || 'div');\n $(element).append(that.childNodes);\n $(element).attr('class', $(that).attr('class'));\n $(element).attr('style', $(that).attr('style'));\n that.appendChild(element);\n that.widget = new widget(element, parseOptions(that, options));\n var obj = that.widget;\n do {\n expose(that, obj);\n } while (obj = Object.getPrototypeOf(obj));\n this.bindEvents();\n };\n prototype.detachedCallback = function () {\n kendo.destroy(this.element);\n };\n kendo.webComponents.push('kendo-' + name);\n document.registerElement('kendo-' + name, { prototype: prototype });\n }\n }(window.kendo.jQuery, window.angular));\n return window.kendo;\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));"],"sourceRoot":"/source/"}