{"version":3,"file":"kendo.button.min.js","names":["factory","define","amd","$","undefined$1","kendo","window","Widget","ui","html","keys","CLICK","MOUSEDOWN","support","mousedown","MOUSEUP","mouseup","NS","DISABLED","FOCUSEDSTATE","ACTIVESTATE","setDefaults","icon","iconClass","spriteCssClass","imageUrl","badge","Button","extend","init","element","options","that","this","fn","call","wrapper","renderButton","attr","enable","enabled","_tabindex","_badge","on","_click","bind","_focus","_blur","_keydown","_removeActive","_addActive","notify","destroy","off","events","name","size","shape","rounded","fillMode","themeColor","_isNativeButton","prop","toLowerCase","e","trigger","event","preventDefault","addClass","removeClass","setTimeout","keyCode","ENTER","SPACEBAR","toggleClass","err","badgeEelement","badgeOptions","constructor","Object","text","position","align","_classNames","appendTo","Badge","hasOwnProperty","defineProperty","get","defaults","button","cssProperties","registerPrefix","registerValues","values","fillModeValues","concat","roundedValues","plugin","jQuery"],"sources":["kendo.button.js"],"mappings":"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","sourcesContent":["(function (factory) {\n typeof define === 'function' && define.amd ? define(['kendo.core', 'kendo.badge', 'kendo.html.button'], factory) :\n factory();\n})((function () {\n var __meta__ = {\n id: \"button\",\n name: \"Button\",\n category: \"web\",\n description: \"The Button widget displays styled buttons.\",\n depends: [\"core\", \"badge\", \"html.button\"]\n };\n\n (function($, undefined$1) {\n var kendo = window.kendo,\n Widget = kendo.ui.Widget,\n html = kendo.html,\n ui = kendo.ui,\n keys = kendo.keys,\n CLICK = \"click\",\n MOUSEDOWN = kendo.support.mousedown,\n MOUSEUP = kendo.support.mouseup,\n MOUSEOUT = \"mouseout\",\n NS = \".kendoButton\",\n DISABLED = \"disabled\",\n DISABLEDSTATE = \"k-disabled\",\n FOCUSEDSTATE = \"k-focus\",\n ACTIVESTATE = \"k-active\";\n\n var BUTTON_DEFAULTS = {\n icon: \"\",\n iconClass: \"\",\n spriteCssClass: \"\",\n imageUrl: \"\",\n badge: null\n };\n kendo.setDefaults(\"button\", BUTTON_DEFAULTS);\n\n var Button = Widget.extend({\n init: function(element, options) {\n var that = this;\n\n Widget.fn.init.call(that, element, options);\n\n element = that.wrapper = that.element;\n options = that.options;\n\n html.renderButton(element, $.extend({}, options));\n\n element.attr(\"role\", \"button\");\n\n options.enable = options.enable && options.enabled && !element.attr(DISABLED);\n that.enable(options.enable);\n\n if (options.enable) {\n that._tabindex();\n }\n\n that._badge();\n\n element\n .on(CLICK + NS, that._click.bind(that))\n .on(\"focus\" + NS, that._focus.bind(that))\n .on(\"blur\" + NS, that._blur.bind(that))\n .on(\"keydown\" + NS, that._keydown.bind(that))\n .on(\"keyup\" + NS, that._removeActive.bind(that))\n .on(MOUSEDOWN + NS, that._addActive.bind(that))\n .on(MOUSEUP + NS + \" \" + MOUSEOUT + NS, that._removeActive.bind(that));\n\n kendo.notify(that);\n },\n\n destroy: function() {\n var that = this;\n\n that.wrapper.off(NS);\n\n if (that.badge) {\n that.badge.destroy();\n }\n\n Widget.fn.destroy.call(that);\n },\n\n events: [\n CLICK\n ],\n\n options: {\n name: \"Button\",\n enable: true,\n enabled: true,\n icon: \"\",\n iconClass: \"\",\n spriteCssClass: \"\",\n imageUrl: \"\",\n badge: null,\n size: \"medium\",\n shape: \"rectangle\",\n rounded: \"medium\",\n fillMode: \"solid\",\n themeColor: \"base\"\n },\n\n _isNativeButton: function() {\n return this.element.prop(\"tagName\").toLowerCase() == \"button\";\n },\n\n _click: function(e) {\n if (this.options.enable) {\n if (this.trigger(CLICK, { event: e })) {\n e.preventDefault();\n }\n }\n },\n\n _focus: function() {\n if (this.options.enable) {\n this.element.addClass(FOCUSEDSTATE);\n }\n },\n\n _blur: function() {\n var that = this;\n that.element.removeClass(FOCUSEDSTATE);\n setTimeout(function() {\n that.element.removeClass(ACTIVESTATE);\n });\n },\n\n _keydown: function(e) {\n var that = this;\n if (e.keyCode == keys.ENTER || e.keyCode == keys.SPACEBAR) {\n that._addActive();\n\n if (!that._isNativeButton()) {\n if (e.keyCode == keys.SPACEBAR) {\n e.preventDefault();\n }\n that._click(e);\n }\n }\n },\n\n _removeActive: function() {\n this.element.removeClass(ACTIVESTATE);\n },\n\n _addActive: function() {\n if (this.options.enable) {\n this.element.addClass(ACTIVESTATE);\n }\n },\n\n enable: function(enable) {\n var that = this,\n element = that.element;\n\n if (enable === undefined$1) {\n enable = true;\n }\n\n enable = !!enable;\n that.options.enable = enable;\n element.toggleClass(DISABLEDSTATE, !enable)\n .attr(\"aria-disabled\", !enable)\n .attr(DISABLED, !enable);\n\n if (enable) {\n that._tabindex();\n }\n\n // prevent 'Unspecified error' in IE when inside iframe\n try {\n element.trigger(\"blur\");\n } catch (err) {}\n },\n\n _badge: function() {\n var that = this;\n var badgeOptions = that.options.badge;\n var badgeEelement;\n\n if (badgeOptions === null || badgeOptions === undefined$1) {\n return;\n }\n\n if (badgeOptions.constructor !== Object) {\n badgeOptions = { text: badgeOptions };\n }\n\n if (badgeOptions.position === undefined$1 || badgeOptions.position === \"\") {\n badgeOptions.position = \"edge\";\n\n if (badgeOptions.align === undefined$1 || badgeOptions.align === \"\") {\n badgeOptions.align = \"top end\";\n }\n }\n\n badgeOptions._classNames = [\"k-button-badge\"];\n\n that.element.addClass(\"k-badge-container\");\n\n badgeEelement = $('').appendTo(that.element);\n that.badge = new ui.Badge(badgeEelement, badgeOptions);\n }\n });\n\n if (Button.fn.hasOwnProperty(\"defaults\") === false) {\n Object.defineProperty(Button.fn, \"defaults\", {\n get: function() {\n return kendo.defaults.button;\n }\n });\n }\n\n kendo.cssProperties.registerPrefix(\"Button\", \"k-button-\");\n\n kendo.cssProperties.registerValues(\"Button\", [{\n prop: \"fillMode\",\n values: kendo.cssProperties.fillModeValues.concat([\"link\"])\n }, {\n prop: \"rounded\",\n values: kendo.cssProperties.roundedValues.concat([['full', 'full']])\n }]);\n\n kendo.ui.plugin(Button);\n\n })(window.kendo.jQuery);\n\n}));\n"]}