{"version":3,"file":"kendo.circularprogressbar.min.js","names":["global","factory","exports","module","require","define","amd","globalThis","self","kendocircularprogressbar","js","this","$","undefined$1","window","kendo","dataviz","interpolateValue","drawing","ui","Widget","Surface","geometry","Animation","Arc","limitValue","round","DrawingGroup","Group","PointerAnimation","extend","init","element","options","fn","call","animationOptions","color","endColor","startColor","duration","Math","abs","newAngle","oldAngle","Color","step","pos","that","angle","setEndAngle","r","g","b","stroke","toHex","CircularProgressBar","userOptions","theme","themes","themeName","lowerName","toLowerCase","SASS_THEMES","indexOf","autoTheme","gauge","themeOptions","_value","value","addClass","redraw","_centerTemplate","_aria","name","ariaRole","centerTemplate","colors","transitions","pointerWidth","indeterminate","label","labelId","events","_restrictValue","_centerSvgElements","_pointerChange","_updateProgress","_initSurface","_buildVisual","_draw","resize","destroy","announce","remove","wrapper","attr","role","appendTo","text","center","_getCenter","circle","_geometry","x","y","arc","geometryChange","position","template","centerElement","_getCenterElement","html","_getColor","_centerTemplatePosition","width","height","css","_centerElement","append","oldValue","newValue","_slotAngle","play","surface","clear","draw","_visuals","find","innerHTML","format","visuals","pointer","radius","min","circleGeometry","Circle","fill","scale","rangePlaceholderColor","_createArc","currentValue","isNumber","idx","length","range","rangeColor","from","to","endAngle","rangeRadius","rangeSize","rangeGeom","radiusX","radiusY","startAngle","opacity","right","bottom","size","_getSize","left","top","max","Point","defaultSize","offsetWidth","offsetHeight","_surfaceElement","surfaceElement","document","createElement","appendChild","elementSize","create","type","renderAs","plugin","jQuery"],"sources":["kendo.circularprogressbar.js"],"mappings":"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","sourcesContent":["(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('kendo.dataviz.themes.js')) :\n typeof define === 'function' && define.amd ? define(['kendo.dataviz.themes'], factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, (global.kendocircularprogressbar = global.kendocircularprogressbar || {}, global.kendocircularprogressbar.js = factory()));\n})(this, (function () {\n var __meta__ = {\n id: \"circularprogressBar\",\n name: \"CircularProgressBar\",\n category: \"web\",\n description: \"The Circular ProgressBar component represents an SVG loader\",\n depends: [ \"core\", \"dataviz.themes\" ]\n };\n\n (function($, undefined$1) {\n\n window.kendo.dataviz = window.kendo.dataviz || {};\n var dataviz = kendo.dataviz;\n var interpolateValue = dataviz.interpolateValue;\n var drawing = kendo.drawing;\n var ui = kendo.ui;\n var Widget = ui.Widget;\n var Surface = drawing.Surface;\n var geometry = kendo.geometry;\n var Animation = drawing.Animation;\n var Arc = drawing.Arc;\n var limitValue = dataviz.limitValue;\n var round = dataviz.round;\n var DrawingGroup = drawing.Group;\n var DEFAULT_HEIGHT = 200;\n var GEO_ARC_ADJUST_ANGLE = 180;\n var MINVALUE = 0;\n var MAXVALUE = 100;\n var DEFAULT_MARGIN = 5;\n var ANGULAR_SPEED = 150;\n var DEFAULT_WIDTH = 200;\n var MAX_DURATION = 800;\n var announceElement = '';\n\n var PointerAnimation = Animation.extend({\n init: function(element, options) {\n Animation.fn.init.call(this, element, options);\n\n var animationOptions = this.options;\n var color = options.endColor;\n var startColor = options.startColor;\n var duration = (Math.abs(animationOptions.newAngle - animationOptions.oldAngle) / animationOptions.duration) * 1000;\n animationOptions.duration = limitValue(duration, ANGULAR_SPEED, MAX_DURATION);\n\n this.element = element;\n\n if (startColor !== color) {\n this.startColor = new kendo.Color(startColor);\n this.color = new kendo.Color(color);\n }\n },\n\n step: function(pos) {\n var that = this;\n var options = that.options;\n var startColor = that.startColor;\n var color = that.color;\n var angle = interpolateValue(options.oldAngle, options.newAngle, pos);\n\n this.element.geometry().setEndAngle(angle);\n\n if (color) {\n var r = round(interpolateValue(startColor.r, color.r, pos));\n var g = round(interpolateValue(startColor.g, color.g, pos));\n var b = round(interpolateValue(startColor.b, color.b, pos));\n\n this.element.stroke(new kendo.Color(r, g, b).toHex());\n }\n },\n });\n\n var CircularProgressBar = Widget.extend({\n init: function(element, userOptions) {\n\n var that = this;\n Widget.fn.init.call(that, element, userOptions);\n this.theme = themeOptions(this.options);\n this._value = this.options.value;\n this.element.addClass(\"k-gauge\");\n\n this.redraw();\n this._centerTemplate();\n this._aria();\n },\n\n options: {\n name: \"CircularProgressBar\",\n ariaRole: false,\n theme: \"sass\",\n centerTemplate: '',\n color: \"\",\n colors: [],\n transitions: true,\n pointerWidth: 5,\n indeterminate: false,\n label: null,\n labelId: null\n },\n\n events: [ ],\n\n value: function(value) {\n var that = this;\n\n if (value === undefined$1) {\n return that._value;\n }\n\n value = that._restrictValue(value);\n\n that._centerSvgElements();\n that._pointerChange(that._value, value);\n that._value = value;\n that._centerTemplate();\n that._updateProgress();\n },\n\n redraw: function() {\n this._initSurface();\n this._buildVisual();\n this._draw();\n },\n\n resize: function() {\n var transitions = this.options.transitions;\n\n this.options.transitions = false;\n this._initSurface();\n this._buildVisual();\n this._draw();\n this._centerTemplate();\n this.options.transitions = transitions;\n },\n\n destroy: function() {\n var that = this;\n\n if (that.announce) {\n that.announce.remove();\n }\n\n Widget.fn.destroy.call(that);\n },\n\n _aria: function() {\n var that = this,\n options = that.options,\n value = that.value() || 0,\n wrapper = that.element;\n\n if (!options.ariaRole) {\n return;\n }\n\n wrapper.attr({\n \"role\": \"progressbar\"\n });\n\n if (!options.indeterminate) {\n wrapper.attr({\n \"aria-valuemin\": 0,\n \"aria-valuemax\": 100\n });\n }\n\n if (!!options.labelId) {\n wrapper.attr(\"aria-labelledby\", options.labelId);\n } else if (!!options.label) {\n wrapper.attr(\"aria-label\", options.label);\n }\n\n that.announce = $(announceElement);\n that.announce.appendTo($(\"body\"));\n\n if (!options.indeterminate) {\n wrapper.attr(\"aria-valuenow\", value);\n\n that.announce.text(value + \"%\");\n } else {\n that.announce.text(\"Loading...\");\n }\n },\n\n _restrictValue: function(value) {\n\n if (value < MINVALUE) {\n return MINVALUE;\n }\n\n if (value > MAXVALUE) {\n return MAXVALUE;\n }\n\n return value;\n },\n\n _updateProgress: function() {\n var that = this;\n var options = that.options;\n var value = that.value() || 0;\n\n if (options.ariaRole && !options.indeterminate) {\n that.element.attr(\"aria-valuenow\", value);\n\n if (that.announce) {\n that.announce.text(value + \"%\");\n }\n }\n },\n\n _centerSvgElements: function() {\n var center = this._getCenter();\n\n if (this.circle._geometry.center.x !== center.x ||\n this.circle._geometry.center.y !== center.y) {\n\n this.circle._geometry.center.x = center.x;\n this.circle._geometry.center.y = center.y;\n this.arc._geometry.center.x = center.x;\n this.arc._geometry.center.y = center.y;\n this.circle.geometryChange();\n this.arc.geometryChange();\n }\n },\n\n _centerTemplate: function() {\n var position;\n var template;\n var centerElement;\n\n if (this.options.centerTemplate) {\n template = kendo.template(this.options.centerTemplate);\n\n centerElement = this._getCenterElement();\n\n centerElement.html(template({ color: this._getColor(this.value()), value: this.value() }));\n\n position = this._centerTemplatePosition(centerElement.width(), centerElement.height());\n\n centerElement.css(position);\n } else if (this._centerElement) {\n this._centerElement.remove();\n this._centerElement = null;\n }\n },\n\n _getCenterElement: function() {\n var centerElement = this._centerElement;\n if (!centerElement) {\n centerElement = this._centerElement = $('
').addClass('k-arcgauge-label');\n this.element.append(centerElement);\n }\n\n return centerElement;\n },\n\n _pointerChange: function(oldValue, newValue) {\n var animation;\n\n if (this.options.transitions) {\n animation = new PointerAnimation(this.arc, {\n oldAngle: this._slotAngle(oldValue),\n startColor: this._getColor(oldValue),\n newAngle: this._slotAngle(newValue),\n endColor: this._getColor(newValue)\n });\n animation.play();\n } else {\n this.arc.stroke(this._getColor(newValue));\n this.arc.geometry().setEndAngle(this._slotAngle(newValue));\n }\n },\n\n _draw: function() {\n var arc;\n var center;\n var animation;\n var surface = this.surface;\n\n surface.clear();\n surface.draw(this._visuals);\n\n if (this.options.indeterminate) {\n arc = surface.element.find(\"path\");\n center = this._getCenter();\n arc[0].innerHTML = kendo.format('