{"version":3,"file":"kendo.avatar.min.js","names":["global","factory","exports","module","require","define","amd","globalThis","self","kendoavatar","js","this","$","undefined$1","kendo","window","Widget","ui","ICON_SELECTOR","AVATAR_STYLES","AVATAR_TYPE","Avatar","extend","init","element","options","fn","call","_fromMarkup","_wrapper","_markupContent","length","_contentFromMarkup","_content","name","alt","border","className","fillMode","icon","image","rounded","size","style","text","themeColor","type","events","setOptions","currentOptions","wrapper","updatedOptions","_optionsFromWrapper","removeClass","empty","content","span","find","html","renderIcon","attr","append","first","children","slice","remove","trim","split","forEach","indexOf","substring","replace","addClass","_applyCssClasses","css","prepend","cssProperties","registerPrefix","registerValues","prop","values","roundedValues","concat","plugin","jQuery"],"sources":["kendo.avatar.js"],"mappings":"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","sourcesContent":["(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('kendo.core.js'), require('kendo.icons.js')) :\n typeof define === 'function' && define.amd ? define(['kendo.core', 'kendo.icons'], factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, (global.kendoavatar = global.kendoavatar || {}, global.kendoavatar.js = factory()));\n})(this, (function () {\n var __meta__ = {\n id: \"avatar\",\n name: \"Avatar\",\n category: \"web\",\n description: \"The Avatar component represents an icon, text, or image rendered in a styled container.\",\n depends: [ \"core\" ]\n };\n\n (function($, undefined$1) {\n var kendo = window.kendo,\n Widget = kendo.ui.Widget,\n DASH = \"-\",\n ICON_SELECTOR = \".k-icon,.k-svg-icon\";\n\n var AVATAR_STYLES = {\n widget: \"k-widget\",\n avatar: \"k-avatar\",\n bordered: \"k-avatar-bordered\"\n };\n\n var AVATAR_TYPE = {\n icon: \"icon\",\n image: \"image\",\n text: \"text\"\n };\n\n var Avatar = Widget.extend({\n init: function(element, options) {\n var that = this;\n\n options = options || {};\n\n Widget.fn.init.call(that, element, options);\n\n this._fromMarkup();\n this._wrapper();\n\n if (this._markupContent && this._markupContent.length > 0) {\n this._contentFromMarkup();\n } else {\n this._content();\n }\n },\n\n options: {\n name: \"Avatar\",\n alt: null,\n border: false,\n className: null,\n fillMode: \"solid\",\n icon: null,\n image: null,\n rounded: \"full\",\n size: \"medium\",\n style: null,\n text: null,\n themeColor: \"primary\",\n type: AVATAR_TYPE.text\n },\n\n events: [ ],\n\n setOptions: function(options) {\n var currentOptions = this.options,\n wrapper = this.wrapper,\n updatedOptions = $.extend({}, currentOptions, options);\n\n Widget.fn.setOptions.call(this, options);\n\n if (!updatedOptions[updatedOptions.type]) {\n currentOptions = this._optionsFromWrapper(currentOptions);\n }\n if (updatedOptions.border === false) {\n wrapper.removeClass(AVATAR_STYLES.bordered);\n }\n\n wrapper.empty();\n\n this.options = currentOptions;\n this._wrapper();\n this._content();\n },\n\n _content: function() {\n var span = this.wrapper.find(\"> span\"),\n options = this.options,\n type = options.type,\n content;\n\n if (type === AVATAR_TYPE.icon) {\n content = $(kendo.html.renderIcon({ icon: options.icon }));\n } else if (type === AVATAR_TYPE.image) {\n content = $(\"
\");\n\n if (options.alt) {\n content.attr(\"alt\", options.alt);\n }\n } else if (type === AVATAR_TYPE.text) {\n content = $(\"\" + options.text + \"\");\n }\n\n span.append(content);\n },\n\n _contentFromMarkup: function() {\n var span = this.wrapper.find(\"> span\").first();\n\n span.append(this._markupContent);\n },\n\n _fromMarkup: function() {\n var element = this.element,\n options = this.options,\n image, icon;\n\n element.children().slice(1).remove();\n\n image = element.children(\"img\");\n icon = element.children(ICON_SELECTOR);\n\n if (image.length > 0 ) {\n options.type = AVATAR_TYPE.image;\n this._markupContent = image.first();\n } else if (icon.length > 0) {\n options.type = AVATAR_TYPE.icon;\n this._markupContent = icon.first();\n } else if (element.children().length > 0) {\n options.type = AVATAR_TYPE.text;\n this._markupContent = element.children();\n }\n },\n\n _optionsFromWrapper: function(updatedOptions) {\n var wrapper = this.wrapper,\n classes, image;\n\n if (updatedOptions.type === AVATAR_TYPE.text) {\n updatedOptions.text = wrapper.text().trim();\n } else if (updatedOptions.type === AVATAR_TYPE.icon) {\n classes = wrapper.find(ICON_SELECTOR).attr(\"class\").split(/\\s+/);\n\n classes.forEach(function(name) {\n if (name.indexOf(\"k-i-\") === 0) {\n updatedOptions.icon = name.substring(4);\n } else if (name.indexOf(\"k-svg-i-\") === 0) {\n updatedOptions.icon = name.replace(/^k-svg-i-/,\"\");\n }\n });\n } else if (updatedOptions.type === AVATAR_TYPE.image) {\n image = wrapper.find(\"img\");\n updatedOptions.image = image.attr(\"src\");\n\n if (image.attr(\"alt\")) {\n updatedOptions.alt = image.attr(\"alt\");\n }\n }\n\n return updatedOptions;\n },\n\n _wrapper: function() {\n var wrapper = this.element,\n options = this.options,\n span = $(\"\");\n\n this.wrapper = wrapper;\n wrapper.addClass(AVATAR_STYLES.avatar);\n\n this._applyCssClasses();\n\n if (options.border) {\n wrapper.addClass(AVATAR_STYLES.bordered);\n }\n if (options.style) {\n wrapper.css(options.style);\n }\n if (options.className) {\n wrapper.addClass(options.className);\n }\n\n span.addClass(AVATAR_STYLES.avatar + DASH + options.type);\n wrapper.prepend(span);\n }\n });\n\n kendo.cssProperties.registerPrefix(\"Avatar\", \"k-avatar-\");\n\n kendo.cssProperties.registerValues(\"Avatar\", [{\n prop: \"rounded\",\n values: kendo.cssProperties.roundedValues.concat([['full', 'full']])\n }]);\n\n kendo.ui.plugin(Avatar);\n\n })(window.kendo.jQuery);\n var kendo$1 = kendo;\n\n return kendo$1;\n\n}));\n"]}