{"version":3,"sources":["jsdelivr-header.js","/npm/jquery-circlechart@2.3.0/src/circleChart.js"],"names":[],"mappings":"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","file":"/npm/jquery-circlechart@2.3.0/src/circleChart.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.37.0.\n * Original file: /npm/jquery-circlechart@2.3.0/src/circleChart.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","(function($) {\r\n  \"use strict\";\r\n  $.fn.circleChart = function(options) {\r\n    const defaults = {\r\n      color: \"#3459eb\",\r\n      backgroundColor: \"#e6e6e6\",\r\n      background: true,\r\n      speed: 2000,\r\n      widthRatio: 0.2,\r\n      value: 66,\r\n      unit: 'percent',\r\n      counterclockwise: false,\r\n      size: 110,\r\n      startAngle: 0,\r\n      animate: true,\r\n      backgroundFix: true,\r\n      lineCap: \"round\",\r\n      animation: \"easeInOutCubic\",\r\n      text: false,\r\n      redraw: false,\r\n      cAngle: 0,\r\n      textCenter: true,\r\n      textSize: false,\r\n      textWeight: 'normal',\r\n      textFamily: 'sans-serif',\r\n      relativeTextSize: 1 / 7,\r\n      autoCss: true,\r\n      onDraw: false\r\n    };\r\n\r\n    //Math functions\r\n\r\n    Math.linearTween = (t, b, c, d) => c * t / d + b;\r\n    Math.easeInQuad = (t, b, c, d) => {\r\n      t /= d;\r\n      return c * t * t + b;\r\n    };\r\n    Math.easeOutQuad = (t, b, c, d) => {\r\n      t /= d;\r\n      return -c * t * (t - 2) + b;\r\n    };\r\n    Math.easeInOutQuad = (t, b, c, d) => {\r\n      t /= d / 2;\r\n      if (t < 1)\r\n        return c / 2 * t * t + b;\r\n      t--;\r\n      return -c / 2 * (t * (t - 2) - 1) + b;\r\n    };\r\n    Math.easeInCubic = (t, b, c, d) => {\r\n      t /= d;\r\n      return c * t * t * t + b;\r\n    };\r\n    Math.easeOutCubic = (t, b, c, d) => {\r\n      t /= d;\r\n      t--;\r\n      return c * (t * t * t + 1) + b;\r\n    };\r\n    Math.easeInOutCubic = (t, b, c, d) => {\r\n      t /= d / 2;\r\n      if (t < 1)\r\n        return c / 2 * t * t * t + b;\r\n      t -= 2;\r\n      return c / 2 * (t * t * t + 2) + b;\r\n    };\r\n    Math.easeInQuart = (t, b, c, d) => {\r\n      t /= d;\r\n      return c * t * t * t * t + b;\r\n    };\r\n    Math.easeOutQuart = (t, b, c, d) => {\r\n      t /= d;\r\n      t--;\r\n      return -c * (t * t * t * t - 1) + b;\r\n    };\r\n    Math.easeInOutQuart = (t, b, c, d) => {\r\n      t /= d / 2;\r\n      if (t < 1)\r\n        return c / 2 * t * t * t * t + b;\r\n      t -= 2;\r\n      return -c / 2 * (t * t * t * t - 2) + b;\r\n    };\r\n    Math.easeInQuint = (t, b, c, d) => {\r\n      t /= d;\r\n      return c * t * t * t * t * t + b;\r\n    };\r\n    Math.easeOutQuint = (t, b, c, d) => {\r\n      t /= d;\r\n      t--;\r\n      return c * (t * t * t * t * t + 1) + b;\r\n    };\r\n    Math.easeInOutQuint = (t, b, c, d) => {\r\n      t /= d / 2;\r\n      if (t < 1)\r\n        return c / 2 * t * t * t * t * t + b;\r\n      t -= 2;\r\n      return c / 2 * (t * t * t * t * t + 2) + b;\r\n    };\r\n    Math.easeInSine = (t, b, c, d) => -c * Math.cos(t / d * (Math.PI / 2)) + c + b;\r\n    Math.easeOutSine = (t, b, c, d) => c * Math.sin(t / d * (Math.PI / 2)) + b;\r\n    Math.easeInOutSine = (t, b, c, d) => -c / 2 * (Math.cos(Math.PI * t / d) - 1) + b;\r\n    Math.easeInExpo = (t, b, c, d) => c * Math.pow(2, 10 * (t / d - 1)) + b;\r\n    Math.easeOutExpo = (t, b, c, d) => c * (-Math.pow(2, -10 * t / d) + 1) + b;\r\n    Math.easeInOutExpo = (t, b, c, d) => {\r\n      t /= d / 2;\r\n      if (t < 1)\r\n        return c / 2 * Math.pow(2, 10 * (t - 1)) + b;\r\n      t--;\r\n      return c / 2 * (-Math.pow(2, -10 * t) + 2) + b;\r\n    };\r\n    Math.easeInCirc = (t, b, c, d) => {\r\n      t /= d;\r\n      return -c * (Math.sqrt(1 - t * t) - 1) + b;\r\n    };\r\n    Math.easeOutCubic = (t, b, c, d) => {\r\n      t /= d;\r\n      t--;\r\n      return c * (t * t * t + 1) + b;\r\n    };\r\n    Math.easeInOutCubic = (t, b, c, d) => {\r\n      t /= d / 2;\r\n      if (t < 1)\r\n        return c / 2 * t * t * t + b;\r\n      t -= 2;\r\n      return c / 2 * (t * t * t + 2) + b;\r\n    };\r\n    Math.easeOutCirc = (t, b, c, d) => {\r\n      t /= d;\r\n      t--;\r\n      return c * Math.sqrt(1 - t * t) + b;\r\n    };\r\n    Math.easeInOutCirc = (t, b, c, d) => {\r\n      t /= d / 2;\r\n      if (t < 1)\r\n        return -c / 2 * (Math.sqrt(1 - t * t) - 1) + b;\r\n      t -= 2;\r\n      return c / 2 * (Math.sqrt(1 - t * t) + 1) + b;\r\n    };\r\n\r\n    let Circle = (pos, bAngle, eAngle, cAngle, radius, lineWidth, sAngle, settings) => {\r\n      let circle = Object.create(Circle.prototype);\r\n      circle.pos = pos;\r\n      circle.bAngle = bAngle;\r\n      circle.eAngle = eAngle;\r\n      circle.cAngle = cAngle;\r\n      circle.radius = radius;\r\n      circle.lineWidth = lineWidth;\r\n      circle.sAngle = sAngle;\r\n      circle.settings = settings;\r\n      return circle;\r\n    };\r\n\r\n    Circle.prototype = {\r\n      onDraw(el) {\r\n        if (this.settings.onDraw !== false) {\r\n          let copy = Object.assign({}, this);\r\n\r\n          var units = {\r\n            'percent': rToP,\r\n            'rad': (e) => e,\r\n            'default': rToD\r\n          };\r\n\r\n          copy.value = (units[this.settings.unit] || units['default'])(copy.cAngle);\r\n\r\n          copy.text = (text) => setCircleText(el, text);\r\n          copy.settings.onDraw(el, copy);\r\n        }\r\n      },\r\n      drawBackground(ctx) {\r\n        ctx.beginPath();\r\n        ctx.arc(this.pos, this.pos, this.settings.backgroundFix\r\n          ? this.radius * 0.9999\r\n          : this.radius, 0, 2 * Math.PI);\r\n        ctx.lineWidth = this.settings.backgroundFix\r\n          ? this.lineWidth * 0.95\r\n          : this.lineWidth;\r\n        ctx.strokeStyle = this.settings.backgroundColor;\r\n        ctx.stroke();\r\n      },\r\n      draw(ctx) {\r\n        ctx.beginPath();\r\n        if (this.settings.counterclockwise) {\r\n          let k = 2 * Math.PI;\r\n          ctx.arc(this.pos, this.pos, this.radius, k - this.bAngle, k - (this.bAngle + this.cAngle), this.settings.counterclockwise);\r\n        } else {\r\n          ctx.arc(this.pos, this.pos, this.radius, this.bAngle, this.bAngle + this.cAngle, this.settings.counterclockwise);\r\n        }\r\n        ctx.lineWidth = this.lineWidth;\r\n        ctx.lineCap = this.settings.lineCap;\r\n        ctx.strokeStyle = this.settings.color;\r\n        ctx.stroke();\r\n      },\r\n      animate(el, ctx, time, startTime, move/*move counterclockwise*/) {\r\n        let mspf = new Date().getTime() - time; //milliseconds per frame\r\n        if (mspf < 1) {\r\n          mspf = 1;\r\n        }\r\n        if ((time - startTime < this.settings.speed * 1.05)/* time not over */ && (!move && (this.cAngle) * 1000 <= Math.floor((this.eAngle) * 1000)/* move clockwise */ || move && (this.cAngle) * 1000 >= Math.floor((this.eAngle) * 1000)/* move counterclockwise */)) {\r\n          this.cAngle = Math[this.settings.animation]((time - startTime) / mspf, this.sAngle, this.eAngle - this.sAngle, this.settings.speed / mspf);\r\n          ctx.clearRect(0, 0, this.settings.size, this.settings.size);\r\n          if (this.settings.background) {\r\n            this.drawBackground(ctx);\r\n          }\r\n          this.draw(ctx);\r\n          this.onDraw(el);\r\n          time = new Date().getTime();\r\n          rAF(() => this.animate(el, ctx, time, startTime, move));\r\n        } else {\r\n          this.cAngle = this.eAngle;\r\n          ctx.clearRect(0, 0, this.settings.size, this.settings.size);\r\n          if (this.settings.background) {\r\n            this.drawBackground(ctx);\r\n          }\r\n          this.draw(ctx);\r\n          this.setCurrentAnglesData(el);\r\n        }\r\n      },\r\n      setCurrentAnglesData(el) {\r\n        var units = {\r\n          'percent': rToP,\r\n          'rad': (e) => e,\r\n          'default': rToD\r\n        };\r\n\r\n        let f = (units[this.settings.unit] || units['default']);\r\n\r\n        el.data(\"current-c-angle\", f(this.cAngle));\r\n        el.data(\"current-start-angle\", f(this.bAngle));\r\n      }\r\n    };\r\n\r\n    let setCircleText = (el, text) => {\r\n      el.data(\"text\", text);\r\n      $(\".circleChart_text\", el).html(text);\r\n    }\r\n\r\n    let scaleCanvas = (c) => {\r\n      var ctx = c.getContext(\"2d\");\r\n      var dpr = window.devicePixelRatio || 1;\r\n      var bsr = ctx.webkitBackingStorePixelRatio || ctx.mozBackingStorePixelRatio || ctx.msBackingStorePixelRatio || ctx.oBackingStorePixelRatio || ctx.backingStorePixelRatio || 1;\r\n\r\n      var ratio = dpr / bsr;\r\n\r\n      var oldWidth = c.width;\r\n      var oldHeight = c.height;\r\n\r\n      c.width = oldWidth * ratio;\r\n      c.height = oldHeight * ratio;\r\n\r\n      c.style.width = oldWidth + 'px';\r\n      c.style.height = oldHeight + 'px';\r\n\r\n      ctx.scale(ratio, ratio);\r\n    }\r\n\r\n    let rToD = (rad) => rad / Math.PI * 180;\r\n    let dToR = (deg) => deg / 180 * Math.PI;\r\n    let pToR = (percent) => dToR(percent / 100 * 360);\r\n    let rToP = (rad) => rToD(rad) / 360 * 100;\r\n\r\n    let rAF = ((c) => window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || function(callback) {\r\n      window.setTimeout(c, 1000 / 60);\r\n    })();\r\n\r\n    return this.each((idx, element) => {\r\n      let el = $(element);\r\n      var cache = {};\r\n      var _data = el.data();\r\n      for (let key in _data) {\r\n        if (_data.hasOwnProperty(key) && key.indexOf('_cache_') === 0) {\r\n          if (defaults.hasOwnProperty(key.substring(7))) {\r\n            cache[key.substring(7)] = _data[key];\r\n          }\r\n        }\r\n      }\r\n\r\n      let settings = Object.assign({}, defaults, cache, _data, options);\r\n      for (let key in settings) {\r\n        if (key.indexOf('_cache_') !== 0)\r\n          el.data('_cache_' + key, settings[key]);\r\n        }\r\n      if (!$(\"canvas.circleChart_canvas\", el).length) {\r\n        el.append(function() {\r\n          return $('<canvas/>', {'class': 'circleChart_canvas'}).prop({width: settings.size, height: settings.size}).css(settings.autoCss\r\n            ? {\r\n              \"margin-left\": \"auto\",\r\n              \"margin-right\": \"auto\",\r\n              \"display\": \"block\"\r\n            }\r\n            : {});\r\n        });\r\n        scaleCanvas($(\"canvas\", el).get(0));\r\n      }\r\n      if (!$(\"p.circleChart_text\", el).length) {\r\n        if (settings.text !== false) {\r\n          el.append(\"<p class='circleChart_text'>\" + settings.text + \"</p>\");\r\n          if (settings.autoCss) {\r\n            if (settings.textCenter) {\r\n              $(\"p.circleChart_text\", el).css({\r\n                \"position\": \"absolute\",\r\n                \"line-height\": (settings.size + \"px\"),\r\n                \"top\": 0,\r\n                \"width\": \"100%\",\r\n                \"margin\": 0,\r\n                \"padding\": 0,\r\n                \"text-align\": \"center\",\r\n                \"font-size\": settings.textSize !== false\r\n                  ? settings.textSize\r\n                  : settings.size * settings.relativeTextSize,\r\n                \"font-weight\": settings.textWeight,\r\n                \"font-family\": settings.textFamily\r\n              });\r\n            } else {\r\n              $(\"p.circleChart_text\", el).css({\r\n                \"padding-top\": \"5px\",\r\n                \"text-align\": \"center\",\r\n                \"font-weight\": settings.textWeight,\r\n                \"font-family\": settings.textFamily,\r\n                \"font-size\": settings.textSize !== false\r\n                  ? settings.textSize\r\n                  : settings.size * settings.relativeTextSize\r\n              });\r\n            }\r\n          }\r\n        }\r\n      }\r\n\r\n      if (settings.autoCss) {\r\n        el.css(\"position\", \"relative\");\r\n      }\r\n\r\n      if (!settings.redraw) {\r\n        settings.cAngle = settings.currentCAngle\r\n          ? settings.currentCAngle\r\n          : settings.cAngle;\r\n        settings.startAngle = settings.currentStartAngle\r\n          ? settings.currentStartAngle\r\n          : settings.startAngle;\r\n      }\r\n\r\n      var c = $(\"canvas\", el).get(0);\r\n      var ctx = c.getContext(\"2d\");\r\n\r\n      var units = {\r\n        'percent': pToR,\r\n        'rad': (e) => e,\r\n        'default': dToR\r\n      };\r\n\r\n      let f = (units[settings.unit] || units['default']);\r\n\r\n      let bAngle = f(settings.startAngle);\r\n      let eAngle = f(settings.value);\r\n      let cAngle = f(settings.cAngle);\r\n\r\n      var pos = settings.size / 2;\r\n      var radius = pos * (1 - settings.widthRatio / 2);\r\n      var lineWidth = radius * settings.widthRatio;\r\n      var circle = Circle(pos, bAngle, eAngle, cAngle, radius, lineWidth, cAngle, settings);\r\n      el.data(\"size\", settings.size);\r\n      if (!settings.animate) {\r\n        circle.cAngle = circle.eAngle;\r\n        rAF(() => {\r\n          ctx.clearRect(0, 0, settings.size, settings.size);\r\n          if (settings.background) {\r\n            circle.drawBackground(ctx);\r\n          }\r\n          if (settings.value !== 0) {\r\n            circle.draw(ctx);\r\n            circle.setCurrentAnglesData(el);\r\n          } else {\r\n            if (circle.settings.background) {\r\n              circle.drawBackground(ctx);\r\n            }\r\n          }\r\n          circle.onDraw(el);\r\n        });\r\n      } else {\r\n        if (settings.value !== 0) {\r\n          circle.animate(el, ctx, new Date().getTime(), new Date().getTime(), cAngle > eAngle);\r\n        } else {\r\n          rAF(() => {\r\n            ctx.clearRect(0, 0, settings.size, settings.size);\r\n            if (circle.settings.background) {\r\n              circle.drawBackground(ctx);\r\n            }\r\n            circle.onDraw(el);\r\n          });\r\n        }\r\n      }\r\n    });\r\n  };\r\n}(jQuery));\r\n"]}