{"version":3,"file":"kendo.html.button.min.js","names":["global","factory","exports","module","require","define","amd","globalThis","self","kendohtml","button","js","this","$","undefined$1","kendo","window","HTMLBase","html","KBUTTONICON","HTMLButton","extend","init","element","options","that","fn","call","wrapper","addClass","attr","type","_addClasses","iconElement","_textElement","name","icon","iconClass","spriteCssClass","imageUrl","size","rounded","fillMode","themeColor","stylingOptions","span","img","isEmpty","contents","filter","hasClass","each","idx","el","nodeType","trim","nodeValue","length","children","first","prependTo","ui","newSpan","document","createElement","parentNode","insertBefore","appendChild","classList","add","renderButton","arguments","isPlainObject","cssProperties","registerPrefix","registerValues","prop","values","fillModeValues","concat","roundedValues","jQuery"],"sources":["kendo.html.button.js"],"mappings":"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","sourcesContent":["(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('kendo.html.base.js'), require('kendo.icons.js')) :\n typeof define === 'function' && define.amd ? define(['kendo.html.base', 'kendo.icons'], factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, (global.kendohtml = global.kendohtml || {}, global.kendohtml.button = global.kendohtml.button || {}, global.kendohtml.button.js = factory()));\n})(this, (function () {\n var __meta__ = {\n id: \"html.button\",\n name: \"Html.Button\",\n category: \"web\",\n description: \"HTML rendering utility for Kendo UI for jQuery.\",\n depends: [ \"html.base\", \"icons\" ],\n features: []\n };\n\n (function($, undefined$1) {\n var kendo = window.kendo,\n HTMLBase = kendo.html.HTMLBase,\n\n KBUTTON = \"k-button\",\n KBUTTONICON = \"k-button-icon\",\n KBUTTONTEXT = \"k-button-text\";\n\n var renderButton = function(element, options) {\n if (arguments[0] === undefined$1 || $.isPlainObject(arguments[0])) {\n options = element;\n element = $(\"\");\n }\n\n return (new HTMLButton(element, options)).html();\n };\n\n var HTMLButton = HTMLBase.extend({\n init: function(element, options) {\n var that = this;\n HTMLBase.fn.init.call(that, element, options);\n that.wrapper = that.element.addClass(KBUTTON);\n\n if (!that.element.attr(\"type\") && that.options.type) {\n that.element.attr(\"type\", that.options.type);\n }\n\n that._addClasses();\n that.iconElement();\n that._textElement();\n },\n options: {\n name: \"HTMLButton\",\n type: \"button\",\n icon: \"\",\n iconClass: \"\",\n spriteCssClass: \"\",\n imageUrl: \"\",\n size: \"medium\",\n rounded: \"medium\",\n fillMode: \"solid\",\n themeColor: \"base\",\n stylingOptions: [ \"size\", \"rounded\", \"fillMode\", \"themeColor\" ]\n },\n iconElement: function() {\n var that = this,\n element = that.element,\n options = that.options,\n icon = options.icon,\n iconClass = options.iconClass,\n spriteCssClass = options.spriteCssClass,\n imageUrl = options.imageUrl,\n span, img, isEmpty;\n\n if (spriteCssClass || imageUrl || icon || iconClass) {\n isEmpty = true;\n\n element.contents().filter(function() {\n return (!$(this).hasClass(\"k-sprite\") && !$(this).hasClass(\"k-icon\") && !$(this).hasClass(\"k-svg-icon\") && !$(this).hasClass(\"k-image\"));\n }).each(function(idx, el) {\n if (el.nodeType == 1 || el.nodeType == 3 && kendo.trim(el.nodeValue).length > 0) {\n isEmpty = false;\n }\n });\n }\n\n if (isEmpty) {\n that.element.addClass(\"k-icon-button\");\n }\n\n if (imageUrl) {\n img = element.children(\"img.k-image\").first();\n if (!img[0]) {\n img = $('\"icon\"').prependTo(element);\n }\n img.attr(\"src\", imageUrl);\n img.addClass(KBUTTONICON);\n } else if (icon || iconClass) {\n span = element.children(\"span.k-icon, span.k-svg-icon\").first();\n if (!span[0]) {\n span = $(kendo.ui.icon({ icon: icon, iconClass: iconClass })).prependTo(element);\n } else {\n kendo.ui.icon(span, { icon: icon, iconClass: iconClass });\n }\n\n span.addClass(KBUTTONICON);\n } else if (spriteCssClass) {\n span = element.children(\"span.k-sprite\").first();\n if (!span[0]) {\n span = $('').prependTo(element);\n }\n span.addClass(spriteCssClass + \" \" + KBUTTONICON);\n }\n },\n _textElement: function() {\n var element = this.element;\n\n element.contents().filter(function() {\n return (!$(this).hasClass(KBUTTONICON) && !$(this).hasClass(\"k-sprite\") && !$(this).hasClass(\"k-icon\") && !$(this).hasClass(\"k-image\"));\n }).each(function(idx, el) {\n if (el.nodeType == 1 || el.nodeType == 3 && kendo.trim(el.nodeValue).length > 0) {\n if (el.nodeType === 3) {\n var newSpan = document.createElement('span');\n\n el.parentNode.insertBefore(newSpan, el);\n newSpan.appendChild(el);\n el = newSpan;\n }\n\n el.classList.add(KBUTTONTEXT);\n }\n });\n }\n });\n\n $.extend(kendo.html, {\n renderButton: renderButton,\n HTMLButton: HTMLButton\n });\n\n kendo.cssProperties.registerPrefix(\"HTMLButton\", \"k-button-\");\n\n kendo.cssProperties.registerValues(\"HTMLButton\", [{\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 })(window.kendo.jQuery);\n var kendo$1 = kendo;\n\n return kendo$1;\n\n}));\n"]}