@openremote/or-gauge 1.24.0 → 1.24.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/@types/gaugeJS.d.ts +2 -120
- package/custom-elements-jsx.d.ts +123 -63
- package/dist/umd/index.bundle.js +4 -4
- package/dist/umd/index.bundle.js.map +1 -1
- package/dist/umd/index.js +4 -4
- package/dist/umd/index.js.map +1 -1
- package/dist/umd/index.orbundle.js +9 -9
- package/dist/umd/index.orbundle.js.map +1 -1
- package/package.json +8 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.bundle.js","sources":["webpack://ORGauge/../../../node_modules/gaugeJS/dist/gauge.js","webpack://ORGauge/../../../node_modules/lodash.debounce/index.js","webpack://ORGauge/webpack/runtime/compat_get_default_export","webpack://ORGauge/webpack/runtime/define_property_getters","webpack://ORGauge/webpack/runtime/global","webpack://ORGauge/webpack/runtime/has_own_property","webpack://ORGauge/webpack/runtime/make_namespace_object","webpack://ORGauge/../../../node_modules/@lit/reactive-element/decorators/custom-element.js","webpack://ORGauge/../../../node_modules/@lit/reactive-element/css-tag.js","webpack://ORGauge/../../../node_modules/@lit/reactive-element/reactive-element.js","webpack://ORGauge/../../../node_modules/lit-html/lit-html.js","webpack://ORGauge/../../../node_modules/lit-element/lit-element.js","webpack://ORGauge/../../../node_modules/@lit/reactive-element/decorators/property.js","webpack://ORGauge/../../../node_modules/@lit/reactive-element/decorators/state.js","webpack://ORGauge/../../../node_modules/@lit/reactive-element/decorators/base.js","webpack://ORGauge/../../../node_modules/@lit/reactive-element/decorators/query.js","webpack://ORGauge/./src/index.ts"],"sourcesContent":["// Generated by CoffeeScript 1.11.1\n(function() {\n var AnimatedText, AnimatedTextFactory, Bar, BaseDonut, BaseGauge, Donut, Gauge, GaugePointer, TextRenderer, ValueUpdater, addCommas, cutHex, formatNumber, mergeObjects, secondsToString,\n slice = [].slice,\n hasProp = {}.hasOwnProperty,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; };\n\n (function() {\n var browserRequestAnimationFrame, isCancelled, j, lastId, len, vendor, vendors;\n vendors = ['ms', 'moz', 'webkit', 'o'];\n for (j = 0, len = vendors.length; j < len; j++) {\n vendor = vendors[j];\n if (window.requestAnimationFrame) {\n break;\n }\n window.requestAnimationFrame = window[vendor + 'RequestAnimationFrame'];\n window.cancelAnimationFrame = window[vendor + 'CancelAnimationFrame'] || window[vendor + 'CancelRequestAnimationFrame'];\n }\n browserRequestAnimationFrame = null;\n lastId = 0;\n isCancelled = {};\n if (!requestAnimationFrame) {\n window.requestAnimationFrame = function(callback, element) {\n var currTime, id, lastTime, timeToCall;\n currTime = new Date().getTime();\n timeToCall = Math.max(0, 16 - (currTime - lastTime));\n id = window.setTimeout(function() {\n return callback(currTime + timeToCall);\n }, timeToCall);\n lastTime = currTime + timeToCall;\n return id;\n };\n return window.cancelAnimationFrame = function(id) {\n return clearTimeout(id);\n };\n } else if (!window.cancelAnimationFrame) {\n browserRequestAnimationFrame = window.requestAnimationFrame;\n window.requestAnimationFrame = function(callback, element) {\n var myId;\n myId = ++lastId;\n browserRequestAnimationFrame(function() {\n if (!isCancelled[myId]) {\n return callback();\n }\n }, element);\n return myId;\n };\n return window.cancelAnimationFrame = function(id) {\n return isCancelled[id] = true;\n };\n }\n })();\n\n secondsToString = function(sec) {\n var hr, min;\n hr = Math.floor(sec / 3600);\n min = Math.floor((sec - (hr * 3600)) / 60);\n sec -= (hr * 3600) + (min * 60);\n sec += '';\n min += '';\n while (min.length < 2) {\n min = '0' + min;\n }\n while (sec.length < 2) {\n sec = '0' + sec;\n }\n hr = hr ? hr + ':' : '';\n return hr + min + ':' + sec;\n };\n\n formatNumber = function() {\n var digits, num, value;\n num = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n value = num[0];\n digits = 0 || num[1];\n return addCommas(value.toFixed(digits));\n };\n\n mergeObjects = function(obj1, obj2) {\n var key, out, val;\n out = {};\n for (key in obj1) {\n if (!hasProp.call(obj1, key)) continue;\n val = obj1[key];\n out[key] = val;\n }\n for (key in obj2) {\n if (!hasProp.call(obj2, key)) continue;\n val = obj2[key];\n out[key] = val;\n }\n return out;\n };\n\n addCommas = function(nStr) {\n var rgx, x, x1, x2;\n nStr += '';\n x = nStr.split('.');\n x1 = x[0];\n x2 = '';\n if (x.length > 1) {\n x2 = '.' + x[1];\n }\n rgx = /(\\d+)(\\d{3})/;\n while (rgx.test(x1)) {\n x1 = x1.replace(rgx, '$1' + ',' + '$2');\n }\n return x1 + x2;\n };\n\n cutHex = function(nStr) {\n if (nStr.charAt(0) === \"#\") {\n return nStr.substring(1, 7);\n }\n return nStr;\n };\n\n ValueUpdater = (function() {\n ValueUpdater.prototype.animationSpeed = 32;\n\n function ValueUpdater(addToAnimationQueue, clear) {\n if (addToAnimationQueue == null) {\n addToAnimationQueue = true;\n }\n this.clear = clear != null ? clear : true;\n if (addToAnimationQueue) {\n AnimationUpdater.add(this);\n }\n }\n\n ValueUpdater.prototype.update = function(force) {\n var diff;\n if (force == null) {\n force = false;\n }\n if (force || this.displayedValue !== this.value) {\n if (this.ctx && this.clear) {\n this.ctx.clearRect(0, 0, this.canvas.width, this.canvas.height);\n }\n diff = this.value - this.displayedValue;\n if (Math.abs(diff / this.animationSpeed) <= 0.001) {\n this.displayedValue = this.value;\n } else {\n this.displayedValue = this.displayedValue + diff / this.animationSpeed;\n }\n this.render();\n return true;\n }\n return false;\n };\n\n return ValueUpdater;\n\n })();\n\n BaseGauge = (function(superClass) {\n extend(BaseGauge, superClass);\n\n function BaseGauge() {\n return BaseGauge.__super__.constructor.apply(this, arguments);\n }\n\n BaseGauge.prototype.displayScale = 1;\n\n BaseGauge.prototype.forceUpdate = true;\n\n BaseGauge.prototype.setTextField = function(textField, fractionDigits) {\n return this.textField = textField instanceof TextRenderer ? textField : new TextRenderer(textField, fractionDigits);\n };\n\n BaseGauge.prototype.setMinValue = function(minValue, updateStartValue) {\n var gauge, j, len, ref, results;\n this.minValue = minValue;\n if (updateStartValue == null) {\n updateStartValue = true;\n }\n if (updateStartValue) {\n this.displayedValue = this.minValue;\n ref = this.gp || [];\n results = [];\n for (j = 0, len = ref.length; j < len; j++) {\n gauge = ref[j];\n results.push(gauge.displayedValue = this.minValue);\n }\n return results;\n }\n };\n\n BaseGauge.prototype.setOptions = function(options) {\n if (options == null) {\n options = null;\n }\n this.options = mergeObjects(this.options, options);\n if (this.textField) {\n this.textField.el.style.fontSize = options.fontSize + 'px';\n }\n if (this.options.angle > .5) {\n this.options.angle = .5;\n }\n this.configDisplayScale();\n return this;\n };\n\n BaseGauge.prototype.configDisplayScale = function() {\n var backingStorePixelRatio, devicePixelRatio, height, prevDisplayScale, width;\n prevDisplayScale = this.displayScale;\n if (this.options.highDpiSupport === false) {\n delete this.displayScale;\n } else {\n devicePixelRatio = window.devicePixelRatio || 1;\n backingStorePixelRatio = this.ctx.webkitBackingStorePixelRatio || this.ctx.mozBackingStorePixelRatio || this.ctx.msBackingStorePixelRatio || this.ctx.oBackingStorePixelRatio || this.ctx.backingStorePixelRatio || 1;\n this.displayScale = devicePixelRatio / backingStorePixelRatio;\n }\n if (this.displayScale !== prevDisplayScale) {\n width = this.canvas.G__width || this.canvas.width;\n height = this.canvas.G__height || this.canvas.height;\n this.canvas.width = width * this.displayScale;\n this.canvas.height = height * this.displayScale;\n this.canvas.style.width = width + \"px\";\n this.canvas.style.height = height + \"px\";\n this.canvas.G__width = width;\n this.canvas.G__height = height;\n }\n return this;\n };\n\n BaseGauge.prototype.parseValue = function(value) {\n value = parseFloat(value) || Number(value);\n if (isFinite(value)) {\n return value;\n } else {\n return 0;\n }\n };\n\n return BaseGauge;\n\n })(ValueUpdater);\n\n TextRenderer = (function() {\n function TextRenderer(el, fractionDigits1) {\n this.el = el;\n this.fractionDigits = fractionDigits1;\n }\n\n TextRenderer.prototype.render = function(gauge) {\n return this.el.innerHTML = formatNumber(gauge.displayedValue, this.fractionDigits);\n };\n\n return TextRenderer;\n\n })();\n\n AnimatedText = (function(superClass) {\n extend(AnimatedText, superClass);\n\n AnimatedText.prototype.displayedValue = 0;\n\n AnimatedText.prototype.value = 0;\n\n AnimatedText.prototype.setVal = function(value) {\n return this.value = 1 * value;\n };\n\n function AnimatedText(elem1, text) {\n this.elem = elem1;\n this.text = text != null ? text : false;\n AnimatedText.__super__.constructor.call(this);\n if (this.elem === void 0) {\n throw new Error('The element isn\\'t defined.');\n }\n this.value = 1 * this.elem.innerHTML;\n if (this.text) {\n this.value = 0;\n }\n }\n\n AnimatedText.prototype.render = function() {\n var textVal;\n if (this.text) {\n textVal = secondsToString(this.displayedValue.toFixed(0));\n } else {\n textVal = addCommas(formatNumber(this.displayedValue));\n }\n return this.elem.innerHTML = textVal;\n };\n\n return AnimatedText;\n\n })(ValueUpdater);\n\n AnimatedTextFactory = {\n create: function(objList) {\n var elem, j, len, out;\n out = [];\n for (j = 0, len = objList.length; j < len; j++) {\n elem = objList[j];\n out.push(new AnimatedText(elem));\n }\n return out;\n }\n };\n\n GaugePointer = (function(superClass) {\n extend(GaugePointer, superClass);\n\n GaugePointer.prototype.displayedValue = 0;\n\n GaugePointer.prototype.value = 0;\n\n GaugePointer.prototype.options = {\n strokeWidth: 0.035,\n length: 0.1,\n color: \"#000000\",\n iconPath: null,\n iconScale: 1.0,\n iconAngle: 0\n };\n\n GaugePointer.prototype.img = null;\n\n function GaugePointer(gauge1) {\n this.gauge = gauge1;\n if (this.gauge === void 0) {\n throw new Error('The element isn\\'t defined.');\n }\n this.ctx = this.gauge.ctx;\n this.canvas = this.gauge.canvas;\n GaugePointer.__super__.constructor.call(this, false, false);\n this.setOptions();\n }\n\n GaugePointer.prototype.setOptions = function(options) {\n if (options == null) {\n options = null;\n }\n this.options = mergeObjects(this.options, options);\n this.length = 2 * this.gauge.radius * this.gauge.options.radiusScale * this.options.length;\n this.strokeWidth = this.canvas.height * this.options.strokeWidth;\n this.maxValue = this.gauge.maxValue;\n this.minValue = this.gauge.minValue;\n this.animationSpeed = this.gauge.animationSpeed;\n this.options.angle = this.gauge.options.angle;\n if (this.options.iconPath) {\n this.img = new Image();\n return this.img.src = this.options.iconPath;\n }\n };\n\n GaugePointer.prototype.render = function() {\n var angle, endX, endY, imgX, imgY, startX, startY, x, y;\n angle = this.gauge.getAngle.call(this, this.displayedValue);\n x = Math.round(this.length * Math.cos(angle));\n y = Math.round(this.length * Math.sin(angle));\n startX = Math.round(this.strokeWidth * Math.cos(angle - Math.PI / 2));\n startY = Math.round(this.strokeWidth * Math.sin(angle - Math.PI / 2));\n endX = Math.round(this.strokeWidth * Math.cos(angle + Math.PI / 2));\n endY = Math.round(this.strokeWidth * Math.sin(angle + Math.PI / 2));\n this.ctx.beginPath();\n this.ctx.fillStyle = this.options.color;\n this.ctx.arc(0, 0, this.strokeWidth, 0, Math.PI * 2, false);\n this.ctx.fill();\n this.ctx.beginPath();\n this.ctx.moveTo(startX, startY);\n this.ctx.lineTo(x, y);\n this.ctx.lineTo(endX, endY);\n this.ctx.fill();\n if (this.img) {\n imgX = Math.round(this.img.width * this.options.iconScale);\n imgY = Math.round(this.img.height * this.options.iconScale);\n this.ctx.save();\n this.ctx.translate(x, y);\n this.ctx.rotate(angle + Math.PI / 180.0 * (90 + this.options.iconAngle));\n this.ctx.drawImage(this.img, -imgX / 2, -imgY / 2, imgX, imgY);\n return this.ctx.restore();\n }\n };\n\n return GaugePointer;\n\n })(ValueUpdater);\n\n Bar = (function() {\n function Bar(elem1) {\n this.elem = elem1;\n }\n\n Bar.prototype.updateValues = function(arrValues) {\n this.value = arrValues[0];\n this.maxValue = arrValues[1];\n this.avgValue = arrValues[2];\n return this.render();\n };\n\n Bar.prototype.render = function() {\n var avgPercent, valPercent;\n if (this.textField) {\n this.textField.text(formatNumber(this.value));\n }\n if (this.maxValue === 0) {\n this.maxValue = this.avgValue * 2;\n }\n valPercent = (this.value / this.maxValue) * 100;\n avgPercent = (this.avgValue / this.maxValue) * 100;\n $(\".bar-value\", this.elem).css({\n \"width\": valPercent + \"%\"\n });\n return $(\".typical-value\", this.elem).css({\n \"width\": avgPercent + \"%\"\n });\n };\n\n return Bar;\n\n })();\n\n Gauge = (function(superClass) {\n extend(Gauge, superClass);\n\n Gauge.prototype.elem = null;\n\n Gauge.prototype.value = [20];\n\n Gauge.prototype.maxValue = 80;\n\n Gauge.prototype.minValue = 0;\n\n Gauge.prototype.displayedAngle = 0;\n\n Gauge.prototype.displayedValue = 0;\n\n Gauge.prototype.lineWidth = 40;\n\n Gauge.prototype.paddingTop = 0.1;\n\n Gauge.prototype.paddingBottom = 0.1;\n\n Gauge.prototype.percentColors = null;\n\n Gauge.prototype.options = {\n colorStart: \"#6fadcf\",\n colorStop: void 0,\n gradientType: 0,\n strokeColor: \"#e0e0e0\",\n pointer: {\n length: 0.8,\n strokeWidth: 0.035,\n iconScale: 1.0\n },\n angle: 0.15,\n lineWidth: 0.44,\n radiusScale: 1.0,\n fontSize: 40,\n limitMax: false,\n limitMin: false\n };\n\n function Gauge(canvas) {\n var h, w;\n this.canvas = canvas;\n Gauge.__super__.constructor.call(this);\n this.percentColors = null;\n if (typeof G_vmlCanvasManager !== 'undefined') {\n this.canvas = window.G_vmlCanvasManager.initElement(this.canvas);\n }\n this.ctx = this.canvas.getContext('2d');\n h = this.canvas.clientHeight;\n w = this.canvas.clientWidth;\n this.canvas.height = h;\n this.canvas.width = w;\n this.gp = [new GaugePointer(this)];\n this.setOptions();\n }\n\n Gauge.prototype.setOptions = function(options) {\n var gauge, j, len, phi, ref;\n if (options == null) {\n options = null;\n }\n Gauge.__super__.setOptions.call(this, options);\n this.configPercentColors();\n this.extraPadding = 0;\n if (this.options.angle < 0) {\n phi = Math.PI * (1 + this.options.angle);\n this.extraPadding = Math.sin(phi);\n }\n this.availableHeight = this.canvas.height * (1 - this.paddingTop - this.paddingBottom);\n this.lineWidth = this.availableHeight * this.options.lineWidth;\n this.radius = (this.availableHeight - this.lineWidth / 2) / (1.0 + this.extraPadding);\n this.ctx.clearRect(0, 0, this.canvas.width, this.canvas.height);\n ref = this.gp;\n for (j = 0, len = ref.length; j < len; j++) {\n gauge = ref[j];\n gauge.setOptions(this.options.pointer);\n gauge.render();\n }\n this.render();\n return this;\n };\n\n Gauge.prototype.configPercentColors = function() {\n var bval, gval, i, j, ref, results, rval;\n this.percentColors = null;\n if (this.options.percentColors !== void 0) {\n this.percentColors = new Array();\n results = [];\n for (i = j = 0, ref = this.options.percentColors.length - 1; 0 <= ref ? j <= ref : j >= ref; i = 0 <= ref ? ++j : --j) {\n rval = parseInt((cutHex(this.options.percentColors[i][1])).substring(0, 2), 16);\n gval = parseInt((cutHex(this.options.percentColors[i][1])).substring(2, 4), 16);\n bval = parseInt((cutHex(this.options.percentColors[i][1])).substring(4, 6), 16);\n results.push(this.percentColors[i] = {\n pct: this.options.percentColors[i][0],\n color: {\n r: rval,\n g: gval,\n b: bval\n }\n });\n }\n return results;\n }\n };\n\n Gauge.prototype.set = function(value) {\n var gp, i, j, l, len, m, ref, ref1, val;\n if (!(value instanceof Array)) {\n value = [value];\n }\n for (i = j = 0, ref = value.length - 1; 0 <= ref ? j <= ref : j >= ref; i = 0 <= ref ? ++j : --j) {\n value[i] = this.parseValue(value[i]);\n }\n if (value.length > this.gp.length) {\n for (i = l = 0, ref1 = value.length - this.gp.length; 0 <= ref1 ? l < ref1 : l > ref1; i = 0 <= ref1 ? ++l : --l) {\n gp = new GaugePointer(this);\n gp.setOptions(this.options.pointer);\n this.gp.push(gp);\n }\n } else if (value.length < this.gp.length) {\n this.gp = this.gp.slice(this.gp.length - value.length);\n }\n i = 0;\n for (m = 0, len = value.length; m < len; m++) {\n val = value[m];\n if (val > this.maxValue) {\n if (this.options.limitMax) {\n val = this.maxValue;\n } else {\n this.maxValue = val + 1;\n }\n } else if (val < this.minValue) {\n if (this.options.limitMin) {\n val = this.minValue;\n } else {\n this.minValue = val - 1;\n }\n }\n this.gp[i].value = val;\n this.gp[i++].setOptions({\n minValue: this.minValue,\n maxValue: this.maxValue,\n angle: this.options.angle\n });\n }\n this.value = Math.max(Math.min(value[value.length - 1], this.maxValue), this.minValue);\n AnimationUpdater.add(this);\n AnimationUpdater.run(this.forceUpdate);\n return this.forceUpdate = false;\n };\n\n Gauge.prototype.getAngle = function(value) {\n return (1 + this.options.angle) * Math.PI + ((value - this.minValue) / (this.maxValue - this.minValue)) * (1 - this.options.angle * 2) * Math.PI;\n };\n\n Gauge.prototype.getColorForPercentage = function(pct, grad) {\n var color, endColor, i, j, rangePct, ref, startColor;\n if (pct === 0) {\n color = this.percentColors[0].color;\n } else {\n color = this.percentColors[this.percentColors.length - 1].color;\n for (i = j = 0, ref = this.percentColors.length - 1; 0 <= ref ? j <= ref : j >= ref; i = 0 <= ref ? ++j : --j) {\n if (pct <= this.percentColors[i].pct) {\n if (grad === true) {\n startColor = this.percentColors[i - 1] || this.percentColors[0];\n endColor = this.percentColors[i];\n rangePct = (pct - startColor.pct) / (endColor.pct - startColor.pct);\n color = {\n r: Math.floor(startColor.color.r * (1 - rangePct) + endColor.color.r * rangePct),\n g: Math.floor(startColor.color.g * (1 - rangePct) + endColor.color.g * rangePct),\n b: Math.floor(startColor.color.b * (1 - rangePct) + endColor.color.b * rangePct)\n };\n } else {\n color = this.percentColors[i].color;\n }\n break;\n }\n }\n }\n return 'rgb(' + [color.r, color.g, color.b].join(',') + ')';\n };\n\n Gauge.prototype.getColorForValue = function(val, grad) {\n var pct;\n pct = (val - this.minValue) / (this.maxValue - this.minValue);\n return this.getColorForPercentage(pct, grad);\n };\n\n Gauge.prototype.renderStaticLabels = function(staticLabels, w, h, radius) {\n var font, fontsize, j, len, match, re, ref, rest, rotationAngle, value;\n this.ctx.save();\n this.ctx.translate(w, h);\n font = staticLabels.font || \"10px Times\";\n re = /\\d+\\.?\\d?/;\n match = font.match(re)[0];\n rest = font.slice(match.length);\n fontsize = parseFloat(match) * this.displayScale;\n this.ctx.font = fontsize + rest;\n this.ctx.fillStyle = staticLabels.color || \"#000000\";\n this.ctx.textBaseline = \"bottom\";\n this.ctx.textAlign = \"center\";\n ref = staticLabels.labels;\n for (j = 0, len = ref.length; j < len; j++) {\n value = ref[j];\n if (value.label !== void 0) {\n if ((!this.options.limitMin || value >= this.minValue) && (!this.options.limitMax || value <= this.maxValue)) {\n font = value.font || staticLabels.font;\n match = font.match(re)[0];\n rest = font.slice(match.length);\n fontsize = parseFloat(match) * this.displayScale;\n this.ctx.font = fontsize + rest;\n rotationAngle = this.getAngle(value.label) - 3 * Math.PI / 2;\n this.ctx.rotate(rotationAngle);\n this.ctx.fillText(formatNumber(value.label, staticLabels.fractionDigits), 0, -radius - this.lineWidth / 2);\n this.ctx.rotate(-rotationAngle);\n }\n } else {\n if ((!this.options.limitMin || value >= this.minValue) && (!this.options.limitMax || value <= this.maxValue)) {\n rotationAngle = this.getAngle(value) - 3 * Math.PI / 2;\n this.ctx.rotate(rotationAngle);\n this.ctx.fillText(formatNumber(value, staticLabels.fractionDigits), 0, -radius - this.lineWidth / 2);\n this.ctx.rotate(-rotationAngle);\n }\n }\n }\n return this.ctx.restore();\n };\n\n Gauge.prototype.renderTicks = function(ticksOptions, w, h, radius) {\n var currentDivision, currentSubDivision, divColor, divLength, divWidth, divisionCount, j, lineWidth, range, rangeDivisions, ref, results, scaleMutate, st, subColor, subDivisions, subLength, subWidth, subdivisionCount, t, tmpRadius;\n if (ticksOptions !== {}) {\n divisionCount = ticksOptions.divisions || 0;\n subdivisionCount = ticksOptions.subDivisions || 0;\n divColor = ticksOptions.divColor || '#fff';\n subColor = ticksOptions.subColor || '#fff';\n divLength = ticksOptions.divLength || 0.7;\n subLength = ticksOptions.subLength || 0.2;\n range = parseFloat(this.maxValue) - parseFloat(this.minValue);\n rangeDivisions = parseFloat(range) / parseFloat(ticksOptions.divisions);\n subDivisions = parseFloat(rangeDivisions) / parseFloat(ticksOptions.subDivisions);\n currentDivision = parseFloat(this.minValue);\n currentSubDivision = 0.0 + subDivisions;\n lineWidth = range / 400;\n divWidth = lineWidth * (ticksOptions.divWidth || 1);\n subWidth = lineWidth * (ticksOptions.subWidth || 1);\n results = [];\n for (t = j = 0, ref = divisionCount + 1; j < ref; t = j += 1) {\n this.ctx.lineWidth = this.lineWidth * divLength;\n scaleMutate = (this.lineWidth / 2) * (1 - divLength);\n tmpRadius = (this.radius * this.options.radiusScale) + scaleMutate;\n this.ctx.strokeStyle = divColor;\n this.ctx.beginPath();\n this.ctx.arc(0, 0, tmpRadius, this.getAngle(currentDivision - divWidth), this.getAngle(currentDivision + divWidth), false);\n this.ctx.stroke();\n currentSubDivision = currentDivision + subDivisions;\n currentDivision += rangeDivisions;\n if (t !== ticksOptions.divisions && subdivisionCount > 0) {\n results.push((function() {\n var l, ref1, results1;\n results1 = [];\n for (st = l = 0, ref1 = subdivisionCount - 1; l < ref1; st = l += 1) {\n this.ctx.lineWidth = this.lineWidth * subLength;\n scaleMutate = (this.lineWidth / 2) * (1 - subLength);\n tmpRadius = (this.radius * this.options.radiusScale) + scaleMutate;\n this.ctx.strokeStyle = subColor;\n this.ctx.beginPath();\n this.ctx.arc(0, 0, tmpRadius, this.getAngle(currentSubDivision - subWidth), this.getAngle(currentSubDivision + subWidth), false);\n this.ctx.stroke();\n results1.push(currentSubDivision += subDivisions);\n }\n return results1;\n }).call(this));\n } else {\n results.push(void 0);\n }\n }\n return results;\n }\n };\n\n Gauge.prototype.render = function() {\n var displayedAngle, fillStyle, gauge, h, j, l, len, len1, max, min, radius, ref, ref1, scaleMutate, tmpRadius, w, zone;\n w = this.canvas.width / 2;\n h = (this.canvas.height * this.paddingTop + this.availableHeight) - ((this.radius + this.lineWidth / 2) * this.extraPadding);\n displayedAngle = this.getAngle(this.displayedValue);\n if (this.textField) {\n this.textField.render(this);\n }\n this.ctx.lineCap = \"butt\";\n radius = this.radius * this.options.radiusScale;\n if (this.options.staticLabels) {\n this.renderStaticLabels(this.options.staticLabels, w, h, radius);\n }\n if (this.options.staticZones) {\n this.ctx.save();\n this.ctx.translate(w, h);\n this.ctx.lineWidth = this.lineWidth;\n ref = this.options.staticZones;\n for (j = 0, len = ref.length; j < len; j++) {\n zone = ref[j];\n min = zone.min;\n if (this.options.limitMin && min < this.minValue) {\n min = this.minValue;\n }\n max = zone.max;\n if (this.options.limitMax && max > this.maxValue) {\n max = this.maxValue;\n }\n tmpRadius = this.radius * this.options.radiusScale;\n if (zone.height) {\n this.ctx.lineWidth = this.lineWidth * zone.height;\n scaleMutate = (this.lineWidth / 2) * (zone.offset || 1 - zone.height);\n tmpRadius = (this.radius * this.options.radiusScale) + scaleMutate;\n }\n this.ctx.strokeStyle = zone.strokeStyle;\n this.ctx.beginPath();\n this.ctx.arc(0, 0, tmpRadius, this.getAngle(min), this.getAngle(max), false);\n this.ctx.stroke();\n }\n } else {\n if (this.options.customFillStyle !== void 0) {\n fillStyle = this.options.customFillStyle(this);\n } else if (this.percentColors !== null) {\n fillStyle = this.getColorForValue(this.displayedValue, this.options.generateGradient);\n } else if (this.options.colorStop !== void 0) {\n if (this.options.gradientType === 0) {\n fillStyle = this.ctx.createRadialGradient(w, h, 9, w, h, 70);\n } else {\n fillStyle = this.ctx.createLinearGradient(0, 0, w, 0);\n }\n fillStyle.addColorStop(0, this.options.colorStart);\n fillStyle.addColorStop(1, this.options.colorStop);\n } else {\n fillStyle = this.options.colorStart;\n }\n this.ctx.strokeStyle = fillStyle;\n this.ctx.beginPath();\n this.ctx.arc(w, h, radius, (1 + this.options.angle) * Math.PI, displayedAngle, false);\n this.ctx.lineWidth = this.lineWidth;\n this.ctx.stroke();\n this.ctx.strokeStyle = this.options.strokeColor;\n this.ctx.beginPath();\n this.ctx.arc(w, h, radius, displayedAngle, (2 - this.options.angle) * Math.PI, false);\n this.ctx.stroke();\n this.ctx.save();\n this.ctx.translate(w, h);\n }\n if (this.options.renderTicks) {\n this.renderTicks(this.options.renderTicks, w, h, radius);\n }\n this.ctx.restore();\n this.ctx.translate(w, h);\n ref1 = this.gp;\n for (l = 0, len1 = ref1.length; l < len1; l++) {\n gauge = ref1[l];\n gauge.update(true);\n }\n return this.ctx.translate(-w, -h);\n };\n\n return Gauge;\n\n })(BaseGauge);\n\n BaseDonut = (function(superClass) {\n extend(BaseDonut, superClass);\n\n BaseDonut.prototype.lineWidth = 15;\n\n BaseDonut.prototype.displayedValue = 0;\n\n BaseDonut.prototype.value = 33;\n\n BaseDonut.prototype.maxValue = 80;\n\n BaseDonut.prototype.minValue = 0;\n\n BaseDonut.prototype.options = {\n lineWidth: 0.10,\n colorStart: \"#6f6ea0\",\n colorStop: \"#c0c0db\",\n strokeColor: \"#eeeeee\",\n shadowColor: \"#d5d5d5\",\n angle: 0.35,\n radiusScale: 1.0\n };\n\n function BaseDonut(canvas) {\n this.canvas = canvas;\n BaseDonut.__super__.constructor.call(this);\n if (typeof G_vmlCanvasManager !== 'undefined') {\n this.canvas = window.G_vmlCanvasManager.initElement(this.canvas);\n }\n this.ctx = this.canvas.getContext('2d');\n this.setOptions();\n this.render();\n }\n\n BaseDonut.prototype.getAngle = function(value) {\n return (1 - this.options.angle) * Math.PI + ((value - this.minValue) / (this.maxValue - this.minValue)) * ((2 + this.options.angle) - (1 - this.options.angle)) * Math.PI;\n };\n\n BaseDonut.prototype.setOptions = function(options) {\n if (options == null) {\n options = null;\n }\n BaseDonut.__super__.setOptions.call(this, options);\n this.lineWidth = this.canvas.height * this.options.lineWidth;\n this.radius = this.options.radiusScale * (this.canvas.height / 2 - this.lineWidth / 2);\n return this;\n };\n\n BaseDonut.prototype.set = function(value) {\n this.value = this.parseValue(value);\n if (this.value > this.maxValue) {\n if (this.options.limitMax) {\n this.value = this.maxValue;\n } else {\n this.maxValue = this.value;\n }\n } else if (this.value < this.minValue) {\n if (this.options.limitMin) {\n this.value = this.minValue;\n } else {\n this.minValue = this.value;\n }\n }\n AnimationUpdater.add(this);\n AnimationUpdater.run(this.forceUpdate);\n return this.forceUpdate = false;\n };\n\n BaseDonut.prototype.render = function() {\n var displayedAngle, grdFill, h, start, stop, w;\n displayedAngle = this.getAngle(this.displayedValue);\n w = this.canvas.width / 2;\n h = this.canvas.height / 2;\n if (this.textField) {\n this.textField.render(this);\n }\n grdFill = this.ctx.createRadialGradient(w, h, 39, w, h, 70);\n grdFill.addColorStop(0, this.options.colorStart);\n grdFill.addColorStop(1, this.options.colorStop);\n start = this.radius - this.lineWidth / 2;\n stop = this.radius + this.lineWidth / 2;\n this.ctx.strokeStyle = this.options.strokeColor;\n this.ctx.beginPath();\n this.ctx.arc(w, h, this.radius, (1 - this.options.angle) * Math.PI, (2 + this.options.angle) * Math.PI, false);\n this.ctx.lineWidth = this.lineWidth;\n this.ctx.lineCap = \"round\";\n this.ctx.stroke();\n this.ctx.strokeStyle = grdFill;\n this.ctx.beginPath();\n this.ctx.arc(w, h, this.radius, (1 - this.options.angle) * Math.PI, displayedAngle, false);\n return this.ctx.stroke();\n };\n\n return BaseDonut;\n\n })(BaseGauge);\n\n Donut = (function(superClass) {\n extend(Donut, superClass);\n\n function Donut() {\n return Donut.__super__.constructor.apply(this, arguments);\n }\n\n Donut.prototype.strokeGradient = function(w, h, start, stop) {\n var grd;\n grd = this.ctx.createRadialGradient(w, h, start, w, h, stop);\n grd.addColorStop(0, this.options.shadowColor);\n grd.addColorStop(0.12, this.options._orgStrokeColor);\n grd.addColorStop(0.88, this.options._orgStrokeColor);\n grd.addColorStop(1, this.options.shadowColor);\n return grd;\n };\n\n Donut.prototype.setOptions = function(options) {\n var h, start, stop, w;\n if (options == null) {\n options = null;\n }\n Donut.__super__.setOptions.call(this, options);\n w = this.canvas.width / 2;\n h = this.canvas.height / 2;\n start = this.radius - this.lineWidth / 2;\n stop = this.radius + this.lineWidth / 2;\n this.options._orgStrokeColor = this.options.strokeColor;\n this.options.strokeColor = this.strokeGradient(w, h, start, stop);\n return this;\n };\n\n return Donut;\n\n })(BaseDonut);\n\n window.AnimationUpdater = {\n elements: [],\n animId: null,\n addAll: function(list) {\n var elem, j, len, results;\n results = [];\n for (j = 0, len = list.length; j < len; j++) {\n elem = list[j];\n results.push(AnimationUpdater.elements.push(elem));\n }\n return results;\n },\n add: function(object) {\n if (indexOf.call(AnimationUpdater.elements, object) < 0) {\n return AnimationUpdater.elements.push(object);\n }\n },\n run: function(force) {\n var elem, finished, isCallback, j, k, l, len, ref, toRemove;\n if (force == null) {\n force = false;\n }\n isCallback = isFinite(parseFloat(force));\n if (isCallback || force === true) {\n finished = true;\n toRemove = [];\n ref = AnimationUpdater.elements;\n for (k = j = 0, len = ref.length; j < len; k = ++j) {\n elem = ref[k];\n if (elem.update(force === true)) {\n finished = false;\n } else {\n toRemove.push(k);\n }\n }\n for (l = toRemove.length - 1; l >= 0; l += -1) {\n k = toRemove[l];\n AnimationUpdater.elements.splice(k, 1);\n }\n return AnimationUpdater.animId = finished ? null : requestAnimationFrame(AnimationUpdater.run);\n } else if (force === false) {\n if (AnimationUpdater.animId === !null) {\n cancelAnimationFrame(AnimationUpdater.animId);\n }\n return AnimationUpdater.animId = requestAnimationFrame(AnimationUpdater.run);\n }\n }\n };\n\n if (typeof window.define === 'function' && (window.define.amd != null)) {\n define(function() {\n return {\n Gauge: Gauge,\n Donut: Donut,\n BaseDonut: BaseDonut,\n TextRenderer: TextRenderer\n };\n });\n } else if (typeof module !== 'undefined' && (module.exports != null)) {\n module.exports = {\n Gauge: Gauge,\n Donut: Donut,\n BaseDonut: BaseDonut,\n TextRenderer: TextRenderer\n };\n } else {\n window.Gauge = Gauge;\n window.Donut = Donut;\n window.BaseDonut = BaseDonut;\n window.TextRenderer = TextRenderer;\n }\n\n}).call(this);\n\n//# sourceMappingURL=gauge.js.map\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = debounce;\n","// getDefaultExport function for compatibility with non-ESM modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};\n","__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n }\n }\n};","__webpack_require__.g = (() => {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=t=>(e,o)=>{void 0!==o?o.addInitializer((()=>{customElements.define(t,e)})):customElements.define(t,e)};export{t as customElement};\n//# sourceMappingURL=custom-element.js.map\n","/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&\"adoptedStyleSheets\"in Document.prototype&&\"replace\"in CSSStyleSheet.prototype,s=Symbol(),o=new WeakMap;class n{constructor(t,e,o){if(this._$cssResult$=!0,o!==s)throw Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const s=this.t;if(e&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=o.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&o.set(s,t))}return t}toString(){return this.cssText}}const r=t=>new n(\"string\"==typeof t?t:t+\"\",void 0,s),i=(t,...e)=>{const o=1===t.length?t[0]:e.reduce(((e,s,o)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if(\"number\"==typeof t)return t;throw Error(\"Value passed to 'css' function must be a 'css' function result: \"+t+\". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.\")})(s)+t[o+1]),t[0]);return new n(o,t,s)},S=(s,o)=>{if(e)s.adoptedStyleSheets=o.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet));else for(const e of o){const o=document.createElement(\"style\"),n=t.litNonce;void 0!==n&&o.setAttribute(\"nonce\",n),o.textContent=e.cssText,s.appendChild(o)}},c=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e=\"\";for(const s of t.cssRules)e+=s.cssText;return r(e)})(t):t;export{n as CSSResult,S as adoptStyles,i as css,c as getCompatibleStyle,e as supportsAdoptingStyleSheets,r as unsafeCSS};\n//# sourceMappingURL=css-tag.js.map\n","import{getCompatibleStyle as t,adoptStyles as s}from\"./css-tag.js\";export{CSSResult,css,supportsAdoptingStyleSheets,unsafeCSS}from\"./css-tag.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{is:i,defineProperty:e,getOwnPropertyDescriptor:h,getOwnPropertyNames:r,getOwnPropertySymbols:o,getPrototypeOf:n}=Object,a=globalThis,c=a.trustedTypes,l=c?c.emptyScript:\"\",p=a.reactiveElementPolyfillSupport,d=(t,s)=>t,u={toAttribute(t,s){switch(s){case Boolean:t=t?l:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,s){let i=t;switch(s){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},f=(t,s)=>!i(t,s),b={attribute:!0,type:String,converter:u,reflect:!1,useDefault:!1,hasChanged:f};Symbol.metadata??=Symbol(\"metadata\"),a.litPropertyMetadata??=new WeakMap;class y extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,s=b){if(s.state&&(s.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((s=Object.create(s)).wrapped=!0),this.elementProperties.set(t,s),!s.noAccessor){const i=Symbol(),h=this.getPropertyDescriptor(t,i,s);void 0!==h&&e(this.prototype,t,h)}}static getPropertyDescriptor(t,s,i){const{get:e,set:r}=h(this.prototype,t)??{get(){return this[s]},set(t){this[s]=t}};return{get:e,set(s){const h=e?.call(this);r?.call(this,s),this.requestUpdate(t,h,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??b}static _$Ei(){if(this.hasOwnProperty(d(\"elementProperties\")))return;const t=n(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(d(\"finalized\")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(d(\"properties\"))){const t=this.properties,s=[...r(t),...o(t)];for(const i of s)this.createProperty(i,t[i])}const t=this[Symbol.metadata];if(null!==t){const s=litPropertyMetadata.get(t);if(void 0!==s)for(const[t,i]of s)this.elementProperties.set(t,i)}this._$Eh=new Map;for(const[t,s]of this.elementProperties){const i=this._$Eu(t,s);void 0!==i&&this._$Eh.set(i,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(s){const i=[];if(Array.isArray(s)){const e=new Set(s.flat(1/0).reverse());for(const s of e)i.unshift(t(s))}else void 0!==s&&i.push(t(s));return i}static _$Eu(t,s){const i=s.attribute;return!1===i?void 0:\"string\"==typeof i?i:\"string\"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((t=>t(this)))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,s=this.constructor.elementProperties;for(const i of s.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return s(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach((t=>t.hostConnected?.()))}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach((t=>t.hostDisconnected?.()))}attributeChangedCallback(t,s,i){this._$AK(t,i)}_$ET(t,s){const i=this.constructor.elementProperties.get(t),e=this.constructor._$Eu(t,i);if(void 0!==e&&!0===i.reflect){const h=(void 0!==i.converter?.toAttribute?i.converter:u).toAttribute(s,i.type);this._$Em=t,null==h?this.removeAttribute(e):this.setAttribute(e,h),this._$Em=null}}_$AK(t,s){const i=this.constructor,e=i._$Eh.get(t);if(void 0!==e&&this._$Em!==e){const t=i.getPropertyOptions(e),h=\"function\"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:u;this._$Em=e;const r=h.fromAttribute(s,t.type);this[e]=r??this._$Ej?.get(e)??r,this._$Em=null}}requestUpdate(t,s,i){if(void 0!==t){const e=this.constructor,h=this[t];if(i??=e.getPropertyOptions(t),!((i.hasChanged??f)(h,s)||i.useDefault&&i.reflect&&h===this._$Ej?.get(t)&&!this.hasAttribute(e._$Eu(t,i))))return;this.C(t,s,i)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(t,s,{useDefault:i,reflect:e,wrapped:h},r){i&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,r??s??this[t]),!0!==h||void 0!==r)||(this._$AL.has(t)||(this.hasUpdated||i||(s=void 0),this._$AL.set(t,s)),!0===e&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,s]of this._$Ep)this[t]=s;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[s,i]of t){const{wrapped:t}=i,e=this[s];!0!==t||this._$AL.has(s)||void 0===e||this.C(s,void 0,i,e)}}let t=!1;const s=this._$AL;try{t=this.shouldUpdate(s),t?(this.willUpdate(s),this._$EO?.forEach((t=>t.hostUpdate?.())),this.update(s)):this._$EM()}catch(s){throw t=!1,this._$EM(),s}t&&this._$AE(s)}willUpdate(t){}_$AE(t){this._$EO?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach((t=>this._$ET(t,this[t]))),this._$EM()}updated(t){}firstUpdated(t){}}y.elementStyles=[],y.shadowRootOptions={mode:\"open\"},y[d(\"elementProperties\")]=new Map,y[d(\"finalized\")]=new Map,p?.({ReactiveElement:y}),(a.reactiveElementVersions??=[]).push(\"2.1.1\");export{y as ReactiveElement,s as adoptStyles,u as defaultConverter,t as getCompatibleStyle,f as notEqual};\n//# sourceMappingURL=reactive-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,i=t.trustedTypes,s=i?i.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,e=\"$lit$\",h=`lit$${Math.random().toFixed(9).slice(2)}$`,o=\"?\"+h,n=`<${o}>`,r=document,l=()=>r.createComment(\"\"),c=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,a=Array.isArray,u=t=>a(t)||\"function\"==typeof t?.[Symbol.iterator],d=\"[ \\t\\n\\f\\r]\",f=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,v=/-->/g,_=/>/g,m=RegExp(`>|${d}(?:([^\\\\s\"'>=/]+)(${d}*=${d}*(?:[^ \\t\\n\\f\\r\"'\\`<>=]|(\"|')|))|$)`,\"g\"),p=/'/g,g=/\"/g,$=/^(?:script|style|textarea|title)$/i,y=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),x=y(1),b=y(2),w=y(3),T=Symbol.for(\"lit-noChange\"),E=Symbol.for(\"lit-nothing\"),A=new WeakMap,C=r.createTreeWalker(r,129);function P(t,i){if(!a(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return void 0!==s?s.createHTML(i):i}const V=(t,i)=>{const s=t.length-1,o=[];let r,l=2===i?\"<svg>\":3===i?\"<math>\":\"\",c=f;for(let i=0;i<s;i++){const s=t[i];let a,u,d=-1,y=0;for(;y<s.length&&(c.lastIndex=y,u=c.exec(s),null!==u);)y=c.lastIndex,c===f?\"!--\"===u[1]?c=v:void 0!==u[1]?c=_:void 0!==u[2]?($.test(u[2])&&(r=RegExp(\"</\"+u[2],\"g\")),c=m):void 0!==u[3]&&(c=m):c===m?\">\"===u[0]?(c=r??f,d=-1):void 0===u[1]?d=-2:(d=c.lastIndex-u[2].length,a=u[1],c=void 0===u[3]?m:'\"'===u[3]?g:p):c===g||c===p?c=m:c===v||c===_?c=f:(c=m,r=void 0);const x=c===m&&t[i+1].startsWith(\"/>\")?\" \":\"\";l+=c===f?s+n:d>=0?(o.push(a),s.slice(0,d)+e+s.slice(d)+h+x):s+h+(-2===d?i:x)}return[P(t,l+(t[s]||\"<?>\")+(2===i?\"</svg>\":3===i?\"</math>\":\"\")),o]};class N{constructor({strings:t,_$litType$:s},n){let r;this.parts=[];let c=0,a=0;const u=t.length-1,d=this.parts,[f,v]=V(t,s);if(this.el=N.createElement(f,n),C.currentNode=this.el.content,2===s||3===s){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(r=C.nextNode())&&d.length<u;){if(1===r.nodeType){if(r.hasAttributes())for(const t of r.getAttributeNames())if(t.endsWith(e)){const i=v[a++],s=r.getAttribute(t).split(h),e=/([.?@])?(.*)/.exec(i);d.push({type:1,index:c,name:e[2],strings:s,ctor:\".\"===e[1]?H:\"?\"===e[1]?I:\"@\"===e[1]?L:k}),r.removeAttribute(t)}else t.startsWith(h)&&(d.push({type:6,index:c}),r.removeAttribute(t));if($.test(r.tagName)){const t=r.textContent.split(h),s=t.length-1;if(s>0){r.textContent=i?i.emptyScript:\"\";for(let i=0;i<s;i++)r.append(t[i],l()),C.nextNode(),d.push({type:2,index:++c});r.append(t[s],l())}}}else if(8===r.nodeType)if(r.data===o)d.push({type:2,index:c});else{let t=-1;for(;-1!==(t=r.data.indexOf(h,t+1));)d.push({type:7,index:c}),t+=h.length-1}c++}}static createElement(t,i){const s=r.createElement(\"template\");return s.innerHTML=t,s}}function S(t,i,s=t,e){if(i===T)return i;let h=void 0!==e?s._$Co?.[e]:s._$Cl;const o=c(i)?void 0:i._$litDirective$;return h?.constructor!==o&&(h?._$AO?.(!1),void 0===o?h=void 0:(h=new o(t),h._$AT(t,s,e)),void 0!==e?(s._$Co??=[])[e]=h:s._$Cl=h),void 0!==h&&(i=S(t,h._$AS(t,i.values),h,e)),i}class M{constructor(t,i){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=i}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:i},parts:s}=this._$AD,e=(t?.creationScope??r).importNode(i,!0);C.currentNode=e;let h=C.nextNode(),o=0,n=0,l=s[0];for(;void 0!==l;){if(o===l.index){let i;2===l.type?i=new R(h,h.nextSibling,this,t):1===l.type?i=new l.ctor(h,l.name,l.strings,this,t):6===l.type&&(i=new z(h,this,t)),this._$AV.push(i),l=s[++n]}o!==l?.index&&(h=C.nextNode(),o++)}return C.currentNode=r,e}p(t){let i=0;for(const s of this._$AV)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++}}class R{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,i,s,e){this.type=2,this._$AH=E,this._$AN=void 0,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cv=e?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return void 0!==i&&11===t?.nodeType&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=S(this,t,i),c(t)?t===E||null==t||\"\"===t?(this._$AH!==E&&this._$AR(),this._$AH=E):t!==this._$AH&&t!==T&&this._(t):void 0!==t._$litType$?this.$(t):void 0!==t.nodeType?this.T(t):u(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==E&&c(this._$AH)?this._$AA.nextSibling.data=t:this.T(r.createTextNode(t)),this._$AH=t}$(t){const{values:i,_$litType$:s}=t,e=\"number\"==typeof s?this._$AC(t):(void 0===s.el&&(s.el=N.createElement(P(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===e)this._$AH.p(i);else{const t=new M(e,this),s=t.u(this.options);t.p(i),this.T(s),this._$AH=t}}_$AC(t){let i=A.get(t.strings);return void 0===i&&A.set(t.strings,i=new N(t)),i}k(t){a(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const h of t)e===i.length?i.push(s=new R(this.O(l()),this.O(l()),this,this.options)):s=i[e],s._$AI(h),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e)}_$AR(t=this._$AA.nextSibling,i){for(this._$AP?.(!1,!0,i);t!==this._$AB;){const i=t.nextSibling;t.remove(),t=i}}setConnected(t){void 0===this._$AM&&(this._$Cv=t,this._$AP?.(t))}}class k{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,i,s,e,h){this.type=1,this._$AH=E,this._$AN=void 0,this.element=t,this.name=i,this._$AM=e,this.options=h,s.length>2||\"\"!==s[0]||\"\"!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=E}_$AI(t,i=this,s,e){const h=this.strings;let o=!1;if(void 0===h)t=S(this,t,i,0),o=!c(t)||t!==this._$AH&&t!==T,o&&(this._$AH=t);else{const e=t;let n,r;for(t=h[0],n=0;n<h.length-1;n++)r=S(this,e[s+n],i,n),r===T&&(r=this._$AH[n]),o||=!c(r)||r!==this._$AH[n],r===E?t=E:t!==E&&(t+=(r??\"\")+h[n+1]),this._$AH[n]=r}o&&!e&&this.j(t)}j(t){t===E?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??\"\")}}class H extends k{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===E?void 0:t}}class I extends k{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==E)}}class L extends k{constructor(t,i,s,e,h){super(t,i,s,e,h),this.type=5}_$AI(t,i=this){if((t=S(this,t,i,0)??E)===T)return;const s=this._$AH,e=t===E&&s!==E||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,h=t!==E&&(s===E||e);e&&this.element.removeEventListener(this.name,this,s),h&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){\"function\"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}}class z{constructor(t,i,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=i,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){S(this,t)}}const Z={M:e,P:h,A:o,C:1,L:V,R:M,D:u,V:S,I:R,H:k,N:I,U:L,B:H,F:z},j=t.litHtmlPolyfillSupport;j?.(N,R),(t.litHtmlVersions??=[]).push(\"3.3.1\");const B=(t,i,s)=>{const e=s?.renderBefore??i;let h=e._$litPart$;if(void 0===h){const t=s?.renderBefore??null;e._$litPart$=h=new R(i.insertBefore(l(),t),t,void 0,s??{})}return h._$AI(t),h};export{Z as _$LH,x as html,w as mathml,T as noChange,E as nothing,B as render,b as svg};\n//# sourceMappingURL=lit-html.js.map\n","import{ReactiveElement as t}from\"@lit/reactive-element\";export*from\"@lit/reactive-element\";import{render as e,noChange as r}from\"lit-html\";export*from\"lit-html\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const s=globalThis;class i extends t{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const r=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=e(r,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return r}}i._$litElement$=!0,i[\"finalized\"]=!0,s.litElementHydrateSupport?.({LitElement:i});const o=s.litElementPolyfillSupport;o?.({LitElement:i});const n={_$AK:(t,e,r)=>{t._$AK(e,r)},_$AL:t=>t._$AL};(s.litElementVersions??=[]).push(\"4.2.1\");export{i as LitElement,n as _$LE};\n//# sourceMappingURL=lit-element.js.map\n","import{defaultConverter as t,notEqual as e}from\"../reactive-element.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const o={attribute:!0,type:String,converter:t,reflect:!1,hasChanged:e},r=(t=o,e,r)=>{const{kind:n,metadata:i}=r;let s=globalThis.litPropertyMetadata.get(i);if(void 0===s&&globalThis.litPropertyMetadata.set(i,s=new Map),\"setter\"===n&&((t=Object.create(t)).wrapped=!0),s.set(r.name,t),\"accessor\"===n){const{name:o}=r;return{set(r){const n=e.get.call(this);e.set.call(this,r),this.requestUpdate(o,n,t)},init(e){return void 0!==e&&this.C(o,void 0,t,e),e}}}if(\"setter\"===n){const{name:o}=r;return function(r){const n=this[o];e.call(this,r),this.requestUpdate(o,n,t)}}throw Error(\"Unsupported decorator location: \"+n)};function n(t){return(e,o)=>\"object\"==typeof o?r(t,e,o):((t,e,o)=>{const r=e.hasOwnProperty(o);return e.constructor.createProperty(o,t),r?Object.getOwnPropertyDescriptor(e,o):void 0})(t,e,o)}export{n as property,r as standardProperty};\n//# sourceMappingURL=property.js.map\n","import{property as t}from\"./property.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function r(r){return t({...r,state:!0,attribute:!1})}export{r as state};\n//# sourceMappingURL=state.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst e=(e,t,c)=>(c.configurable=!0,c.enumerable=!0,Reflect.decorate&&\"object\"!=typeof t&&Object.defineProperty(e,t,c),c);export{e as desc};\n//# sourceMappingURL=base.js.map\n","import{desc as t}from\"./base.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function e(e,r){return(n,s,i)=>{const o=t=>t.renderRoot?.querySelector(e)??null;if(r){const{get:e,set:r}=\"object\"==typeof s?n:i??(()=>{const t=Symbol();return{get(){return this[t]},set(e){this[t]=e}}})();return t(n,s,{get(){let t=e.call(this);return void 0===t&&(t=o(this),(null!==t||this.hasUpdated)&&r.call(this,t)),t}})}return t(n,s,{get(){return o(this)}})}}export{e as query};\n//# sourceMappingURL=query.js.map\n","import {css, html, LitElement} from \"lit\";\nimport {customElement, property, query, state} from \"lit/decorators.js\";\nimport {Asset, AssetModelUtil, Attribute, AttributeRef} from \"@openremote/model\";\nimport { Gauge, GaugeOptions } from \"gaugeJS\";\nimport manager, { Util } from \"@openremote/core\";\nimport {i18next} from \"@openremote/or-translate\";\nimport debounce from \"lodash.debounce\";\nimport { getAssetDescriptorIconTemplate } from \"@openremote/or-icon\";\n\n//language=css\nconst styling = css`\n :host {\n display: flex;\n align-items: center;\n flex-direction: column;\n }\n\n #chart-wrapper {\n position: relative;\n width: 100%;\n height: 100%;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n }\n #chart-container {\n display: flex;\n justify-content: center;\n align-items: center;\n }\n\n #chart {\n width: 100%;\n }\n\n .chart-description {\n margin: 0 20px;\n font-size: 16px;\n z-index: 3;\n }\n .mainvalue-wrapper {\n width: 100%;\n display: flex;\n flex: 0 0 60px;\n align-items: center;\n justify-content: center;\n }\n .main-number {\n color: var(--internal-or-asset-viewer-title-text-color);\n font-size: 42px;\n }\n\n .main-number-icon {\n font-size: 24px;\n margin-right: 10px;\n display: flex;\n }\n\n .main-number-unit {\n font-size: 42px;\n color: var(--internal-or-asset-viewer-title-text-color);\n font-weight: 200;\n margin-left: 5px;\n }\n\n .main-number.xs, .main-number-unit.xs {\n font-size: 18px;\n }\n .main-number.s, .main-number-unit.s {\n font-size: 24px;\n }\n .main-number.m, .main-number-unit.m {\n font-size: 30px;\n }\n .main-number.l, .main-number-unit.l {\n font-size: 36px;\n }\n .main-number.xl, .main-number-unit.xl {\n font-size: 42px;\n }\n .main-number.unknown, .main-number-unit.unknown {\n font-size: unset;\n }\n`\nexport interface OrGaugeConfig {\n attributeRef?: AttributeRef;\n thresholds?: [number, string][]\n options?: GaugeOptions;\n}\n\n@customElement(\"or-gauge\")\nexport class OrGauge extends LitElement {\n\n static get styles() {\n return [styling]\n }\n\n @property({type: Object})\n public attrRef?: AttributeRef;\n\n @property({type: Object})\n public asset?: Asset;\n\n @property({type: Object})\n public assetAttribute?: [number, Attribute<any>];\n\n @property()\n public value?: number;\n\n @property()\n public decimals: number = 0;\n\n @property()\n public unit?: string;\n\n @property()\n public min?: number;\n\n @property()\n public max?: number;\n\n @property()\n public thresholds?: [number, string][];\n\n @property()\n public readonly config?: OrGaugeConfig;\n\n @property({type: String})\n public realm?: string;\n\n\n @state()\n protected loading: boolean = false;\n\n @state()\n private gauge?: Gauge;\n\n @state()\n private gaugeSize?: { width: number, height: number }\n\n @query(\"#chart\")\n private _gaugeElem!: HTMLCanvasElement;\n\n @query(\"#chart-wrapper\")\n private _wrapperElem!: HTMLElement;\n\n @query(\"#details-container\")\n private _detailsElem!: HTMLElement;\n\n private resizeObserver?: ResizeObserver;\n\n\n constructor() {\n super();\n if(!this.config) {\n this.config = this.getDefaultConfig();\n }\n // Register observer when gauge size changes\n this.updateComplete.then(() => {\n this.resizeObserver = new ResizeObserver(debounce((entries: ResizeObserverEntry[]) => {\n const size = entries[0].contentRect;\n this.gaugeSize = {\n width: size.width,\n height: size.height\n }\n this.updateComplete.then(() => {\n this.setupGauge(); // recreate gauge since the library is not 100% responsive.\n });\n }, 200))\n this.resizeObserver.observe(this._wrapperElem);\n })\n }\n\n // Processing changes before update, to prevent extra render\n willUpdate(changedProps: Map<string, any>) {\n if(changedProps.has('assetAttribute')) {\n const attr = this.assetAttribute![1];\n const attributeDescriptor = AssetModelUtil.getAttributeDescriptor(attr.name!, this.asset!.type!);\n this.unit = Util.resolveUnits(Util.getAttributeUnits(attr, attributeDescriptor, this.asset!.type));\n this.value = attr.value != null ? attr.value : NaN;\n }\n }\n\n // After render took place...\n updated(changedProperties: Map<string, any>) {\n if(changedProperties.has('value')) {\n this.gauge?.set(this.value != null ? this.value : NaN);\n }\n if(changedProperties.has('attrRef')) {\n if(this.attrRef) {\n this.loadData(this.attrRef);\n } else {\n this.assetAttribute = undefined;\n this.value = undefined;\n }\n }\n\n // Render gauge again if..\n if(changedProperties.has('min') && this.min != null && this.gauge) {\n this.gauge.setMinValue(this.min);\n this.gauge.set(this.value != null ? this.value : NaN);\n }\n if(changedProperties.has('max') && this.max != null && this.gauge) {\n this.gauge.maxValue = this.max;\n this.gauge.set(this.value != null ? this.value : NaN);\n }\n if(changedProperties.has('thresholds') && this.thresholds) {\n\n // Make staticZones out of the thresholds.\n // If below the minimum or above the maximum, set the value according to it.\n this.config!.options!.staticZones = [];\n this.thresholds.sort((x, y) => (x[0] < y[0]) ? -1 : 1).forEach(((threshold, index) => {\n const min = threshold[0];\n const max = (this.thresholds![index + 1] ? this.thresholds![index + 1][0] : this.max);\n const zone = {\n strokeStyle: threshold[1],\n min: ((this.min && min && this.min > min) ? this.min : ((this.max && min && this.max < min) ? this.max : min)),\n max: ((this.max && max && this.max < max) ? this.max : ((this.min && max && this.min > max) ? this.min : max))\n };\n this.config?.options?.staticZones?.push(zone as any);\n }));\n\n // The lowest staticZone should ALWAYS have the minimum value, to prevent the graphic displaying incorrectly.\n if(this.min && this.config?.options?.staticZones) {\n this.config.options.staticZones[0].min = this.min;\n }\n\n // Applying the options we changed.\n if(this.gauge) {\n this.gauge.setOptions(this.config?.options);\n }\n }\n }\n\n setupGauge() {\n this.gauge = new Gauge(this._gaugeElem);\n this.gauge.setOptions(this.config?.options);\n this.gauge.maxValue = (this.max ? this.max : 100)\n this.gauge.setMinValue(this.min ? this.min : 0);\n this.gauge.animationSpeed = 1;\n this.gauge.set(this.value != null ? this.value : NaN);\n if(this.value == null && this.attrRef) {\n this.loadData(this.attrRef);\n }\n }\n\n getGaugeWidth(gaugeSize?: { width: number, height: number }, includeLabelHeight: boolean = true): string {\n if(!gaugeSize) {\n return \"unset\"\n }\n const width = gaugeSize.width;\n const height = (includeLabelHeight ? (gaugeSize.height - this._detailsElem.clientHeight) : gaugeSize.height) * 1.5;\n return Math.min(width, height) + \"px\";\n }\n shouldShowLabel(gaugeSize: { width: number, height: number }): boolean {\n return (gaugeSize.width > 70) && (gaugeSize.height > 100);\n }\n getLabelSize(width: number): \"s\" | \"m\" | \"l\" | \"xl\" {\n if(width < 120) {\n return \"s\";\n } else if(width < 240) {\n return \"m\";\n } else if(width < 320) {\n return \"l\"\n } else {\n return \"xl\"\n }\n }\n\n render() {\n const formattedVal = (this.value != null ? +this.value.toFixed(this.decimals) : NaN); // + operator prevents str return\n\n // Set width/height values based on size\n const showLabel = this.gaugeSize ? this.shouldShowLabel(this.gaugeSize) : true;\n const labelSize = showLabel && this.gaugeSize ? this.getLabelSize(this.gaugeSize.width) : \"unknown\"\n const gaugeWidth = this.getGaugeWidth(this.gaugeSize, showLabel);\n\n return html`\n <div style=\"position: relative; height: 100%; width: 100%;\">\n <div id=\"chart-wrapper\" style=\"display: ${this.loading ? 'none' : 'flex'};\">\n <div id=\"chart-container\" style=\"flex: 0 0 0; width: ${gaugeWidth};\">\n <canvas id=\"chart\"></canvas>\n </div>\n <div id=\"details-container\">\n ${showLabel ? html`\n <div class=\"mainvalue-wrapper\">\n <span class=\"main-number-icon\">${this.asset ? getAssetDescriptorIconTemplate(AssetModelUtil.getAssetDescriptor(this.asset.type)) : \"\"}</span>\n <span class=\"main-number ${labelSize}\">${formattedVal}</span>\n <span class=\"main-number-unit ${labelSize}\">${this.unit ? this.unit : \"\"}</span>\n </div>\n ` : undefined}\n </div>\n </div>\n </div>\n ${this.loading ? html`\n <span>${i18next.t('loading')}</span>\n ` : undefined}\n `\n }\n\n async loadData(attrRef: AttributeRef) {\n const response = await manager.rest.api.AssetResource.queryAssets({ ids: [attrRef.id!] });\n const assets = response.data;\n const assetAttributes = [attrRef].map((attrRef) => {\n const assetIndex = assets.findIndex((asset) => asset.id === attrRef.id);\n const asset = assetIndex >= 0 ? assets[assetIndex] : undefined;\n return asset && asset.attributes ? [assetIndex, asset.attributes[attrRef.name!]] : undefined;\n }).filter((indexAndAttr) => !!indexAndAttr) as [number, Attribute<any>][];\n\n this.asset = assets[0];\n this.assetAttribute = assetAttributes[0];\n }\n\n getDefaultConfig(): OrGaugeConfig {\n return {\n attributeRef: undefined,\n options: {\n angle: 0,\n lineWidth: 0.4,\n radiusScale: 1,\n pointer: {\n length: 0.5,\n strokeWidth: 0.035,\n color: \"#000000\",\n },\n staticZones: [],\n limitMax: true,\n limitMin: true,\n colorStart: \"#000000\",\n colorStop: \"#707070\",\n strokeColor: \"#ABCDEF\",\n generateGradient: false,\n highDpiSupport: true\n }\n }\n }\n}\n"],"names":["window","requestAnimationFrame","e","Math","Date","clearTimeout","arguments","t","r","isFinite","parseFloat","Number","AnimationUpdater","Error","Image","$","G_vmlCanvasManager","i","parseInt","Array","s","cancelAnimationFrame","define","Object","self","Function","l","TypeError","setTimeout","globalThis","Symbol","Document","CSSStyleSheet","WeakMap","Boolean","JSON","String","HTMLElement","Map","litPropertyMetadata","Set","Promise","document","n","RegExp","a","o","Reflect","ResizeObserver","NaN","customElements"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.bundle.js","sources":["webpack://ORGauge/../../../node_modules/gaugeJS/dist/gauge.js","webpack://ORGauge/../../../node_modules/lodash.debounce/index.js","webpack://ORGauge/webpack/runtime/compat_get_default_export","webpack://ORGauge/webpack/runtime/define_property_getters","webpack://ORGauge/webpack/runtime/global","webpack://ORGauge/webpack/runtime/has_own_property","webpack://ORGauge/webpack/runtime/make_namespace_object","webpack://ORGauge/../../../node_modules/@lit/reactive-element/decorators/custom-element.js","webpack://ORGauge/../../../node_modules/@lit/reactive-element/css-tag.js","webpack://ORGauge/../../../node_modules/@lit/reactive-element/reactive-element.js","webpack://ORGauge/../../../node_modules/lit-html/lit-html.js","webpack://ORGauge/../../../node_modules/lit-element/lit-element.js","webpack://ORGauge/../../../node_modules/@lit/reactive-element/decorators/property.js","webpack://ORGauge/../../../node_modules/@lit/reactive-element/decorators/state.js","webpack://ORGauge/../../../node_modules/@lit/reactive-element/decorators/base.js","webpack://ORGauge/../../../node_modules/@lit/reactive-element/decorators/query.js","webpack://ORGauge/./src/index.ts"],"sourcesContent":["// Generated by CoffeeScript 1.12.7\n(function() {\n var AnimatedText, AnimatedTextFactory, AnimationUpdater, Bar, BaseDonut, BaseGauge, Donut, Gauge, GaugePointer, TextRenderer, ValueUpdater, addCommas, cutHex, formatNumber, mergeObjects, secondsToString,\n slice = [].slice,\n hasProp = {}.hasOwnProperty,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; };\n\n (function() {\n var browserRequestAnimationFrame, isCancelled, j, lastId, len, vendor, vendors;\n vendors = ['ms', 'moz', 'webkit', 'o'];\n for (j = 0, len = vendors.length; j < len; j++) {\n vendor = vendors[j];\n if (window.requestAnimationFrame) {\n break;\n }\n window.requestAnimationFrame = window[vendor + 'RequestAnimationFrame'];\n window.cancelAnimationFrame = window[vendor + 'CancelAnimationFrame'] || window[vendor + 'CancelRequestAnimationFrame'];\n }\n browserRequestAnimationFrame = null;\n lastId = 0;\n isCancelled = {};\n if (!window.requestAnimationFrame) {\n window.requestAnimationFrame = function(callback, element) {\n var currTime, id, lastTime, timeToCall;\n currTime = new Date().getTime();\n timeToCall = Math.max(0, 16 - (currTime - lastTime));\n id = window.setTimeout(function() {\n return callback(currTime + timeToCall);\n }, timeToCall);\n lastTime = currTime + timeToCall;\n return id;\n };\n return window.cancelAnimationFrame = function(id) {\n return clearTimeout(id);\n };\n } else if (!window.cancelAnimationFrame) {\n browserRequestAnimationFrame = window.requestAnimationFrame;\n window.requestAnimationFrame = function(callback, element) {\n var myId;\n myId = ++lastId;\n browserRequestAnimationFrame(function() {\n if (!isCancelled[myId]) {\n return callback();\n }\n }, element);\n return myId;\n };\n return window.cancelAnimationFrame = function(id) {\n return isCancelled[id] = true;\n };\n }\n })();\n\n secondsToString = function(sec) {\n var hr, min;\n hr = Math.floor(sec / 3600);\n min = Math.floor((sec - (hr * 3600)) / 60);\n sec -= (hr * 3600) + (min * 60);\n sec += '';\n min += '';\n while (min.length < 2) {\n min = '0' + min;\n }\n while (sec.length < 2) {\n sec = '0' + sec;\n }\n hr = hr ? hr + ':' : '';\n return hr + min + ':' + sec;\n };\n\n formatNumber = function() {\n var digits, num, value;\n num = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n value = num[0];\n digits = 0 || num[1];\n return addCommas(value.toFixed(digits));\n };\n\n mergeObjects = function(obj1, obj2) {\n var key, out, val;\n out = {};\n for (key in obj1) {\n if (!hasProp.call(obj1, key)) continue;\n val = obj1[key];\n out[key] = val;\n }\n for (key in obj2) {\n if (!hasProp.call(obj2, key)) continue;\n val = obj2[key];\n out[key] = val;\n }\n return out;\n };\n\n addCommas = function(nStr) {\n var rgx, x, x1, x2;\n nStr += '';\n x = nStr.split('.');\n x1 = x[0];\n x2 = '';\n if (x.length > 1) {\n x2 = '.' + x[1];\n }\n rgx = /(\\d+)(\\d{3})/;\n while (rgx.test(x1)) {\n x1 = x1.replace(rgx, '$1' + ',' + '$2');\n }\n return x1 + x2;\n };\n\n cutHex = function(nStr) {\n if (nStr.charAt(0) === \"#\") {\n return nStr.substring(1, 7);\n }\n return nStr;\n };\n\n ValueUpdater = (function() {\n ValueUpdater.prototype.animationSpeed = 32;\n\n function ValueUpdater(addToAnimationQueue, clear) {\n if (addToAnimationQueue == null) {\n addToAnimationQueue = true;\n }\n this.clear = clear != null ? clear : true;\n if (addToAnimationQueue) {\n AnimationUpdater.add(this);\n }\n }\n\n ValueUpdater.prototype.update = function(force) {\n var diff;\n if (force == null) {\n force = false;\n }\n if (force || this.displayedValue !== this.value) {\n if (this.ctx && this.clear) {\n this.ctx.clearRect(0, 0, this.canvas.width, this.canvas.height);\n }\n diff = this.value - this.displayedValue;\n if (Math.abs(diff / this.animationSpeed) <= 0.001) {\n this.displayedValue = this.value;\n } else {\n this.displayedValue = this.displayedValue + diff / this.animationSpeed;\n }\n this.render();\n return true;\n }\n return false;\n };\n\n return ValueUpdater;\n\n })();\n\n BaseGauge = (function(superClass) {\n extend(BaseGauge, superClass);\n\n function BaseGauge() {\n return BaseGauge.__super__.constructor.apply(this, arguments);\n }\n\n BaseGauge.prototype.displayScale = 1;\n\n BaseGauge.prototype.forceUpdate = true;\n\n BaseGauge.prototype.setTextField = function(textField, fractionDigits) {\n return this.textField = textField instanceof TextRenderer ? textField : new TextRenderer(textField, fractionDigits);\n };\n\n BaseGauge.prototype.setMinValue = function(minValue, updateStartValue) {\n var gauge, j, len, ref, results;\n this.minValue = minValue;\n if (updateStartValue == null) {\n updateStartValue = true;\n }\n if (updateStartValue) {\n this.displayedValue = this.minValue;\n ref = this.gp || [];\n results = [];\n for (j = 0, len = ref.length; j < len; j++) {\n gauge = ref[j];\n results.push(gauge.displayedValue = this.minValue);\n }\n return results;\n }\n };\n\n BaseGauge.prototype.setOptions = function(options) {\n if (options == null) {\n options = null;\n }\n this.options = mergeObjects(this.options, options);\n if (this.textField) {\n this.textField.el.style.fontSize = options.fontSize + 'px';\n }\n if (this.options.angle > .5) {\n this.options.angle = .5;\n }\n this.configDisplayScale();\n return this;\n };\n\n BaseGauge.prototype.configDisplayScale = function() {\n var backingStorePixelRatio, devicePixelRatio, height, prevDisplayScale, width;\n prevDisplayScale = this.displayScale;\n if (this.options.highDpiSupport === false) {\n delete this.displayScale;\n } else {\n devicePixelRatio = window.devicePixelRatio || 1;\n backingStorePixelRatio = this.ctx.webkitBackingStorePixelRatio || this.ctx.mozBackingStorePixelRatio || this.ctx.msBackingStorePixelRatio || this.ctx.oBackingStorePixelRatio || this.ctx.backingStorePixelRatio || 1;\n this.displayScale = devicePixelRatio / backingStorePixelRatio;\n }\n if (this.displayScale !== prevDisplayScale) {\n width = this.canvas.G__width || this.canvas.width;\n height = this.canvas.G__height || this.canvas.height;\n this.canvas.width = width * this.displayScale;\n this.canvas.height = height * this.displayScale;\n this.canvas.style.width = width + \"px\";\n this.canvas.style.height = height + \"px\";\n this.canvas.G__width = width;\n this.canvas.G__height = height;\n }\n return this;\n };\n\n BaseGauge.prototype.parseValue = function(value) {\n value = parseFloat(value) || Number(value);\n if (isFinite(value)) {\n return value;\n } else {\n return 0;\n }\n };\n\n return BaseGauge;\n\n })(ValueUpdater);\n\n TextRenderer = (function() {\n function TextRenderer(el, fractionDigits1) {\n this.el = el;\n this.fractionDigits = fractionDigits1;\n }\n\n TextRenderer.prototype.render = function(gauge) {\n return this.el.innerHTML = formatNumber(gauge.displayedValue, this.fractionDigits);\n };\n\n return TextRenderer;\n\n })();\n\n AnimatedText = (function(superClass) {\n extend(AnimatedText, superClass);\n\n AnimatedText.prototype.displayedValue = 0;\n\n AnimatedText.prototype.value = 0;\n\n AnimatedText.prototype.setVal = function(value) {\n return this.value = 1 * value;\n };\n\n function AnimatedText(elem1, text) {\n this.elem = elem1;\n this.text = text != null ? text : false;\n AnimatedText.__super__.constructor.call(this);\n if (this.elem === void 0) {\n throw new Error('The element isn\\'t defined.');\n }\n this.value = 1 * this.elem.innerHTML;\n if (this.text) {\n this.value = 0;\n }\n }\n\n AnimatedText.prototype.render = function() {\n var textVal;\n if (this.text) {\n textVal = secondsToString(this.displayedValue.toFixed(0));\n } else {\n textVal = addCommas(formatNumber(this.displayedValue));\n }\n return this.elem.innerHTML = textVal;\n };\n\n return AnimatedText;\n\n })(ValueUpdater);\n\n AnimatedTextFactory = {\n create: function(objList) {\n var elem, j, len, out;\n out = [];\n for (j = 0, len = objList.length; j < len; j++) {\n elem = objList[j];\n out.push(new AnimatedText(elem));\n }\n return out;\n }\n };\n\n GaugePointer = (function(superClass) {\n extend(GaugePointer, superClass);\n\n GaugePointer.prototype.displayedValue = 0;\n\n GaugePointer.prototype.value = 0;\n\n GaugePointer.prototype.options = {\n strokeWidth: 0.035,\n length: 0.1,\n color: \"#000000\",\n iconPath: null,\n iconScale: 1.0,\n iconAngle: 0\n };\n\n GaugePointer.prototype.img = null;\n\n function GaugePointer(gauge1) {\n this.gauge = gauge1;\n if (this.gauge === void 0) {\n throw new Error('The element isn\\'t defined.');\n }\n this.ctx = this.gauge.ctx;\n this.canvas = this.gauge.canvas;\n GaugePointer.__super__.constructor.call(this, false, false);\n this.setOptions();\n }\n\n GaugePointer.prototype.setOptions = function(options) {\n if (options == null) {\n options = null;\n }\n this.options = mergeObjects(this.options, options);\n this.length = 2 * this.gauge.radius * this.gauge.options.radiusScale * this.options.length;\n this.strokeWidth = this.canvas.height * this.options.strokeWidth;\n this.maxValue = this.gauge.maxValue;\n this.minValue = this.gauge.minValue;\n this.animationSpeed = this.gauge.animationSpeed;\n this.options.angle = this.gauge.options.angle;\n if (this.options.iconPath) {\n this.img = new Image();\n return this.img.src = this.options.iconPath;\n }\n };\n\n GaugePointer.prototype.render = function() {\n var angle, endX, endY, imgX, imgY, startX, startY, x, y;\n angle = this.gauge.getAngle.call(this, this.displayedValue);\n x = Math.round(this.length * Math.cos(angle));\n y = Math.round(this.length * Math.sin(angle));\n startX = Math.round(this.strokeWidth * Math.cos(angle - Math.PI / 2));\n startY = Math.round(this.strokeWidth * Math.sin(angle - Math.PI / 2));\n endX = Math.round(this.strokeWidth * Math.cos(angle + Math.PI / 2));\n endY = Math.round(this.strokeWidth * Math.sin(angle + Math.PI / 2));\n this.ctx.beginPath();\n this.ctx.fillStyle = this.options.color;\n this.ctx.arc(0, 0, this.strokeWidth, 0, Math.PI * 2, false);\n this.ctx.fill();\n this.ctx.beginPath();\n this.ctx.moveTo(startX, startY);\n this.ctx.lineTo(x, y);\n this.ctx.lineTo(endX, endY);\n this.ctx.fill();\n if (this.img) {\n imgX = Math.round(this.img.width * this.options.iconScale);\n imgY = Math.round(this.img.height * this.options.iconScale);\n this.ctx.save();\n this.ctx.translate(x, y);\n this.ctx.rotate(angle + Math.PI / 180.0 * (90 + this.options.iconAngle));\n this.ctx.drawImage(this.img, -imgX / 2, -imgY / 2, imgX, imgY);\n return this.ctx.restore();\n }\n };\n\n return GaugePointer;\n\n })(ValueUpdater);\n\n Bar = (function() {\n function Bar(elem1) {\n this.elem = elem1;\n }\n\n Bar.prototype.updateValues = function(arrValues) {\n this.value = arrValues[0];\n this.maxValue = arrValues[1];\n this.avgValue = arrValues[2];\n return this.render();\n };\n\n Bar.prototype.render = function() {\n var avgPercent, valPercent;\n if (this.textField) {\n this.textField.text(formatNumber(this.value));\n }\n if (this.maxValue === 0) {\n this.maxValue = this.avgValue * 2;\n }\n valPercent = (this.value / this.maxValue) * 100;\n avgPercent = (this.avgValue / this.maxValue) * 100;\n $(\".bar-value\", this.elem).css({\n \"width\": valPercent + \"%\"\n });\n return $(\".typical-value\", this.elem).css({\n \"width\": avgPercent + \"%\"\n });\n };\n\n return Bar;\n\n })();\n\n Gauge = (function(superClass) {\n extend(Gauge, superClass);\n\n Gauge.prototype.elem = null;\n\n Gauge.prototype.value = [20];\n\n Gauge.prototype.maxValue = 80;\n\n Gauge.prototype.minValue = 0;\n\n Gauge.prototype.displayedAngle = 0;\n\n Gauge.prototype.displayedValue = 0;\n\n Gauge.prototype.lineWidth = 40;\n\n Gauge.prototype.paddingTop = 0.1;\n\n Gauge.prototype.paddingBottom = 0.1;\n\n Gauge.prototype.percentColors = null;\n\n Gauge.prototype.options = {\n colorStart: \"#6fadcf\",\n colorStop: void 0,\n gradientType: 0,\n strokeColor: \"#e0e0e0\",\n pointer: {\n length: 0.8,\n strokeWidth: 0.035,\n iconScale: 1.0\n },\n angle: 0.15,\n lineWidth: 0.44,\n radiusScale: 1.0,\n fontSize: 40,\n limitMax: false,\n limitMin: false\n };\n\n function Gauge(canvas) {\n var h, w;\n this.canvas = canvas;\n Gauge.__super__.constructor.call(this);\n this.percentColors = null;\n if (typeof G_vmlCanvasManager !== 'undefined') {\n this.canvas = window.G_vmlCanvasManager.initElement(this.canvas);\n }\n this.ctx = this.canvas.getContext('2d');\n h = this.canvas.clientHeight;\n w = this.canvas.clientWidth;\n this.canvas.height = h;\n this.canvas.width = w;\n this.gp = [new GaugePointer(this)];\n this.setOptions();\n }\n\n Gauge.prototype.setOptions = function(options) {\n var gauge, j, len, phi, ref;\n if (options == null) {\n options = null;\n }\n Gauge.__super__.setOptions.call(this, options);\n this.configPercentColors();\n this.extraPadding = 0;\n if (this.options.angle < 0) {\n phi = Math.PI * (1 + this.options.angle);\n this.extraPadding = Math.sin(phi);\n }\n this.availableHeight = this.canvas.height * (1 - this.paddingTop - this.paddingBottom);\n this.lineWidth = this.availableHeight * this.options.lineWidth;\n this.radius = (this.availableHeight - this.lineWidth / 2) / (1.0 + this.extraPadding);\n this.ctx.clearRect(0, 0, this.canvas.width, this.canvas.height);\n ref = this.gp;\n for (j = 0, len = ref.length; j < len; j++) {\n gauge = ref[j];\n gauge.setOptions(this.options.pointer);\n gauge.render();\n }\n this.render();\n return this;\n };\n\n Gauge.prototype.configPercentColors = function() {\n var bval, gval, i, j, ref, results, rval;\n this.percentColors = null;\n if (this.options.percentColors !== void 0) {\n this.percentColors = new Array();\n results = [];\n for (i = j = 0, ref = this.options.percentColors.length - 1; 0 <= ref ? j <= ref : j >= ref; i = 0 <= ref ? ++j : --j) {\n rval = parseInt((cutHex(this.options.percentColors[i][1])).substring(0, 2), 16);\n gval = parseInt((cutHex(this.options.percentColors[i][1])).substring(2, 4), 16);\n bval = parseInt((cutHex(this.options.percentColors[i][1])).substring(4, 6), 16);\n results.push(this.percentColors[i] = {\n pct: this.options.percentColors[i][0],\n color: {\n r: rval,\n g: gval,\n b: bval\n }\n });\n }\n return results;\n }\n };\n\n Gauge.prototype.set = function(value) {\n var gp, i, j, l, len, m, ref, ref1, val;\n if (!(value instanceof Array)) {\n value = [value];\n }\n for (i = j = 0, ref = value.length - 1; 0 <= ref ? j <= ref : j >= ref; i = 0 <= ref ? ++j : --j) {\n value[i] = this.parseValue(value[i]);\n }\n if (value.length > this.gp.length) {\n for (i = l = 0, ref1 = value.length - this.gp.length; 0 <= ref1 ? l < ref1 : l > ref1; i = 0 <= ref1 ? ++l : --l) {\n gp = new GaugePointer(this);\n gp.setOptions(this.options.pointer);\n this.gp.push(gp);\n }\n } else if (value.length < this.gp.length) {\n this.gp = this.gp.slice(this.gp.length - value.length);\n }\n i = 0;\n for (m = 0, len = value.length; m < len; m++) {\n val = value[m];\n if (val > this.maxValue) {\n if (this.options.limitMax) {\n val = this.maxValue;\n } else {\n this.maxValue = val + 1;\n }\n } else if (val < this.minValue) {\n if (this.options.limitMin) {\n val = this.minValue;\n } else {\n this.minValue = val - 1;\n }\n }\n this.gp[i].value = val;\n this.gp[i++].setOptions({\n minValue: this.minValue,\n maxValue: this.maxValue,\n angle: this.options.angle\n });\n }\n this.value = Math.max(Math.min(value[value.length - 1], this.maxValue), this.minValue);\n AnimationUpdater.add(this);\n AnimationUpdater.run(this.forceUpdate);\n return this.forceUpdate = false;\n };\n\n Gauge.prototype.getAngle = function(value) {\n return (1 + this.options.angle) * Math.PI + ((value - this.minValue) / (this.maxValue - this.minValue)) * (1 - this.options.angle * 2) * Math.PI;\n };\n\n Gauge.prototype.getColorForPercentage = function(pct, grad) {\n var color, endColor, i, j, rangePct, ref, startColor;\n if (pct === 0) {\n color = this.percentColors[0].color;\n } else {\n color = this.percentColors[this.percentColors.length - 1].color;\n for (i = j = 0, ref = this.percentColors.length - 1; 0 <= ref ? j <= ref : j >= ref; i = 0 <= ref ? ++j : --j) {\n if (pct <= this.percentColors[i].pct) {\n if (grad === true) {\n startColor = this.percentColors[i - 1] || this.percentColors[0];\n endColor = this.percentColors[i];\n rangePct = (pct - startColor.pct) / (endColor.pct - startColor.pct);\n color = {\n r: Math.floor(startColor.color.r * (1 - rangePct) + endColor.color.r * rangePct),\n g: Math.floor(startColor.color.g * (1 - rangePct) + endColor.color.g * rangePct),\n b: Math.floor(startColor.color.b * (1 - rangePct) + endColor.color.b * rangePct)\n };\n } else {\n color = this.percentColors[i].color;\n }\n break;\n }\n }\n }\n return 'rgb(' + [color.r, color.g, color.b].join(',') + ')';\n };\n\n Gauge.prototype.getColorForValue = function(val, grad) {\n var pct;\n pct = (val - this.minValue) / (this.maxValue - this.minValue);\n return this.getColorForPercentage(pct, grad);\n };\n\n Gauge.prototype.renderStaticLabels = function(staticLabels, w, h, radius) {\n var font, fontsize, j, len, match, re, ref, rest, rotationAngle, value;\n this.ctx.save();\n this.ctx.translate(w, h);\n font = staticLabels.font || \"10px Times\";\n re = /\\d+\\.?\\d?/;\n match = font.match(re)[0];\n rest = font.slice(match.length);\n fontsize = parseFloat(match) * this.displayScale;\n this.ctx.font = fontsize + rest;\n this.ctx.fillStyle = staticLabels.color || \"#000000\";\n this.ctx.textBaseline = \"bottom\";\n this.ctx.textAlign = \"center\";\n ref = staticLabels.labels;\n for (j = 0, len = ref.length; j < len; j++) {\n value = ref[j];\n if (value.label !== void 0) {\n if ((!this.options.limitMin || value >= this.minValue) && (!this.options.limitMax || value <= this.maxValue)) {\n font = value.font || staticLabels.font;\n match = font.match(re)[0];\n rest = font.slice(match.length);\n fontsize = parseFloat(match) * this.displayScale;\n this.ctx.font = fontsize + rest;\n rotationAngle = this.getAngle(value.label) - 3 * Math.PI / 2;\n this.ctx.rotate(rotationAngle);\n this.ctx.fillText(formatNumber(value.label, staticLabels.fractionDigits), 0, -radius - this.lineWidth / 2);\n this.ctx.rotate(-rotationAngle);\n }\n } else {\n if ((!this.options.limitMin || value >= this.minValue) && (!this.options.limitMax || value <= this.maxValue)) {\n rotationAngle = this.getAngle(value) - 3 * Math.PI / 2;\n this.ctx.rotate(rotationAngle);\n this.ctx.fillText(formatNumber(value, staticLabels.fractionDigits), 0, -radius - this.lineWidth / 2);\n this.ctx.rotate(-rotationAngle);\n }\n }\n }\n return this.ctx.restore();\n };\n\n Gauge.prototype.renderTicks = function(ticksOptions, w, h, radius) {\n var currentDivision, currentSubDivision, divColor, divLength, divWidth, divisionCount, j, lineWidth, range, rangeDivisions, ref, results, scaleMutate, st, subColor, subDivisions, subLength, subWidth, subdivisionCount, t, tmpRadius;\n if (typeof ticksOptions === 'object' && ticksOptions !== null && Object.keys(ticksOptions).length > 0) {\n divisionCount = ticksOptions.divisions || 0;\n subdivisionCount = ticksOptions.subDivisions || 0;\n divColor = ticksOptions.divColor || '#fff';\n subColor = ticksOptions.subColor || '#fff';\n divLength = ticksOptions.divLength || 0.7;\n subLength = ticksOptions.subLength || 0.2;\n range = parseFloat(this.maxValue) - parseFloat(this.minValue);\n rangeDivisions = parseFloat(range) / parseFloat(ticksOptions.divisions);\n subDivisions = parseFloat(rangeDivisions) / parseFloat(ticksOptions.subDivisions);\n currentDivision = parseFloat(this.minValue);\n currentSubDivision = 0.0 + subDivisions;\n lineWidth = range / 400;\n divWidth = lineWidth * (ticksOptions.divWidth || 1);\n subWidth = lineWidth * (ticksOptions.subWidth || 1);\n results = [];\n for (t = j = 0, ref = divisionCount + 1; j < ref; t = j += 1) {\n this.ctx.lineWidth = this.lineWidth * divLength;\n scaleMutate = (this.lineWidth / 2) * (1 - divLength);\n tmpRadius = (this.radius * this.options.radiusScale) + scaleMutate;\n this.ctx.strokeStyle = divColor;\n this.ctx.beginPath();\n this.ctx.arc(0, 0, tmpRadius, this.getAngle(currentDivision - divWidth), this.getAngle(currentDivision + divWidth), false);\n this.ctx.stroke();\n currentSubDivision = currentDivision + subDivisions;\n currentDivision += rangeDivisions;\n if (t !== ticksOptions.divisions && subdivisionCount > 0) {\n results.push((function() {\n var l, ref1, results1;\n results1 = [];\n for (st = l = 0, ref1 = subdivisionCount - 1; l < ref1; st = l += 1) {\n this.ctx.lineWidth = this.lineWidth * subLength;\n scaleMutate = (this.lineWidth / 2) * (1 - subLength);\n tmpRadius = (this.radius * this.options.radiusScale) + scaleMutate;\n this.ctx.strokeStyle = subColor;\n this.ctx.beginPath();\n this.ctx.arc(0, 0, tmpRadius, this.getAngle(currentSubDivision - subWidth), this.getAngle(currentSubDivision + subWidth), false);\n this.ctx.stroke();\n results1.push(currentSubDivision += subDivisions);\n }\n return results1;\n }).call(this));\n } else {\n results.push(void 0);\n }\n }\n return results;\n }\n };\n\n Gauge.prototype.render = function() {\n var displayedAngle, fillStyle, gauge, h, j, l, len, len1, max, min, radius, ref, ref1, scaleMutate, start, stop, tmpRadius, w, zone;\n w = this.canvas.width / 2;\n h = (this.canvas.height * this.paddingTop + this.availableHeight) - ((this.radius + this.lineWidth / 2) * this.extraPadding);\n displayedAngle = this.getAngle(this.displayedValue);\n if (this.textField) {\n this.textField.render(this);\n }\n this.ctx.lineCap = \"butt\";\n radius = this.radius * this.options.radiusScale;\n if (this.options.staticLabels) {\n this.renderStaticLabels(this.options.staticLabels, w, h, radius);\n }\n if (this.options.staticZones) {\n this.ctx.save();\n this.ctx.translate(w, h);\n this.ctx.lineWidth = this.lineWidth;\n ref = this.options.staticZones;\n for (j = 0, len = ref.length; j < len; j++) {\n zone = ref[j];\n min = zone.min;\n if (this.options.limitMin && min < this.minValue) {\n min = this.minValue;\n }\n max = zone.max;\n if (this.options.limitMax && max > this.maxValue) {\n max = this.maxValue;\n }\n tmpRadius = this.radius * this.options.radiusScale;\n if (zone.height) {\n this.ctx.lineWidth = this.lineWidth * zone.height;\n scaleMutate = (this.lineWidth / 2) * (zone.offset || 1 - zone.height);\n tmpRadius = (this.radius * this.options.radiusScale) + scaleMutate;\n }\n this.ctx.strokeStyle = zone.strokeStyle;\n this.ctx.beginPath();\n this.ctx.arc(0, 0, tmpRadius, this.getAngle(min), this.getAngle(max), false);\n this.ctx.stroke();\n }\n } else {\n if (this.options.customFillStyle !== void 0) {\n fillStyle = this.options.customFillStyle(this);\n } else if (this.percentColors !== null) {\n fillStyle = this.getColorForValue(this.displayedValue, this.options.generateGradient);\n } else if (this.options.colorStop !== void 0) {\n if (this.options.gradientType === 0) {\n start = radius - this.lineWidth / 2;\n stop = radius + this.lineWidth / 2;\n fillStyle = this.ctx.createRadialGradient(w, h, start, w, h, stop);\n } else {\n fillStyle = this.ctx.createLinearGradient(0, 0, w, 0);\n }\n fillStyle.addColorStop(0, this.options.colorStart);\n fillStyle.addColorStop(1, this.options.colorStop);\n } else {\n fillStyle = this.options.colorStart;\n }\n this.ctx.strokeStyle = fillStyle;\n this.ctx.beginPath();\n this.ctx.arc(w, h, radius, (1 + this.options.angle) * Math.PI, displayedAngle, false);\n this.ctx.lineWidth = this.lineWidth;\n this.ctx.stroke();\n this.ctx.strokeStyle = this.options.strokeColor;\n this.ctx.beginPath();\n this.ctx.arc(w, h, radius, displayedAngle, (2 - this.options.angle) * Math.PI, false);\n this.ctx.stroke();\n this.ctx.save();\n this.ctx.translate(w, h);\n }\n if (this.options.renderTicks) {\n this.renderTicks(this.options.renderTicks, w, h, radius);\n }\n this.ctx.restore();\n this.ctx.translate(w, h);\n ref1 = this.gp;\n for (l = 0, len1 = ref1.length; l < len1; l++) {\n gauge = ref1[l];\n gauge.update(true);\n }\n return this.ctx.translate(-w, -h);\n };\n\n return Gauge;\n\n })(BaseGauge);\n\n BaseDonut = (function(superClass) {\n extend(BaseDonut, superClass);\n\n BaseDonut.prototype.lineWidth = 15;\n\n BaseDonut.prototype.displayedValue = 0;\n\n BaseDonut.prototype.value = 33;\n\n BaseDonut.prototype.maxValue = 80;\n\n BaseDonut.prototype.minValue = 0;\n\n BaseDonut.prototype.options = {\n lineWidth: 0.10,\n colorStart: \"#6f6ea0\",\n colorStop: \"#c0c0db\",\n strokeColor: \"#eeeeee\",\n shadowColor: \"#d5d5d5\",\n angle: 0.35,\n radiusScale: 1.0\n };\n\n function BaseDonut(canvas) {\n this.canvas = canvas;\n BaseDonut.__super__.constructor.call(this);\n if (typeof G_vmlCanvasManager !== 'undefined') {\n this.canvas = window.G_vmlCanvasManager.initElement(this.canvas);\n }\n this.ctx = this.canvas.getContext('2d');\n this.setOptions();\n this.render();\n }\n\n BaseDonut.prototype.getAngle = function(value) {\n return (1 - this.options.angle) * Math.PI + ((value - this.minValue) / (this.maxValue - this.minValue)) * ((2 + this.options.angle) - (1 - this.options.angle)) * Math.PI;\n };\n\n BaseDonut.prototype.setOptions = function(options) {\n if (options == null) {\n options = null;\n }\n BaseDonut.__super__.setOptions.call(this, options);\n this.lineWidth = this.canvas.height * this.options.lineWidth;\n this.radius = this.options.radiusScale * (this.canvas.height / 2 - this.lineWidth / 2);\n return this;\n };\n\n BaseDonut.prototype.set = function(value) {\n this.value = this.parseValue(value);\n if (this.value > this.maxValue) {\n if (this.options.limitMax) {\n this.value = this.maxValue;\n } else {\n this.maxValue = this.value;\n }\n } else if (this.value < this.minValue) {\n if (this.options.limitMin) {\n this.value = this.minValue;\n } else {\n this.minValue = this.value;\n }\n }\n AnimationUpdater.add(this);\n AnimationUpdater.run(this.forceUpdate);\n return this.forceUpdate = false;\n };\n\n BaseDonut.prototype.render = function() {\n var displayedAngle, grdFill, h, start, stop, w;\n displayedAngle = this.getAngle(this.displayedValue);\n w = this.canvas.width / 2;\n h = this.canvas.height / 2;\n if (this.textField) {\n this.textField.render(this);\n }\n start = this.radius - this.lineWidth / 2;\n stop = this.radius + this.lineWidth / 2;\n grdFill = this.ctx.createRadialGradient(w, h, start, w, h, stop);\n grdFill.addColorStop(0, this.options.colorStart);\n grdFill.addColorStop(1, this.options.colorStop);\n this.ctx.strokeStyle = this.options.strokeColor;\n this.ctx.beginPath();\n this.ctx.arc(w, h, this.radius, (1 - this.options.angle) * Math.PI, (2 + this.options.angle) * Math.PI, false);\n this.ctx.lineWidth = this.lineWidth;\n this.ctx.lineCap = \"round\";\n this.ctx.stroke();\n this.ctx.strokeStyle = grdFill;\n this.ctx.beginPath();\n this.ctx.arc(w, h, this.radius, (1 - this.options.angle) * Math.PI, displayedAngle, false);\n return this.ctx.stroke();\n };\n\n return BaseDonut;\n\n })(BaseGauge);\n\n Donut = (function(superClass) {\n extend(Donut, superClass);\n\n function Donut() {\n return Donut.__super__.constructor.apply(this, arguments);\n }\n\n Donut.prototype.strokeGradient = function(w, h, start, stop) {\n var grd;\n grd = this.ctx.createRadialGradient(w, h, start, w, h, stop);\n grd.addColorStop(0, this.options.shadowColor);\n grd.addColorStop(0.12, this.options._orgStrokeColor);\n grd.addColorStop(0.88, this.options._orgStrokeColor);\n grd.addColorStop(1, this.options.shadowColor);\n return grd;\n };\n\n Donut.prototype.setOptions = function(options) {\n var h, start, stop, w;\n if (options == null) {\n options = null;\n }\n Donut.__super__.setOptions.call(this, options);\n w = this.canvas.width / 2;\n h = this.canvas.height / 2;\n start = this.radius - this.lineWidth / 2;\n stop = this.radius + this.lineWidth / 2;\n this.options._orgStrokeColor = this.options.strokeColor;\n this.options.strokeColor = this.strokeGradient(w, h, start, stop);\n return this;\n };\n\n return Donut;\n\n })(BaseDonut);\n\n AnimationUpdater = {\n elements: [],\n animId: null,\n addAll: function(list) {\n var elem, j, len, results;\n results = [];\n for (j = 0, len = list.length; j < len; j++) {\n elem = list[j];\n results.push(AnimationUpdater.elements.push(elem));\n }\n return results;\n },\n add: function(object) {\n if (indexOf.call(AnimationUpdater.elements, object) < 0) {\n return AnimationUpdater.elements.push(object);\n }\n },\n run: function(force) {\n var elem, finished, isCallback, j, k, l, len, ref, toRemove;\n if (force == null) {\n force = false;\n }\n isCallback = isFinite(parseFloat(force));\n if (isCallback || force === true) {\n finished = true;\n toRemove = [];\n ref = AnimationUpdater.elements;\n for (k = j = 0, len = ref.length; j < len; k = ++j) {\n elem = ref[k];\n if (elem.update(force === true)) {\n finished = false;\n } else {\n toRemove.push(k);\n }\n }\n for (l = toRemove.length - 1; l >= 0; l += -1) {\n k = toRemove[l];\n AnimationUpdater.elements.splice(k, 1);\n }\n return AnimationUpdater.animId = finished ? null : requestAnimationFrame(AnimationUpdater.run);\n } else if (force === false) {\n if (AnimationUpdater.animId === !null) {\n cancelAnimationFrame(AnimationUpdater.animId);\n }\n return AnimationUpdater.animId = requestAnimationFrame(AnimationUpdater.run);\n }\n }\n };\n\n if (typeof window.define === 'function' && (window.define.amd != null)) {\n define(function() {\n return {\n Gauge: Gauge,\n Donut: Donut,\n BaseDonut: BaseDonut,\n TextRenderer: TextRenderer,\n AnimationUpdater: AnimationUpdater\n };\n });\n } else if (typeof module !== 'undefined' && (module.exports != null)) {\n module.exports = {\n Gauge: Gauge,\n Donut: Donut,\n BaseDonut: BaseDonut,\n TextRenderer: TextRenderer,\n AnimationUpdater: AnimationUpdater\n };\n } else {\n window.Gauge = Gauge;\n window.Donut = Donut;\n window.BaseDonut = BaseDonut;\n window.TextRenderer = TextRenderer;\n window.AnimationUpdater = AnimationUpdater;\n }\n\n}).call(this);\n\n//# sourceMappingURL=gauge.js.map\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = debounce;\n","// getDefaultExport function for compatibility with non-ESM modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};\n","__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n }\n }\n};","__webpack_require__.g = (() => {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=t=>(e,o)=>{void 0!==o?o.addInitializer((()=>{customElements.define(t,e)})):customElements.define(t,e)};export{t as customElement};\n//# sourceMappingURL=custom-element.js.map\n","/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&\"adoptedStyleSheets\"in Document.prototype&&\"replace\"in CSSStyleSheet.prototype,s=Symbol(),o=new WeakMap;class n{constructor(t,e,o){if(this._$cssResult$=!0,o!==s)throw Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const s=this.t;if(e&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=o.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&o.set(s,t))}return t}toString(){return this.cssText}}const r=t=>new n(\"string\"==typeof t?t:t+\"\",void 0,s),i=(t,...e)=>{const o=1===t.length?t[0]:e.reduce(((e,s,o)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if(\"number\"==typeof t)return t;throw Error(\"Value passed to 'css' function must be a 'css' function result: \"+t+\". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.\")})(s)+t[o+1]),t[0]);return new n(o,t,s)},S=(s,o)=>{if(e)s.adoptedStyleSheets=o.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet));else for(const e of o){const o=document.createElement(\"style\"),n=t.litNonce;void 0!==n&&o.setAttribute(\"nonce\",n),o.textContent=e.cssText,s.appendChild(o)}},c=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e=\"\";for(const s of t.cssRules)e+=s.cssText;return r(e)})(t):t;export{n as CSSResult,S as adoptStyles,i as css,c as getCompatibleStyle,e as supportsAdoptingStyleSheets,r as unsafeCSS};\n//# sourceMappingURL=css-tag.js.map\n","import{getCompatibleStyle as t,adoptStyles as s}from\"./css-tag.js\";export{CSSResult,css,supportsAdoptingStyleSheets,unsafeCSS}from\"./css-tag.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{is:i,defineProperty:e,getOwnPropertyDescriptor:h,getOwnPropertyNames:r,getOwnPropertySymbols:o,getPrototypeOf:n}=Object,a=globalThis,c=a.trustedTypes,l=c?c.emptyScript:\"\",p=a.reactiveElementPolyfillSupport,d=(t,s)=>t,u={toAttribute(t,s){switch(s){case Boolean:t=t?l:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,s){let i=t;switch(s){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},f=(t,s)=>!i(t,s),b={attribute:!0,type:String,converter:u,reflect:!1,useDefault:!1,hasChanged:f};Symbol.metadata??=Symbol(\"metadata\"),a.litPropertyMetadata??=new WeakMap;class y extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,s=b){if(s.state&&(s.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((s=Object.create(s)).wrapped=!0),this.elementProperties.set(t,s),!s.noAccessor){const i=Symbol(),h=this.getPropertyDescriptor(t,i,s);void 0!==h&&e(this.prototype,t,h)}}static getPropertyDescriptor(t,s,i){const{get:e,set:r}=h(this.prototype,t)??{get(){return this[s]},set(t){this[s]=t}};return{get:e,set(s){const h=e?.call(this);r?.call(this,s),this.requestUpdate(t,h,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??b}static _$Ei(){if(this.hasOwnProperty(d(\"elementProperties\")))return;const t=n(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(d(\"finalized\")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(d(\"properties\"))){const t=this.properties,s=[...r(t),...o(t)];for(const i of s)this.createProperty(i,t[i])}const t=this[Symbol.metadata];if(null!==t){const s=litPropertyMetadata.get(t);if(void 0!==s)for(const[t,i]of s)this.elementProperties.set(t,i)}this._$Eh=new Map;for(const[t,s]of this.elementProperties){const i=this._$Eu(t,s);void 0!==i&&this._$Eh.set(i,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(s){const i=[];if(Array.isArray(s)){const e=new Set(s.flat(1/0).reverse());for(const s of e)i.unshift(t(s))}else void 0!==s&&i.push(t(s));return i}static _$Eu(t,s){const i=s.attribute;return!1===i?void 0:\"string\"==typeof i?i:\"string\"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((t=>t(this)))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,s=this.constructor.elementProperties;for(const i of s.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return s(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach((t=>t.hostConnected?.()))}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach((t=>t.hostDisconnected?.()))}attributeChangedCallback(t,s,i){this._$AK(t,i)}_$ET(t,s){const i=this.constructor.elementProperties.get(t),e=this.constructor._$Eu(t,i);if(void 0!==e&&!0===i.reflect){const h=(void 0!==i.converter?.toAttribute?i.converter:u).toAttribute(s,i.type);this._$Em=t,null==h?this.removeAttribute(e):this.setAttribute(e,h),this._$Em=null}}_$AK(t,s){const i=this.constructor,e=i._$Eh.get(t);if(void 0!==e&&this._$Em!==e){const t=i.getPropertyOptions(e),h=\"function\"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:u;this._$Em=e;const r=h.fromAttribute(s,t.type);this[e]=r??this._$Ej?.get(e)??r,this._$Em=null}}requestUpdate(t,s,i){if(void 0!==t){const e=this.constructor,h=this[t];if(i??=e.getPropertyOptions(t),!((i.hasChanged??f)(h,s)||i.useDefault&&i.reflect&&h===this._$Ej?.get(t)&&!this.hasAttribute(e._$Eu(t,i))))return;this.C(t,s,i)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(t,s,{useDefault:i,reflect:e,wrapped:h},r){i&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,r??s??this[t]),!0!==h||void 0!==r)||(this._$AL.has(t)||(this.hasUpdated||i||(s=void 0),this._$AL.set(t,s)),!0===e&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,s]of this._$Ep)this[t]=s;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[s,i]of t){const{wrapped:t}=i,e=this[s];!0!==t||this._$AL.has(s)||void 0===e||this.C(s,void 0,i,e)}}let t=!1;const s=this._$AL;try{t=this.shouldUpdate(s),t?(this.willUpdate(s),this._$EO?.forEach((t=>t.hostUpdate?.())),this.update(s)):this._$EM()}catch(s){throw t=!1,this._$EM(),s}t&&this._$AE(s)}willUpdate(t){}_$AE(t){this._$EO?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach((t=>this._$ET(t,this[t]))),this._$EM()}updated(t){}firstUpdated(t){}}y.elementStyles=[],y.shadowRootOptions={mode:\"open\"},y[d(\"elementProperties\")]=new Map,y[d(\"finalized\")]=new Map,p?.({ReactiveElement:y}),(a.reactiveElementVersions??=[]).push(\"2.1.1\");export{y as ReactiveElement,s as adoptStyles,u as defaultConverter,t as getCompatibleStyle,f as notEqual};\n//# sourceMappingURL=reactive-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,i=t.trustedTypes,s=i?i.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,e=\"$lit$\",h=`lit$${Math.random().toFixed(9).slice(2)}$`,o=\"?\"+h,n=`<${o}>`,r=document,l=()=>r.createComment(\"\"),c=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,a=Array.isArray,u=t=>a(t)||\"function\"==typeof t?.[Symbol.iterator],d=\"[ \\t\\n\\f\\r]\",f=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,v=/-->/g,_=/>/g,m=RegExp(`>|${d}(?:([^\\\\s\"'>=/]+)(${d}*=${d}*(?:[^ \\t\\n\\f\\r\"'\\`<>=]|(\"|')|))|$)`,\"g\"),p=/'/g,g=/\"/g,$=/^(?:script|style|textarea|title)$/i,y=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),x=y(1),b=y(2),w=y(3),T=Symbol.for(\"lit-noChange\"),E=Symbol.for(\"lit-nothing\"),A=new WeakMap,C=r.createTreeWalker(r,129);function P(t,i){if(!a(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return void 0!==s?s.createHTML(i):i}const V=(t,i)=>{const s=t.length-1,o=[];let r,l=2===i?\"<svg>\":3===i?\"<math>\":\"\",c=f;for(let i=0;i<s;i++){const s=t[i];let a,u,d=-1,y=0;for(;y<s.length&&(c.lastIndex=y,u=c.exec(s),null!==u);)y=c.lastIndex,c===f?\"!--\"===u[1]?c=v:void 0!==u[1]?c=_:void 0!==u[2]?($.test(u[2])&&(r=RegExp(\"</\"+u[2],\"g\")),c=m):void 0!==u[3]&&(c=m):c===m?\">\"===u[0]?(c=r??f,d=-1):void 0===u[1]?d=-2:(d=c.lastIndex-u[2].length,a=u[1],c=void 0===u[3]?m:'\"'===u[3]?g:p):c===g||c===p?c=m:c===v||c===_?c=f:(c=m,r=void 0);const x=c===m&&t[i+1].startsWith(\"/>\")?\" \":\"\";l+=c===f?s+n:d>=0?(o.push(a),s.slice(0,d)+e+s.slice(d)+h+x):s+h+(-2===d?i:x)}return[P(t,l+(t[s]||\"<?>\")+(2===i?\"</svg>\":3===i?\"</math>\":\"\")),o]};class N{constructor({strings:t,_$litType$:s},n){let r;this.parts=[];let c=0,a=0;const u=t.length-1,d=this.parts,[f,v]=V(t,s);if(this.el=N.createElement(f,n),C.currentNode=this.el.content,2===s||3===s){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(r=C.nextNode())&&d.length<u;){if(1===r.nodeType){if(r.hasAttributes())for(const t of r.getAttributeNames())if(t.endsWith(e)){const i=v[a++],s=r.getAttribute(t).split(h),e=/([.?@])?(.*)/.exec(i);d.push({type:1,index:c,name:e[2],strings:s,ctor:\".\"===e[1]?H:\"?\"===e[1]?I:\"@\"===e[1]?L:k}),r.removeAttribute(t)}else t.startsWith(h)&&(d.push({type:6,index:c}),r.removeAttribute(t));if($.test(r.tagName)){const t=r.textContent.split(h),s=t.length-1;if(s>0){r.textContent=i?i.emptyScript:\"\";for(let i=0;i<s;i++)r.append(t[i],l()),C.nextNode(),d.push({type:2,index:++c});r.append(t[s],l())}}}else if(8===r.nodeType)if(r.data===o)d.push({type:2,index:c});else{let t=-1;for(;-1!==(t=r.data.indexOf(h,t+1));)d.push({type:7,index:c}),t+=h.length-1}c++}}static createElement(t,i){const s=r.createElement(\"template\");return s.innerHTML=t,s}}function S(t,i,s=t,e){if(i===T)return i;let h=void 0!==e?s._$Co?.[e]:s._$Cl;const o=c(i)?void 0:i._$litDirective$;return h?.constructor!==o&&(h?._$AO?.(!1),void 0===o?h=void 0:(h=new o(t),h._$AT(t,s,e)),void 0!==e?(s._$Co??=[])[e]=h:s._$Cl=h),void 0!==h&&(i=S(t,h._$AS(t,i.values),h,e)),i}class M{constructor(t,i){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=i}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:i},parts:s}=this._$AD,e=(t?.creationScope??r).importNode(i,!0);C.currentNode=e;let h=C.nextNode(),o=0,n=0,l=s[0];for(;void 0!==l;){if(o===l.index){let i;2===l.type?i=new R(h,h.nextSibling,this,t):1===l.type?i=new l.ctor(h,l.name,l.strings,this,t):6===l.type&&(i=new z(h,this,t)),this._$AV.push(i),l=s[++n]}o!==l?.index&&(h=C.nextNode(),o++)}return C.currentNode=r,e}p(t){let i=0;for(const s of this._$AV)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++}}class R{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,i,s,e){this.type=2,this._$AH=E,this._$AN=void 0,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cv=e?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return void 0!==i&&11===t?.nodeType&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=S(this,t,i),c(t)?t===E||null==t||\"\"===t?(this._$AH!==E&&this._$AR(),this._$AH=E):t!==this._$AH&&t!==T&&this._(t):void 0!==t._$litType$?this.$(t):void 0!==t.nodeType?this.T(t):u(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==E&&c(this._$AH)?this._$AA.nextSibling.data=t:this.T(r.createTextNode(t)),this._$AH=t}$(t){const{values:i,_$litType$:s}=t,e=\"number\"==typeof s?this._$AC(t):(void 0===s.el&&(s.el=N.createElement(P(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===e)this._$AH.p(i);else{const t=new M(e,this),s=t.u(this.options);t.p(i),this.T(s),this._$AH=t}}_$AC(t){let i=A.get(t.strings);return void 0===i&&A.set(t.strings,i=new N(t)),i}k(t){a(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const h of t)e===i.length?i.push(s=new R(this.O(l()),this.O(l()),this,this.options)):s=i[e],s._$AI(h),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e)}_$AR(t=this._$AA.nextSibling,i){for(this._$AP?.(!1,!0,i);t!==this._$AB;){const i=t.nextSibling;t.remove(),t=i}}setConnected(t){void 0===this._$AM&&(this._$Cv=t,this._$AP?.(t))}}class k{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,i,s,e,h){this.type=1,this._$AH=E,this._$AN=void 0,this.element=t,this.name=i,this._$AM=e,this.options=h,s.length>2||\"\"!==s[0]||\"\"!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=E}_$AI(t,i=this,s,e){const h=this.strings;let o=!1;if(void 0===h)t=S(this,t,i,0),o=!c(t)||t!==this._$AH&&t!==T,o&&(this._$AH=t);else{const e=t;let n,r;for(t=h[0],n=0;n<h.length-1;n++)r=S(this,e[s+n],i,n),r===T&&(r=this._$AH[n]),o||=!c(r)||r!==this._$AH[n],r===E?t=E:t!==E&&(t+=(r??\"\")+h[n+1]),this._$AH[n]=r}o&&!e&&this.j(t)}j(t){t===E?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??\"\")}}class H extends k{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===E?void 0:t}}class I extends k{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==E)}}class L extends k{constructor(t,i,s,e,h){super(t,i,s,e,h),this.type=5}_$AI(t,i=this){if((t=S(this,t,i,0)??E)===T)return;const s=this._$AH,e=t===E&&s!==E||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,h=t!==E&&(s===E||e);e&&this.element.removeEventListener(this.name,this,s),h&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){\"function\"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}}class z{constructor(t,i,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=i,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){S(this,t)}}const Z={M:e,P:h,A:o,C:1,L:V,R:M,D:u,V:S,I:R,H:k,N:I,U:L,B:H,F:z},j=t.litHtmlPolyfillSupport;j?.(N,R),(t.litHtmlVersions??=[]).push(\"3.3.1\");const B=(t,i,s)=>{const e=s?.renderBefore??i;let h=e._$litPart$;if(void 0===h){const t=s?.renderBefore??null;e._$litPart$=h=new R(i.insertBefore(l(),t),t,void 0,s??{})}return h._$AI(t),h};export{Z as _$LH,x as html,w as mathml,T as noChange,E as nothing,B as render,b as svg};\n//# sourceMappingURL=lit-html.js.map\n","import{ReactiveElement as t}from\"@lit/reactive-element\";export*from\"@lit/reactive-element\";import{render as e,noChange as r}from\"lit-html\";export*from\"lit-html\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const s=globalThis;class i extends t{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const r=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=e(r,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return r}}i._$litElement$=!0,i[\"finalized\"]=!0,s.litElementHydrateSupport?.({LitElement:i});const o=s.litElementPolyfillSupport;o?.({LitElement:i});const n={_$AK:(t,e,r)=>{t._$AK(e,r)},_$AL:t=>t._$AL};(s.litElementVersions??=[]).push(\"4.2.1\");export{i as LitElement,n as _$LE};\n//# sourceMappingURL=lit-element.js.map\n","import{defaultConverter as t,notEqual as e}from\"../reactive-element.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const o={attribute:!0,type:String,converter:t,reflect:!1,hasChanged:e},r=(t=o,e,r)=>{const{kind:n,metadata:i}=r;let s=globalThis.litPropertyMetadata.get(i);if(void 0===s&&globalThis.litPropertyMetadata.set(i,s=new Map),\"setter\"===n&&((t=Object.create(t)).wrapped=!0),s.set(r.name,t),\"accessor\"===n){const{name:o}=r;return{set(r){const n=e.get.call(this);e.set.call(this,r),this.requestUpdate(o,n,t)},init(e){return void 0!==e&&this.C(o,void 0,t,e),e}}}if(\"setter\"===n){const{name:o}=r;return function(r){const n=this[o];e.call(this,r),this.requestUpdate(o,n,t)}}throw Error(\"Unsupported decorator location: \"+n)};function n(t){return(e,o)=>\"object\"==typeof o?r(t,e,o):((t,e,o)=>{const r=e.hasOwnProperty(o);return e.constructor.createProperty(o,t),r?Object.getOwnPropertyDescriptor(e,o):void 0})(t,e,o)}export{n as property,r as standardProperty};\n//# sourceMappingURL=property.js.map\n","import{property as t}from\"./property.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function r(r){return t({...r,state:!0,attribute:!1})}export{r as state};\n//# sourceMappingURL=state.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst e=(e,t,c)=>(c.configurable=!0,c.enumerable=!0,Reflect.decorate&&\"object\"!=typeof t&&Object.defineProperty(e,t,c),c);export{e as desc};\n//# sourceMappingURL=base.js.map\n","import{desc as t}from\"./base.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function e(e,r){return(n,s,i)=>{const o=t=>t.renderRoot?.querySelector(e)??null;if(r){const{get:e,set:r}=\"object\"==typeof s?n:i??(()=>{const t=Symbol();return{get(){return this[t]},set(e){this[t]=e}}})();return t(n,s,{get(){let t=e.call(this);return void 0===t&&(t=o(this),(null!==t||this.hasUpdated)&&r.call(this,t)),t}})}return t(n,s,{get(){return o(this)}})}}export{e as query};\n//# sourceMappingURL=query.js.map\n","import {css, html, LitElement} from \"lit\";\nimport {customElement, property, query, state} from \"lit/decorators.js\";\nimport {Asset, AssetModelUtil, Attribute, AttributeRef} from \"@openremote/model\";\nimport { Gauge, GaugeOptions } from \"gaugeJS\";\nimport manager, { Util } from \"@openremote/core\";\nimport {i18next} from \"@openremote/or-translate\";\nimport debounce from \"lodash.debounce\";\nimport { getAssetDescriptorIconTemplate } from \"@openremote/or-icon\";\n\n//language=css\nconst styling = css`\n :host {\n display: flex;\n align-items: center;\n flex-direction: column;\n }\n\n #chart-wrapper {\n position: relative;\n width: 100%;\n height: 100%;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n }\n #chart-container {\n display: flex;\n justify-content: center;\n align-items: center;\n }\n\n #chart {\n width: 100%;\n }\n\n .chart-description {\n margin: 0 20px;\n font-size: 16px;\n z-index: 3;\n }\n .mainvalue-wrapper {\n width: 100%;\n display: flex;\n flex: 0 0 60px;\n align-items: center;\n justify-content: center;\n }\n .main-number {\n color: var(--internal-or-asset-viewer-title-text-color);\n font-size: 42px;\n }\n\n .main-number-icon {\n font-size: 24px;\n margin-right: 10px;\n display: flex;\n }\n\n .main-number-unit {\n font-size: 42px;\n color: var(--internal-or-asset-viewer-title-text-color);\n font-weight: 200;\n margin-left: 5px;\n }\n\n .main-number.xs, .main-number-unit.xs {\n font-size: 18px;\n }\n .main-number.s, .main-number-unit.s {\n font-size: 24px;\n }\n .main-number.m, .main-number-unit.m {\n font-size: 30px;\n }\n .main-number.l, .main-number-unit.l {\n font-size: 36px;\n }\n .main-number.xl, .main-number-unit.xl {\n font-size: 42px;\n }\n .main-number.unknown, .main-number-unit.unknown {\n font-size: unset;\n }\n`\nexport interface OrGaugeConfig {\n attributeRef?: AttributeRef;\n thresholds?: [number, string][]\n options?: GaugeOptions;\n}\n\n@customElement(\"or-gauge\")\nexport class OrGauge extends LitElement {\n\n static get styles() {\n return [styling]\n }\n\n @property({type: Object})\n public attrRef?: AttributeRef;\n\n @property({type: Object})\n public asset?: Asset;\n\n @property({type: Object})\n public assetAttribute?: [number, Attribute<any>];\n\n @property()\n public value?: number;\n\n @property()\n public decimals: number = 0;\n\n @property()\n public unit?: string;\n\n @property()\n public min?: number;\n\n @property()\n public max?: number;\n\n @property()\n public thresholds?: [number, string][];\n\n @property()\n public readonly config?: OrGaugeConfig;\n\n @property({type: String})\n public realm?: string;\n\n\n @state()\n protected loading: boolean = false;\n\n @state()\n private gauge?: Gauge;\n\n @state()\n private gaugeSize?: { width: number, height: number }\n\n @query(\"#chart\")\n private _gaugeElem!: HTMLCanvasElement;\n\n @query(\"#chart-wrapper\")\n private _wrapperElem!: HTMLElement;\n\n @query(\"#details-container\")\n private _detailsElem!: HTMLElement;\n\n private resizeObserver?: ResizeObserver;\n\n\n constructor() {\n super();\n if(!this.config) {\n this.config = this.getDefaultConfig();\n }\n // Register observer when gauge size changes\n this.updateComplete.then(() => {\n this.resizeObserver = new ResizeObserver(debounce((entries: ResizeObserverEntry[]) => {\n const size = entries[0].contentRect;\n this.gaugeSize = {\n width: size.width,\n height: size.height\n }\n this.updateComplete.then(() => {\n this.setupGauge(); // recreate gauge since the library is not 100% responsive.\n });\n }, 200))\n this.resizeObserver.observe(this._wrapperElem);\n })\n }\n\n // Processing changes before update, to prevent extra render\n willUpdate(changedProps: Map<string, any>) {\n if(changedProps.has('assetAttribute')) {\n const attr = this.assetAttribute![1];\n const attributeDescriptor = AssetModelUtil.getAttributeDescriptor(attr.name!, this.asset!.type!);\n this.unit = Util.resolveUnits(Util.getAttributeUnits(attr, attributeDescriptor, this.asset!.type));\n this.value = attr.value != null ? attr.value : NaN;\n }\n }\n\n // After render took place...\n updated(changedProperties: Map<string, any>) {\n if(changedProperties.has('value')) {\n this.gauge?.set(this.value != null ? this.value : NaN);\n }\n if(changedProperties.has('attrRef')) {\n if(this.attrRef) {\n this.loadData(this.attrRef);\n } else {\n this.assetAttribute = undefined;\n this.value = undefined;\n }\n }\n\n // Render gauge again if..\n if(changedProperties.has('min') && this.min != null && this.gauge) {\n this.gauge.setMinValue(this.min);\n this.gauge.set(this.value != null ? this.value : NaN);\n }\n if(changedProperties.has('max') && this.max != null && this.gauge) {\n this.gauge.maxValue = this.max;\n this.gauge.set(this.value != null ? this.value : NaN);\n }\n if(changedProperties.has('thresholds') && this.thresholds) {\n\n // Make staticZones out of the thresholds.\n // If below the minimum or above the maximum, set the value according to it.\n this.config!.options!.staticZones = [];\n this.thresholds.sort((x, y) => (x[0] < y[0]) ? -1 : 1).forEach(((threshold, index) => {\n const min = threshold[0];\n const max = (this.thresholds![index + 1] ? this.thresholds![index + 1][0] : this.max);\n const zone = {\n strokeStyle: threshold[1],\n min: ((this.min && min && this.min > min) ? this.min : ((this.max && min && this.max < min) ? this.max : min)),\n max: ((this.max && max && this.max < max) ? this.max : ((this.min && max && this.min > max) ? this.min : max))\n };\n this.config?.options?.staticZones?.push(zone as any);\n }));\n\n // The lowest staticZone should ALWAYS have the minimum value, to prevent the graphic displaying incorrectly.\n if(this.min && this.config?.options?.staticZones) {\n this.config.options.staticZones[0].min = this.min;\n }\n\n // Applying the options we changed.\n if(this.gauge) {\n this.gauge.setOptions(this.config?.options);\n }\n }\n }\n\n setupGauge() {\n this.gauge = new Gauge(this._gaugeElem);\n this.gauge.setOptions(this.config?.options);\n this.gauge.maxValue = (this.max ? this.max : 100)\n this.gauge.setMinValue(this.min ? this.min : 0);\n this.gauge.animationSpeed = 1;\n this.gauge.set(this.value != null ? this.value : NaN);\n if(this.value == null && this.attrRef) {\n this.loadData(this.attrRef);\n }\n }\n\n getGaugeWidth(gaugeSize?: { width: number, height: number }, includeLabelHeight: boolean = true): string {\n if(!gaugeSize) {\n return \"unset\"\n }\n const width = gaugeSize.width;\n const height = (includeLabelHeight ? (gaugeSize.height - this._detailsElem.clientHeight) : gaugeSize.height) * 1.5;\n return Math.min(width, height) + \"px\";\n }\n shouldShowLabel(gaugeSize: { width: number, height: number }): boolean {\n return (gaugeSize.width > 70) && (gaugeSize.height > 100);\n }\n getLabelSize(width: number): \"s\" | \"m\" | \"l\" | \"xl\" {\n if(width < 120) {\n return \"s\";\n } else if(width < 240) {\n return \"m\";\n } else if(width < 320) {\n return \"l\"\n } else {\n return \"xl\"\n }\n }\n\n render() {\n const formattedVal = (this.value != null ? +this.value.toFixed(this.decimals) : NaN); // + operator prevents str return\n\n // Set width/height values based on size\n const showLabel = this.gaugeSize ? this.shouldShowLabel(this.gaugeSize) : true;\n const labelSize = showLabel && this.gaugeSize ? this.getLabelSize(this.gaugeSize.width) : \"unknown\"\n const gaugeWidth = this.getGaugeWidth(this.gaugeSize, showLabel);\n\n return html`\n <div style=\"position: relative; height: 100%; width: 100%;\">\n <div id=\"chart-wrapper\" style=\"display: ${this.loading ? 'none' : 'flex'};\">\n <div id=\"chart-container\" style=\"flex: 0 0 0; width: ${gaugeWidth};\">\n <canvas id=\"chart\"></canvas>\n </div>\n <div id=\"details-container\">\n ${showLabel ? html`\n <div class=\"mainvalue-wrapper\">\n <span class=\"main-number-icon\">${this.asset ? getAssetDescriptorIconTemplate(AssetModelUtil.getAssetDescriptor(this.asset.type)) : \"\"}</span>\n <span class=\"main-number ${labelSize}\">${formattedVal}</span>\n <span class=\"main-number-unit ${labelSize}\">${this.unit ? this.unit : \"\"}</span>\n </div>\n ` : undefined}\n </div>\n </div>\n </div>\n ${this.loading ? html`\n <span>${i18next.t('loading')}</span>\n ` : undefined}\n `\n }\n\n async loadData(attrRef: AttributeRef) {\n const response = await manager.rest.api.AssetResource.queryAssets({ ids: [attrRef.id!] });\n const assets = response.data;\n const assetAttributes = [attrRef].map((attrRef) => {\n const assetIndex = assets.findIndex((asset) => asset.id === attrRef.id);\n const asset = assetIndex >= 0 ? assets[assetIndex] : undefined;\n return asset && asset.attributes ? [assetIndex, asset.attributes[attrRef.name!]] : undefined;\n }).filter((indexAndAttr) => !!indexAndAttr) as [number, Attribute<any>][];\n\n this.asset = assets[0];\n this.assetAttribute = assetAttributes[0];\n }\n\n getDefaultConfig(): OrGaugeConfig {\n return {\n attributeRef: undefined,\n options: {\n angle: 0,\n lineWidth: 0.4,\n radiusScale: 1,\n pointer: {\n length: 0.5,\n strokeWidth: 0.035,\n color: \"#000000\",\n },\n staticZones: [],\n limitMax: true,\n limitMin: true,\n colorStart: \"#000000\",\n colorStop: \"#707070\",\n strokeColor: \"#ABCDEF\",\n generateGradient: false,\n highDpiSupport: true\n }\n }\n }\n}\n"],"names":["window","e","Math","Date","clearTimeout","arguments","t","r","isFinite","parseFloat","Number","Error","Image","$","G_vmlCanvasManager","i","parseInt","Array","Object","s","requestAnimationFrame","cancelAnimationFrame","define","self","Function","l","TypeError","setTimeout","globalThis","Symbol","Document","CSSStyleSheet","WeakMap","Boolean","JSON","b","String","HTMLElement","Map","litPropertyMetadata","Set","Promise","document","n","RegExp","a","o","Reflect","ResizeObserver","NaN","customElements"],"mappings":"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"}
|