{"version":3,"sources":["kendo.skeletoncontainer.js"],"names":["f","define","$","kendo","window","ui","Widget","WAVE_ANIMATION","PULSE_ANIMATION","WRAPPER_CLASS","SkeletonContainer","extend","init","element","options","that","this","fn","call","cssNumber","gridColumnStart","gridColumnEnd","gridRowStart","gridRowEnd","addClass","_setWrapperStyles","_initItems","_initTemplate","name","animation","grid","template","height","width","setOptions","deepExtend","empty","getOptions","result","items","shape","settings","item","i","length","toLowerCase","css","grid-column","format","colStart","colSpan","grid-row","rowStart","rowSpan","appendTo","replace","append","_addClasses","j","shapes","animations","find","removeAttr","grid-template-columns","columns","grid-template-rows","rows","column-gap","gap","row-gap","plugin","jQuery","amd","a1","a2","a3"],"mappings":"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","file":"kendo.skeletoncontainer.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.skeletoncontainer', ['kendo.core'], f);\n}(function () {\n var __meta__ = {\n id: 'skeletoncontainer',\n name: 'SkeletonContainer',\n category: 'web',\n depends: ['core']\n };\n (function ($) {\n var kendo = window.kendo, ui = kendo.ui, Widget = ui.Widget, WAVE_ANIMATION = 'k-skeleton-wave', PULSE_ANIMATION = 'k-skeleton-pulse', WRAPPER_CLASS = 'k-skeleton-container';\n var SkeletonContainer = Widget.extend({\n init: function (element, options) {\n var that = this;\n Widget.fn.init.call(that, element, options);\n $.cssNumber.gridColumnStart = true;\n $.cssNumber.gridColumnEnd = true;\n $.cssNumber.gridRowStart = true;\n $.cssNumber.gridRowEnd = true;\n that.element = $(element).addClass(WRAPPER_CLASS);\n that._setWrapperStyles();\n that._initItems();\n that._initTemplate();\n },\n options: {\n name: 'SkeletonContainer',\n animation: 'pulse',\n grid: null,\n template: null,\n height: '',\n width: ''\n },\n setOptions: function (options) {\n kendo.deepExtend(this.options, options);\n this.element.empty();\n this.init(this.element, this.options);\n },\n getOptions: function () {\n var result = $.extend(true, {}, this.options);\n return result;\n },\n _initItems: function () {\n if (!this.options.grid) {\n return;\n }\n var that = this;\n var grid = that.options.grid;\n var items = grid.items;\n var shape;\n var settings;\n var item;\n for (var i = 0; i < items.length; i++) {\n settings = items[i];\n item = $('
');\n shape = settings.shape.toLowerCase();\n item.css({\n 'grid-column': kendo.format('{0} / span {1}', settings.colStart, settings.colSpan),\n 'grid-row': kendo.format('{0} / span {1}', settings.rowStart, settings.rowSpan)\n }).addClass('k-skeleton').addClass(kendo.format('k-skeleton-{0}', shape === 'rectangle' ? 'rect' : shape));\n item.appendTo(that.element);\n }\n },\n _initTemplate: function () {\n if (!this.options.template || this.options.grid) {\n return;\n }\n var template = kendo.template(this.options.template)({});\n template = template.replace(/data-animation/gi, 'k-skeleton').replace(/data-shape/gi, 'k-skeleton').replace(/k-skeleton-rectangle/gi, 'k-skeleton-rect');\n this.element.append(template);\n this._addClasses();\n },\n _addClasses: function () {\n var shapes = [\n 'circle',\n 'rect',\n 'text'\n ];\n var animations = [\n 'wave',\n 'pulse'\n ];\n for (var i = 0; i < shapes.length; i++) {\n this.element.find('[k-skeleton-' + shapes[i] + ']').removeAttr('k-skeleton-' + shapes[i]).addClass('k-skeleton k-skeleton-' + shapes[i] + '');\n }\n for (var j = 0; j < animations.length; j++) {\n this.element.find('[k-skeleton-' + animations[j] + ']').removeAttr('k-skeleton-' + animations[j]).addClass('k-skeleton-' + animations[j] + '');\n }\n },\n _setWrapperStyles: function () {\n var that = this;\n var options = that.options;\n var grid = options.grid;\n var animation = options.animation.toLowerCase();\n if (grid) {\n that.element.css({\n 'grid-template-columns': kendo.format('repeat({0}, 1fr)', grid.columns),\n 'grid-template-rows': kendo.format('repeat({0}, 1fr)', grid.rows),\n 'column-gap': (grid.gap || {}).columns,\n 'row-gap': (grid.gap || {}).rows\n }).addClass('k-d-grid');\n }\n that.element.css({\n 'width': typeof options.width === 'string' ? options.width : options.width + 'px',\n 'height': typeof options.height === 'string' ? options.height : options.height + 'px'\n });\n if (animation !== 'none') {\n that.element.addClass(animation == 'wave' ? WAVE_ANIMATION : PULSE_ANIMATION);\n }\n }\n });\n ui.plugin(SkeletonContainer);\n }(window.kendo.jQuery));\n return window.kendo;\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));"]}