{"version":3,"file":"kendo.avatar.min.js","names":["factory","define","amd","$","kendo","Widget","AVATAR_STYLES","AVATAR_TYPE","Avatar","window","jQuery","ui","extend","init","element","options","fn","call","this","_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","attr","append","first","children","slice","remove","trim","split","forEach","indexOf","substring","addClass","_applyCssClasses","css","prepend","cssProperties","registerPrefix","registerValues","prop","values","roundedValues","concat","plugin"],"sources":["kendo.avatar.js"],"mappings":"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","sourcesContent":["(function (factory) {\n typeof define === 'function' && define.amd ? define(['kendo.core'], factory) :\n factory();\n})((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\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 = $(\"\");\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(\".k-icon\");\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(\".k-icon\").attr(\"class\").split(/\\s+/);\n\n classes.forEach(function(name) {\n if (name.indexOf(\"k-i-\") === 0) {\n updatedOptions.icon = name.substring(4);\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\n}));\n"]}